Merge branch 'release/5.0.0-beta.1'

This commit is contained in:
James Cole 2020-01-09 06:39:12 +01:00
commit 4ff2c19fa9
176 changed files with 2311 additions and 2303 deletions

View File

@ -4,7 +4,7 @@ about: Ask away!
--- ---
I am running Firefly III version x.x.x I am running Firefly III version x.x.x.
**Description** **Description**
<!-- (if relevant of course) --> <!-- (if relevant of course) -->
@ -13,10 +13,11 @@ I am running Firefly III version x.x.x
<!-- Please add extra info here, such as OS, browser, and the output from the `/debug`-page of your Firefly III installation (click the version at the bottom). --> <!-- Please add extra info here, such as OS, browser, and the output from the `/debug`-page of your Firefly III installation (click the version at the bottom). -->
**Bonus points** **Bonus points**
<!-- Earn bonus points by:
- Add a screenshot <!-- Complete the following checklist for bonus points -->
- Make a drawing
- Donate money (just kidding ;) - [ ] I have read the FAQ at https://bit.ly/FF3-FAQ
- Replicate the problem on the demo site https://demo.firefly-iii.org/ - [ ] I added a screenshot
--> - [ ] I added log files (see https://bit.ly/FF3-get-logs)
- [ ] I was able to replicate the issue on the demo site.
<!-- - [ ] I donated money (this is a joke :wink:)-->

1
.gitignore vendored
View File

@ -12,3 +12,4 @@ yarn-error.log
public/google*.html public/google*.html
report.html report.html
composer.phar composer.phar
app.js.map

View File

@ -81,7 +81,7 @@ class AccountStoreRequest extends Request
'interest_period' => $this->string('interest_period'), 'interest_period' => $this->string('interest_period'),
]; ];
// append Location information. // append Location information.
$data = $this->appendLocationData($data); $data = $this->appendLocationData($data, null);
if ('liability' === $data['account_type']) { if ('liability' === $data['account_type']) {
$data['opening_balance'] = bcmul($this->string('liability_amount'), '-1'); $data['opening_balance'] = bcmul($this->string('liability_amount'), '-1');

View File

@ -81,7 +81,7 @@ class AccountUpdateRequest extends Request
'interest_period' => $this->nullableString('interest_period'), 'interest_period' => $this->nullableString('interest_period'),
]; ];
$data = $this->appendLocationData($data); $data = $this->appendLocationData($data, null);
if ('liability' === $data['account_type']) { if ('liability' === $data['account_type']) {
$data['opening_balance'] = bcmul($this->nullableString('liability_amount'), '-1'); $data['opening_balance'] = bcmul($this->nullableString('liability_amount'), '-1');

View File

@ -125,19 +125,17 @@ class OtherCurrenciesCorrections extends Command
if (isset($this->accountCurrencies[$accountId]) && $this->accountCurrencies[$accountId] instanceof TransactionCurrency) { if (isset($this->accountCurrencies[$accountId]) && $this->accountCurrencies[$accountId] instanceof TransactionCurrency) {
return $this->accountCurrencies[$accountId]; // @codeCoverageIgnore return $this->accountCurrencies[$accountId]; // @codeCoverageIgnore
} }
// TODO we can use getAccountCurrency() instead $currency = $this->accountRepos->getAccountCurrency($account);
$currencyId = (int)$this->accountRepos->getMetaValue($account, 'currency_id'); if (null === $currency) {
$result = $this->currencyRepos->findNull($currencyId);
if (null === $result) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$this->accountCurrencies[$accountId] = 0; $this->accountCurrencies[$accountId] = 0;
return null; return null;
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
$this->accountCurrencies[$accountId] = $result; $this->accountCurrencies[$accountId] = $currency;
return $result; return $currency;
} }

View File

@ -49,13 +49,6 @@ class VersionCheckEventHandler
public function checkForUpdates(RequestedVersionCheckStatus $event): void public function checkForUpdates(RequestedVersionCheckStatus $event): void
{ {
Log::debug('Now in checkForUpdates()'); Log::debug('Now in checkForUpdates()');
// in Sandstorm, cannot check for updates:
$sandstorm = 1 === (int)getenv('SANDSTORM');
if (true === $sandstorm) {
Log::debug('This is Sandstorm instance, done.');
return;
}
// should not check for updates: // should not check for updates:
$permission = app('fireflyconfig')->get('permission_update_check', -1); $permission = app('fireflyconfig')->get('permission_update_check', -1);

View File

@ -90,6 +90,7 @@ class ReconcileController extends Controller
return $this->redirectAccountToAccount($account); // @codeCoverageIgnore return $this->redirectAccountToAccount($account); // @codeCoverageIgnore
} }
if (AccountType::ASSET !== $account->accountType->type) { if (AccountType::ASSET !== $account->accountType->type) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->flash('error', (string)trans('firefly.must_be_asset_account')); session()->flash('error', (string)trans('firefly.must_be_asset_account'));
@ -117,6 +118,9 @@ class ReconcileController extends Controller
$end = app('navigation')->endOfPeriod($start, $range); $end = app('navigation')->endOfPeriod($start, $range);
} }
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
if ($end->lt($start)) {
[$start, $end] = [$end, $start];
}
$startDate = clone $start; $startDate = clone $start;
$startDate->subDay(); $startDate->subDay();
@ -163,6 +167,11 @@ class ReconcileController extends Controller
} }
Log::debug('Reconciled all transactions.'); Log::debug('Reconciled all transactions.');
// switch dates if necessary
if ($end->lt($start)) {
[$start, $end] = [$end, $start];
}
// create reconciliation transaction (if necessary): // create reconciliation transaction (if necessary):
$result = ''; $result = '';
if ('create' === $data['reconcile']) { if ('create' === $data['reconcile']) {
@ -182,9 +191,16 @@ class ReconcileController extends Controller
/** /**
* Creates a reconciliation group. * Creates a reconciliation group.
*
* @param Account $account
* @param Carbon $start
* @param Carbon $end
* @param string $difference
*
* @return string * @return string
* @throws \FireflyIII\Exceptions\DuplicateTransactionException
*/ */
private function createReconciliation(Account $account, Carbon $start, Carbon $end, string $difference): string private function createReconciliation(Account $account, Carbon $start, Carbon $end, string $difference)
{ {
if (!$this->isEditableAccount($account)) { if (!$this->isEditableAccount($account)) {
return $this->redirectAccountToAccount($account); // @codeCoverageIgnore return $this->redirectAccountToAccount($account); // @codeCoverageIgnore
@ -199,6 +215,10 @@ class ReconcileController extends Controller
$destination = $reconciliation; $destination = $reconciliation;
} }
if ($end->lt($start)) {
[$start, $end] = [$end, $start];
}
// title: // title:
$description = trans('firefly.reconciliation_transaction_title', $description = trans('firefly.reconciliation_transaction_title',
['from' => $start->formatLocalized($this->monthAndDayFormat), 'to' => $end->formatLocalized($this->monthAndDayFormat)]); ['from' => $start->formatLocalized($this->monthAndDayFormat), 'to' => $end->formatLocalized($this->monthAndDayFormat)]);

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Attachments\AttachmentHelperInterface; use FireflyIII\Helpers\Attachments\AttachmentHelperInterface;
use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Http\Requests\BillFormRequest; use FireflyIII\Http\Requests\BillFormRequest;
@ -40,6 +41,7 @@ use League\Fractal\Manager;
use League\Fractal\Resource\Item; use League\Fractal\Resource\Item;
use League\Fractal\Serializer\DataArraySerializer; use League\Fractal\Serializer\DataArraySerializer;
use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\HttpFoundation\ParameterBag;
use Log;
/** /**
* Class BillController. * Class BillController.
@ -366,8 +368,10 @@ class BillController extends Controller
{ {
$billData = $request->getBillData(); $billData = $request->getBillData();
$billData['active'] = true; $billData['active'] = true;
$bill = $this->billRepository->store($billData); try {
if (null === $bill) { $bill = $this->billRepository->store($billData);
} catch (FireflyException $e) {
Log::error($e->getMessage());
$request->session()->flash('error', (string)trans('firefly.bill_store_error')); $request->session()->flash('error', (string)trans('firefly.bill_store_error'));
return redirect(route('bills.create'))->withInput(); return redirect(route('bills.create'))->withInput();

View File

@ -215,19 +215,18 @@ class AccountController extends Controller
$budgetIds = []; $budgetIds = [];
/** @var array $journal */ /** @var array $journal */
foreach ($journals as $journal) { foreach ($journals as $journal) {
$currencyName = $journal['currency_name']; $budgetId = (int)$journal['budget_id'];
$budgetId = (int)$journal['budget_id']; $key = sprintf('%d-%d', $budgetId, $journal['currency_id']);
$combi = $budgetId . $currencyName; $budgetIds[] = $budgetId;
$budgetIds[] = $budgetId; if (!isset($result[$key])) {
if (!isset($result[$combi])) { $result[$key] = [
$result[$combi] = [
'total' => '0', 'total' => '0',
'budget_id' => $budgetId, 'budget_id' => $budgetId,
'currency' => $currencyName, 'currency_name' => $journal['currency_name'],
'currency_symbol' => $journal['currency_symbol'], 'currency_symbol' => $journal['currency_symbol'],
]; ];
} }
$result[$combi]['total'] = bcadd($journal['amount'], $result[$combi]['total']); $result[$key]['total'] = bcadd($journal['amount'], $result[$key]['total']);
} }
$names = $this->getBudgetNames($budgetIds); $names = $this->getBudgetNames($budgetIds);
@ -235,7 +234,7 @@ class AccountController extends Controller
foreach ($result as $row) { foreach ($result as $row) {
$budgetId = $row['budget_id']; $budgetId = $row['budget_id'];
$name = $names[$budgetId]; $name = $names[$budgetId];
$label = (string)trans('firefly.name_in_currency', ['name' => $name, 'currency' => $row['currency']]); $label = (string)trans('firefly.name_in_currency', ['name' => $name, 'currency' => $row['currency_name']]);
$chartData[$label] = ['amount' => $row['total'], 'currency_symbol' => $row['currency_symbol']]; $chartData[$label] = ['amount' => $row['total'], 'currency_symbol' => $row['currency_symbol']];
} }
@ -278,7 +277,7 @@ class AccountController extends Controller
$cache->addProperty($end); $cache->addProperty($end);
$cache->addProperty('chart.account.expense-category'); $cache->addProperty('chart.account.expense-category');
if ($cache->has()) { if ($cache->has()) {
return response()->json($cache->get()); // @codeCoverageIgnore //return response()->json($cache->get()); // @codeCoverageIgnore
} }
/** @var GroupCollectorInterface $collector */ /** @var GroupCollectorInterface $collector */
@ -287,31 +286,26 @@ class AccountController extends Controller
$journals = $collector->getExtractedJournals(); $journals = $collector->getExtractedJournals();
$result = []; $result = [];
$chartData = []; $chartData = [];
$categoryIds = [];
/** @var array $journal */ /** @var array $journal */
foreach ($journals as $journal) { foreach ($journals as $journal) {
$currencyName = $journal['currency_name']; $key = sprintf('%d-%d', $journal['category_id'], $journal['currency_id']);
$categoryId = $journal['category_id']; if (!isset($result[$key])) {
$combi = $categoryId . $currencyName; $result[$key] = [
$categoryIds[] = $categoryId;
if (!isset($result[$combi])) {
$result[$combi] = [
'total' => '0', 'total' => '0',
'category_id' => $categoryId, 'category_id' => (int)$journal['category_id'],
'currency' => $currencyName, 'currency_name' => $journal['currency_name'],
'currency_symbol' => $journal['currency_symbol'], 'currency_symbol' => $journal['currency_symbol'],
]; ];
} }
$result[$combi]['total'] = bcadd($journal['amount'], $result[$combi]['total']); $result[$key]['total'] = bcadd($journal['amount'], $result[$key]['total']);
} }
$names = $this->getCategoryNames(array_keys($result));
$names = $this->getCategoryNames($categoryIds);
foreach ($result as $row) { foreach ($result as $row) {
$categoryId = $row['category_id']; $categoryId = $row['category_id'];
$name = $names[$categoryId] ?? '(unknown)'; $name = $names[$categoryId] ?? '(unknown)';
$label = (string)trans('firefly.name_in_currency', ['name' => $name, 'currency' => $row['currency']]); $label = (string)trans('firefly.name_in_currency', ['name' => $name, 'currency' => $row['currency_name']]);
$chartData[$label] = ['amount' => $row['total'], 'currency_symbol' => $row['currency_symbol']]; $chartData[$label] = ['amount' => $row['total'], 'currency_symbol' => $row['currency_symbol']];
} }
@ -391,29 +385,25 @@ class AccountController extends Controller
$journals = $collector->getExtractedJournals(); $journals = $collector->getExtractedJournals();
$result = []; $result = [];
$chartData = []; $chartData = [];
$categoryIds = [];
/** @var array $journal */ /** @var array $journal */
foreach ($journals as $journal) { foreach ($journals as $journal) {
$categoryId = $journal['category_id']; $key = sprintf('%d-%d', $journal['category_id'], $journal['currency_id']);
$currencyName = $journal['currency_name']; if (!isset($result[$key])) {
$combi = $categoryId . $currencyName; $result[$key] = [
$categoryIds[] = $categoryId;
if (!isset($result[$combi])) {
$result[$combi] = [
'total' => '0', 'total' => '0',
'category_id' => $categoryId, 'category_id' => $journal['category_id'],
'currency' => $currencyName, 'currency_name' => $journal['currency_name'],
'currency_symbol' => $journal['currency_symbol'], 'currency_symbol' => $journal['currency_symbol'],
]; ];
} }
$result[$combi]['total'] = bcadd($journal['amount'], $result[$combi]['total']); $result[$key]['total'] = bcadd($journal['amount'], $result[$key]['total']);
} }
$names = $this->getCategoryNames($categoryIds); $names = $this->getCategoryNames(array_keys($result));
foreach ($result as $row) { foreach ($result as $row) {
$categoryId = $row['category_id']; $categoryId = $row['category_id'];
$name = $names[$categoryId] ?? '(unknown)'; $name = $names[$categoryId] ?? '(unknown)';
$label = (string)trans('firefly.name_in_currency', ['name' => $name, 'currency' => $row['currency']]); $label = (string)trans('firefly.name_in_currency', ['name' => $name, 'currency' => $row['currency_name']]);
$chartData[$label] = ['amount' => $row['total'], 'currency_symbol' => $row['currency_symbol']]; $chartData[$label] = ['amount' => $row['total'], 'currency_symbol' => $row['currency_symbol']];
} }
$data = $this->generator->multiCurrencyPieChart($chartData); $data = $this->generator->multiCurrencyPieChart($chartData);

View File

@ -251,7 +251,7 @@ class BudgetController extends Controller
foreach ($result as $combinedId => $info) { foreach ($result as $combinedId => $info) {
$parts = explode('-', $combinedId); $parts = explode('-', $combinedId);
$assetId = (int)$parts[0]; $assetId = (int)$parts[0];
$title = sprintf('%s (%s)', $names[$assetId], $info['currency_name']); $title = sprintf('%s (%s)', $names[$assetId] ?? '(empty)', $info['currency_name']);
$chartData[$title] $chartData[$title]
= [ = [
'amount' => $info['amount'], 'amount' => $info['amount'],
@ -315,7 +315,7 @@ class BudgetController extends Controller
foreach ($result as $combinedId => $info) { foreach ($result as $combinedId => $info) {
$parts = explode('-', $combinedId); $parts = explode('-', $combinedId);
$categoryId = (int)$parts[0]; $categoryId = (int)$parts[0];
$title = sprintf('%s (%s)', $names[$categoryId], $info['currency_name']); $title = sprintf('%s (%s)', $names[$categoryId] ?? '(empty)', $info['currency_name']);
$chartData[$title] = [ $chartData[$title] = [
'amount' => $info['amount'], 'amount' => $info['amount'],
'currency_symbol' => $info['currency_symbol'], 'currency_symbol' => $info['currency_symbol'],

View File

@ -367,18 +367,18 @@ class DoubleReportController extends Controller
* @param Collection $accounts * @param Collection $accounts
* @param int $id * @param int $id
* @param string $name * @param string $name
* @param string $iban * @param null|string $iban
* *
* @return string * @return string
*/ */
private function getCounterpartName(Collection $accounts, int $id, string $name, string $iban): string private function getCounterpartName(Collection $accounts, int $id, string $name, ?string $iban): string
{ {
/** @var Account $account */ /** @var Account $account */
foreach ($accounts as $account) { foreach ($accounts as $account) {
if ($account->name === $name && $account->id !== $id) { if ($account->name === $name && $account->id !== $id) {
return $account->name; return $account->name;
} }
if ($account->iban === $iban && $account->id !== $id) { if (null !== $account->iban && $account->iban === $iban && $account->id !== $id) {
return $account->iban; return $account->iban;
} }
} }

View File

@ -359,7 +359,14 @@ class CurrencyController extends Controller
} }
$data['enabled'] = true; $data['enabled'] = true;
$currency = $this->repository->store($data); try {
$currency = $this->repository->store($data);
} catch (FireflyException $e) {
Log::error($e->getMessage());
Log::channel('audit')->info('Could not store (POST) currency without admin rights.', $data);
$request->session()->flash('error', (string)trans('firefly.could_not_store_currency'));
$currency = null;
}
$redirect = redirect($this->getPreviousUri('currencies.create.uri')); $redirect = redirect($this->getPreviousUri('currencies.create.uri'));
if (null !== $currency) { if (null !== $currency) {
@ -373,10 +380,6 @@ class CurrencyController extends Controller
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
} }
if (null === $currency) {
Log::channel('audit')->info('Could not store (POST) currency without admin rights.', $data);
$request->session()->flash('error', (string)trans('firefly.could_not_store_currency'));
}
return $redirect; return $redirect;
} }

View File

@ -125,6 +125,14 @@ class AutoCompleteController extends Controller
$filtered = $result->unique('description'); $filtered = $result->unique('description');
$limited = $filtered->slice(0, 15); $limited = $filtered->slice(0, 15);
$array = $limited->toArray(); $array = $limited->toArray();
// duplicate 'description' value into 'name':
$array = array_map(
static function (array $journal) {
$journal['name'] = $journal['description'];
return $journal;
}, $array
);
return response()->json(array_values($array)); return response()->json(array_values($array));
} }
@ -174,6 +182,38 @@ class AutoCompleteController extends Controller
return response()->json($array); return response()->json($array);
} }
/**
* An auto-complete specifically for asset accounts and liabilities, used when mass updating and for rules mostly.
*
* @param Request $request
*
* @return JsonResponse
*/
public function assetAccounts(Request $request): JsonResponse
{
$search = $request->get('search');
/** @var AccountRepositoryInterface $repository */
$repository = app(AccountRepositoryInterface::class);
// filter the account types:
$allowedAccountTypes = [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE];
Log::debug(sprintf('Now in expenseAccounts(%s). Filtering results.', $search), $allowedAccountTypes);
$return = [];
$result = $repository->searchAccount((string)$search, $allowedAccountTypes);
/** @var Account $account */
foreach ($result as $account) {
$return[] = [
'id' => $account->id,
'name' => $account->name,
'type' => $account->accountType->type,
];
}
return response()->json($return);
}
/** /**
* @param Request $request * @param Request $request
* *
@ -283,39 +323,6 @@ class AutoCompleteController extends Controller
return response()->json($return); return response()->json($return);
} }
/**
* An auto-complete specifically for asset accounts and liabilities, used when mass updating and for rules mostly.
*
* @param Request $request
*
* @return JsonResponse
*/
public function assetAccounts(Request $request): JsonResponse
{
$search = $request->get('search');
/** @var AccountRepositoryInterface $repository */
$repository = app(AccountRepositoryInterface::class);
// filter the account types:
$allowedAccountTypes = [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE];
Log::debug(sprintf('Now in expenseAccounts(%s). Filtering results.', $search), $allowedAccountTypes);
$return = [];
$result = $repository->searchAccount((string)$search, $allowedAccountTypes);
/** @var Account $account */
foreach ($result as $account) {
$return[] = [
'id' => $account->id,
'name' => $account->name,
'type' => $account->accountType->type,
];
}
return response()->json($return);
}
/** /**
* @return JsonResponse * @return JsonResponse
* @codeCoverageIgnore * @codeCoverageIgnore
@ -328,12 +335,12 @@ class AutoCompleteController extends Controller
/** @var AccountRepositoryInterface $accountRepos */ /** @var AccountRepositoryInterface $accountRepos */
$accountRepos = app(AccountRepositoryInterface::class); $accountRepos = app(AccountRepositoryInterface::class);
$piggies = $repository->getPiggyBanks(); $piggies = $repository->getPiggyBanks();
$defaultCurrency = \Amount::getDefaultCurrency(); $defaultCurrency = \Amount::getDefaultCurrency();
$response = []; $response = [];
/** @var PiggyBank $piggy */ /** @var PiggyBank $piggy */
foreach ($piggies as $piggy) { foreach ($piggies as $piggy) {
$currency = $accountRepos->getAccountCurrency($piggy->account) ?? $defaultCurrency; $currency = $accountRepos->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$currentAmount = $repository->getRepetition($piggy)->currentamount ?? '0'; $currentAmount = $repository->getRepetition($piggy)->currentamount ?? '0';
$piggy->name_with_amount = sprintf( $piggy->name_with_amount = sprintf(
'%s (%s / %s)', '%s (%s / %s)',
@ -341,7 +348,7 @@ class AutoCompleteController extends Controller
app('amount')->formatAnything($currency, $currentAmount, false), app('amount')->formatAnything($currency, $currentAmount, false),
app('amount')->formatAnything($currency, $piggy->targetamount, false), app('amount')->formatAnything($currency, $piggy->targetamount, false),
); );
$response[] = $piggy->toArray(); $response[] = $piggy->toArray();
} }
return response()->json($response); return response()->json($response);

View File

@ -93,6 +93,11 @@ class ReconcileController extends Controller
$accountCurrency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency(); $accountCurrency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency();
$amount = '0'; $amount = '0';
$clearedAmount = '0'; $clearedAmount = '0';
if ($end->lt($start)) {
[$start, $end] = [$end, $start];
}
$route = route('accounts.reconcile.submit', [$account->id, $start->format('Ymd'), $end->format('Ymd')]); $route = route('accounts.reconcile.submit', [$account->id, $start->format('Ymd'), $end->format('Ymd')]);
$selectedIds = $request->get('journals') ?? []; $selectedIds = $request->get('journals') ?? [];
$clearedJournals = []; $clearedJournals = [];
@ -171,6 +176,9 @@ class ReconcileController extends Controller
*/ */
public function transactions(Account $account, Carbon $start, Carbon $end) public function transactions(Account $account, Carbon $start, Carbon $end)
{ {
if ($end->lt($start)) {
[$end, $start] = [$start, $end];
}
$startDate = clone $start; $startDate = clone $start;
$startDate->subDay(); $startDate->subDay();

View File

@ -776,18 +776,18 @@ class DoubleController extends Controller
* @param Collection $accounts * @param Collection $accounts
* @param int $id * @param int $id
* @param string $name * @param string $name
* @param string $iban * @param string|null $iban
* *
* @return string * @return string
*/ */
private function getCounterpartName(Collection $accounts, int $id, string $name, string $iban): string private function getCounterpartName(Collection $accounts, int $id, string $name, ?string $iban): string
{ {
/** @var Account $account */ /** @var Account $account */
foreach ($accounts as $account) { foreach ($accounts as $account) {
if ($account->name === $name && $account->id !== $id) { if ($account->name === $name && $account->id !== $id) {
return $account->name; return $account->name;
} }
if ($account->iban === $iban && $account->id !== $id) { if (null !== $account->iban && $account->iban === $iban && $account->id !== $id) {
return $account->iban; return $account->iban;
} }
} }

View File

@ -30,6 +30,7 @@ use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface; use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
use FireflyIII\Transformers\TransactionGroupTransformer; use FireflyIII\Transformers\TransactionGroupTransformer;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\HttpFoundation\ParameterBag;
/** /**
@ -82,6 +83,13 @@ class ShowController extends Controller
// do some amount calculations: // do some amount calculations:
$amounts = $this->getAmounts($groupArray); $amounts = $this->getAmounts($groupArray);
// make sure notes are escaped but not double escaped.
foreach ($groupArray['transactions'] as $index => $transaction) {
$search = ['&amp;', '&gt;', '&lt;'];
if (!Str::contains($transaction['notes'], $search)) {
$groupArray['transactions'][$index]['notes'] = e($transaction['notes']);
}
}
$events = $this->repository->getPiggyEvents($transactionGroup); $events = $this->repository->getPiggyEvents($transactionGroup);
$attachments = $this->repository->getAttachments($transactionGroup); $attachments = $this->repository->getAttachments($transactionGroup);

View File

@ -25,6 +25,7 @@ namespace FireflyIII\Http\Middleware;
use Closure; use Closure;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Str;
/** /**
* *
@ -33,19 +34,24 @@ use Illuminate\Http\Request;
class SecureHeaders class SecureHeaders
{ {
/** /**
* Handle an incoming request. May not be a limited user (ie. Sandstorm env. or demo user). * Handle an incoming request.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Closure $next * @param \Closure $next
* *
* @return mixed * @return mixed
* @throws \Exception
*/ */
public function handle(Request $request, Closure $next) public function handle(Request $request, Closure $next)
{ {
$nonce = base64_encode(random_bytes(16));
app('view')->share('JS_NONCE', $nonce);
$response = $next($request); $response = $next($request);
$google = ''; $google = '';
$googleImg = ''; $googleImg = '';
$analyticsId = config('firefly.analytics_id'); $analyticsId = config('firefly.analytics_id');
if ('' !== $analyticsId) { if ('' !== $analyticsId) {
$google = 'www.googletagmanager.com/gtag/js https://www.google-analytics.com/analytics.js'; // @codeCoverageIgnore $google = 'www.googletagmanager.com/gtag/js https://www.google-analytics.com/analytics.js'; // @codeCoverageIgnore
$googleImg = 'https://www.google-analytics.com/'; $googleImg = 'https://www.google-analytics.com/';
@ -53,7 +59,7 @@ class SecureHeaders
$csp = [ $csp = [
"default-src 'none'", "default-src 'none'",
"object-src 'self'", "object-src 'self'",
sprintf("script-src 'self' 'unsafe-eval' 'unsafe-inline' %s", $google), sprintf("script-src 'nonce-%s' %s", $nonce, $google),
"style-src 'self' 'unsafe-inline'", "style-src 'self' 'unsafe-inline'",
"base-uri 'self'", "base-uri 'self'",
"font-src 'self' data:", "font-src 'self' data:",

View File

@ -68,13 +68,9 @@ class AccountFormRequest extends Request
'interest' => $this->string('interest'), 'interest' => $this->string('interest'),
'interest_period' => $this->string('interest_period'), 'interest_period' => $this->string('interest_period'),
'include_net_worth' => '1', 'include_net_worth' => '1',
// new: location
'longitude' => $this->string('location_longitude'),
'latitude' => $this->string('location_latitude'),
'zoom_level' => $this->integer('location_zoom_level'),
'has_location' => $this->boolean('location_has_location'),
]; ];
$data = $this->appendLocationData($data, 'location');
if (false === $this->boolean('include_net_worth')) { if (false === $this->boolean('include_net_worth')) {
$data['include_net_worth'] = '0'; $data['include_net_worth'] = '0';
} }

View File

@ -76,7 +76,7 @@ class PiggyBankFormRequest extends Request
$rules = [ $rules = [
'name' => $nameRule, 'name' => $nameRule,
'account_id' => 'required|belongsToUser:accounts', 'account_id' => 'required|belongsToUser:accounts',
'targetamount' => 'required|numeric|more:0|max:1000000000', 'targetamount' => 'required|numeric|gte:0.01|max:1000000000',
'startdate' => 'date', 'startdate' => 'date',
'targetdate' => 'date|nullable', 'targetdate' => 'date|nullable',
'order' => 'integer|min:1', 'order' => 'integer|min:1',

View File

@ -347,39 +347,56 @@ class Request extends FormRequest
/** /**
* Read the submitted Request data and add new or updated Location data to the array. * Read the submitted Request data and add new or updated Location data to the array.
* *
* @param array $data * @param array $data
*
* @param string|null $prefix
* *
* @return array * @return array
*/ */
protected function appendLocationData(array $data): array protected function appendLocationData(array $data, ?string $prefix): array
{ {
Log::debug('Now in appendLocationData()'); Log::debug(sprintf('Now in appendLocationData("%s")', $prefix), $data);
$data['store_location'] = false; $data['store_location'] = false;
$data['update_location'] = false; $data['update_location'] = false;
$data['longitude'] = null; $data['longitude'] = null;
$data['latitude'] = null; $data['latitude'] = null;
$data['zoom_level'] = null; $data['zoom_level'] = null;
$longitudeKey = null === $prefix ? 'longitude' : sprintf('%s_longitude', $prefix);
$latitudeKey = null === $prefix ? 'latitude' : sprintf('%s_latitude', $prefix);
$zoomLevelKey = null === $prefix ? 'zoom_level' : sprintf('%s_zoom_level', $prefix);
// for a POST (store, all fields must be present and accounted for: // for a POST (store, all fields must be present and accounted for:
if ('POST' === $this->method() && $this->has('longitude') && $this->has('latitude') && $this->has('zoom_level')) { if (
('POST' === $this->method() && $this->routeIs('*.store'))
&& ($this->has($longitudeKey) && $this->has($latitudeKey) && $this->has($zoomLevelKey))
) {
Log::debug('Method is POST and all fields present.'); Log::debug('Method is POST and all fields present.');
$data['store_location'] = true; $data['store_location'] = true;
$data['longitude'] = '' === $this->string('longitude') ? null : $this->string('longitude'); $data['longitude'] = '' === $this->string($longitudeKey) ? null : $this->string($longitudeKey);
$data['latitude'] = '' === $this->string('latitude') ? null : $this->string('latitude'); $data['latitude'] = '' === $this->string($latitudeKey) ? null : $this->string($latitudeKey);
$data['zoom_level'] = '' === $this->string('zoom_level') ? null : $this->integer('zoom_level'); $data['zoom_level'] = '' === $this->string($zoomLevelKey) ? null : $this->integer($zoomLevelKey);
} }
if ('PUT' === $this->method() && $this->has('longitude') && $this->has('latitude') && $this->has('zoom_level')) { if (
($this->has($longitudeKey) && $this->has($latitudeKey) && $this->has($zoomLevelKey))
&& (
('PUT' === $this->method() && $this->routeIs('*.update'))
|| ('POST' === $this->method() && $this->routeIs('*.update'))
)
) {
Log::debug('Method is PUT and all fields present.'); Log::debug('Method is PUT and all fields present.');
$data['update_location'] = true; $data['update_location'] = true;
$data['longitude'] = '' === $this->string('longitude') ? null : $this->string('longitude'); $data['longitude'] = '' === $this->string($longitudeKey) ? null : $this->string($longitudeKey);
$data['latitude'] = '' === $this->string('latitude') ? null : $this->string('latitude'); $data['latitude'] = '' === $this->string($latitudeKey) ? null : $this->string($latitudeKey);
$data['zoom_level'] = '' === $this->string('zoom_level') ? null : $this->integer('zoom_level'); $data['zoom_level'] = '' === $this->string($zoomLevelKey) ? null : $this->integer($zoomLevelKey);
} }
if (null === $data['longitude'] || null === $data['latitude'] || null === $data['zoom_level']) { if (null === $data['longitude'] || null === $data['latitude'] || null === $data['zoom_level']) {
Log::debug('One of the fields is NULL, wont save.'); Log::debug('One of the fields is NULL, wont save.');
$data['store_location'] = false; $data['store_location'] = false;
$data['update_location'] = false; $data['update_location'] = false;
} }
Log::debug(sprintf('Returning longitude: "%s", latitude: "%s", zoom level: "%s"', $data['longitude'], $data['latitude'], $data['zoom_level'])); Log::debug(sprintf('Returning longitude: "%s", latitude: "%s", zoom level: "%s"', $data['longitude'], $data['latitude'], $data['zoom_level']));
return $data; return $data;

View File

@ -48,26 +48,13 @@ class TagFormRequest extends Request
*/ */
public function collectTagData(): array public function collectTagData(): array
{ {
$latitude = null; $data = [
$longitude = null; 'tag' => $this->string('tag'),
$zoomLevel = null; 'date' => $this->date('date'),
$hasLocation = false; 'description' => $this->string('description'),
if (true === $this->boolean('location_has_location')) {
$latitude = $this->string('location_latitude');
$longitude = $this->string('location_longitude');
$zoomLevel = $this->integer('location_zoom_level');
$hasLocation = true;
}
return [
'tag' => $this->string('tag'),
'date' => $this->date('date'),
'description' => $this->string('description'),
'latitude' => $latitude,
'longitude' => $longitude,
'zoom_level' => $zoomLevel,
'has_location' => $hasLocation,
]; ];
return $this->appendLocationData($data, 'location');
} }
/** /**

View File

@ -86,10 +86,21 @@ class Note extends Model
/** /**
* @param $value * @param $value
*
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
public function setTextAttribute($value): void public function setTextAttribute(string $value): void
{ {
$this->attributes['text'] = e($value); $this->attributes['text'] = e($value);
} }
/**
* @param string|null $value
*
* @return string|null
*/
public function getTextAttribute(?string $value): ?string
{
return null === $value ? null : htmlspecialchars_decode($value, ENT_QUOTES);
}
} }

View File

@ -243,7 +243,7 @@ class BudgetRepository implements BudgetRepositoryInterface
if ('' !== $query) { if ('' !== $query) {
$search->where('name', 'LIKE', sprintf('%%%s%%', $query)); $search->where('name', 'LIKE', sprintf('%%%s%%', $query));
} }
$search->orderBy('order', 'DESC') $search->orderBy('order', 'ASC')
->orderBy('name', 'ASC')->where('active', 1); ->orderBy('name', 'ASC')->where('active', 1);
return $search->get(); return $search->get();

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Currency; namespace FireflyIII\Repositories\Currency;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\CurrencyExchangeRate; use FireflyIII\Models\CurrencyExchangeRate;
use FireflyIII\Models\Preference; use FireflyIII\Models\Preference;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
@ -233,7 +234,7 @@ interface CurrencyRepositoryInterface
/** /**
* @param array $data * @param array $data
* * @throws FireflyException
* @return TransactionCurrency * @return TransactionCurrency
*/ */
public function store(array $data): TransactionCurrency; public function store(array $data): TransactionCurrency;

View File

@ -399,13 +399,13 @@ class TagRepository implements TagRepositoryInterface
$tag->tag = $data['tag']; $tag->tag = $data['tag'];
$tag->date = $data['date']; $tag->date = $data['date'];
$tag->description = $data['description']; $tag->description = $data['description'];
$tag->latitude = $data['latitude']; $tag->latitude = null;
$tag->longitude = $data['longitude']; $tag->longitude = null;
$tag->zoomLevel = $data['zoom_level']; $tag->zoomLevel = null;
$tag->save(); $tag->save();
// update, delete or create location: // update, delete or create location:
$updateLocation = $data['has_location'] ?? false; $updateLocation = $data['update_location'] ?? false;
// location must be updated? // location must be updated?
if (true === $updateLocation) { if (true === $updateLocation) {

View File

@ -25,7 +25,7 @@ namespace FireflyIII\Services\Github\Request;
/** /**
* Interface GithubRequest * Interface GithubRequest
* * @deprecated
*/ */
interface GithubRequest interface GithubRequest
{ {

View File

@ -34,7 +34,9 @@ use SimpleXMLElement;
/** /**
* Class UpdateRequest * Class UpdateRequest
*
* @codeCoverageIgnore * @codeCoverageIgnore
* @deprecated
*/ */
class UpdateRequest implements GithubRequest class UpdateRequest implements GithubRequest
{ {

View File

@ -101,7 +101,7 @@ class AccountUpdateService
$this->updateMetaData($account, $data); $this->updateMetaData($account, $data);
// update, delete or create location: // update, delete or create location:
$updateLocation = $data['has_location'] ?? false; $updateLocation = $data['update_location'] ?? false;
// location must be updated? // location must be updated?
if (true === $updateLocation) { if (true === $updateLocation) {

View File

@ -77,12 +77,7 @@ class PiggyBankTransformer extends AbstractTransformer
$this->piggyRepos->setUser($account->user); $this->piggyRepos->setUser($account->user);
// get currency from account, or use default. // get currency from account, or use default.
// TODO we can use getAccountCurrency() instead $currency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrencyByUser($account->user);
$currencyId = (int)$this->accountRepos->getMetaValue($account, 'currency_id');
$currency = $this->currencyRepos->findNull($currencyId);
if (null === $currency) {
$currency = app('amount')->getDefaultCurrencyByUser($account->user);
}
// note // note
$notes = $this->piggyRepos->getNoteText($piggyBank); $notes = $this->piggyRepos->getNoteText($piggyBank);
@ -99,6 +94,7 @@ class PiggyBankTransformer extends AbstractTransformer
// target and percentage: // target and percentage:
$targetAmount = round($piggyBank->targetamount, $currency->decimal_places); $targetAmount = round($piggyBank->targetamount, $currency->decimal_places);
$targetAmount = 1 === bccomp('0.01', (string)$targetAmount) ? '0.01' : $targetAmount;
$percentage = (int)(0 !== bccomp('0', $currentAmountStr) ? $currentAmount / $targetAmount * 100 : 0); $percentage = (int)(0 !== bccomp('0', $currentAmountStr) ? $currentAmount / $targetAmount * 100 : 0);
$data = [ $data = [
'id' => (int)$piggyBank->id, 'id' => (int)$piggyBank->id,

View File

@ -4,7 +4,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [5.0.0 (API 1.0.0)] - 20xx-xx-xx ## [5.0.0 (API 1.0.0)] - 20xx-xx-xx
*This version has not yet been released.* The latest available version is **5.0.0-alpha.2**. *This version has not yet been released.* The latest available version is **5.0.0-beta.1**.
This version represents, if anything, a fresh start in the version numbering system so Firefly III will finally follow SemVer, for real this time. This version represents, if anything, a fresh start in the version numbering system so Firefly III will finally follow SemVer, for real this time.
@ -44,12 +44,12 @@ This version represents, if anything, a fresh start in the version numbering sys
- [Issue 2881](https://github.com/firefly-iii/firefly-iii/issues/2881) An error when only the title of a split transaction was bad. - [Issue 2881](https://github.com/firefly-iii/firefly-iii/issues/2881) An error when only the title of a split transaction was bad.
- [Issue 2924](https://github.com/firefly-iii/firefly-iii/issues/2924) Could not trigger rules when set to "update". - [Issue 2924](https://github.com/firefly-iii/firefly-iii/issues/2924) Could not trigger rules when set to "update".
- [Issue 2691](https://github.com/firefly-iii/firefly-iii/issues/2691) Fix to update recurring transactions with bad types. - [Issue 2691](https://github.com/firefly-iii/firefly-iii/issues/2691) Fix to update recurring transactions with bad types.
- [Issue 2941](https://github.com/firefly-iii/firefly-iii/issues/2941) Not all notes were decoded correctly.
### Security - [Issue 2945](https://github.com/firefly-iii/firefly-iii/issues/2945) Budget field would be empty when editing transaction.
- Nothing yet. - [Issue 2950](https://github.com/firefly-iii/firefly-iii/issues/2950) Error in chart (null pointer)
### API ### API
- Nothing yet. - Various endpoints are better documented.
## [4.8.2 (API 0.10.5)] - 2019-11-29 ## [4.8.2 (API 0.10.5)] - 2019-11-29
@ -930,10 +930,15 @@ This version was superseeded by v4.7.5.3 because of a critical bug in the proxy-
- [Issue 1442](https://github.com/firefly-iii/firefly-iii/issues/1442), issues with editing a split deposit. - [Issue 1442](https://github.com/firefly-iii/firefly-iii/issues/1442), issues with editing a split deposit.
- [Issue 1452](https://github.com/firefly-iii/firefly-iii/issues/1452), date range problems with tags. - [Issue 1452](https://github.com/firefly-iii/firefly-iii/issues/1452), date range problems with tags.
- [Issue 1458](https://github.com/firefly-iii/firefly-iii/issues/1458), same for transactions. - [Issue 1458](https://github.com/firefly-iii/firefly-iii/issues/1458), same for transactions.
- [Issue 2956](https://github.com/firefly-iii/firefly-iii/issues/2956) Switch start and end date automagically when end is before start.
- [Issue 2975](https://github.com/firefly-iii/firefly-iii/issues/2975) Division by zero.
- [Issue 2966](https://github.com/firefly-iii/firefly-iii/issues/2966) Could not render description auto-complete.
- [Issue 2976](https://github.com/firefly-iii/firefly-iii/issues/2976) Make budget dropdown in the same order as the budget list.
### Security ### Security
- [Issue 1415](https://github.com/firefly-iii/firefly-iii/issues/1415), will email you when OAuth2 keys are generated. - [Issue 1415](https://github.com/firefly-iii/firefly-iii/issues/1415), will email you when OAuth2 keys are generated.
- [Issue 2920](https://github.com/firefly-iii/firefly-iii/issues/2920) Firefly III now generates a nonce used by all inline scripts.
## [4.7.3.2] - 2018-05-16 ## [4.7.3.2] - 2018-05-16

View File

@ -52,7 +52,7 @@
"forum": "https://reddit.com/r/FireflyIII", "forum": "https://reddit.com/r/FireflyIII",
"wiki": "https://github.com/firefly-iii/help/wiki", "wiki": "https://github.com/firefly-iii/help/wiki",
"source": "https://github.com/firefly-iii/firefly-iii", "source": "https://github.com/firefly-iii/firefly-iii",
"docs": "https://firefly-iii.readthedocs.io/en/latest/" "docs": "https://docs.firefly-iii.org/"
}, },
"require": { "require": {
"php": ">=7.3.0", "php": ">=7.3.0",
@ -91,7 +91,6 @@
"rcrowe/twigbridge": "^0.11.2" "rcrowe/twigbridge": "^0.11.2"
}, },
"require-dev": { "require-dev": {
"barryvdh/laravel-debugbar": "^3.2",
"barryvdh/laravel-ide-helper": "2.*", "barryvdh/laravel-ide-helper": "2.*",
"filp/whoops": "2.*", "filp/whoops": "2.*",
"fzaninotto/faker": "1.*", "fzaninotto/faker": "1.*",

550
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "5cea53064e70766dbada2bcf61b62685", "content-hash": "9c7b883d0a087261d6c484e9f274ecf5",
"packages": [ "packages": [
{ {
"name": "adldap2/adldap2", "name": "adldap2/adldap2",
@ -435,16 +435,16 @@
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "v2.10.0", "version": "v2.10.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934" "reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/0c9a646775ef549eb0a213a4f9bd4381d9b4d934", "url": "https://api.github.com/repos/doctrine/dbal/zipball/c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8",
"reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934", "reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -523,7 +523,7 @@
"sqlserver", "sqlserver",
"sqlsrv" "sqlsrv"
], ],
"time": "2019-11-03T16:50:43+00:00" "time": "2020-01-04T12:56:21+00:00"
}, },
{ {
"name": "doctrine/event-manager", "name": "doctrine/event-manager",
@ -786,16 +786,16 @@
}, },
{ {
"name": "egulias/email-validator", "name": "egulias/email-validator",
"version": "2.1.13", "version": "2.1.14",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/egulias/EmailValidator.git", "url": "https://github.com/egulias/EmailValidator.git",
"reference": "834593d5900615639208417760ba6a17299e2497" "reference": "c4b8d12921999d8a561004371701dbc2e05b5ece"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/834593d5900615639208417760ba6a17299e2497", "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/c4b8d12921999d8a561004371701dbc2e05b5ece",
"reference": "834593d5900615639208417760ba6a17299e2497", "reference": "c4b8d12921999d8a561004371701dbc2e05b5ece",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -839,53 +839,7 @@
"validation", "validation",
"validator" "validator"
], ],
"time": "2019-12-30T08:14:25+00:00" "time": "2020-01-05T14:11:20+00:00"
},
{
"name": "erusev/parsedown",
"version": "1.7.4",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown.git",
"reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
"reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35"
},
"type": "library",
"autoload": {
"psr-0": {
"Parsedown": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Emanuil Rusev",
"email": "hello@erusev.com",
"homepage": "http://erusev.com"
}
],
"description": "Parser for Markdown.",
"homepage": "http://parsedown.org",
"keywords": [
"markdown",
"parser"
],
"time": "2019-12-30T22:54:17+00:00"
}, },
{ {
"name": "facade/ignition-contracts", "name": "facade/ignition-contracts",
@ -1298,27 +1252,164 @@
"time": "2020-01-01T17:48:58+00:00" "time": "2020-01-01T17:48:58+00:00"
}, },
{ {
"name": "laravel/framework", "name": "laminas/laminas-diactoros",
"version": "v6.9.0", "version": "2.2.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laminas/laminas-diactoros.git",
"reference": "60610be97ca389fa4b959d4d13fb3690970d9fb7" "reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/60610be97ca389fa4b959d4d13fb3690970d9fb7", "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/95178c4751d737cdf9ab0a9f70a42754ac860e7b",
"reference": "60610be97ca389fa4b959d4d13fb3690970d9fb7", "reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b",
"shasum": ""
},
"require": {
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.1",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0"
},
"conflict": {
"phpspec/prophecy": "<1.9.0"
},
"provide": {
"psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0"
},
"replace": {
"zendframework/zend-diactoros": "self.version"
},
"require-dev": {
"ext-curl": "*",
"ext-dom": "*",
"ext-libxml": "*",
"http-interop/http-factory-tests": "^0.5.0",
"laminas/laminas-coding-standard": "~1.0.0",
"php-http/psr7-integration-tests": "dev-master",
"phpunit/phpunit": "^7.5.18"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1.x-dev",
"dev-develop": "2.2.x-dev",
"dev-release-1.8": "1.8.x-dev"
}
},
"autoload": {
"files": [
"src/functions/create_uploaded_file.php",
"src/functions/marshal_headers_from_sapi.php",
"src/functions/marshal_method_from_sapi.php",
"src/functions/marshal_protocol_version_from_sapi.php",
"src/functions/marshal_uri_from_sapi.php",
"src/functions/normalize_server.php",
"src/functions/normalize_uploaded_files.php",
"src/functions/parse_cookie_header.php",
"src/functions/create_uploaded_file.legacy.php",
"src/functions/marshal_headers_from_sapi.legacy.php",
"src/functions/marshal_method_from_sapi.legacy.php",
"src/functions/marshal_protocol_version_from_sapi.legacy.php",
"src/functions/marshal_uri_from_sapi.legacy.php",
"src/functions/normalize_server.legacy.php",
"src/functions/normalize_uploaded_files.legacy.php",
"src/functions/parse_cookie_header.legacy.php"
],
"psr-4": {
"Laminas\\Diactoros\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "PSR HTTP Message implementations",
"homepage": "https://laminas.dev",
"keywords": [
"http",
"laminas",
"psr",
"psr-7"
],
"time": "2020-01-07T19:39:26+00:00"
},
{
"name": "laminas/laminas-zendframework-bridge",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-zendframework-bridge.git",
"reference": "0fb9675b84a1666ab45182b6c5b29956921e818d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/0fb9675b84a1666ab45182b6c5b29956921e818d",
"reference": "0fb9675b84a1666ab45182b6c5b29956921e818d",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev",
"dev-develop": "1.1.x-dev"
},
"laminas": {
"module": "Laminas\\ZendFrameworkBridge"
}
},
"autoload": {
"files": [
"src/autoload.php"
],
"psr-4": {
"Laminas\\ZendFrameworkBridge\\": "src//"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Alias legacy ZF class names to Laminas Project equivalents.",
"keywords": [
"ZendFramework",
"autoloading",
"laminas",
"zf"
],
"time": "2020-01-07T22:58:31+00:00"
},
{
"name": "laravel/framework",
"version": "v6.10.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "fe45ad5bc89e5e1b08ab2c8687f9be01c9c84d14"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/fe45ad5bc89e5e1b08ab2c8687f9be01c9c84d14",
"reference": "fe45ad5bc89e5e1b08ab2c8687f9be01c9c84d14",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/inflector": "^1.1", "doctrine/inflector": "^1.1",
"dragonmantank/cron-expression": "^2.0", "dragonmantank/cron-expression": "^2.0",
"egulias/email-validator": "^2.1.10", "egulias/email-validator": "^2.1.10",
"erusev/parsedown": "^1.7",
"ext-json": "*", "ext-json": "*",
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-openssl": "*", "ext-openssl": "*",
"league/commonmark": "^1.1",
"league/commonmark-ext-table": "^2.1",
"league/flysystem": "^1.0.8", "league/flysystem": "^1.0.8",
"monolog/monolog": "^1.12|^2.0", "monolog/monolog": "^1.12|^2.0",
"nesbot/carbon": "^2.0", "nesbot/carbon": "^2.0",
@ -1378,14 +1469,13 @@
"filp/whoops": "^2.4", "filp/whoops": "^2.4",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^6.3",
"league/flysystem-cached-adapter": "^1.0", "league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.2.3", "mockery/mockery": "^1.3.1",
"moontoast/math": "^1.1", "moontoast/math": "^1.1",
"orchestra/testbench-core": "^4.0", "orchestra/testbench-core": "^4.0",
"pda/pheanstalk": "^4.0", "pda/pheanstalk": "^4.0",
"phpunit/phpunit": "^8.3", "phpunit/phpunit": "^8.4|^9.0",
"predis/predis": "^1.1.1", "predis/predis": "^1.1.1",
"symfony/cache": "^4.3", "symfony/cache": "^4.3.4"
"true/punycode": "^2.1"
}, },
"suggest": { "suggest": {
"aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).",
@ -1403,6 +1493,7 @@
"league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).",
"league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
"moontoast/math": "Required to use ordered UUIDs (^1.1).", "moontoast/math": "Required to use ordered UUIDs (^1.1).",
"nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).",
@ -1441,20 +1532,20 @@
"framework", "framework",
"laravel" "laravel"
], ],
"time": "2019-12-19T18:16:22+00:00" "time": "2020-01-08T21:17:42+00:00"
}, },
{ {
"name": "laravel/passport", "name": "laravel/passport",
"version": "v8.1.0", "version": "v8.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/passport.git", "url": "https://github.com/laravel/passport.git",
"reference": "e45ac135c94f72ff77dbc61de97762b35cb76048" "reference": "4c163b7821d29b6166fc2e93ad7649428b51c6db"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/passport/zipball/e45ac135c94f72ff77dbc61de97762b35cb76048", "url": "https://api.github.com/repos/laravel/passport/zipball/4c163b7821d29b6166fc2e93ad7649428b51c6db",
"reference": "e45ac135c94f72ff77dbc61de97762b35cb76048", "reference": "4c163b7821d29b6166fc2e93ad7649428b51c6db",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1470,14 +1561,15 @@
"illuminate/encryption": "^6.0|^7.0", "illuminate/encryption": "^6.0|^7.0",
"illuminate/http": "^6.0|^7.0", "illuminate/http": "^6.0|^7.0",
"illuminate/support": "^6.0|^7.0", "illuminate/support": "^6.0|^7.0",
"laminas/laminas-diactoros": "^2.2",
"league/oauth2-server": "^8.0", "league/oauth2-server": "^8.0",
"php": "^7.2", "php": "^7.2",
"phpseclib/phpseclib": "^2.0", "phpseclib/phpseclib": "^2.0",
"symfony/psr-http-message-bridge": "^1.0", "symfony/psr-http-message-bridge": "^1.0"
"zendframework/zend-diactoros": "^2.0"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"orchestra/testbench": "^4.4|^5.0",
"phpunit/phpunit": "^8.0" "phpunit/phpunit": "^8.0"
}, },
"type": "library", "type": "library",
@ -1512,7 +1604,7 @@
"oauth", "oauth",
"passport" "passport"
], ],
"time": "2019-12-30T22:20:25+00:00" "time": "2020-01-07T19:25:00+00:00"
}, },
{ {
"name": "laravelcollective/html", "name": "laravelcollective/html",
@ -1708,6 +1800,71 @@
], ],
"time": "2019-12-10T02:55:03+00:00" "time": "2019-12-10T02:55:03+00:00"
}, },
{
"name": "league/commonmark-ext-table",
"version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark-ext-table.git",
"reference": "3228888ea69636e855efcf6636ff8e6316933fe7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark-ext-table/zipball/3228888ea69636e855efcf6636ff8e6316933fe7",
"reference": "3228888ea69636e855efcf6636ff8e6316933fe7",
"shasum": ""
},
"require": {
"league/commonmark": "~0.19.3|^1.0",
"php": "^7.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.14",
"phpstan/phpstan": "~0.11",
"phpunit/phpunit": "^7.0|^8.0",
"symfony/var-dumper": "^4.0",
"vimeo/psalm": "^3.0"
},
"type": "commonmark-extension",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
}
},
"autoload": {
"psr-4": {
"League\\CommonMark\\Ext\\Table\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Martin Hasoň",
"email": "martin.hason@gmail.com"
},
{
"name": "Webuni s.r.o.",
"homepage": "https://www.webuni.cz"
},
{
"name": "Colin O'Dell",
"email": "colinodell@gmail.com",
"homepage": "https://www.colinodell.com"
}
],
"description": "Table extension for league/commonmark",
"homepage": "https://github.com/thephpleague/commonmark-ext-table",
"keywords": [
"commonmark",
"extension",
"markdown",
"table"
],
"time": "2019-09-26T13:28:33+00:00"
},
{ {
"name": "league/csv", "name": "league/csv",
"version": "9.5.0", "version": "9.5.0",
@ -1829,16 +1986,16 @@
}, },
{ {
"name": "league/flysystem", "name": "league/flysystem",
"version": "1.0.62", "version": "1.0.63",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem.git", "url": "https://github.com/thephpleague/flysystem.git",
"reference": "14dd5d7dff5fbc29ca9a2a53ff109760e40d91a0" "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/14dd5d7dff5fbc29ca9a2a53ff109760e40d91a0", "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8132daec326565036bc8e8d1876f77ec183a7bd6",
"reference": "14dd5d7dff5fbc29ca9a2a53ff109760e40d91a0", "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1909,7 +2066,7 @@
"sftp", "sftp",
"storage" "storage"
], ],
"time": "2019-12-29T14:46:55+00:00" "time": "2020-01-04T16:30:31+00:00"
}, },
{ {
"name": "league/flysystem-replicate-adapter", "name": "league/flysystem-replicate-adapter",
@ -2781,8 +2938,8 @@
"authors": [ "authors": [
{ {
"name": "Antonio Carlos Ribeiro", "name": "Antonio Carlos Ribeiro",
"email": "acr@antoniocarlosribeiro.com", "role": "Creator & Designer",
"role": "Creator & Designer" "email": "acr@antoniocarlosribeiro.com"
} }
], ],
"description": "QR Code package for Google2FA", "description": "QR Code package for Google2FA",
@ -2841,9 +2998,9 @@
"authors": [ "authors": [
{ {
"name": "Antonio Carlos Ribeiro", "name": "Antonio Carlos Ribeiro",
"role": "Developer",
"email": "acr@antoniocarlosribeiro.com", "email": "acr@antoniocarlosribeiro.com",
"homepage": "https://antoniocarlosribeiro.com", "homepage": "https://antoniocarlosribeiro.com"
"role": "Developer"
} }
], ],
"description": "Create random chars, numbers, strings", "description": "Create random chars, numbers, strings",
@ -2903,9 +3060,9 @@
"authors": [ "authors": [
{ {
"name": "Antonio Carlos Ribeiro", "name": "Antonio Carlos Ribeiro",
"role": "Developer",
"email": "acr@antoniocarlosribeiro.com", "email": "acr@antoniocarlosribeiro.com",
"homepage": "https://antoniocarlosribeiro.com", "homepage": "https://antoniocarlosribeiro.com"
"role": "Developer"
} }
], ],
"description": "Create recovery codes for two factor auth", "description": "Create recovery codes for two factor auth",
@ -5241,145 +5398,9 @@
"environment" "environment"
], ],
"time": "2019-09-10T21:37:39+00:00" "time": "2019-09-10T21:37:39+00:00"
},
{
"name": "zendframework/zend-diactoros",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-diactoros.git",
"reference": "de5847b068362a88684a55b0dbb40d85986cfa52"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/de5847b068362a88684a55b0dbb40d85986cfa52",
"reference": "de5847b068362a88684a55b0dbb40d85986cfa52",
"shasum": ""
},
"require": {
"php": "^7.1",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0"
},
"provide": {
"psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-curl": "*",
"ext-dom": "*",
"ext-libxml": "*",
"http-interop/http-factory-tests": "^0.5.0",
"php-http/psr7-integration-tests": "dev-master",
"phpunit/phpunit": "^7.0.2",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1.x-dev",
"dev-develop": "2.2.x-dev",
"dev-release-1.8": "1.8.x-dev"
}
},
"autoload": {
"files": [
"src/functions/create_uploaded_file.php",
"src/functions/marshal_headers_from_sapi.php",
"src/functions/marshal_method_from_sapi.php",
"src/functions/marshal_protocol_version_from_sapi.php",
"src/functions/marshal_uri_from_sapi.php",
"src/functions/normalize_server.php",
"src/functions/normalize_uploaded_files.php",
"src/functions/parse_cookie_header.php"
],
"psr-4": {
"Zend\\Diactoros\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "PSR HTTP Message implementations",
"keywords": [
"http",
"psr",
"psr-7"
],
"abandoned": "laminas/laminas-diactoros",
"time": "2019-11-13T19:16:13+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "18208d64897ab732f6c04a19b319fe8f1d57a9c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/18208d64897ab732f6c04a19b319fe8f1d57a9c0",
"reference": "18208d64897ab732f6c04a19b319fe8f1d57a9c0",
"shasum": ""
},
"require": {
"illuminate/routing": "^5.5|^6",
"illuminate/session": "^5.5|^6",
"illuminate/support": "^5.5|^6",
"maximebf/debugbar": "~1.15.0",
"php": ">=7.0",
"symfony/debug": "^3|^4",
"symfony/finder": "^3|^4"
},
"require-dev": {
"laravel/framework": "5.5.x"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.2-dev"
},
"laravel": {
"providers": [
"Barryvdh\\Debugbar\\ServiceProvider"
],
"aliases": {
"Debugbar": "Barryvdh\\Debugbar\\Facade"
}
}
},
"autoload": {
"psr-4": {
"Barryvdh\\Debugbar\\": "src/"
},
"files": [
"src/helpers.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "PHP Debugbar integration for Laravel",
"keywords": [
"debug",
"debugbar",
"laravel",
"profiler",
"webprofiler"
],
"time": "2019-08-29T07:01:03+00:00"
},
{ {
"name": "barryvdh/laravel-ide-helper", "name": "barryvdh/laravel-ide-helper",
"version": "v2.6.6", "version": "v2.6.6",
@ -6131,67 +6152,6 @@
], ],
"time": "2019-09-25T14:49:45+00:00" "time": "2019-09-25T14:49:45+00:00"
}, },
{
"name": "maximebf/debugbar",
"version": "v1.15.1",
"source": {
"type": "git",
"url": "https://github.com/maximebf/php-debugbar.git",
"reference": "6c4277f6117e4864966c9cb58fb835cee8c74a1e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6c4277f6117e4864966c9cb58fb835cee8c74a1e",
"reference": "6c4277f6117e4864966c9cb58fb835cee8c74a1e",
"shasum": ""
},
"require": {
"php": ">=5.6",
"psr/log": "^1.0",
"symfony/var-dumper": "^2.6|^3|^4"
},
"require-dev": {
"phpunit/phpunit": "^5"
},
"suggest": {
"kriswallsmith/assetic": "The best way to manage assets",
"monolog/monolog": "Log using Monolog",
"predis/predis": "Redis storage"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.15-dev"
}
},
"autoload": {
"psr-4": {
"DebugBar\\": "src/DebugBar/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Maxime Bouroumeau-Fuseau",
"email": "maxime.bouroumeau@gmail.com",
"homepage": "http://maximebf.com"
},
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "Debug bar in the browser for php application",
"homepage": "https://github.com/maximebf/php-debugbar",
"keywords": [
"debug",
"debugbar"
],
"time": "2019-09-24T14:55:42+00:00"
},
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
"version": "1.3.1", "version": "1.3.1",
@ -6875,16 +6835,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "8.5.1", "version": "8.5.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "7870c78da3c5e4883eaef36ae47853ebb3cb86f2" "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7870c78da3c5e4883eaef36ae47853ebb3cb86f2", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0",
"reference": "7870c78da3c5e4883eaef36ae47853ebb3cb86f2", "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6954,7 +6914,7 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2019-12-25T14:49:39+00:00" "time": "2020-01-08T08:49:49+00:00"
}, },
{ {
"name": "roave/security-advisories", "name": "roave/security-advisories",
@ -6962,12 +6922,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git", "url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "5306962d2a35c901a07a98b55248894469d112b6" "reference": "67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/5306962d2a35c901a07a98b55248894469d112b6", "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389",
"reference": "5306962d2a35c901a07a98b55248894469d112b6", "reference": "67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389",
"shasum": "" "shasum": ""
}, },
"conflict": { "conflict": {
@ -7002,8 +6962,8 @@
"doctrine/mongodb-odm-bundle": ">=2,<3.0.1", "doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
"doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1", "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
"dompdf/dompdf": ">=0.6,<0.6.2", "dompdf/dompdf": ">=0.6,<0.6.2",
"drupal/core": ">=7,<8.7.11|>=8.8,<8.8.1", "drupal/core": ">=7,<7.69|>=8,<8.7.11|>=8.8,<8.8.1",
"drupal/drupal": ">=7,<8.7.11|>=8.8,<8.8.1", "drupal/drupal": ">=7,<7.69|>=8,<8.7.11|>=8.8,<8.8.1",
"endroid/qr-code-bundle": "<3.4.2", "endroid/qr-code-bundle": "<3.4.2",
"erusev/parsedown": "<1.7.2", "erusev/parsedown": "<1.7.2",
"ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.4", "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.4",
@ -7174,7 +7134,7 @@
} }
], ],
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
"time": "2020-01-01T17:15:10+00:00" "time": "2020-01-06T19:16:46+00:00"
}, },
{ {
"name": "sebastian/code-unit-reverse-lookup", "name": "sebastian/code-unit-reverse-lookup",

View File

@ -136,7 +136,7 @@ return [
'export' => true, 'export' => true,
], ],
'encryption' => null === env('USE_ENCRYPTION') || true === env('USE_ENCRYPTION'), 'encryption' => null === env('USE_ENCRYPTION') || true === env('USE_ENCRYPTION'),
'version' => '5.0.0-alpha.2', 'version' => '5.0.0-beta.1',
'api_version' => '1.0.0', 'api_version' => '1.0.0',
'db_version' => 12, 'db_version' => 12,
'maxUploadSize' => 15242880, 'maxUploadSize' => 15242880,

View File

@ -2,44 +2,25 @@
/** /**
* index.php * index.php
* Copyright (c) 2019 thegrumpydictator@gmail.com * Copyright (c) 2020 thegrumpydictator@gmail.com
* *
* This file is part of Firefly III. * This file is part of Firefly III (https://github.com/firefly-iii).
* *
* Firefly III is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU Affero General Public License as
* the Free Software Foundation, either version 3 of the License, or * published by the Free Software Foundation, either version 3 of the
* (at your option) any later version. * License, or (at your option) any later version.
* *
* Firefly III is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Affero General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU Affero General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
declare(strict_types=1); declare(strict_types=1);
/**
* index.php
* Copyright (c) 2018 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
echo '<!DOCTYPE HTML> echo '<!DOCTYPE HTML>
<html lang="en-US"> <html lang="en-US">

View File

@ -3,7 +3,7 @@
"scripts": { "scripts": {
"dev": "npm run development", "dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll", "watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production", "prod": "npm run production",
@ -19,7 +19,7 @@
"vue-template-compiler": "^2.6.10" "vue-template-compiler": "^2.6.10"
}, },
"dependencies": { "dependencies": {
"@johmun/vue-tags-input": "^2.0.1", "@johmun/vue-tags-input": "^2.1.0",
"font-awesome": "^4.7.0", "font-awesome": "^4.7.0",
"jquery": "^3.1.1", "jquery": "^3.1.1",
"uiv": "^0.31.5", "uiv": "^0.31.5",

View File

@ -1,22 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ phpunit.coverage.specific.xml ~ phpunit.coverage.specific.xml
~ Copyright (c) 2018 thegrumpydictator@gmail.com ~ Copyright (c) 2020 thegrumpydictator@gmail.com
~ ~
~ This file is part of Firefly III. ~ This file is part of Firefly III (https://github.com/firefly-iii).
~ ~
~ Firefly III is free software: you can redistribute it and/or modify ~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by ~ it under the terms of the GNU Affero General Public License as
~ the Free Software Foundation, either version 3 of the License, or ~ published by the Free Software Foundation, either version 3 of the
~ (at your option) any later version. ~ License, or (at your option) any later version.
~ ~
~ Firefly III is distributed in the hope that it will be useful, ~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details. ~ GNU Affero General Public License for more details.
~ ~
~ You should have received a copy of the GNU General Public License ~ You should have received a copy of the GNU Affero General Public License
~ along with Firefly III. If not, see <http://www.gnu.org/licenses/>. ~ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<phpunit backupGlobals="false" <phpunit backupGlobals="false"

View File

@ -1,22 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ phpunit.coverage.xml ~ phpunit.coverage.xml
~ Copyright (c) 2018 thegrumpydictator@gmail.com ~ Copyright (c) 2020 thegrumpydictator@gmail.com
~ ~
~ This file is part of Firefly III. ~ This file is part of Firefly III (https://github.com/firefly-iii).
~ ~
~ Firefly III is free software: you can redistribute it and/or modify ~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by ~ it under the terms of the GNU Affero General Public License as
~ the Free Software Foundation, either version 3 of the License, or ~ published by the Free Software Foundation, either version 3 of the
~ (at your option) any later version. ~ License, or (at your option) any later version.
~ ~
~ Firefly III is distributed in the hope that it will be useful, ~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details. ~ GNU Affero General Public License for more details.
~ ~
~ You should have received a copy of the GNU General Public License ~ You should have received a copy of the GNU Affero General Public License
~ along with Firefly III. If not, see <http://www.gnu.org/licenses/>. ~ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<phpunit backupGlobals="false" <phpunit backupGlobals="false"

View File

@ -1,22 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ phpunit.xml ~ phpunit.xml
~ Copyright (c) 2018 thegrumpydictator@gmail.com ~ Copyright (c) 2020 thegrumpydictator@gmail.com
~ ~
~ This file is part of Firefly III. ~ This file is part of Firefly III (https://github.com/firefly-iii).
~ ~
~ Firefly III is free software: you can redistribute it and/or modify ~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by ~ it under the terms of the GNU Affero General Public License as
~ the Free Software Foundation, either version 3 of the License, or ~ published by the Free Software Foundation, either version 3 of the
~ (at your option) any later version. ~ License, or (at your option) any later version.
~ ~
~ Firefly III is distributed in the hope that it will be useful, ~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details. ~ GNU Affero General Public License for more details.
~ ~
~ You should have received a copy of the GNU General Public License ~ You should have received a copy of the GNU Affero General Public License
~ along with Firefly III. If not, see <http://www.gnu.org/licenses/>. ~ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<phpunit backupGlobals="false" <phpunit backupGlobals="false"

View File

@ -1,3 +1,6 @@
{ {
"/v1/js/app.js": "/v1/js/app.js" "/v1/js/app.js": "/v1/js/app.js",
"/v1/js/create_transaction.js": "/v1/js/create_transaction.js",
"/v1/js/edit_transaction.js": "/v1/js/edit_transaction.js",
"/v1/js/profile.js": "/v1/js/profile.js"
} }

2
public/v1/js/app.js vendored

File diff suppressed because one or more lines are too long

1
public/v1/js/create_transaction.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/v1/js/edit_transaction.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/v1/js/profile.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -50,67 +50,3 @@ import Budget from "./components/transactions/Budget";
*/ */
require('./bootstrap'); require('./bootstrap');
Vue.use(VueI18n);
window.Vue = Vue;
Vue.use(uiv);
// components for create and edit transactions.
Vue.component('budget', Budget);
Vue.component('custom-date', CustomDate);
Vue.component('custom-string', CustomString);
Vue.component('custom-attachments', CustomAttachments);
Vue.component('custom-textarea', CustomTextarea);
Vue.component('standard-date', StandardDate);
Vue.component('group-description', GroupDescription);
Vue.component('transaction-description', TransactionDescription);
Vue.component('custom-transaction-fields', CustomTransactionFields);
Vue.component('piggy-bank', PiggyBank);
Vue.component('tags', Tags);
Vue.component('category', Category);
Vue.component('amount', Amount);
Vue.component('foreign-amount', ForeignAmountSelect);
Vue.component('transaction-type', TransactionType);
Vue.component('account-select', AccountSelect);
/**
* Components for OAuth2 tokens.
*/
Vue.component('passport-clients', Clients);
Vue.component('passport-authorized-clients',AuthorizedClients);
Vue.component('passport-personal-access-tokens', PersonalAccessTokens);
Vue.component('create-transaction', CreateTransaction);
Vue.component('edit-transaction', EditTransaction);
// Create VueI18n instance with options
const i18n = new VueI18n({
locale: document.documentElement.lang, // set locale
fallbackLocale: 'en',
messages: {
'cs': require('./locales/cs.json'),
'de': require('./locales/de.json'),
'en': require('./locales/en.json'),
'es': require('./locales/es.json'),
'fr': require('./locales/fr.json'),
'hu': require('./locales/hu.json'),
'id': require('./locales/id.json'),
'it': require('./locales/it.json'),
'nl': require('./locales/nl.json'),
'no': require('./locales/no.json'),
'pl': require('./locales/pl.json'),
'pt-br': require('./locales/pt-br.json'),
'ro': require('./locales/ro.json'),
'ru': require('./locales/ru.json'),
'zh': require('./locales/zh.json'),
'zh-tw': require('./locales/zh-tw.json'),
'zh-cn': require('./locales/zh-cn.json'),
'sv': require('./locales/sv.json'),
}
});
new Vue({i18n}).$mount('#app');

View File

@ -0,0 +1,49 @@
<!--
- ProfileOptions.vue
- Copyright (c) 2020 thegrumpydictator@gmail.com
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<template>
<div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<passport-clients></passport-clients>
</div>
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<passport-authorized-clients></passport-authorized-clients>
</div>
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<passport-personal-access-tokens></passport-personal-access-tokens>
</div>
</div>
</div>
</template>
<script>
export default {
name: "ProfileOptions"
}
</script>
<style scoped>
</style>

View File

@ -29,9 +29,7 @@
<div class="col-sm-12"> <div class="col-sm-12">
<select name="budget[]" ref="budget" v-model="value" @input="handleInput" class="form-control" <select name="budget[]" ref="budget" v-model="value" @input="handleInput" class="form-control"
v-if="this.budgets.length > 0"> v-if="this.budgets.length > 0">
<option v-for="cBudget in this.budgets" :label="cBudget.name" :value="cBudget.id" <option v-for="cBudget in this.budgets" :label="cBudget.name" :value="cBudget.id">{{cBudget.name}}</option>
>{{cBudget.name}}</option>
</select> </select>
<ul class="list-unstyled" v-for="error in this.error"> <ul class="list-unstyled" v-for="error in this.error">
<li class="text-danger">{{ error }}</li> <li class="text-danger">{{ error }}</li>
@ -46,8 +44,7 @@
props: ['transactionType', 'value', 'error','no_budget'], props: ['transactionType', 'value', 'error','no_budget'],
mounted() { mounted() {
this.loadBudgets(); this.loadBudgets();
// console.log('budget value'); //this.value = null === this.value ? 0 : this.value;
// console.log(this.value);
}, },
data() { data() {
return { return {
@ -68,6 +65,10 @@
{ {
name: this.no_budget, name: this.no_budget,
id: 0, id: 0,
},
{
name: this.no_budget,
id: null,
} }
]; ];
for (const key in res.data) { for (const key in res.data) {

View File

@ -170,6 +170,7 @@
:error="transaction.errors.category" :error="transaction.errors.category"
></category> ></category>
<tags <tags
:transactionType="transactionType"
:tags="transaction.tags" :tags="transaction.tags"
v-model="transaction.tags" v-model="transaction.tags"
:error="transaction.errors.tags" :error="transaction.errors.tags"
@ -203,7 +204,7 @@
{{ $t('firefly.after_update_create_another') }} {{ $t('firefly.after_update_create_another') }}
</label> </label>
</div> </div>
<div class="checkbox" v-if="transactionType.toLowerCase() !== 'reconciliation'"> <div class="checkbox" v-if="null !== transactionType && transactionType.toLowerCase() !== 'reconciliation'">
<label> <label>
<input v-model="storeAsNew" name="store_as_new" type="checkbox"> <input v-model="storeAsNew" name="store_as_new" type="checkbox">
{{ $t('firefly.store_as_new') }} {{ $t('firefly.store_as_new') }}
@ -301,7 +302,9 @@
} }
}, },
setTransactionType(type) { setTransactionType(type) {
this.transactionType = type; if(null !== type) {
this.transactionType = type;
}
}, },
deleteTransaction(index, event) { deleteTransaction(index, event) {
event.preventDefault(); event.preventDefault();

View File

@ -0,0 +1,115 @@
/*
* app.js
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import * as uiv from 'uiv';
import CustomAttachments from "./components/transactions/CustomAttachments";
import CreateTransaction from './components/transactions/CreateTransaction';
import EditTransaction from './components/transactions/EditTransaction';
import Clients from './components/passport/Clients';
import AuthorizedClients from "./components/passport/AuthorizedClients";
import PersonalAccessTokens from "./components/passport/PersonalAccessTokens";
import CustomDate from "./components/transactions/CustomDate";
import CustomString from "./components/transactions/CustomString";
import CustomTextarea from "./components/transactions/CustomTextarea";
import StandardDate from "./components/transactions/StandardDate";
import GroupDescription from "./components/transactions/GroupDescription";
import TransactionDescription from "./components/transactions/TransactionDescription";
import CustomTransactionFields from "./components/transactions/CustomTransactionFields";
import PiggyBank from "./components/transactions/PiggyBank";
import Tags from "./components/transactions/Tags";
import Category from "./components/transactions/Category";
import Amount from "./components/transactions/Amount";
import ForeignAmountSelect from "./components/transactions/ForeignAmountSelect";
import TransactionType from "./components/transactions/TransactionType";
import AccountSelect from "./components/transactions/AccountSelect";
import Budget from "./components/transactions/Budget";
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
require('./bootstrap');
Vue.use(VueI18n);
window.Vue = Vue;
Vue.use(uiv);
// components for create and edit transactions.
Vue.component('budget', Budget);
Vue.component('custom-date', CustomDate);
Vue.component('custom-string', CustomString);
Vue.component('custom-attachments', CustomAttachments);
Vue.component('custom-textarea', CustomTextarea);
Vue.component('standard-date', StandardDate);
Vue.component('group-description', GroupDescription);
Vue.component('transaction-description', TransactionDescription);
Vue.component('custom-transaction-fields', CustomTransactionFields);
Vue.component('piggy-bank', PiggyBank);
Vue.component('tags', Tags);
Vue.component('category', Category);
Vue.component('amount', Amount);
Vue.component('foreign-amount', ForeignAmountSelect);
Vue.component('transaction-type', TransactionType);
Vue.component('account-select', AccountSelect);
Vue.component('create-transaction', CreateTransaction);
// Create VueI18n instance with options
const i18n = new VueI18n({
locale: document.documentElement.lang, // set locale
fallbackLocale: 'en',
messages: {
'cs': require('./locales/cs.json'),
'de': require('./locales/de.json'),
'en': require('./locales/en.json'),
'es': require('./locales/es.json'),
'fr': require('./locales/fr.json'),
'hu': require('./locales/hu.json'),
'id': require('./locales/id.json'),
'it': require('./locales/it.json'),
'nl': require('./locales/nl.json'),
'no': require('./locales/no.json'),
'pl': require('./locales/pl.json'),
'pt-br': require('./locales/pt-br.json'),
'ro': require('./locales/ro.json'),
'ru': require('./locales/ru.json'),
'zh': require('./locales/zh.json'),
'zh-tw': require('./locales/zh-tw.json'),
'zh-cn': require('./locales/zh-cn.json'),
'sv': require('./locales/sv.json'),
}
});
let props = {};
new Vue({
i18n,
el: "#create_transaction",
render: (createElement) => {
return createElement(CreateTransaction, { props: props })
},
});

113
resources/assets/js/edit_transaction.js vendored Normal file
View File

@ -0,0 +1,113 @@
/*
* app.js
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import * as uiv from 'uiv';
import CustomAttachments from "./components/transactions/CustomAttachments";
import CreateTransaction from './components/transactions/CreateTransaction';
import EditTransaction from './components/transactions/EditTransaction';
import Clients from './components/passport/Clients';
import AuthorizedClients from "./components/passport/AuthorizedClients";
import PersonalAccessTokens from "./components/passport/PersonalAccessTokens";
import CustomDate from "./components/transactions/CustomDate";
import CustomString from "./components/transactions/CustomString";
import CustomTextarea from "./components/transactions/CustomTextarea";
import StandardDate from "./components/transactions/StandardDate";
import GroupDescription from "./components/transactions/GroupDescription";
import TransactionDescription from "./components/transactions/TransactionDescription";
import CustomTransactionFields from "./components/transactions/CustomTransactionFields";
import PiggyBank from "./components/transactions/PiggyBank";
import Tags from "./components/transactions/Tags";
import Category from "./components/transactions/Category";
import Amount from "./components/transactions/Amount";
import ForeignAmountSelect from "./components/transactions/ForeignAmountSelect";
import TransactionType from "./components/transactions/TransactionType";
import AccountSelect from "./components/transactions/AccountSelect";
import Budget from "./components/transactions/Budget";
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
require('./bootstrap');
Vue.use(VueI18n);
window.Vue = Vue;
Vue.use(uiv);
// components for create and edit transactions.
Vue.component('budget', Budget);
Vue.component('custom-date', CustomDate);
Vue.component('custom-string', CustomString);
Vue.component('custom-attachments', CustomAttachments);
Vue.component('custom-textarea', CustomTextarea);
Vue.component('standard-date', StandardDate);
Vue.component('group-description', GroupDescription);
Vue.component('transaction-description', TransactionDescription);
Vue.component('custom-transaction-fields', CustomTransactionFields);
Vue.component('piggy-bank', PiggyBank);
Vue.component('tags', Tags);
Vue.component('category', Category);
Vue.component('amount', Amount);
Vue.component('foreign-amount', ForeignAmountSelect);
Vue.component('transaction-type', TransactionType);
Vue.component('account-select', AccountSelect);
Vue.component('edit-transaction', EditTransaction);
// Create VueI18n instance with options
const i18n = new VueI18n({
locale: document.documentElement.lang, // set locale
fallbackLocale: 'en',
messages: {
'cs': require('./locales/cs.json'),
'de': require('./locales/de.json'),
'en': require('./locales/en.json'),
'es': require('./locales/es.json'),
'fr': require('./locales/fr.json'),
'hu': require('./locales/hu.json'),
'id': require('./locales/id.json'),
'it': require('./locales/it.json'),
'nl': require('./locales/nl.json'),
'no': require('./locales/no.json'),
'pl': require('./locales/pl.json'),
'pt-br': require('./locales/pt-br.json'),
'ro': require('./locales/ro.json'),
'ru': require('./locales/ru.json'),
'zh': require('./locales/zh.json'),
'zh-tw': require('./locales/zh-tw.json'),
'zh-cn': require('./locales/zh-cn.json'),
'sv': require('./locales/sv.json'),
}
});
let props = {};
new Vue({
i18n,
el: "#edit_transaction",
render: (createElement) => {
return createElement(EditTransaction, { props: props })
},
});

View File

@ -1,19 +1,19 @@
{ {
"firefly": { "firefly": {
"welcome_back": "What's playing?", "welcome_back": "Ce se red\u0103?",
"flash_error": "Eroare!", "flash_error": "Eroare!",
"flash_success": "Succes!", "flash_success": "Succes!",
"close": "\u00cenchide", "close": "\u00cenchide",
"split_transaction_title": "Description of the split transaction", "split_transaction_title": "Descrierea tranzac\u021biei divizate",
"errors_submission": "There was something wrong with your submission. Please check out the errors below.", "errors_submission": "A fost ceva \u00een neregul\u0103 cu transmiterea dvs. V\u0103 rug\u0103m s\u0103 consulta\u021bi erorile de mai jos.",
"split": "\u00cemparte", "split": "\u00cemparte",
"transaction_journal_information": "Informa\u021bii despre tranzac\u021bii", "transaction_journal_information": "Informa\u021bii despre tranzac\u021bii",
"source_account": "Contul surs\u0103", "source_account": "Contul surs\u0103",
"destination_account": "Contul de destina\u021bie", "destination_account": "Contul de destina\u021bie",
"add_another_split": "Ad\u0103uga\u021bi o divizare", "add_another_split": "Ad\u0103uga\u021bi o divizare",
"submission": "Submission", "submission": "Transmitere",
"create_another": "After storing, return here to create another one.", "create_another": "Dup\u0103 stocare, reveni\u021bi aici pentru a crea alta.",
"reset_after": "Reset form after submission", "reset_after": "Reseta\u021bi formularul dup\u0103 trimitere",
"submit": "Trimite", "submit": "Trimite",
"amount": "Sum\u0103", "amount": "Sum\u0103",
"date": "Dat\u0103", "date": "Dat\u0103",
@ -22,16 +22,16 @@
"category": "Categorie", "category": "Categorie",
"attachments": "Ata\u0219amente", "attachments": "Ata\u0219amente",
"notes": "Noti\u021be", "notes": "Noti\u021be",
"update_transaction": "Update transaction", "update_transaction": "Actualiza\u021bi tranzac\u021bia",
"after_update_create_another": "After updating, return here to continue editing.", "after_update_create_another": "Dup\u0103 actualizare, reveni\u021bi aici pentru a continua editarea.",
"store_as_new": "Store as a new transaction instead of updating.", "store_as_new": "Stoca\u021bi ca o tranzac\u021bie nou\u0103 \u00een loc s\u0103 actualiza\u021bi.",
"split_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.", "split_title_help": "Dac\u0103 crea\u021bi o tranzac\u021bie divizat\u0103, trebuie s\u0103 existe o descriere global\u0103 pentru toate diviziunile tranzac\u021biei.",
"none_in_select_list": "(nici unul)", "none_in_select_list": "(nici unul)",
"no_piggy_bank": "(no piggy bank)", "no_piggy_bank": "(nicio pu\u0219culi\u021b\u0103)",
"description": "Descriere", "description": "Descriere",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.", "split_transaction_title_help": "Dac\u0103 crea\u021bi o tranzac\u021bie divizat\u0103, trebuie s\u0103 existe o descriere global\u0103 pentru toate diviziunile tranzac\u021biei.",
"destination_account_reconciliation": "You can't edit the destination account of a reconciliation transaction.", "destination_account_reconciliation": "Nu pute\u021bi edita contul de destina\u021bie al unei tranzac\u021bii de reconciliere.",
"source_account_reconciliation": "You can't edit the source account of a reconciliation transaction.", "source_account_reconciliation": "Nu pute\u021bi edita contul surs\u0103 al unei tranzac\u021bii de reconciliere.",
"budget": "Buget" "budget": "Buget"
}, },
"form": { "form": {

68
resources/assets/js/profile.js vendored Normal file
View File

@ -0,0 +1,68 @@
/*
* app.js
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import * as uiv from 'uiv';
import CustomAttachments from "./components/transactions/CustomAttachments";
import CreateTransaction from './components/transactions/CreateTransaction';
import EditTransaction from './components/transactions/EditTransaction';
import Clients from './components/passport/Clients';
import AuthorizedClients from "./components/passport/AuthorizedClients";
import PersonalAccessTokens from "./components/passport/PersonalAccessTokens";
import CustomDate from "./components/transactions/CustomDate";
import CustomString from "./components/transactions/CustomString";
import CustomTextarea from "./components/transactions/CustomTextarea";
import StandardDate from "./components/transactions/StandardDate";
import GroupDescription from "./components/transactions/GroupDescription";
import TransactionDescription from "./components/transactions/TransactionDescription";
import CustomTransactionFields from "./components/transactions/CustomTransactionFields";
import PiggyBank from "./components/transactions/PiggyBank";
import Tags from "./components/transactions/Tags";
import Category from "./components/transactions/Category";
import Amount from "./components/transactions/Amount";
import ForeignAmountSelect from "./components/transactions/ForeignAmountSelect";
import TransactionType from "./components/transactions/TransactionType";
import AccountSelect from "./components/transactions/AccountSelect";
import Budget from "./components/transactions/Budget";
import ProfileOptions from "./components/profile/ProfileOptions";
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
require('./bootstrap');
window.Vue = Vue;
Vue.component('passport-clients', Clients);
Vue.component('passport-authorized-clients',AuthorizedClients);
Vue.component('passport-personal-access-tokens', PersonalAccessTokens);
Vue.component('profile-options', ProfileOptions);
let props = {};
new Vue({
el: "#passport_clients",
render: (createElement) => {
return createElement(ProfileOptions, { props: props })
},
});

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Pravidlo musí obsahovat alespoň jednu akci.', 'at_least_one_action' => 'Pravidlo musí obsahovat alespoň jednu akci.',
'base64' => 'Data nejsou v platném base64 kódování.', 'base64' => 'Data nejsou v platném base64 kódování.',
'model_id_invalid' => 'Zdá se, že dané ID je neplatné pro tento model.', 'model_id_invalid' => 'Zdá se, že dané ID je neplatné pro tento model.',
'more' => ':attribute musí být větší než nula.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute musí být menší než 10.000.000', 'less' => ':attribute musí být menší než 10.000.000',
'active_url' => ':attribute není platná adresa URL.', 'active_url' => ':attribute není platná adresa URL.',
'after' => ':attribute nemůže být dříve než :date.', 'after' => ':attribute nemůže být dříve než :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Je třeba, aby :attribute byl řetězec.', 'string' => 'Je třeba, aby :attribute byl řetězec.',
'url' => 'Formát :attribute není platný.', 'url' => 'Formát :attribute není platný.',
'timezone' => 'Je třeba, aby :attribute byla platná zóna.', 'timezone' => 'Je třeba, aby :attribute byla platná zóna.',
'2fa_code' => 'Kolonka :attribute není platná.', '2fa_code' => 'Kolonka :attribute není platná.',
'dimensions' => ':attribute nemá platné rozměry obrázku.', 'dimensions' => ':attribute nemá platné rozměry obrázku.',
'distinct' => 'Kolonka :attribute má duplicitní hodnotu.', 'distinct' => 'Kolonka :attribute má duplicitní hodnotu.',
'file' => 'Je třeba, aby :attribute byl soubor.', 'file' => 'Je třeba, aby :attribute byl soubor.',
'in_array' => 'The :attribute field does not exist in :other.', 'in_array' => 'The :attribute field does not exist in :other.',
'present' => 'Je třeba, aby kolonka :attribute byla přítomna.', 'present' => 'Je třeba, aby kolonka :attribute byla přítomna.',
'amount_zero' => 'Celková částka nemůže být nula.', 'amount_zero' => 'Celková částka nemůže být nula.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'Je třeba, aby se názvy pokladniček neopakovaly.', 'unique_piggy_bank_for_user' => 'Je třeba, aby se názvy pokladniček neopakovaly.',
'secure_password' => 'Toto není bezpečné heslo. Zkuste jiné. Více se dozvíte na http://bit.ly/FF3-password-security', 'secure_password' => 'Toto není bezpečné heslo. Zkuste jiné. Více se dozvíte na http://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Neplatný typ opakování pro opakované transakce.', 'valid_recurrence_rep_type' => 'Neplatný typ opakování pro opakované transakce.',
'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.', 'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Neplatná informace o účtu.', 'invalid_account_info' => 'Neplatná informace o účtu.',
'attributes' => [ 'attributes' => [
'email' => 'e-mailová adresa', 'email' => 'e-mailová adresa',
'description' => 'popis', 'description' => 'popis',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -682,7 +682,7 @@ return [
'source_or_dest_invalid' => 'Die korrekten Buchungsdetails konnten nicht gefunden werden. Eine Konvertierung ist nicht möglich.', 'source_or_dest_invalid' => 'Die korrekten Buchungsdetails konnten nicht gefunden werden. Eine Konvertierung ist nicht möglich.',
'convert_to_withdrawal' => 'In eine Ausgabe umwandeln', 'convert_to_withdrawal' => 'In eine Ausgabe umwandeln',
'convert_to_deposit' => 'In eine Einzahlung umwandeln', 'convert_to_deposit' => 'In eine Einzahlung umwandeln',
'convert_to_transfer' => 'In eine Umbuchungen umwandeln', 'convert_to_transfer' => 'In eine Umbuchung umwandeln',
// create new stuff: // create new stuff:
'create_new_withdrawal' => 'Erstelle eine neue Ausgabe', 'create_new_withdrawal' => 'Erstelle eine neue Ausgabe',
@ -850,7 +850,7 @@ return [
'end_balance' => 'Endguthaben', 'end_balance' => 'Endguthaben',
'update_balance_dates_instruction' => 'Ordnen Sie die oben genannten Beträge und Daten Ihrem Kontoauszug zu und klicken Sie auf „Jetzt ausgleichen”', 'update_balance_dates_instruction' => 'Ordnen Sie die oben genannten Beträge und Daten Ihrem Kontoauszug zu und klicken Sie auf „Jetzt ausgleichen”',
'select_transactions_instruction' => 'Wählen Sie die Buchungen aus, die auf Ihrem Kontoauszug angezeigt werden.', 'select_transactions_instruction' => 'Wählen Sie die Buchungen aus, die auf Ihrem Kontoauszug angezeigt werden.',
'select_range_and_balance' => 'Überprüfen Sie zunächst den Datumsbereich und das Guthaben. Anschließend drücken Sie auf „Jetzt ausgleichen”', 'select_range_and_balance' => 'Überprüfen Sie zunächst den Datumsbereich und das Guthaben. Anschließend drücken Sie auf „Jetzt abgleichen”',
'date_change_instruction' => 'Wenn Sie den Datumsbereich jetzt ändern, geht der gesamte Verlauf verloren.', 'date_change_instruction' => 'Wenn Sie den Datumsbereich jetzt ändern, geht der gesamte Verlauf verloren.',
'update_selection' => 'Auswahl aktualisieren', 'update_selection' => 'Auswahl aktualisieren',
'store_reconcile' => 'Kontenabgleich speichern', 'store_reconcile' => 'Kontenabgleich speichern',

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Regel muss mindestens eine Aktion enthalten', 'at_least_one_action' => 'Regel muss mindestens eine Aktion enthalten',
'base64' => 'Dies sind keine gültigen base64-kodierten Daten.', 'base64' => 'Dies sind keine gültigen base64-kodierten Daten.',
'model_id_invalid' => 'Die angegebene ID scheint für dieses Modell ungültig zu sein.', 'model_id_invalid' => 'Die angegebene ID scheint für dieses Modell ungültig zu sein.',
'more' => ':attribute muss größer als Null sein.', 'more' => ':attribute muss größer als „:more” sein.',
'less' => ':attribute muss kleiner als 10.000.000 sein', 'less' => ':attribute muss kleiner als 10.000.000 sein',
'active_url' => ':attribute ist keine gültige URL.', 'active_url' => ':attribute ist keine gültige URL.',
'after' => ':attribute muss ein Datum nach :date sein.', 'after' => ':attribute muss ein Datum nach :date sein.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute muss eine Zeichenfolge sein.', 'string' => ':attribute muss eine Zeichenfolge sein.',
'url' => ':attribute Format ist ungültig.', 'url' => ':attribute Format ist ungültig.',
'timezone' => ':attribute muss in einem gültigen Bereich liegen.', 'timezone' => ':attribute muss in einem gültigen Bereich liegen.',
'2fa_code' => ':attribute Feld ist ungültig.', '2fa_code' => ':attribute Feld ist ungültig.',
'dimensions' => 'Das :attribute hat eine ungültige Auflösung.', 'dimensions' => 'Das :attribute hat eine ungültige Auflösung.',
'distinct' => 'Der Wert von :attribute existiert bereits.', 'distinct' => 'Der Wert von :attribute existiert bereits.',
'file' => 'Das :attribute muss eine Datei sein.', 'file' => 'Das :attribute muss eine Datei sein.',
'in_array' => ':attribute existiert nicht in :other.', 'in_array' => ':attribute existiert nicht in :other.',
'present' => 'Das :attribute Feld muss vorhanden sein.', 'present' => 'Das :attribute Feld muss vorhanden sein.',
'amount_zero' => 'Der Gesamtbetrag darf nicht Null sein.', 'amount_zero' => 'Der Gesamtbetrag darf nicht Null sein.',
'current_target_amount' => 'Der aktuelle Betrag muss niedriger als der Zielbetrag sein.', 'current_target_amount' => 'Der aktuelle Betrag muss niedriger als der Zielbetrag sein.',
'unique_piggy_bank_for_user' => 'Der Name des Sparschweins muss eindeutig sein.', 'unique_piggy_bank_for_user' => 'Der Name des Sparschweins muss eindeutig sein.',
'secure_password' => 'Dies ist ein unsicheres Passwort. Bitte versuchen Sie es erneut. Weitere Informationen finden Sie unter https://github.com/firefly-iii/help/wiki/Secure-password', 'secure_password' => 'Dies ist ein unsicheres Passwort. Bitte versuchen Sie es erneut. Weitere Informationen finden Sie unter https://github.com/firefly-iii/help/wiki/Secure-password',
'valid_recurrence_rep_type' => 'Ungültige Wiederholungsart für Daueraufträge.', 'valid_recurrence_rep_type' => 'Ungültige Wiederholungsart für Daueraufträge.',
'valid_recurrence_rep_moment' => 'Ungültiges Wiederholungsmoment für diese Art der Wiederholung.', 'valid_recurrence_rep_moment' => 'Ungültiges Wiederholungsmoment für diese Art der Wiederholung.',
'invalid_account_info' => 'Ungültige Kontodaten.', 'invalid_account_info' => 'Ungültige Kontodaten.',
'attributes' => [ 'attributes' => [
'email' => 'E-Mail Adresse', 'email' => 'E-Mail Adresse',
'description' => 'Beschreibung', 'description' => 'Beschreibung',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Bei der Suche nach der Kennung „:id” oder dem Namen „:name” konnte kein gültiges Quellkonto gefunden werden.', 'deposit_source_bad_data' => 'Bei der Suche nach der Kennung „:id” oder dem Namen „:name” konnte kein gültiges Quellkonto gefunden werden.',
'deposit_dest_need_data' => 'Um fortzufahren, benötigen Sie eine gültige Zielkontenkennung und/oder einen gültigen Zielkontonamen.', 'deposit_dest_need_data' => 'Um fortzufahren, benötigen Sie eine gültige Zielkontenkennung und/oder einen gültigen Zielkontonamen.',
'deposit_dest_bad_data' => 'Bei der Suche nach der Kennung „:id” oder dem Namen „:name” konnte kein gültiges Zielkonto gefunden werden.', 'deposit_dest_bad_data' => 'Bei der Suche nach der Kennung „:id” oder dem Namen „:name” konnte kein gültiges Zielkonto gefunden werden.',
'deposit_dest_wrong_type' => 'Das übermittelte Zielkonto entspricht nicht dem geforderten Typ.', 'deposit_dest_wrong_type' => 'Das übermittelte Zielkonto entspricht nicht dem geforderten Typ.',
'transfer_source_need_data' => 'Um fortzufahren, benötigen Sie eine gültige Quellkontenkennung und/oder einen gültigen Quellkontonamen.', 'transfer_source_need_data' => 'Um fortzufahren, benötigen Sie eine gültige Quellkontenkennung und/oder einen gültigen Quellkontonamen.',
'transfer_source_bad_data' => 'Bei der Suche nach der Kennung „:id” oder dem Namen „:name” konnte kein gültiges Quellkonto gefunden werden.', 'transfer_source_bad_data' => 'Bei der Suche nach der Kennung „:id” oder dem Namen „:name” konnte kein gültiges Quellkonto gefunden werden.',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Sie benötigen eine gültige Zielkontennummer und/oder einen gültigen Zielkontonamen, um fortzufahren.', 'ob_dest_need_data' => 'Sie benötigen eine gültige Zielkontennummer und/oder einen gültigen Zielkontonamen, um fortzufahren.',
'ob_dest_bad_data' => 'Bei der Suche nach der ID ":id" oder dem Namen ":name" konnte kein gültiges Zielkonto gefunden werden.', 'ob_dest_bad_data' => 'Bei der Suche nach der ID ":id" oder dem Namen ":name" konnte kein gültiges Zielkonto gefunden werden.',
'generic_invalid_source' => 'Sie können dieses Konto nicht als Quellkonto verwenden.', 'generic_invalid_source' => 'Sie können dieses Konto nicht als Quellkonto verwenden.',
'generic_invalid_destination' => 'Sie können dieses Konto nicht als Zielkonto verwenden.', 'generic_invalid_destination' => 'Sie können dieses Konto nicht als Zielkonto verwenden.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Ο κανόνας πρέπει να έχει τουλάχιστον μία λειτουργία.', 'at_least_one_action' => 'Ο κανόνας πρέπει να έχει τουλάχιστον μία λειτουργία.',
'base64' => 'Αυτά δεν είναι έγκυρα base64 κωδικοποιημένα δεδομένα.', 'base64' => 'Αυτά δεν είναι έγκυρα base64 κωδικοποιημένα δεδομένα.',
'model_id_invalid' => 'Το παραχωρημένο αναγνωριστικό δε φαίνεται έγκυρο για αυτό το μοντέλο.', 'model_id_invalid' => 'Το παραχωρημένο αναγνωριστικό δε φαίνεται έγκυρο για αυτό το μοντέλο.',
'more' => 'Το :attribute πρέπει να είναι μεγαλύτερο του μηδενός.', 'more' => ':attribute must be larger than ":more".',
'less' => 'Το :attribute πρέπει να είναι μικρότερο από 10,000,000', 'less' => 'Το :attribute πρέπει να είναι μικρότερο από 10,000,000',
'active_url' => 'Το :attribute δεν είναι έγκυρο URL.', 'active_url' => 'Το :attribute δεν είναι έγκυρο URL.',
'after' => 'Το :attribute πρέπει να είναι ημερομηνία μετά από :date.', 'after' => 'Το :attribute πρέπει να είναι ημερομηνία μετά από :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Το :attribute πρέπει να είναι string.', 'string' => 'Το :attribute πρέπει να είναι string.',
'url' => 'Η μορφή :attribute δεν είναι έγκυρη.', 'url' => 'Η μορφή :attribute δεν είναι έγκυρη.',
'timezone' => 'Το :attribute πρέπει να είναι έγκυρη ζώνη.', 'timezone' => 'Το :attribute πρέπει να είναι έγκυρη ζώνη.',
'2fa_code' => 'Το πεδίο :attribute δεν είναι έγκυρο.', '2fa_code' => 'Το πεδίο :attribute δεν είναι έγκυρο.',
'dimensions' => 'Το :attribute δεν έχει έγκυρες διαστάσεις εικόνας.', 'dimensions' => 'Το :attribute δεν έχει έγκυρες διαστάσεις εικόνας.',
'distinct' => 'Το πεδίο :attribute έχει διπλότυπη τιμή.', 'distinct' => 'Το πεδίο :attribute έχει διπλότυπη τιμή.',
'file' => 'Το :attribute πρέπει να είναι ένα αρχείο.', 'file' => 'Το :attribute πρέπει να είναι ένα αρχείο.',
'in_array' => 'Το πεδίο :attribute δεν υπάρχει σε :other.', 'in_array' => 'Το πεδίο :attribute δεν υπάρχει σε :other.',
'present' => 'Το πεδίο :attribute πρέπει να είναι παρόν.', 'present' => 'Το πεδίο :attribute πρέπει να είναι παρόν.',
'amount_zero' => 'Το συνολικό ποσό δεν μπορεί να είναι μηδέν.', 'amount_zero' => 'Το συνολικό ποσό δεν μπορεί να είναι μηδέν.',
'current_target_amount' => 'Το τρέχων ποσό πρέπει να είναι μικρότερο από το ποσό προορισμού.', 'current_target_amount' => 'Το τρέχων ποσό πρέπει να είναι μικρότερο από το ποσό προορισμού.',
'unique_piggy_bank_for_user' => 'Το όνομα του κουμπαρά πρέπει να είναι μοναδικό.', 'unique_piggy_bank_for_user' => 'Το όνομα του κουμπαρά πρέπει να είναι μοναδικό.',
'secure_password' => 'Αυτό δεν είναι ασφαλές συνθηματικό. Παρακαλώ δοκιμάστε ξανά. Για περισσότερες πληροφορίες επισκεφτείτε https://bit.ly/FF3-password-security', 'secure_password' => 'Αυτό δεν είναι ασφαλές συνθηματικό. Παρακαλώ δοκιμάστε ξανά. Για περισσότερες πληροφορίες επισκεφτείτε https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Μη έγκυρος τύπος επανάληψης για επαναλαμβανόμενες συναλλαγές.', 'valid_recurrence_rep_type' => 'Μη έγκυρος τύπος επανάληψης για επαναλαμβανόμενες συναλλαγές.',
'valid_recurrence_rep_moment' => 'Μη έγκυρη στιγμή επανάληψης για αυτό τον τύπο επανάληψης.', 'valid_recurrence_rep_moment' => 'Μη έγκυρη στιγμή επανάληψης για αυτό τον τύπο επανάληψης.',
'invalid_account_info' => 'Μη έγκυρες πληροφορίες λογαριασμού.', 'invalid_account_info' => 'Μη έγκυρες πληροφορίες λογαριασμού.',
'attributes' => [ 'attributes' => [
'email' => 'διεύθυνση email', 'email' => 'διεύθυνση email',
'description' => 'περιγραφή', 'description' => 'περιγραφή',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Δεν μπόρεσε να βρεθεί ένας έγκυρος λογαριασμός προέλευσης κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".', 'deposit_source_bad_data' => 'Δεν μπόρεσε να βρεθεί ένας έγκυρος λογαριασμός προέλευσης κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
'deposit_dest_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό ID λογαριασμού προορισμού και/ή ένα έγκυρο όνομα λογαριασμού προορισμού για να συνεχίσετε.', 'deposit_dest_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό ID λογαριασμού προορισμού και/ή ένα έγκυρο όνομα λογαριασμού προορισμού για να συνεχίσετε.',
'deposit_dest_bad_data' => 'Δεν μπόρεσε να βρεθεί έγκυρος λογαριασμός προορισμού κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".', 'deposit_dest_bad_data' => 'Δεν μπόρεσε να βρεθεί έγκυρος λογαριασμός προορισμού κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό λογαριασμού προέλευσης και/ή ένα έγκυρο όνομα λογαριασμού προέλευσης για να συνεχίσετε.', 'transfer_source_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό λογαριασμού προέλευσης και/ή ένα έγκυρο όνομα λογαριασμού προέλευσης για να συνεχίσετε.',
'transfer_source_bad_data' => 'Δεν μπορεσε να βρεθεί ένας έγκυρος λογαριασμός προέλευσης κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".', 'transfer_source_bad_data' => 'Δεν μπορεσε να βρεθεί ένας έγκυρος λογαριασμός προέλευσης κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό ID λογαριασμού προορισμού και/ή ένα έγκυρο όνομα λογαριασμού προορισμού για να συνεχίσετε.', 'ob_dest_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό ID λογαριασμού προορισμού και/ή ένα έγκυρο όνομα λογαριασμού προορισμού για να συνεχίσετε.',
'ob_dest_bad_data' => 'Δεν μπορεσε να βρεθεί έγκυρος λογαριασμός προορισμού κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".', 'ob_dest_bad_data' => 'Δεν μπορεσε να βρεθεί έγκυρος λογαριασμός προορισμού κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
'generic_invalid_source' => 'Δεν μπορείτε να χρησιμοποιήσετε αυτό το λογαριασμό ως λογαριασμό προέλευσης.', 'generic_invalid_source' => 'Δεν μπορείτε να χρησιμοποιήσετε αυτό το λογαριασμό ως λογαριασμό προέλευσης.',
'generic_invalid_destination' => 'Δεν μπορείτε να χρησιμοποιήσετε αυτό το λογαριασμό ως λογαριασμό προορισμού.', 'generic_invalid_destination' => 'Δεν μπορείτε να χρησιμοποιήσετε αυτό το λογαριασμό ως λογαριασμό προορισμού.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Rule must have at least one action.', 'at_least_one_action' => 'Rule must have at least one action.',
'base64' => 'This is not valid base64 encoded data.', 'base64' => 'This is not valid base64 encoded data.',
'model_id_invalid' => 'The given ID seems invalid for this model.', 'model_id_invalid' => 'The given ID seems invalid for this model.',
'more' => ':attribute must be larger than zero.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute must be less than 10,000,000', 'less' => ':attribute must be less than 10,000,000',
'active_url' => 'The :attribute is not a valid URL.', 'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.', 'after' => 'The :attribute must be a date after :date.',
@ -121,19 +121,19 @@ return [
'string' => 'The :attribute must be a string.', 'string' => 'The :attribute must be a string.',
'url' => 'The :attribute format is invalid.', 'url' => 'The :attribute format is invalid.',
'timezone' => 'The :attribute must be a valid zone.', 'timezone' => 'The :attribute must be a valid zone.',
'2fa_code' => 'The :attribute field is invalid.', '2fa_code' => 'The :attribute field is invalid.',
'dimensions' => 'The :attribute has invalid image dimensions.', 'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.', 'distinct' => 'The :attribute field has a duplicate value.',
'file' => 'The :attribute must be a file.', 'file' => 'The :attribute must be a file.',
'in_array' => 'The :attribute field does not exist in :other.', 'in_array' => 'The :attribute field does not exist in :other.',
'present' => 'The :attribute field must be present.', 'present' => 'The :attribute field must be present.',
'amount_zero' => 'The total amount cannot be zero.', 'amount_zero' => 'The total amount cannot be zero.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'The name of the piggy bank must be unique.', 'unique_piggy_bank_for_user' => 'The name of the piggy bank must be unique.',
'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password-security', 'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Invalid repetition type for recurring transactions.', 'valid_recurrence_rep_type' => 'Invalid repetition type for recurring transactions.',
'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.', 'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Invalid account information.', 'invalid_account_info' => 'Invalid account information.',
'attributes' => [ 'attributes' => [
'email' => 'email address', 'email' => 'email address',
'description' => 'description', 'description' => 'description',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'La regla debe tener al menos una acción.', 'at_least_one_action' => 'La regla debe tener al menos una acción.',
'base64' => 'Esto no es un dato codificado en base64 válido.', 'base64' => 'Esto no es un dato codificado en base64 válido.',
'model_id_invalid' => 'El ID dado no parece válido para este modelo.', 'model_id_invalid' => 'El ID dado no parece válido para este modelo.',
'more' => ':attribute debe ser mayor que cero.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute debe ser menor que 10.000.000', 'less' => ':attribute debe ser menor que 10.000.000',
'active_url' => 'El campo :attribute no es una URL válida.', 'active_url' => 'El campo :attribute no es una URL válida.',
'after' => 'El campo :attribute debe ser una fecha posterior a :date.', 'after' => 'El campo :attribute debe ser una fecha posterior a :date.',
@ -121,19 +121,19 @@ return [
'string' => 'El :attribute debería ser una cadena de caracteres.', 'string' => 'El :attribute debería ser una cadena de caracteres.',
'url' => 'El formato del campo :attribute no es válido.', 'url' => 'El formato del campo :attribute no es válido.',
'timezone' => 'El campo :attribute debe contener una zona válida.', 'timezone' => 'El campo :attribute debe contener una zona válida.',
'2fa_code' => 'El campo :attribute no es válido.', '2fa_code' => 'El campo :attribute no es válido.',
'dimensions' => 'Las dimensiones de la imagen :attribute son incorrectas.', 'dimensions' => 'Las dimensiones de la imagen :attribute son incorrectas.',
'distinct' => 'El campo :attribute tiene un valor duplicado.', 'distinct' => 'El campo :attribute tiene un valor duplicado.',
'file' => 'El campo :attribute debe ser un fichero.', 'file' => 'El campo :attribute debe ser un fichero.',
'in_array' => 'El campo :attribute no existe en :other.', 'in_array' => 'El campo :attribute no existe en :other.',
'present' => 'El campo :attribute debe estar presente.', 'present' => 'El campo :attribute debe estar presente.',
'amount_zero' => 'La cantidad total no puede ser cero.', 'amount_zero' => 'La cantidad total no puede ser cero.',
'current_target_amount' => 'La cantidad actual debe ser menor que la cantidad de destino.', 'current_target_amount' => 'La cantidad actual debe ser menor que la cantidad de destino.',
'unique_piggy_bank_for_user' => 'En nombre de la hucha debe ser único.', 'unique_piggy_bank_for_user' => 'En nombre de la hucha debe ser único.',
'secure_password' => 'Esta contraseña no es segura. Por favor inténtalo de nuevo. Para más información, visita https://bit.ly/FF3-password-security', 'secure_password' => 'Esta contraseña no es segura. Por favor inténtalo de nuevo. Para más información, visita https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Tipo de repetición no válido para transacciones recurrentes.', 'valid_recurrence_rep_type' => 'Tipo de repetición no válido para transacciones recurrentes.',
'valid_recurrence_rep_moment' => 'Momento de repetición no válido para este tipo de repetición.', 'valid_recurrence_rep_moment' => 'Momento de repetición no válido para este tipo de repetición.',
'invalid_account_info' => 'Información de cuenta no válida.', 'invalid_account_info' => 'Información de cuenta no válida.',
'attributes' => [ 'attributes' => [
'email' => 'dirección de correo electrónico', 'email' => 'dirección de correo electrónico',
'description' => 'descripcion', 'description' => 'descripcion',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'No se pudo encontrar una cuenta de origen válida para ID ":id" o nombre ":name".', 'deposit_source_bad_data' => 'No se pudo encontrar una cuenta de origen válida para ID ":id" o nombre ":name".',
'deposit_dest_need_data' => 'Necesita obtener un ID de cuenta de destino válido y/o nombre de cuenta de destino válido para continuar.', 'deposit_dest_need_data' => 'Necesita obtener un ID de cuenta de destino válido y/o nombre de cuenta de destino válido para continuar.',
'deposit_dest_bad_data' => 'No se pudo encontrar una cuenta de destino válida buscando ID ":id" o nombre ":name".', 'deposit_dest_bad_data' => 'No se pudo encontrar una cuenta de destino válida buscando ID ":id" o nombre ":name".',
'deposit_dest_wrong_type' => 'La cuenta de destino enviada no es del tipo correcto.', 'deposit_dest_wrong_type' => 'La cuenta de destino enviada no es del tipo correcto.',
'transfer_source_need_data' => 'Necesita obtener un ID de cuenta de origen válido y/o nombre de cuenta de origen válido para continuar.', 'transfer_source_need_data' => 'Necesita obtener un ID de cuenta de origen válido y/o nombre de cuenta de origen válido para continuar.',
'transfer_source_bad_data' => 'No se pudo encontrar una cuenta de origen válida para ID ":id" o nombre ":name".', 'transfer_source_bad_data' => 'No se pudo encontrar una cuenta de origen válida para ID ":id" o nombre ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Necesita obtener un ID de cuenta de destino válido y/o nombre de cuenta de destino válido para continuar.', 'ob_dest_need_data' => 'Necesita obtener un ID de cuenta de destino válido y/o nombre de cuenta de destino válido para continuar.',
'ob_dest_bad_data' => 'No se pudo encontrar una cuenta de destino válida buscando ID ":id" o nombre ":name".', 'ob_dest_bad_data' => 'No se pudo encontrar una cuenta de destino válida buscando ID ":id" o nombre ":name".',
'generic_invalid_source' => 'No puedes usar esta cuenta como cuenta de origen.', 'generic_invalid_source' => 'No puedes usar esta cuenta como cuenta de origen.',
'generic_invalid_destination' => 'No puede usar esta cuenta como cuenta de destino.', 'generic_invalid_destination' => 'No puede usar esta cuenta como cuenta de destino.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Une règle doit avoir au moins une action.', 'at_least_one_action' => 'Une règle doit avoir au moins une action.',
'base64' => 'Il ne s\'agit pas de données base64 valides.', 'base64' => 'Il ne s\'agit pas de données base64 valides.',
'model_id_invalid' => 'LID fournit ne semble pas valide pour ce modèle.', 'model_id_invalid' => 'LID fournit ne semble pas valide pour ce modèle.',
'more' => ':attribute doit être supérieur à zéro.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute doit être inférieur à 10 000 000', 'less' => ':attribute doit être inférieur à 10 000 000',
'active_url' => 'Le champ :attribute n\'est pas une URL valide.', 'active_url' => 'Le champ :attribute n\'est pas une URL valide.',
'after' => 'Le champ :attribute doit être une date postérieure à :date.', 'after' => 'Le champ :attribute doit être une date postérieure à :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Le champ :attribute doit être une chaîne de caractères.', 'string' => 'Le champ :attribute doit être une chaîne de caractères.',
'url' => 'Le format de l\'URL de :attribute n\'est pas valide.', 'url' => 'Le format de l\'URL de :attribute n\'est pas valide.',
'timezone' => 'Le champ :attribute doit être un fuseau horaire valide.', 'timezone' => 'Le champ :attribute doit être un fuseau horaire valide.',
'2fa_code' => 'Le champ :attribute est invalide.', '2fa_code' => 'Le champ :attribute est invalide.',
'dimensions' => 'Le :attribute possède des dimensions dimage non valides.', 'dimensions' => 'Le :attribute possède des dimensions dimage non valides.',
'distinct' => ':attribute possède une valeur en double.', 'distinct' => ':attribute possède une valeur en double.',
'file' => 'Le :attribute doit être un fichier.', 'file' => 'Le :attribute doit être un fichier.',
'in_array' => 'Le champ :attribute n\'existe pas dans :other.', 'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
'present' => 'Le champs :attribute doit être rempli.', 'present' => 'Le champs :attribute doit être rempli.',
'amount_zero' => 'Le montant total ne peut pas être zéro.', 'amount_zero' => 'Le montant total ne peut pas être zéro.',
'current_target_amount' => 'Le montant actuel doit être inférieur au montant cible.', 'current_target_amount' => 'Le montant actuel doit être inférieur au montant cible.',
'unique_piggy_bank_for_user' => 'Le nom de la tirelire doit être unique.', 'unique_piggy_bank_for_user' => 'Le nom de la tirelire doit être unique.',
'secure_password' => 'Ce n\'est pas un mot de passe sécurisé. Veuillez essayez à nouveau. Pour plus d\'informations, visitez https://bit.ly/FF3-password-security', 'secure_password' => 'Ce n\'est pas un mot de passe sécurisé. Veuillez essayez à nouveau. Pour plus d\'informations, visitez https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Type de répétition non valide pour des opérations périodiques.', 'valid_recurrence_rep_type' => 'Type de répétition non valide pour des opérations périodiques.',
'valid_recurrence_rep_moment' => 'Période de répétition non valide pour ce type de répétition.', 'valid_recurrence_rep_moment' => 'Période de répétition non valide pour ce type de répétition.',
'invalid_account_info' => 'Informations de compte non valides.', 'invalid_account_info' => 'Informations de compte non valides.',
'attributes' => [ 'attributes' => [
'email' => 'adresse email', 'email' => 'adresse email',
'description' => 'description', 'description' => 'description',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Impossible de trouver un compte source valide lors de la recherche de l\'ID ":id" ou du nom ":name".', 'deposit_source_bad_data' => 'Impossible de trouver un compte source valide lors de la recherche de l\'ID ":id" ou du nom ":name".',
'deposit_dest_need_data' => 'Vous devez obtenir un ID de compte de destination valide et/ou un nom de compte de destination valide pour continuer.', 'deposit_dest_need_data' => 'Vous devez obtenir un ID de compte de destination valide et/ou un nom de compte de destination valide pour continuer.',
'deposit_dest_bad_data' => 'Impossible de trouver un compte de destination valide lors de la recherche de l\'ID ":id" ou du nom ":name".', 'deposit_dest_bad_data' => 'Impossible de trouver un compte de destination valide lors de la recherche de l\'ID ":id" ou du nom ":name".',
'deposit_dest_wrong_type' => 'Le compte de destination saisi n\'est pas du bon type.', 'deposit_dest_wrong_type' => 'Le compte de destination saisi n\'est pas du bon type.',
'transfer_source_need_data' => 'Vous devez obtenir un ID de compte source valide et/ou un nom de compte source valide pour continuer.', 'transfer_source_need_data' => 'Vous devez obtenir un ID de compte source valide et/ou un nom de compte source valide pour continuer.',
'transfer_source_bad_data' => 'Impossible de trouver un compte source valide lors de la recherche de l\'ID ":id" ou du nom ":name".', 'transfer_source_bad_data' => 'Impossible de trouver un compte source valide lors de la recherche de l\'ID ":id" ou du nom ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Vous devez obtenir un ID de compte de destination valide et/ou un nom de compte de destination valide pour continuer.', 'ob_dest_need_data' => 'Vous devez obtenir un ID de compte de destination valide et/ou un nom de compte de destination valide pour continuer.',
'ob_dest_bad_data' => 'Impossible de trouver un compte de destination valide lors de la recherche de l\'ID ":id" ou du nom ":name".', 'ob_dest_bad_data' => 'Impossible de trouver un compte de destination valide lors de la recherche de l\'ID ":id" ou du nom ":name".',
'generic_invalid_source' => 'Vous ne pouvez pas utiliser ce compte comme compte source.', 'generic_invalid_source' => 'Vous ne pouvez pas utiliser ce compte comme compte source.',
'generic_invalid_destination' => 'Vous ne pouvez pas utiliser ce compte comme compte de destination.', 'generic_invalid_destination' => 'Vous ne pouvez pas utiliser ce compte comme compte de destination.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'A szabályban legalább egy műveletnek lennie kell.', 'at_least_one_action' => 'A szabályban legalább egy műveletnek lennie kell.',
'base64' => 'Ez nem érvényes base64 kódolású adat.', 'base64' => 'Ez nem érvényes base64 kódolású adat.',
'model_id_invalid' => 'A megadott azonosító érvénytelennek tűnik ehhez a modellhez.', 'model_id_invalid' => 'A megadott azonosító érvénytelennek tűnik ehhez a modellhez.',
'more' => ':attribute nagyobb kell legyen nullánál.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute kisebbnek kell lennie 10,000,000-nél', 'less' => ':attribute kisebbnek kell lennie 10,000,000-nél',
'active_url' => ':attribute nem egy érvényes URL.', 'active_url' => ':attribute nem egy érvényes URL.',
'after' => ':attribute egy :date utáni dátum kell legyen.', 'after' => ':attribute egy :date utáni dátum kell legyen.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute egy karakterlánc kell legyen.', 'string' => ':attribute egy karakterlánc kell legyen.',
'url' => ':attribute attribútum formátuma érvénytelen.', 'url' => ':attribute attribútum formátuma érvénytelen.',
'timezone' => ':attribute érvényes zóna kell legyen.', 'timezone' => ':attribute érvényes zóna kell legyen.',
'2fa_code' => ':attribute mező érvénytelen.', '2fa_code' => ':attribute mező érvénytelen.',
'dimensions' => ':attribute attribútum képfelbontása érvénytelen.', 'dimensions' => ':attribute attribútum képfelbontása érvénytelen.',
'distinct' => ':attribute mezőben duplikált érték van.', 'distinct' => ':attribute mezőben duplikált érték van.',
'file' => ':attribute egy fájl kell legyen.', 'file' => ':attribute egy fájl kell legyen.',
'in_array' => ':attribute nem létezik itt: :other.', 'in_array' => ':attribute nem létezik itt: :other.',
'present' => ':attribute mezőnek jelen kell lennie.', 'present' => ':attribute mezőnek jelen kell lennie.',
'amount_zero' => 'A teljes mennyiség nem lehet nulla.', 'amount_zero' => 'A teljes mennyiség nem lehet nulla.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'A malacpersely nevének egyedinek kell lennie.', 'unique_piggy_bank_for_user' => 'A malacpersely nevének egyedinek kell lennie.',
'secure_password' => 'Ez nem biztonságos jelszó. Kérlek próbáld meg újra. További információért lásd: https://bit.ly/FF3-password-security', 'secure_password' => 'Ez nem biztonságos jelszó. Kérlek próbáld meg újra. További információért lásd: https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Érvénytelen ismétléstípus az ismétlődő tranzakciókhoz.', 'valid_recurrence_rep_type' => 'Érvénytelen ismétléstípus az ismétlődő tranzakciókhoz.',
'valid_recurrence_rep_moment' => 'Érvénytelen ismétlési időpont ehhez az ismétléstípushoz.', 'valid_recurrence_rep_moment' => 'Érvénytelen ismétlési időpont ehhez az ismétléstípushoz.',
'invalid_account_info' => 'Érvénytelen számlainformáció.', 'invalid_account_info' => 'Érvénytelen számlainformáció.',
'attributes' => [ 'attributes' => [
'email' => 'email cím', 'email' => 'email cím',
'description' => 'leírás', 'description' => 'leírás',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Nem található érvényes forrásszámla ":id" azonosító vagy ":name" név keresésekor.', 'deposit_source_bad_data' => 'Nem található érvényes forrásszámla ":id" azonosító vagy ":name" név keresésekor.',
'deposit_dest_need_data' => 'Egy érvényes célszámla azonosító és/vagy egy érvényes célszámla név kell a folytatáshoz.', 'deposit_dest_need_data' => 'Egy érvényes célszámla azonosító és/vagy egy érvényes célszámla név kell a folytatáshoz.',
'deposit_dest_bad_data' => 'Nem található érvényes célszámla ":id" azonosító vagy ":name" név keresésekor.', 'deposit_dest_bad_data' => 'Nem található érvényes célszámla ":id" azonosító vagy ":name" név keresésekor.',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Egy érvényes forrásszámla azonosító és/vagy egy érvényes forrásszámla név kell a folytatáshoz.', 'transfer_source_need_data' => 'Egy érvényes forrásszámla azonosító és/vagy egy érvényes forrásszámla név kell a folytatáshoz.',
'transfer_source_bad_data' => 'Nem található érvényes forrásszámla ":id" azonosító vagy ":name" név keresésekor.', 'transfer_source_bad_data' => 'Nem található érvényes forrásszámla ":id" azonosító vagy ":name" név keresésekor.',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Egy érvényes célszámla azonosító és/vagy egy érvényes célszámla név kell a folytatáshoz.', 'ob_dest_need_data' => 'Egy érvényes célszámla azonosító és/vagy egy érvényes célszámla név kell a folytatáshoz.',
'ob_dest_bad_data' => 'Nem található érvényes célszámla ":id" azonosító vagy ":name" név keresésekor.', 'ob_dest_bad_data' => 'Nem található érvényes célszámla ":id" azonosító vagy ":name" név keresésekor.',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Aturan harus memiliki setidaknya satu tindakan.', 'at_least_one_action' => 'Aturan harus memiliki setidaknya satu tindakan.',
'base64' => 'Ini bukanlah data base64 encoded yang valid.', 'base64' => 'Ini bukanlah data base64 encoded yang valid.',
'model_id_invalid' => 'ID yang diberikan tidaklah valid untuk model ini.', 'model_id_invalid' => 'ID yang diberikan tidaklah valid untuk model ini.',
'more' => ':attribute harus lebih besar dari nol.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute harus kurang dari 10,000,000', 'less' => ':attribute harus kurang dari 10,000,000',
'active_url' => ':attribute bukan URL yang valid.', 'active_url' => ':attribute bukan URL yang valid.',
'after' => ':attribute harus tanggal setelah :date.', 'after' => ':attribute harus tanggal setelah :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute harus sebuah string.', 'string' => ':attribute harus sebuah string.',
'url' => 'Format atribut tidak valid.', 'url' => 'Format atribut tidak valid.',
'timezone' => ':attribute harus zona yang valid.', 'timezone' => ':attribute harus zona yang valid.',
'2fa_code' => 'Bidang :attribute tidak valid.', '2fa_code' => 'Bidang :attribute tidak valid.',
'dimensions' => ':attribute memiliki dimensi gambar yang tidak valid.', 'dimensions' => ':attribute memiliki dimensi gambar yang tidak valid.',
'distinct' => 'Bidang :attribute memiliki nilai duplikat.', 'distinct' => 'Bidang :attribute memiliki nilai duplikat.',
'file' => ':attribute harus berupa file.', 'file' => ':attribute harus berupa file.',
'in_array' => 'Bidang :attribute tidak ada in :other.', 'in_array' => 'Bidang :attribute tidak ada in :other.',
'present' => 'Bidang :attribute harus ada.', 'present' => 'Bidang :attribute harus ada.',
'amount_zero' => 'Jumlah total tidak boleh nol.', 'amount_zero' => 'Jumlah total tidak boleh nol.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'Nama celengan harus unik.', 'unique_piggy_bank_for_user' => 'Nama celengan harus unik.',
'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password-security', 'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Tipe pengulangan yang tidak valid untuk transaksi berkala.', 'valid_recurrence_rep_type' => 'Tipe pengulangan yang tidak valid untuk transaksi berkala.',
'valid_recurrence_rep_moment' => 'Waktu pengulangan tidaklah valid untuk tipe pengulangan ini.', 'valid_recurrence_rep_moment' => 'Waktu pengulangan tidaklah valid untuk tipe pengulangan ini.',
'invalid_account_info' => 'Informasi akun tidak valid.', 'invalid_account_info' => 'Informasi akun tidak valid.',
'attributes' => [ 'attributes' => [
'email' => 'alamat email', 'email' => 'alamat email',
'description' => 'keterangan', 'description' => 'keterangan',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Una regola deve avere almeno una azione.', 'at_least_one_action' => 'Una regola deve avere almeno una azione.',
'base64' => 'Questi non sono dati codificati in base64 validi.', 'base64' => 'Questi non sono dati codificati in base64 validi.',
'model_id_invalid' => 'L\'ID fornito sembra non essere valido per questo modello.', 'model_id_invalid' => 'L\'ID fornito sembra non essere valido per questo modello.',
'more' => ':attribute deve essere maggiore di zero.', 'more' => ':attribute deve essere maggiore di ":more".',
'less' => ':attribute deve essere minore di 10.000.000', 'less' => ':attribute deve essere minore di 10.000.000',
'active_url' => ':attribute non è un URL valido.', 'active_url' => ':attribute non è un URL valido.',
'after' => ':attribute deve essere una data dopo :date.', 'after' => ':attribute deve essere una data dopo :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute deve essere una stringa.', 'string' => ':attribute deve essere una stringa.',
'url' => ':attribute il formato non è valido.', 'url' => ':attribute il formato non è valido.',
'timezone' => ':attribute deve essere una zona valida.', 'timezone' => ':attribute deve essere una zona valida.',
'2fa_code' => 'Il campo :attribute non è valido.', '2fa_code' => 'Il campo :attribute non è valido.',
'dimensions' => ':attribute ha dimensioni di immagine non valide.', 'dimensions' => ':attribute ha dimensioni di immagine non valide.',
'distinct' => ':attribute il campo ha un valore doppio.', 'distinct' => ':attribute il campo ha un valore doppio.',
'file' => ':attribute deve essere un file.', 'file' => ':attribute deve essere un file.',
'in_array' => ':attribute il campo non esiste in :other.', 'in_array' => ':attribute il campo non esiste in :other.',
'present' => ':attribute il campo deve essere presente.', 'present' => ':attribute il campo deve essere presente.',
'amount_zero' => 'L\'importo totale non può essere zero.', 'amount_zero' => 'L\'importo totale non può essere zero.',
'current_target_amount' => 'L\'importo corrente deve essere minore dell\'importo obiettivo.', 'current_target_amount' => 'L\'importo corrente deve essere minore dell\'importo obiettivo.',
'unique_piggy_bank_for_user' => 'Il nome del salvadanaio deve essere unico.', 'unique_piggy_bank_for_user' => 'Il nome del salvadanaio deve essere unico.',
'secure_password' => 'Questa non è una password sicura. Riprova. Per maggiori informazioni visita https://bit.ly/FF3-password-security', 'secure_password' => 'Questa non è una password sicura. Riprova. Per maggiori informazioni visita https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Il tipo di ripetizione della transazione ricorrente non è valido.', 'valid_recurrence_rep_type' => 'Il tipo di ripetizione della transazione ricorrente non è valido.',
'valid_recurrence_rep_moment' => 'Il momento di ripetizione per questo tipo di ripetizione non è valido.', 'valid_recurrence_rep_moment' => 'Il momento di ripetizione per questo tipo di ripetizione non è valido.',
'invalid_account_info' => 'Informazione sul conto non valida.', 'invalid_account_info' => 'Informazione sul conto non valida.',
'attributes' => [ 'attributes' => [
'email' => 'indirizzo email', 'email' => 'indirizzo email',
'description' => 'descrizione', 'description' => 'descrizione',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Non è stato possibile trovare un conto d\'origine valido effettuando la ricerca con l\'ID ":id" o il nome ":name".', 'deposit_source_bad_data' => 'Non è stato possibile trovare un conto d\'origine valido effettuando la ricerca con l\'ID ":id" o il nome ":name".',
'deposit_dest_need_data' => 'È necessario ottenere un ID e/o un nome del conto di destinazione validi per continuare.', 'deposit_dest_need_data' => 'È necessario ottenere un ID e/o un nome del conto di destinazione validi per continuare.',
'deposit_dest_bad_data' => 'Non è stato possibile trovare un conto di destinazione valido effettuando la ricerca con l\'ID ":id" o il nome ":name".', 'deposit_dest_bad_data' => 'Non è stato possibile trovare un conto di destinazione valido effettuando la ricerca con l\'ID ":id" o il nome ":name".',
'deposit_dest_wrong_type' => 'Il conto di destinazione inviato non è di tipo corretto.', 'deposit_dest_wrong_type' => 'Il conto di destinazione inviato non è di tipo corretto.',
'transfer_source_need_data' => 'È necessario ottenere un ID e/o un nome del conto di origine validi per continuare.', 'transfer_source_need_data' => 'È necessario ottenere un ID e/o un nome del conto di origine validi per continuare.',
'transfer_source_bad_data' => 'Non è stato possibile trovare un conto d\'origine valido effettuando la ricerca con l\'ID ":id" o il nome ":name".', 'transfer_source_bad_data' => 'Non è stato possibile trovare un conto d\'origine valido effettuando la ricerca con l\'ID ":id" o il nome ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'È necessario ottenere un ID e/o un nome del conto di destinazione validi per continuare.', 'ob_dest_need_data' => 'È necessario ottenere un ID e/o un nome del conto di destinazione validi per continuare.',
'ob_dest_bad_data' => 'Non è stato possibile trovare un conto di destinazione valido effettuando la ricerca con l\'ID ":id" o il nome ":name".', 'ob_dest_bad_data' => 'Non è stato possibile trovare un conto di destinazione valido effettuando la ricerca con l\'ID ":id" o il nome ":name".',
'generic_invalid_source' => 'Non puoi utilizzare questo conto come conto di origine.', 'generic_invalid_source' => 'Non puoi utilizzare questo conto come conto di origine.',
'generic_invalid_destination' => 'Non puoi utilizzare questo conto come conto di destinazione.', 'generic_invalid_destination' => 'Non puoi utilizzare questo conto come conto di destinazione.',
'gte.numeric' => 'Il campo :attribute deve essere maggiore o uguale a :value.',
'gte.file' => 'Il campo :attribute deve essere maggiore o uguale a :value kilobyte.',
'gte.string' => 'Il campo :attribute deve essere maggiore o uguale a :value caratteri.',
'gte.array' => 'Il campo :attribute deve avere :value o più elementi.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Regel må ha minst en aksjon.', 'at_least_one_action' => 'Regel må ha minst en aksjon.',
'base64' => 'Dette er ikke godkjent base64 kodet data.', 'base64' => 'Dette er ikke godkjent base64 kodet data.',
'model_id_invalid' => 'Den angitte ID er ugyldig for denne modellen.', 'model_id_invalid' => 'Den angitte ID er ugyldig for denne modellen.',
'more' => ':attribute må være større enn null.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute må være mindre enn 10,000,000', 'less' => ':attribute må være mindre enn 10,000,000',
'active_url' => ':attribute er ikke en gyldig URL.', 'active_url' => ':attribute er ikke en gyldig URL.',
'after' => ':attribute må være en dato etter :date.', 'after' => ':attribute må være en dato etter :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute må være en streng.', 'string' => ':attribute må være en streng.',
'url' => ':attribute formatet er ugyldig.', 'url' => ':attribute formatet er ugyldig.',
'timezone' => ':attribute må være en gyldig tidssone.', 'timezone' => ':attribute må være en gyldig tidssone.',
'2fa_code' => ':attribute formatet er ugyldig.', '2fa_code' => ':attribute formatet er ugyldig.',
'dimensions' => ':attribute har ugyldig bilde dimensjoner.', 'dimensions' => ':attribute har ugyldig bilde dimensjoner.',
'distinct' => ':attribute feltet har en duplikatverdi.', 'distinct' => ':attribute feltet har en duplikatverdi.',
'file' => ':attribute må være en fil.', 'file' => ':attribute må være en fil.',
'in_array' => 'Feltet :attribute finnes ikke i :other.', 'in_array' => 'Feltet :attribute finnes ikke i :other.',
'present' => ':attribute feltet må være definert.', 'present' => ':attribute feltet må være definert.',
'amount_zero' => 'Totalbeløpet kan ikke være null.', 'amount_zero' => 'Totalbeløpet kan ikke være null.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'Navnet på sparegris må være unik.', 'unique_piggy_bank_for_user' => 'Navnet på sparegris må være unik.',
'secure_password' => 'Dette er ikke et sikkert passord. Vennligst prøv igjen. For mer informasjon, se https://bit.ly/FF3-password-security', 'secure_password' => 'Dette er ikke et sikkert passord. Vennligst prøv igjen. For mer informasjon, se https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Ugyldig repetisjons type for gjentakende transaksjoner.', 'valid_recurrence_rep_type' => 'Ugyldig repetisjons type for gjentakende transaksjoner.',
'valid_recurrence_rep_moment' => 'Ugyldig repetisjons tid for denne type repetisjon.', 'valid_recurrence_rep_moment' => 'Ugyldig repetisjons tid for denne type repetisjon.',
'invalid_account_info' => 'Ugyldig konto informasjon.', 'invalid_account_info' => 'Ugyldig konto informasjon.',
'attributes' => [ 'attributes' => [
'email' => 'epostadresse', 'email' => 'epostadresse',
'description' => 'beskrivelse', 'description' => 'beskrivelse',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Kunne ikke finne en gyldig kilde-konto ved å søke etter ID ":id" eller navn ":name".', 'deposit_source_bad_data' => 'Kunne ikke finne en gyldig kilde-konto ved å søke etter ID ":id" eller navn ":name".',
'deposit_dest_need_data' => 'Trenger en gyldig destinasjons konto-ID og/eller gyldig destinasjons kontonavn for å fortsette.', 'deposit_dest_need_data' => 'Trenger en gyldig destinasjons konto-ID og/eller gyldig destinasjons kontonavn for å fortsette.',
'deposit_dest_bad_data' => 'Kunne ikke finne en gyldig destinasjons konto ved å søke etter ID ":id" eller navn ":name".', 'deposit_dest_bad_data' => 'Kunne ikke finne en gyldig destinasjons konto ved å søke etter ID ":id" eller navn ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Trenger en gyldig kilde konto-ID og/eller gyldig kilde kontonavn for å fortsette.', 'transfer_source_need_data' => 'Trenger en gyldig kilde konto-ID og/eller gyldig kilde kontonavn for å fortsette.',
'transfer_source_bad_data' => 'Finner ikke en gyldig kilde-konto ved å søke etter ID ":id" eller navn ":name".', 'transfer_source_bad_data' => 'Finner ikke en gyldig kilde-konto ved å søke etter ID ":id" eller navn ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'De regel moet minstens één actie hebben.', 'at_least_one_action' => 'De regel moet minstens één actie hebben.',
'base64' => 'Dit is geen geldige base64 gecodeerde data.', 'base64' => 'Dit is geen geldige base64 gecodeerde data.',
'model_id_invalid' => 'Dit ID past niet bij dit object.', 'model_id_invalid' => 'Dit ID past niet bij dit object.',
'more' => ':attribute moet groter zijn dan nul.', 'more' => ':attribute moet groter zijn dan ":more".',
'less' => ':attribute moet minder zijn dan 10.000.000', 'less' => ':attribute moet minder zijn dan 10.000.000',
'active_url' => ':attribute is geen geldige URL.', 'active_url' => ':attribute is geen geldige URL.',
'after' => ':attribute moet een datum na :date zijn.', 'after' => ':attribute moet een datum na :date zijn.',
@ -121,19 +121,19 @@ return [
'string' => 'Het :attribute moet een tekenreeks zijn.', 'string' => 'Het :attribute moet een tekenreeks zijn.',
'url' => ':attribute is geen geldige URL.', 'url' => ':attribute is geen geldige URL.',
'timezone' => 'Het :attribute moet een geldige zone zijn.', 'timezone' => 'Het :attribute moet een geldige zone zijn.',
'2fa_code' => 'De waarde in het :attribute-veld is niet geldig.', '2fa_code' => 'De waarde in het :attribute-veld is niet geldig.',
'dimensions' => 'Het :attribute heeft het verkeerde afbeeldingsformaat.', 'dimensions' => 'Het :attribute heeft het verkeerde afbeeldingsformaat.',
'distinct' => 'Het :attribute veld heeft een dubbele waarde.', 'distinct' => 'Het :attribute veld heeft een dubbele waarde.',
'file' => ':attribute moet een bestand zijn.', 'file' => ':attribute moet een bestand zijn.',
'in_array' => 'Het :attribute veld bestaat niet in :other.', 'in_array' => 'Het :attribute veld bestaat niet in :other.',
'present' => 'Het :attribute veld moet aanwezig zijn.', 'present' => 'Het :attribute veld moet aanwezig zijn.',
'amount_zero' => 'Het totaalbedrag kan niet nul zijn.', 'amount_zero' => 'Het totaalbedrag kan niet nul zijn.',
'current_target_amount' => 'Het huidige bedrag moet minder zijn dan het doelbedrag.', 'current_target_amount' => 'Het huidige bedrag moet minder zijn dan het doelbedrag.',
'unique_piggy_bank_for_user' => 'De naam van de spaarpot moet uniek zijn.', 'unique_piggy_bank_for_user' => 'De naam van de spaarpot moet uniek zijn.',
'secure_password' => 'Dit is geen veilig wachtwoord. Probeer het nog een keer. Zie ook: https://bit.ly/FF3-password-security', 'secure_password' => 'Dit is geen veilig wachtwoord. Probeer het nog een keer. Zie ook: https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Dit is geen geldige herhaling voor periodieke transacties.', 'valid_recurrence_rep_type' => 'Dit is geen geldige herhaling voor periodieke transacties.',
'valid_recurrence_rep_moment' => 'Ongeldig herhaalmoment voor dit type herhaling.', 'valid_recurrence_rep_moment' => 'Ongeldig herhaalmoment voor dit type herhaling.',
'invalid_account_info' => 'Ongeldige rekeninginformatie.', 'invalid_account_info' => 'Ongeldige rekeninginformatie.',
'attributes' => [ 'attributes' => [
'email' => 'e-mailadres', 'email' => 'e-mailadres',
'description' => 'omschrijving', 'description' => 'omschrijving',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Kan geen geldige bronrekening vinden bij het zoeken naar ID ":id" of naam ":name".', 'deposit_source_bad_data' => 'Kan geen geldige bronrekening vinden bij het zoeken naar ID ":id" of naam ":name".',
'deposit_dest_need_data' => 'Om door te gaan moet een geldig doelrekening ID en/of geldige doelrekeningnaam worden gevonden.', 'deposit_dest_need_data' => 'Om door te gaan moet een geldig doelrekening ID en/of geldige doelrekeningnaam worden gevonden.',
'deposit_dest_bad_data' => 'Kan geen geldige doelrekening vinden bij het zoeken naar ID ":id" of naam ":name".', 'deposit_dest_bad_data' => 'Kan geen geldige doelrekening vinden bij het zoeken naar ID ":id" of naam ":name".',
'deposit_dest_wrong_type' => 'De ingevoerde doelrekening is niet van het juiste type.', 'deposit_dest_wrong_type' => 'De ingevoerde doelrekening is niet van het juiste type.',
'transfer_source_need_data' => 'Om door te gaan moet een geldig bronaccount ID en/of geldige bronaccountnaam worden gevonden.', 'transfer_source_need_data' => 'Om door te gaan moet een geldig bronaccount ID en/of geldige bronaccountnaam worden gevonden.',
'transfer_source_bad_data' => 'Kan geen geldige bronrekening vinden bij het zoeken naar ID ":id" of naam ":name".', 'transfer_source_bad_data' => 'Kan geen geldige bronrekening vinden bij het zoeken naar ID ":id" of naam ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Om door te gaan moet een geldig doelrekening ID en/of geldige doelrekeningnaam worden gevonden.', 'ob_dest_need_data' => 'Om door te gaan moet een geldig doelrekening ID en/of geldige doelrekeningnaam worden gevonden.',
'ob_dest_bad_data' => 'Kan geen geldige doelrekening vinden bij het zoeken naar ID ":id" of naam ":name".', 'ob_dest_bad_data' => 'Kan geen geldige doelrekening vinden bij het zoeken naar ID ":id" of naam ":name".',
'generic_invalid_source' => 'Je kan deze rekening niet gebruiken als bronrekening.', 'generic_invalid_source' => 'Je kan deze rekening niet gebruiken als bronrekening.',
'generic_invalid_destination' => 'Je kan deze rekening niet gebruiken als doelrekening.', 'generic_invalid_destination' => 'Je kan deze rekening niet gebruiken als doelrekening.',
'gte.numeric' => ':attribute moet groter of gelijk zijn aan :value.',
'gte.file' => ':attribute moet groter of gelijk zijn aan :value kilobytes.',
'gte.string' => ':attribute moet :value karakters of meer bevatten.',
'gte.array' => ':attribute moet :value items of meer bevatten.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Reguła powinna mieć co najmniej jedną akcję.', 'at_least_one_action' => 'Reguła powinna mieć co najmniej jedną akcję.',
'base64' => 'To nie są prawidłowe dane zakodowane w base64.', 'base64' => 'To nie są prawidłowe dane zakodowane w base64.',
'model_id_invalid' => 'Podane ID wygląda na nieprawidłowe dla tego modelu.', 'model_id_invalid' => 'Podane ID wygląda na nieprawidłowe dla tego modelu.',
'more' => ':attribute musi być większy od zera.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute musi być mniejszy od 10 000 000', 'less' => ':attribute musi być mniejszy od 10 000 000',
'active_url' => ':attribute nie jest prawidłowym adresem URL.', 'active_url' => ':attribute nie jest prawidłowym adresem URL.',
'after' => ':attribute musi być datą późniejszą od :date.', 'after' => ':attribute musi być datą późniejszą od :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute musi być ciągiem znaków.', 'string' => ':attribute musi być ciągiem znaków.',
'url' => 'Format :attribute jest nieprawidłowy.', 'url' => 'Format :attribute jest nieprawidłowy.',
'timezone' => ':attribute musi być prawidłową strefą.', 'timezone' => ':attribute musi być prawidłową strefą.',
'2fa_code' => 'Format :attribute jest nieprawidłowy.', '2fa_code' => 'Format :attribute jest nieprawidłowy.',
'dimensions' => ':attribute ma nieprawidłowe wymiary obrazu.', 'dimensions' => ':attribute ma nieprawidłowe wymiary obrazu.',
'distinct' => 'Pole :attribute zawiera zduplikowaną wartość.', 'distinct' => 'Pole :attribute zawiera zduplikowaną wartość.',
'file' => ':attribute musi być plikiem.', 'file' => ':attribute musi być plikiem.',
'in_array' => 'Pole :attribute nie istnieje w :other.', 'in_array' => 'Pole :attribute nie istnieje w :other.',
'present' => 'Pole :attribute musi być obecne.', 'present' => 'Pole :attribute musi być obecne.',
'amount_zero' => 'Całkowita kwota nie może wynosić zero.', 'amount_zero' => 'Całkowita kwota nie może wynosić zero.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'Nazwa skarbonki musi być unikalna.', 'unique_piggy_bank_for_user' => 'Nazwa skarbonki musi być unikalna.',
'secure_password' => 'To nie jest bezpieczne hasło. Proszę spróbować ponownie. Aby uzyskać więcej informacji odwiedź https://bit.ly/FF3-password-security', 'secure_password' => 'To nie jest bezpieczne hasło. Proszę spróbować ponownie. Aby uzyskać więcej informacji odwiedź https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Nieprawidłowy typ powtórzeń dla cyklicznych transakcji.', 'valid_recurrence_rep_type' => 'Nieprawidłowy typ powtórzeń dla cyklicznych transakcji.',
'valid_recurrence_rep_moment' => 'Nieprawidłowy moment powtórzenia dla tego typu powtórzenia.', 'valid_recurrence_rep_moment' => 'Nieprawidłowy moment powtórzenia dla tego typu powtórzenia.',
'invalid_account_info' => 'Nieprawidłowe informacje o koncie.', 'invalid_account_info' => 'Nieprawidłowe informacje o koncie.',
'attributes' => [ 'attributes' => [
'email' => 'adres e-mail', 'email' => 'adres e-mail',
'description' => 'opis', 'description' => 'opis',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Nie można znaleźć poprawnego konta źródłowego podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".', 'deposit_source_bad_data' => 'Nie można znaleźć poprawnego konta źródłowego podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".',
'deposit_dest_need_data' => 'Aby kontynuować, musisz uzyskać prawidłowy identyfikator konta wydatków i/lub prawidłową nazwę konta wydatków.', 'deposit_dest_need_data' => 'Aby kontynuować, musisz uzyskać prawidłowy identyfikator konta wydatków i/lub prawidłową nazwę konta wydatków.',
'deposit_dest_bad_data' => 'Nie można znaleźć poprawnego konta wydatków podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".', 'deposit_dest_bad_data' => 'Nie można znaleźć poprawnego konta wydatków podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".',
'deposit_dest_wrong_type' => 'Konto docelowe nie jest poprawnego typu.', 'deposit_dest_wrong_type' => 'Konto docelowe nie jest poprawnego typu.',
'transfer_source_need_data' => 'Aby kontynuować, musisz uzyskać prawidłowy identyfikator konta źródłowego i/lub prawidłową nazwę konta źródłowego.', 'transfer_source_need_data' => 'Aby kontynuować, musisz uzyskać prawidłowy identyfikator konta źródłowego i/lub prawidłową nazwę konta źródłowego.',
'transfer_source_bad_data' => 'Nie można znaleźć poprawnego konta źródłowego podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".', 'transfer_source_bad_data' => 'Nie można znaleźć poprawnego konta źródłowego podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Aby kontynuować, musisz uzyskać prawidłowy identyfikator konta wydatków i/lub prawidłową nazwę konta wydatków.', 'ob_dest_need_data' => 'Aby kontynuować, musisz uzyskać prawidłowy identyfikator konta wydatków i/lub prawidłową nazwę konta wydatków.',
'ob_dest_bad_data' => 'Nie można znaleźć poprawnego konta wydatków podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".', 'ob_dest_bad_data' => 'Nie można znaleźć poprawnego konta wydatków podczas wyszukiwania identyfikatora ":id" lub nazwy ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'A regra deve ter pelo menos uma ação.', 'at_least_one_action' => 'A regra deve ter pelo menos uma ação.',
'base64' => 'Isto não é válido na codificação de dados base64.', 'base64' => 'Isto não é válido na codificação de dados base64.',
'model_id_invalid' => 'A identificação especificada parece inválida para este modelo.', 'model_id_invalid' => 'A identificação especificada parece inválida para este modelo.',
'more' => ':attribute deve ser maior do que zero.', 'more' => ':attribute deve ser maior que ":more".',
'less' => ':attribute deve ser menor do que 10.000.000', 'less' => ':attribute deve ser menor do que 10.000.000',
'active_url' => 'O campo :attribute não contém um URL válido.', 'active_url' => 'O campo :attribute não contém um URL válido.',
'after' => 'O campo :attribute deverá conter uma data posterior a :date.', 'after' => 'O campo :attribute deverá conter uma data posterior a :date.',
@ -121,19 +121,19 @@ return [
'string' => 'O campo :attribute deve ser uma string.', 'string' => 'O campo :attribute deve ser uma string.',
'url' => 'O formato do URL indicado para o campo :attribute é inválido.', 'url' => 'O formato do URL indicado para o campo :attribute é inválido.',
'timezone' => 'O campo :attribute deverá ter um fuso horário válido.', 'timezone' => 'O campo :attribute deverá ter um fuso horário válido.',
'2fa_code' => 'O campo :attribute é inválido.', '2fa_code' => 'O campo :attribute é inválido.',
'dimensions' => 'O campo :attribute tem dimensões de imagem inválido.', 'dimensions' => 'O campo :attribute tem dimensões de imagem inválido.',
'distinct' => 'O campo :attribute tem um valor duplicado.', 'distinct' => 'O campo :attribute tem um valor duplicado.',
'file' => 'O :attribute deve ser um arquivo.', 'file' => 'O :attribute deve ser um arquivo.',
'in_array' => 'O campo :attribute não existe em :other.', 'in_array' => 'O campo :attribute não existe em :other.',
'present' => 'O campo :attribute deve estar presente.', 'present' => 'O campo :attribute deve estar presente.',
'amount_zero' => 'O montante total não pode ser zero.', 'amount_zero' => 'O montante total não pode ser zero.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'O nome do cofrinho deve ser único.', 'unique_piggy_bank_for_user' => 'O nome do cofrinho deve ser único.',
'secure_password' => 'Esta não é uma senha segura. Por favor, tente novamente. Para mais informações, visite https://bit.ly/FF3-password-security', 'secure_password' => 'Esta não é uma senha segura. Por favor, tente novamente. Para mais informações, visite https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Tipo de repetição inválido para transações recorrentes.', 'valid_recurrence_rep_type' => 'Tipo de repetição inválido para transações recorrentes.',
'valid_recurrence_rep_moment' => 'Momento de repetição inválido para esse tipo de repetição.', 'valid_recurrence_rep_moment' => 'Momento de repetição inválido para esse tipo de repetição.',
'invalid_account_info' => 'Informação de conta inválida.', 'invalid_account_info' => 'Informação de conta inválida.',
'attributes' => [ 'attributes' => [
'email' => 'endereço de e-mail', 'email' => 'endereço de e-mail',
'description' => 'descrição', 'description' => 'descrição',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".', 'deposit_source_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".',
'deposit_dest_need_data' => 'É necessário obter obter um ID de conta de destino válido e/ou nome de conta de destino válido para continuar.', 'deposit_dest_need_data' => 'É necessário obter obter um ID de conta de destino válido e/ou nome de conta de destino válido para continuar.',
'deposit_dest_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".', 'deposit_dest_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'É necessário obter um ID de uma conta de origem válida e/ou um nome de conta de origem válido para continuar.', 'transfer_source_need_data' => 'É necessário obter um ID de uma conta de origem válida e/ou um nome de conta de origem válido para continuar.',
'transfer_source_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".', 'transfer_source_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'É necessário obter um ID de uma conta de origem válida e/ou um nome de conta de origem válido para continuar.', 'ob_dest_need_data' => 'É necessário obter um ID de uma conta de origem válida e/ou um nome de conta de origem válido para continuar.',
'ob_dest_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".', 'ob_dest_bad_data' => 'Não foi possível encontrar uma conta de destino válida ao pesquisar por ID ":id" ou nome ":name".',
'generic_invalid_source' => 'Você não pode usar esta conta como conta de origem.', 'generic_invalid_source' => 'Você não pode usar esta conta como conta de origem.',
'generic_invalid_destination' => 'Você não pode usar esta conta como conta de destino.', 'generic_invalid_destination' => 'Você não pode usar esta conta como conta de destino.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -32,8 +32,8 @@ return [
'clone' => 'Clonă', 'clone' => 'Clonă',
'last_seven_days' => 'Ultimele 7 zile', 'last_seven_days' => 'Ultimele 7 zile',
'last_thirty_days' => 'Ultimele 30 de zile', 'last_thirty_days' => 'Ultimele 30 de zile',
'welcomeBack' => 'What\'s playing?', 'welcomeBack' => 'Ce se redă?',
'welcome_back' => 'What\'s playing?', 'welcome_back' => 'Ce se redă?',
'everything' => 'Tot', 'everything' => 'Tot',
'today' => 'Azi', 'today' => 'Azi',
'customRange' => 'Intervalul personalizat', 'customRange' => 'Intervalul personalizat',
@ -55,10 +55,10 @@ return [
'new_withdrawal' => 'Tranzacție nouă', 'new_withdrawal' => 'Tranzacție nouă',
'create_new_transaction' => 'Creați o nouă tranzacție', 'create_new_transaction' => 'Creați o nouă tranzacție',
'new_transaction' => 'Tranzacţie nouă', 'new_transaction' => 'Tranzacţie nouă',
'no_rules_for_bill' => 'This bill has no rules associated to it.', 'no_rules_for_bill' => 'Acestă factură nu are asociate reguli.',
'go_to_asset_accounts' => 'Vizualizați conturile de active', 'go_to_asset_accounts' => 'Vizualizați conturile de active',
'go_to_budgets' => 'Mergi la bugete', 'go_to_budgets' => 'Mergi la bugete',
'clone_instructions' => 'To clone a transaction, search for the "store as new" checkbox in the edit screen', 'clone_instructions' => 'Pentru a clona o tranzacție, căutați caseta de selectare „Stocare ca nou” în ecranul de editare',
'go_to_categories' => 'Mergi la categorii', 'go_to_categories' => 'Mergi la categorii',
'go_to_bills' => 'Mergi la facturi', 'go_to_bills' => 'Mergi la facturi',
'go_to_expense_accounts' => 'Vezi cheltuielile contabile', 'go_to_expense_accounts' => 'Vezi cheltuielile contabile',
@ -93,13 +93,13 @@ return [
'two_factor_forgot_title' => 'S-a pierdut autentificarea cu doi factori', 'two_factor_forgot_title' => 'S-a pierdut autentificarea cu doi factori',
'two_factor_forgot' => 'Am uitat autentificarea cu doi factori.', 'two_factor_forgot' => 'Am uitat autentificarea cu doi factori.',
'two_factor_lost_header' => 'Ai uitat autentificarea cu doi factori?', 'two_factor_lost_header' => 'Ai uitat autentificarea cu doi factori?',
'two_factor_lost_intro' => 'If you lost your backup codes as well, you have bad luck. This is not something you can fix from the web interface. You have two choices.', 'two_factor_lost_intro' => 'Dacă ați pierdut și codurile de rezervă, aveți ghinion. Nu este un lucru pe care îl puteți remedia din interfața web. Aveți două opțiuni.',
'two_factor_lost_fix_self' => 'If you run your own instance of Firefly III, check the logs in <code>storage/logs</code> for instructions, or run <code>docker logs &lt;container_id&gt;</code> to see the instructions (refresh this page).', 'two_factor_lost_fix_self' => 'Dacă rulați propria instanță a Firefly III, verificați log-urile în <code>storage/logs</code> pentru instrucțiuni sau rulați <code>docker logs &lt;container_id&gt;</code> pentru a vedea instrucțiunile (actualizați această pagină).',
'two_factor_lost_fix_owner' => 'În caz contrar, trimiteți prin e-mail proprietarului site-ului <a href="mailto::site_owner">: proprietarul site-ului </a> și solicitați-i să reseteze autentificarea cu doi factori.', 'two_factor_lost_fix_owner' => 'În caz contrar, trimiteți prin e-mail proprietarului site-ului <a href="mailto::site_owner">: proprietarul site-ului </a> și solicitați-i să reseteze autentificarea cu doi factori.',
'mfa_backup_code' => 'You have used a backup code to login to Firefly III. It can\'t be used again, so cross it from your list.', 'mfa_backup_code' => 'You have used a backup code to login to Firefly III. It can\'t be used again, so cross it from your list.',
'pref_two_factor_new_backup_codes' => 'Get new backup codes', 'pref_two_factor_new_backup_codes' => 'Obțineți noi coduri de rezervă',
'pref_two_factor_backup_code_count' => 'You have :count valid backup code(s).', 'pref_two_factor_backup_code_count' => 'Aveți :count codurile de backup valabile.',
'2fa_i_have_them' => 'I stored them!', '2fa_i_have_them' => 'Le-am depozitat!',
'warning_much_data' => ':days zilele de date pot dura o perioadă până încărcare.', 'warning_much_data' => ':days zilele de date pot dura o perioadă până încărcare.',
'registered' => 'Te-ai inregistrat cu succes!', 'registered' => 'Te-ai inregistrat cu succes!',
'Default asset account' => 'Ccont de active implicit', 'Default asset account' => 'Ccont de active implicit',
@ -111,7 +111,7 @@ return [
'user_id_is' => 'ID-ul dvs. de utilizator este <strong>:user</strong>', 'user_id_is' => 'ID-ul dvs. de utilizator este <strong>:user</strong>',
'field_supports_markdown' => 'Acest câmp acceptă <a href="https://en.support.wordpress.com/markdown-quick-reference/">Markdown HTML</a>.', 'field_supports_markdown' => 'Acest câmp acceptă <a href="https://en.support.wordpress.com/markdown-quick-reference/">Markdown HTML</a>.',
'need_more_help' => 'Dacă aveți nevoie de ajutor suplimentar, deschideți <a href="https://github.com/firefly-iii/firefly-iii/issues">un tichet pe Github</a>.', 'need_more_help' => 'Dacă aveți nevoie de ajutor suplimentar, deschideți <a href="https://github.com/firefly-iii/firefly-iii/issues">un tichet pe Github</a>.',
'reenable_intro_text' => 'You can also re-enable <a href="#" id="reenableGuidance">the introduction guidance</a>.', 'reenable_intro_text' => 'De asemenea, puteți să activați din nou <a href="#" id="reenableGuidance"> ghidul de introducere </a>.',
'intro_boxes_after_refresh' => 'Cutiile de introducere vor apărea din nou atunci când actualizați pagina.', 'intro_boxes_after_refresh' => 'Cutiile de introducere vor apărea din nou atunci când actualizați pagina.',
'show_all_no_filter' => 'Afișați toate tranzacțiile fără a le grupa după dată.', 'show_all_no_filter' => 'Afișați toate tranzacțiile fără a le grupa după dată.',
'expenses_by_category' => 'Cheltuieli pe categorii', 'expenses_by_category' => 'Cheltuieli pe categorii',
@ -124,21 +124,21 @@ return [
'sum_of_income' => 'Suma veniturilor', 'sum_of_income' => 'Suma veniturilor',
'liabilities' => 'Provizioane', 'liabilities' => 'Provizioane',
'spent_in_specific_budget' => 'Cheltuit în bugetul ":budget"', 'spent_in_specific_budget' => 'Cheltuit în bugetul ":budget"',
'spent_in_specific_double' => 'Spent in account(s) ":account"', 'spent_in_specific_double' => 'Cheltuit în cont (uri) ":account"',
'earned_in_specific_double' => 'Earned in account(s) ":account"', 'earned_in_specific_double' => 'Câștigat în cont (uri) ":account"',
'source_account' => 'Contul sursă', 'source_account' => 'Contul sursă',
'source_account_reconciliation' => 'You can\'t edit the source account of a reconciliation transaction.', 'source_account_reconciliation' => 'Nu puteți edita contul sursă al unei tranzacții de reconciliere.',
'destination_account' => 'Contul de destinație', 'destination_account' => 'Contul de destinație',
'destination_account_reconciliation' => 'You can\'t edit the destination account of a reconciliation transaction.', 'destination_account_reconciliation' => 'Nu puteți edita contul de destinație al unei tranzacții de reconciliere.',
'sum_of_expenses_in_budget' => 'Cheltuielile totale în bugetul ":budget"', 'sum_of_expenses_in_budget' => 'Cheltuielile totale în bugetul ":budget"',
'left_in_budget_limit' => 'Rest de chetuit ăn funcție de buget', 'left_in_budget_limit' => 'Rest de chetuit ăn funcție de buget',
'current_period' => 'Perioada curentă', 'current_period' => 'Perioada curentă',
'show_the_current_period_and_overview' => 'Afișați perioada curentă și prezentarea generală', 'show_the_current_period_and_overview' => 'Afișați perioada curentă și prezentarea generală',
'pref_languages_locale' => 'Pentru ca o altă limbă decât limba engleză să funcționeze corect, sistemul dvs. de operare trebuie să fie dotat cu informațiile de localizare corecte. Dacă acestea nu sunt prezente, datele valutare, datele și sumele pot fi formatate greșit.', 'pref_languages_locale' => 'Pentru ca o altă limbă decât limba engleză să funcționeze corect, sistemul dvs. de operare trebuie să fie dotat cu informațiile de localizare corecte. Dacă acestea nu sunt prezente, datele valutare, datele și sumele pot fi formatate greșit.',
'budget_in_period' => 'All transactions for budget ":name" between :start and :end in :currency', 'budget_in_period' => 'Toate tranzacțiile pentru bugetul ":name" între :start și :end în :currency',
'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end in :currency', 'chart_budget_in_period' => 'Graficul cu toate tranzacțiile pentru bugetul ":name" între :start și :end în :currency',
'chart_budget_in_period_only_currency' => 'The amount you budgeted was in :currency, so this chart will only show transactions in :currency.', 'chart_budget_in_period_only_currency' => 'Suma bugetată a fost în :currency, astfel încât acest grafic va afișa numai tranzacții în :currency.',
'chart_account_in_period' => 'Chart for all transactions for account ":name" (:balance) between :start and :end', 'chart_account_in_period' => 'Graficul cu toate tranzacțiile pentru contul ":name" (:balance) între :start și :end',
'chart_category_in_period' => 'Graficul cu toate tranzacțiile pentru categoria ":name" între :start și :end', 'chart_category_in_period' => 'Graficul cu toate tranzacțiile pentru categoria ":name" între :start și :end',
'chart_category_all' => 'Graficul cu toate tranzacțiile pentru categoria ":name"', 'chart_category_all' => 'Graficul cu toate tranzacțiile pentru categoria ":name"',
'clone_withdrawal' => 'Clonați această retragere', 'clone_withdrawal' => 'Clonați această retragere',
@ -201,7 +201,7 @@ return [
'button_register' => 'Înregistrare', 'button_register' => 'Înregistrare',
'authorization' => 'Autorizare', 'authorization' => 'Autorizare',
'active_bills_only' => 'numai facturi active', 'active_bills_only' => 'numai facturi active',
'active_exp_bills_only' => 'active and expected bills only', 'active_exp_bills_only' => 'numai facturi active și așteptate',
'average_per_bill' => 'media pe factură', 'average_per_bill' => 'media pe factură',
'expected_total' => 'total așteptat', 'expected_total' => 'total așteptat',
// API access // API access
@ -210,7 +210,7 @@ return [
'scopes_will_be_able' => 'Această aplicație va fi capabilă să to:', 'scopes_will_be_able' => 'Această aplicație va fi capabilă să to:',
'button_authorize' => 'Autorizează', 'button_authorize' => 'Autorizează',
'none_in_select_list' => '(nici unul)', 'none_in_select_list' => '(nici unul)',
'no_piggy_bank' => '(no piggy bank)', 'no_piggy_bank' => '(nicio pușculiță)',
'name_in_currency' => ':name în :currency', 'name_in_currency' => ':name în :currency',
'paid_in_currency' => 'Plătit în :currency', 'paid_in_currency' => 'Plătit în :currency',
'unpaid_in_currency' => 'Neplătit în :currency', 'unpaid_in_currency' => 'Neplătit în :currency',
@ -226,17 +226,17 @@ return [
'admin_update_check_now_title' => 'Verificați actualizările acum', 'admin_update_check_now_title' => 'Verificați actualizările acum',
'admin_update_check_now_explain' => 'Dacă apăsați butonul, Firefly III va vedea dacă versiunea curentă este cea mai recentă.', 'admin_update_check_now_explain' => 'Dacă apăsați butonul, Firefly III va vedea dacă versiunea curentă este cea mai recentă.',
'check_for_updates_button' => 'Verifică acum!', 'check_for_updates_button' => 'Verifică acum!',
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.', 'update_new_version_alert' => 'O nouă versiune de Firefly III este disponibilă. Dvs. aveți :your_version, ultima versiune este :new_version lansată în data de :date.',
'update_version_beta' => 'This version is a BETA version. You may run into issues.', 'update_version_beta' => 'Această versiune este o versiune BETA. Este posibil să aveți probleme.',
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.', 'update_version_alpha' => 'Această versiune este o versiune ALFA. Este posibil să aveți probleme.',
'update_current_version_alert' => 'You are running :version, which is the latest available release.', 'update_current_version_alert' => 'Aveți versiunea :version, care este ultima disponibilă.',
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.', 'update_newer_version_alert' => 'Aveți versiunea :your_version, care este mai nouă decât cea mai recentă versiune, :new_version.',
'update_check_error' => 'A apărut o eroare la verificarea actualizărilor. Consultați log-urile.', 'update_check_error' => 'A apărut o eroare la verificarea actualizărilor. Consultați log-urile.',
'admin_update_channel_title' => 'Update channel', 'admin_update_channel_title' => 'Actualizare canal',
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.', 'admin_update_channel_explain' => 'Firefly III are trei "canale" de actualizare, care determină cât de avansați sunteți în termeni de caracteristici, îmbunătățiri și bug-uri. Folosiți canalul „beta” dacă sunteți aventuroși și „alfa” atunci când vă place să trăiți periculos viața.',
'update_channel_stable' => 'Stable. Everything should work as expected.', 'update_channel_stable' => 'Stabil. Totul ar trebui să funcționeze așa cum este de așteptat.',
'update_channel_beta' => 'Beta. New features but things may be broken.', 'update_channel_beta' => 'Beta. Caracteristici noi, dar lucrurile pot fi stricate.',
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.', 'update_channel_alpha' => 'Alfa. Aruncăm chestii și folosiți orice.',
// search // search
'search' => 'Caută', 'search' => 'Caută',
@ -250,9 +250,9 @@ return [
'search_modifier_amount_less' => 'Suma este mai mică decât :value', 'search_modifier_amount_less' => 'Suma este mai mică decât :value',
'search_modifier_amount_more' => 'Suma este mai mare decât :value', 'search_modifier_amount_more' => 'Suma este mai mare decât :value',
'search_modifier_source' => 'Contul sursă este :value', 'search_modifier_source' => 'Contul sursă este :value',
'search_modifier_from' => 'Source account is :value', 'search_modifier_from' => 'Contul sursă este :value',
'search_modifier_destination' => 'Contul destinației este :value', 'search_modifier_destination' => 'Contul destinației este :value',
'search_modifier_to' => 'Destination account is :value', 'search_modifier_to' => 'Contul destinației este :value',
'search_modifier_tag' => 'Eticheta este ":value"', 'search_modifier_tag' => 'Eticheta este ":value"',
'search_modifier_category' => 'Categoria este ":value"', 'search_modifier_category' => 'Categoria este ":value"',
'search_modifier_budget' => 'Bugetul este ":value"', 'search_modifier_budget' => 'Bugetul este ":value"',
@ -264,10 +264,10 @@ return [
'search_modifier_on' => 'Data tranzacţiei este :value', 'search_modifier_on' => 'Data tranzacţiei este :value',
'search_modifier_before' => 'Data tranzacţiei este înainte de :value', 'search_modifier_before' => 'Data tranzacţiei este înainte de :value',
'search_modifier_after' => 'Data tranzacţiei este după :value', 'search_modifier_after' => 'Data tranzacţiei este după :value',
'search_modifier_created_on' => 'Transaction was created on :value', 'search_modifier_created_on' => 'Tranzacția a fost creată în :value',
'search_modifier_updated_on' => 'Transaction was last updated on :value', 'search_modifier_updated_on' => 'Tranzacția a actualizată în :value',
'modifiers_applies_are' => 'Următorii modificatorii sunt aplicați la căutare:', 'modifiers_applies_are' => 'Următorii modificatorii sunt aplicați la căutare:',
'general_search_error' => 'An error occurred while searching. Please check the log files for more information.', 'general_search_error' => 'A apărut o eroare în timpul căutării. Verificați log-urile pentru mai multe informații.',
'search_box' => 'Caută', 'search_box' => 'Caută',
'search_box_intro' => 'Bun venit la funcția de căutare. Introduceți interogarea dvs. în căsuță. Asigurați-vă că verificați fișierul de ajutor deoarece căutarea este destul de avansată.', 'search_box_intro' => 'Bun venit la funcția de căutare. Introduceți interogarea dvs. în căsuță. Asigurați-vă că verificați fișierul de ajutor deoarece căutarea este destul de avansată.',
'search_error' => 'Eroare la căutare', 'search_error' => 'Eroare la căutare',
@ -353,41 +353,41 @@ return [
// actions and triggers // actions and triggers
'rule_trigger_user_action' => 'Acțiunea utilizatorului este ":trigger_value"', 'rule_trigger_user_action' => 'Acțiunea utilizatorului este ":trigger_value"',
'rule_trigger_from_account_starts_choice' => 'Source account name starts with..', 'rule_trigger_from_account_starts_choice' => 'Contul sursă începe cu..',
'rule_trigger_from_account_starts' => 'Source account name starts with ":trigger_value"', 'rule_trigger_from_account_starts' => 'Contul sursă începe cu ":trigger_value"',
'rule_trigger_from_account_ends_choice' => 'Source account name ends with..', 'rule_trigger_from_account_ends_choice' => 'Contul sursă se termină cu..',
'rule_trigger_from_account_ends' => 'Source account name ends with ":trigger_value"', 'rule_trigger_from_account_ends' => 'Contul sursă se termină cu ":trigger_value"',
'rule_trigger_from_account_is_choice' => 'Source account name is..', 'rule_trigger_from_account_is_choice' => 'Contul sursă este..',
'rule_trigger_from_account_is' => 'Source account name is ":trigger_value"', 'rule_trigger_from_account_is' => 'Contul sursă este ":trigger_value"',
'rule_trigger_from_account_contains_choice' => 'Source account name contains..', 'rule_trigger_from_account_contains_choice' => 'Contul sursă conține..',
'rule_trigger_from_account_contains' => 'Source account name contains ":trigger_value"', 'rule_trigger_from_account_contains' => 'Contul sursă conține ":trigger_value"',
'rule_trigger_from_account_nr_starts_choice' => 'Source account number / IBAN starts with..', 'rule_trigger_from_account_nr_starts_choice' => 'Numărul contulului sursă / IBAN începe cu..',
'rule_trigger_from_account_nr_starts' => 'Source account number / IBAN starts with ":trigger_value"', 'rule_trigger_from_account_nr_starts' => 'Numărul contulului sursă / IBAN începe cu ":trigger_value"',
'rule_trigger_from_account_nr_ends_choice' => 'Source account number / IBAN ends with..', 'rule_trigger_from_account_nr_ends_choice' => 'Numărul contulului sursă / IBAN se termină cu..',
'rule_trigger_from_account_nr_ends' => 'Source account number / IBAN ends with ":trigger_value"', 'rule_trigger_from_account_nr_ends' => 'Numărul contulului sursă / IBAN se termină cu ":trigger_value"',
'rule_trigger_from_account_nr_is_choice' => 'Source account number / IBAN is..', 'rule_trigger_from_account_nr_is_choice' => 'Numărul contulului sursă / IBAN este..',
'rule_trigger_from_account_nr_is' => 'Source account number / IBAN is ":trigger_value"', 'rule_trigger_from_account_nr_is' => 'Numărul contulului sursă / IBAN este ":trigger_value"',
'rule_trigger_from_account_nr_contains_choice' => 'Source account number / IBAN contains..', 'rule_trigger_from_account_nr_contains_choice' => 'Numărul contulului sursă / IBAN conține..',
'rule_trigger_from_account_nr_contains' => 'Source account number / IBAN contains ":trigger_value"', 'rule_trigger_from_account_nr_contains' => 'Numărul contulului sursă / IBAN conține ":trigger_value"',
'rule_trigger_to_account_starts_choice' => 'Destination account name starts with..', 'rule_trigger_to_account_starts_choice' => 'Contul destinației începe cu..',
'rule_trigger_to_account_starts' => 'Destination account name starts with ":trigger_value"', 'rule_trigger_to_account_starts' => 'Contul destinației începe cu ":trigger_value"',
'rule_trigger_to_account_ends_choice' => 'Destination account name ends with..', 'rule_trigger_to_account_ends_choice' => 'Contul destinației se termină cu..',
'rule_trigger_to_account_ends' => 'Destination account name ends with ":trigger_value"', 'rule_trigger_to_account_ends' => 'Contul destinației se termină cu ":trigger_value"',
'rule_trigger_to_account_is_choice' => 'Destination account name is..', 'rule_trigger_to_account_is_choice' => 'Contul destinației este..',
'rule_trigger_to_account_is' => 'Destination account name is ":trigger_value"', 'rule_trigger_to_account_is' => 'Contul destinației este ":trigger_value"',
'rule_trigger_to_account_contains_choice' => 'Destination account name contains..', 'rule_trigger_to_account_contains_choice' => 'Contul destinației conține..',
'rule_trigger_to_account_contains' => 'Destination account name contains ":trigger_value"', 'rule_trigger_to_account_contains' => 'Contul destinației conține ":trigger_value"',
'rule_trigger_to_account_nr_starts_choice' => 'Destination account number / IBAN starts with..', 'rule_trigger_to_account_nr_starts_choice' => 'Numărul contulului de destinație/ IBAN începe cu..',
'rule_trigger_to_account_nr_starts' => 'Destination account number / IBAN starts with ":trigger_value"', 'rule_trigger_to_account_nr_starts' => 'Numărul contulului de destinație / IBAN începe cu ":trigger_value"',
'rule_trigger_to_account_nr_ends_choice' => 'Destination account number / IBAN ends with..', 'rule_trigger_to_account_nr_ends_choice' => 'Numărul contulului de destinație/ IBAN se termină cu..',
'rule_trigger_to_account_nr_ends' => 'Destination account number / IBAN ends with ":trigger_value"', 'rule_trigger_to_account_nr_ends' => 'Numărul contulului de destinație / IBAN se termină cu ":trigger_value"',
'rule_trigger_to_account_nr_is_choice' => 'Destination account number / IBAN is..', 'rule_trigger_to_account_nr_is_choice' => 'Numărul contulului de destinație/ IBAN este..',
'rule_trigger_to_account_nr_is' => 'Destination account number / IBAN is ":trigger_value"', 'rule_trigger_to_account_nr_is' => 'Numărul contulului de destinație / IBAN este ":trigger_value"',
'rule_trigger_to_account_nr_contains_choice' => 'Destination account number / IBAN contains..', 'rule_trigger_to_account_nr_contains_choice' => 'Numărul contulului de destinație/ IBAN conține..',
'rule_trigger_to_account_nr_contains' => 'Destination account number / IBAN contains ":trigger_value"', 'rule_trigger_to_account_nr_contains' => 'Numărul contulului de destinație / IBAN conține ":trigger_value"',
'rule_trigger_transaction_type_choice' => 'Tranzacția este de tip..', 'rule_trigger_transaction_type_choice' => 'Tranzacția este de tip..',
'rule_trigger_transaction_type' => 'Tranzacția este de tip ":trigger_value"', 'rule_trigger_transaction_type' => 'Tranzacția este de tip ":trigger_value"',
@ -503,11 +503,11 @@ return [
'result' => 'Rezultat', 'result' => 'Rezultat',
'sums_apply_to_range' => 'Toate sumele se aplică gamei selectate', 'sums_apply_to_range' => 'Toate sumele se aplică gamei selectate',
'mapbox_api_key' => 'Pentru a utiliza harta, obțineți o cheie API din <a href="https://www.mapbox.com/"> Mapbox </a>. Deschideți fișierul <code> .env </ code> și introduceți acest cod după <code> MAPBOX_API_KEY = </ code>.', 'mapbox_api_key' => 'Pentru a utiliza harta, obțineți o cheie API din <a href="https://www.mapbox.com/"> Mapbox </a>. Deschideți fișierul <code> .env </ code> și introduceți acest cod după <code> MAPBOX_API_KEY = </ code>.',
'press_object_location' => 'Right click or long press to set the object\'s location.', 'press_object_location' => 'Faceți clic dreapta sau apăsați lung pentru a seta locația obiectului.',
'clear_location' => 'Ștergeți locația', 'clear_location' => 'Ștergeți locația',
'delete_all_selected_tags' => 'Delete all selected tags', 'delete_all_selected_tags' => 'Şterge toate etichetele selectate',
'select_tags_to_delete' => 'Don\'t forget to select some tags.', 'select_tags_to_delete' => 'Nu uitați să selectați unele etichete.',
'deleted_x_tags' => 'Deleted :count tag(s).', 'deleted_x_tags' => ':count etichete șterse.',
// preferences // preferences
'pref_home_screen_accounts' => 'Ecranul de start al conturilor', 'pref_home_screen_accounts' => 'Ecranul de start al conturilor',
@ -535,10 +535,10 @@ return [
'pref_two_factor_auth_code_help' => 'Scanați codul QR cu o aplicație de pe telefon, cum ar fi Authy sau Google Authenticator și introduceți codul generat.', 'pref_two_factor_auth_code_help' => 'Scanați codul QR cu o aplicație de pe telefon, cum ar fi Authy sau Google Authenticator și introduceți codul generat.',
'pref_two_factor_auth_reset_code' => 'Resetați codul de verificare', 'pref_two_factor_auth_reset_code' => 'Resetați codul de verificare',
'pref_two_factor_auth_disable_2fa' => 'Dezactivați autentificarea cu doi factori', 'pref_two_factor_auth_disable_2fa' => 'Dezactivați autentificarea cu doi factori',
'2fa_use_secret_instead' => 'If you cannot scan the QR code, feel free to use the secret instead: <code>:secret</code>.', '2fa_use_secret_instead' => 'Dacă nu puteți scana codul QR, nu ezitați să utilizați codul secret: <code>:secret</code>.',
'2fa_backup_codes' => 'Store these backup codes for access in case you lose your device.', '2fa_backup_codes' => 'Stocați aceste coduri de rezervă pentru acces în cazul în care pierdeți dispozitivul.',
'2fa_already_enabled' => 'Verificarea în 2 pași este deja activată.', '2fa_already_enabled' => 'Verificarea în 2 pași este deja activată.',
'wrong_mfa_code' => 'This MFA code is not valid.', 'wrong_mfa_code' => 'Codul MFA nu este valid.',
'pref_save_settings' => 'Salvează setările', 'pref_save_settings' => 'Salvează setările',
'saved_preferences' => 'Preferințele sunt salvate!', 'saved_preferences' => 'Preferințele sunt salvate!',
'preferences_general' => 'Generale', 'preferences_general' => 'Generale',
@ -573,13 +573,13 @@ return [
'optional_field_meta_data' => 'Meta date opționale', 'optional_field_meta_data' => 'Meta date opționale',
// profile: // profile:
'permanent_delete_stuff' => 'Be careful with these buttons. Deleting stuff is permanent.', 'permanent_delete_stuff' => 'Fii atent cu aceste butoane. Ștergerea lucrurilor este permanentă.',
'delete_all_budgets' => 'Delete ALL your budgets', 'delete_all_budgets' => 'Șterge toate bugetele',
'delete_all_categories' => 'Delete ALL your categories', 'delete_all_categories' => 'Șterge toate categoriile',
'delete_all_tags' => 'Delete ALL your tags', 'delete_all_tags' => 'Șterge toate tag-urile',
'deleted_all_budgets' => 'All budgets have been deleted', 'deleted_all_budgets' => 'Toate bugetele au fost şterse',
'deleted_all_categories' => 'All categories have been deleted', 'deleted_all_categories' => 'Toate categoriile au fost şterse',
'deleted_all_tags' => 'All tags have been deleted', 'deleted_all_tags' => 'Toate tag-urile au fost şterse',
'change_your_password' => 'Schimbați-vă parola', 'change_your_password' => 'Schimbați-vă parola',
'delete_account' => 'Șterge account', 'delete_account' => 'Șterge account',
'current_password' => 'Parola actuală', 'current_password' => 'Parola actuală',
@ -617,14 +617,14 @@ return [
'delete_local_info_only' => 'Pentru că vă autentificați prin ":login_provider", acest lucru va șterge numai informațiile locale despre Firefly III.', 'delete_local_info_only' => 'Pentru că vă autentificați prin ":login_provider", acest lucru va șterge numai informațiile locale despre Firefly III.',
// export data: // export data:
'import_and_export_menu' => 'Import and export', 'import_and_export_menu' => 'Import și export',
'export_data_title' => 'Export data from Firefly III', 'export_data_title' => 'Exportă date din Firefly III',
'export_data_menu' => 'Export data', 'export_data_menu' => 'Exportă datele',
'export_data_bc' => 'Export data from Firefly III', 'export_data_bc' => 'Exportă date din Firefly III',
'export_data_main_title' => 'Export data from Firefly III', 'export_data_main_title' => 'Exportă date din Firefly III',
'export_data_expl' => 'This link allows you to export all transactions + meta data from Firefly III. Please refer to the help (top right (?)-icon) for more information about the process.', 'export_data_expl' => 'Acest link vă permite să exportați toate tranzacțiile + datele meta de la Firefly III. Vă rugăm să consultați ajutorul (pictograma din dreapta sus (?)) pentru mai multe informații despre proces.',
'export_data_all_transactions' => 'Export all transactions', 'export_data_all_transactions' => 'Exportă toate tranzacțiile',
'export_data_advanced_expl' => 'If you need a more advanced or specific type of export, read the help on how to use the console command <code>php artisan help firefly-iii:export-data</code>.', 'export_data_advanced_expl' => 'Dacă aveți nevoie de un tip de export mai avansat sau specific, citiți despre modul de utilizare a comenzii în consolă <code>php artisan help firefly-iii:export-data</code>.',
// attachments // attachments
'nr_of_attachments' => 'Un atașament|:count atașamente', 'nr_of_attachments' => 'Un atașament|:count atașamente',
@ -633,7 +633,7 @@ return [
'update_attachment' => 'Actualizați atașament', 'update_attachment' => 'Actualizați atașament',
'delete_attachment' => 'Șterge atașament ":name"', 'delete_attachment' => 'Șterge atașament ":name"',
'attachment_deleted' => 'Atașament ":name" șters', 'attachment_deleted' => 'Atașament ":name" șters',
'liabilities_deleted' => 'Deleted liability ":name"', 'liabilities_deleted' => 'Provizionul ":name" a fost șters',
'attachment_updated' => 'Atașament ":name" actualizat', 'attachment_updated' => 'Atașament ":name" actualizat',
'upload_max_file_size' => 'Dimensiunea maximă a fișierului: :size', 'upload_max_file_size' => 'Dimensiunea maximă a fișierului: :size',
'list_all_attachments' => 'Lista tuturor atașamentelor', 'list_all_attachments' => 'Lista tuturor atașamentelor',
@ -669,12 +669,12 @@ return [
'convert_please_set_asset_destination' => 'Alegeți un cont de active unde vor merge banii.', 'convert_please_set_asset_destination' => 'Alegeți un cont de active unde vor merge banii.',
'convert_please_set_expense_destination' => 'Alegeți un cont de cheltuieli unde vor merge banii.', 'convert_please_set_expense_destination' => 'Alegeți un cont de cheltuieli unde vor merge banii.',
'convert_please_set_asset_source' => 'Alegeți un cont de active unde vor veni banii.', 'convert_please_set_asset_source' => 'Alegeți un cont de active unde vor veni banii.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.', 'convert_expl_w_d' => 'Când se transformă dintr-o retragere într-un depozit, banii vor fi depuși în conturile de destinație afișate, în loc să fie retrase din ele. Pentru a finaliza conversia, setați mai jos noul cont sursă.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).', 'convert_expl_w_t' => 'La transformarea unei retrageri într-un transfer, banii vor fi transferați din conturile sursă în alte conturi de activ sau de pasiv în loc să fie cheltuiți în conturile de cheltuieli originale. Pentru a finaliza conversia, selectați conturi de destinație noi.',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.', 'convert_expl_d_w' => 'La transformarea unui depozit într-o retragere, banii vor fi retrași din contul (conturile) sursă afișat (e), în loc să fie depuse în ele. Pentru a finaliza conversia, selectați noi conturi de destinație.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.', 'convert_expl_d_t' => 'Când convertiți un depozit într-un transfer, banii vor fi depuși în conturile de destinație enumerate de pe oricare dintre conturile dvs. de activ sau de răspundere. Selectați noul cont sursă pentru a finaliza conversia.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.', 'convert_expl_t_w' => 'Când convertiți un transfer într-o retragere, banii vor fi cheltuiți în contul (conturile) de destinație pe care le-ați setat aici, în loc să fiți transferat. Selectați noul cont de destinație pentru a finaliza conversia.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.', 'convert_expl_t_d' => 'Când convertiți un transfer într-un depozit, banii vor fi depuși în contul (conturile) de destinație pe care le vedeți aici, în loc să fie transferate în ele. Selectați noul cont sursă pentru a finaliza conversia.',
'converted_to_Withdrawal' => 'Tranzacția a fost transformată în retragere', 'converted_to_Withdrawal' => 'Tranzacția a fost transformată în retragere',
'converted_to_Deposit' => 'Tranzacția a fost transformată în depozit', 'converted_to_Deposit' => 'Tranzacția a fost transformată în depozit',
'converted_to_Transfer' => 'Tranzacția a fost transformată în transfer', 'converted_to_Transfer' => 'Tranzacția a fost transformată în transfer',
@ -700,16 +700,16 @@ return [
'update_currency' => 'Actualizați monedă', 'update_currency' => 'Actualizați monedă',
'new_default_currency' => ':name este acum moneda implicită.', 'new_default_currency' => ':name este acum moneda implicită.',
'cannot_delete_currency' => 'Nu se poate șterge :nume deoarece este încă în uz.', 'cannot_delete_currency' => 'Nu se poate șterge :nume deoarece este încă în uz.',
'cannot_disable_currency_journals' => 'Cannot disable :name because transactions are still using it.', 'cannot_disable_currency_journals' => 'Nu se poate dezactiva :name, deoarece tranzacțiile încă îl utilizează.',
'cannot_disable_currency_last_left' => 'Cannot disable :name because it is the last enabled currency.', 'cannot_disable_currency_last_left' => 'Nu se poate dezactiva :name, deoarece este ultima monedă activată.',
'cannot_disable_currency_account_meta' => 'Cannot disable :name because it is used in asset accounts.', 'cannot_disable_currency_account_meta' => 'Nu se poate dezactiva :name deoarece este utilizat în conturile de active.',
'cannot_disable_currency_bills' => 'Cannot disable :name because it is used in bills.', 'cannot_disable_currency_bills' => 'Nu se poate dezactiva :name deoarece este folosit în facturi.',
'cannot_disable_currency_recurring' => 'Cannot disable :name because it is used in recurring transactions.', 'cannot_disable_currency_recurring' => 'Nu se poate dezactiva :name deoareceeste utilizat în tranzacții recurente.',
'cannot_disable_currency_available_budgets' => 'Cannot disable :name because it is used in available budgets.', 'cannot_disable_currency_available_budgets' => 'Nu se poate dezactiva :name deoarece este folosit în bugetele disponibile.',
'cannot_disable_currency_budget_limits' => 'Cannot disable :name because it is used in budget limits.', 'cannot_disable_currency_budget_limits' => 'Nu se poate dezactiva :name deoarece este utilizat în limite bugetare.',
'cannot_disable_currency_current_default' => 'Cannot disable :name because it is the current default currency.', 'cannot_disable_currency_current_default' => 'Nu se poate dezactiva :name deoarece este moneda implicită curentă.',
'cannot_disable_currency_system_fallback' => 'Cannot disable :name because it is the system default currency.', 'cannot_disable_currency_system_fallback' => 'Nu se poate dezactiva :name deoarece este moneda implicită a sistemului.',
'disable_EUR_side_effects' => 'The Euro is the system\'s emergency fallback currency. Disabling it may have unintended side-effects and may void your warranty.', 'disable_EUR_side_effects' => 'Euro este moneda de recuperare de urgență a sistemului. Dezactivarea acestuia poate avea efecte secundare nedorite și vă poate anula garanția.',
'deleted_currency' => 'Moneda :name stearsă', 'deleted_currency' => 'Moneda :name stearsă',
'created_currency' => 'Moneda :name creată', 'created_currency' => 'Moneda :name creată',
'could_not_store_currency' => 'Nu am putut stoca o nouă monedă.', 'could_not_store_currency' => 'Nu am putut stoca o nouă monedă.',
@ -731,8 +731,8 @@ return [
'options' => 'Opțiuni', 'options' => 'Opțiuni',
// budgets: // budgets:
'total_available_budget' => 'Total available budget (between :start and :end)', 'total_available_budget' => 'Buget total disponibil (între :start și :end)',
'total_available_budget_in_currency' => 'Total available budget in :currency', 'total_available_budget_in_currency' => 'Buget total disponibil în :currency',
'see_below' => 'vezi mai jos', 'see_below' => 'vezi mai jos',
'create_new_budget' => 'Creați un nou budget', 'create_new_budget' => 'Creați un nou budget',
'store_new_budget' => 'Salvați un nou budget', 'store_new_budget' => 'Salvați un nou budget',
@ -741,17 +741,17 @@ return [
'transactionsWithoutBudget' => 'Cheltuieli fără buget', 'transactionsWithoutBudget' => 'Cheltuieli fără buget',
'transactions_no_budget' => 'Cheltuieli fără buget între :start și :end', 'transactions_no_budget' => 'Cheltuieli fără buget între :start și :end',
'spent_between' => 'Cheltuit între :start și :end', 'spent_between' => 'Cheltuit între :start și :end',
'set_available_amount' => 'Set available amount', 'set_available_amount' => 'Setați suma disponibilă',
'update_available_amount' => 'Update available amount', 'update_available_amount' => 'Actualizați suma disponibilă',
'ab_basic_modal_explain' => 'Use this form to indicate how much you expect to be able to budget (in total, in :currency) in the indicated period.', 'ab_basic_modal_explain' => 'Utilizați acest formular pentru a indica cât de mult doriți să bugeți (în total, în :currency) în perioada indicată.',
'createBudget' => 'Buget nou', 'createBudget' => 'Buget nou',
'invalid_currency' => 'This is an invalid currency', 'invalid_currency' => 'Aceasta este o monedă nevalidă',
'set_ab' => 'The available budget amount has been set', 'set_ab' => 'Suma disponibilă a bugetului a fost stabilită',
'updated_ab' => 'The available budget amount has been updated', 'updated_ab' => 'Suma disponibilă a bugetului a fost actualizată',
'deleted_ab' => 'The available budget amount has been deleted', 'deleted_ab' => 'Suma disponibilă a bugetului a fost ștearsă',
'deleted_bl' => 'The budgeted amount has been removed', 'deleted_bl' => 'Suma disponibilă a bugetului a fost îndepărtat',
'alt_currency_ab_create' => 'Set the available budget in another currency', 'alt_currency_ab_create' => 'Setați bugetul disponibil într-o altă monedă',
'bl_create_btn' => 'Set budget in another currency', 'bl_create_btn' => 'Setați bugetul într-o altă monedă',
'inactiveBudgets' => 'Bugete inactive', 'inactiveBudgets' => 'Bugete inactive',
'without_budget_between' => 'Tranzacții fără un buget între :start și :end', 'without_budget_between' => 'Tranzacții fără un buget între :start și :end',
'delete_budget' => 'Șterge buget ":name"', 'delete_budget' => 'Șterge buget ":name"',
@ -761,20 +761,20 @@ return [
'update_amount' => 'Actualizați suma', 'update_amount' => 'Actualizați suma',
'update_budget' => 'Actualizați bugetul', 'update_budget' => 'Actualizați bugetul',
'update_budget_amount_range' => 'Actualizați suma disponibilă între :start și :end', 'update_budget_amount_range' => 'Actualizați suma disponibilă între :start și :end',
'set_budget_limit_title' => 'Set budgeted amount for budget :budget between :start and :end', 'set_budget_limit_title' => 'Setați suma bugetată pentru bugetul :budget între :start și :end',
'set_budget_limit' => 'Set budgeted amount', 'set_budget_limit' => 'Setați suma bugetată',
'budget_period_navigator' => 'Navigator pe perioada', 'budget_period_navigator' => 'Navigator pe perioada',
'info_on_available_amount' => 'Ce am disponibil?', 'info_on_available_amount' => 'Ce am disponibil?',
'available_amount_indication' => 'Utilizați aceste sume pentru a obține o indicație cu privire la bugetul dvs. total.', 'available_amount_indication' => 'Utilizați aceste sume pentru a obține o indicație cu privire la bugetul dvs. total.',
'suggested' => 'Sugerat', 'suggested' => 'Sugerat',
'average_between' => 'Media între :start și :end', 'average_between' => 'Media între :start și :end',
'over_budget_warn' => '<i class="fa fa-money"></i> Usually you budget about :amount per day. This time it\'s :over_amount per day. Are you sure?', 'over_budget_warn' => '<i class="fa fa-money"></i> În mod normal bugetați aproximativ :amount pe zi. Acum este :over_amount pe zi. Sunteți sigur?',
'transferred_in' => 'Transferred (in)', 'transferred_in' => 'Transferat (în)',
'transferred_away' => 'Transferred (away)', 'transferred_away' => 'Transferat (departe)',
// bills: // bills:
'match_between_amounts' => 'Factura se potrivește tranzacțiilor între :low și :high.', 'match_between_amounts' => 'Factura se potrivește tranzacțiilor între :low și :high.',
'running_again_loss' => 'Previously linked transactions to this bill may lose their connection, if they (no longer) match the rule(s).', 'running_again_loss' => 'Tranzacțiile legate anterior de această factură își pot pierde conexiunea, dacă acestea nu mai corespund cu regula (regulile).',
'bill_related_rules' => 'Reguli legate de această factură', 'bill_related_rules' => 'Reguli legate de această factură',
'repeats' => 'Repetă', 'repeats' => 'Repetă',
'connected_journals' => 'Tranzacții conectate', 'connected_journals' => 'Tranzacții conectate',
@ -802,9 +802,9 @@ return [
'list_inactive_rule' => 'regulă inactivă', 'list_inactive_rule' => 'regulă inactivă',
// accounts: // accounts:
'inactive_account_link' => 'You have :count inactive (archived) accounts, which you can view on this separate page.', 'inactive_account_link' => 'Aveți :count conturi inactive (arhivate), pe care le puteți vizualiza în această pagină separată.',
'all_accounts_inactive' => 'These are your inactive accounts.', 'all_accounts_inactive' => 'Acestea sunt conturile dvs. inactive.',
'active_account_link' => 'This link goes back to your active accounts.', 'active_account_link' => 'Acest link revine la conturile dvs. active.',
'account_missing_transaction' => 'Contul #:id (":name") nu pot fi vizualizate direct.', 'account_missing_transaction' => 'Contul #:id (":name") nu pot fi vizualizate direct.',
'details_for_asset' => 'Detalii pentru contul de active ":name"', 'details_for_asset' => 'Detalii pentru contul de active ":name"',
'details_for_expense' => 'Detalii pentru contul de cheltuieli ":name"', 'details_for_expense' => 'Detalii pentru contul de cheltuieli ":name"',
@ -832,9 +832,9 @@ return [
'make_new_revenue_account' => 'Creați un nou cont de venituri', 'make_new_revenue_account' => 'Creați un nou cont de venituri',
'make_new_liabilities_account' => 'Creați un nou provizion', 'make_new_liabilities_account' => 'Creați un nou provizion',
'asset_accounts' => 'Conturile de active', 'asset_accounts' => 'Conturile de active',
'asset_accounts_inactive' => 'Asset accounts (inactive)', 'asset_accounts_inactive' => 'Conturi de active (inactive)',
'expense_accounts' => 'Conturi de cheltuieli', 'expense_accounts' => 'Conturi de cheltuieli',
'expense_accounts_inactive' => 'Expense accounts (inactive)', 'expense_accounts_inactive' => 'Conturi de cheltuieli (inactive)',
'revenue_accounts' => 'Conturi de venituri', 'revenue_accounts' => 'Conturi de venituri',
'cash_accounts' => 'Conturi de numerar', 'cash_accounts' => 'Conturi de numerar',
'Cash account' => 'Cont de numerar', 'Cash account' => 'Cont de numerar',
@ -860,9 +860,9 @@ return [
'reconcile_options' => 'Optiuni reconciliere', 'reconcile_options' => 'Optiuni reconciliere',
'reconcile_range' => 'Domeniu de reconciliere', 'reconcile_range' => 'Domeniu de reconciliere',
'start_reconcile' => 'Porniți reconcilierea', 'start_reconcile' => 'Porniți reconcilierea',
'cash_account_type' => 'Cash', 'cash_account_type' => 'Numerar',
'cash' => 'numerar', 'cash' => 'numerar',
'cant_find_redirect_account' => 'Firefly III tried to redirect you but couldn\'t. Sorry about that. Back to the index.', 'cant_find_redirect_account' => 'Firefly III a încercat să vă redirecționeze, dar nu a putut. Îmi pare rău pentru asta. Înapoi la index.',
'account_type' => 'Tip cont', 'account_type' => 'Tip cont',
'save_transactions_by_moving' => 'Salvați aceste tranzacții prin mutarea acestora într-un alt cont:', 'save_transactions_by_moving' => 'Salvați aceste tranzacții prin mutarea acestora într-un alt cont:',
'stored_new_account' => 'Cont nou ":name" salvat!', 'stored_new_account' => 'Cont nou ":name" salvat!',
@ -886,9 +886,9 @@ return [
'reconcile_go_back' => 'Puteți modifica sau șterge întotdeauna o corecție mai târziu.', 'reconcile_go_back' => 'Puteți modifica sau șterge întotdeauna o corecție mai târziu.',
'must_be_asset_account' => 'Puteți reconcilia numai contul de active', 'must_be_asset_account' => 'Puteți reconcilia numai contul de active',
'reconciliation_stored' => 'Reconciliere salvată', 'reconciliation_stored' => 'Reconciliere salvată',
'reconciliation_error' => 'Due to an error the transactions were marked as reconciled but the correction has not been stored: :error.', 'reconciliation_error' => 'Din cauza unei erori tranzacțiile au fost marcate ca reconciliate, dar corectarea nu a fost stocată: :error.',
'reconciliation_transaction_title' => 'Reconciliation (:from to :to)', 'reconciliation_transaction_title' => 'Reconciliere (:from la :to)',
'sum_of_reconciliation' => 'Sum of reconciliation', 'sum_of_reconciliation' => 'Suma împăcărilor',
'reconcile_this_account' => 'Reconciliați acest cont', 'reconcile_this_account' => 'Reconciliați acest cont',
'confirm_reconciliation' => 'Confirmați reconcilierea', 'confirm_reconciliation' => 'Confirmați reconcilierea',
'submitted_start_balance' => 'Balanța inițială afișată', 'submitted_start_balance' => 'Balanța inițială afișată',
@ -900,7 +900,7 @@ return [
'interest_calc_daily' => 'Pe zi', 'interest_calc_daily' => 'Pe zi',
'interest_calc_monthly' => 'Pe lună', 'interest_calc_monthly' => 'Pe lună',
'interest_calc_yearly' => 'Pe an', 'interest_calc_yearly' => 'Pe an',
'initial_balance_account' => 'Initial balance account of :account', 'initial_balance_account' => 'Bilanțul inițial al contului :account',
// categories: // categories:
'new_category' => 'Categorie nouă', 'new_category' => 'Categorie nouă',
@ -921,7 +921,7 @@ return [
// transactions: // transactions:
'update_withdrawal' => 'Actualizați retragere', 'update_withdrawal' => 'Actualizați retragere',
'update_deposit' => 'Actualizați depozit', 'update_deposit' => 'Actualizați depozit',
'update_transaction' => 'Update transaction', 'update_transaction' => 'Actualizați tranzacția',
'update_transfer' => 'Actualizați transfer', 'update_transfer' => 'Actualizați transfer',
'updated_withdrawal' => 'Retragerea ":description" actualizată', 'updated_withdrawal' => 'Retragerea ":description" actualizată',
'updated_deposit' => 'Depozitul ":description" actualizat', 'updated_deposit' => 'Depozitul ":description" actualizat',
@ -934,7 +934,7 @@ return [
'deleted_transfer' => 'Transferul ":description" șters cu succes', 'deleted_transfer' => 'Transferul ":description" șters cu succes',
'stored_journal' => 'A fost creată cu succes o tranzacție nouă ":description"', 'stored_journal' => 'A fost creată cu succes o tranzacție nouă ":description"',
'stored_journal_no_descr' => 'Tranzacția s-a creat cu succes', 'stored_journal_no_descr' => 'Tranzacția s-a creat cu succes',
'updated_journal_no_descr' => 'Successfully updated your transaction', 'updated_journal_no_descr' => 'Tranzacția s-a actualizat cu succes',
'select_transactions' => 'Selectați tranzacțiile', 'select_transactions' => 'Selectați tranzacțiile',
'rule_group_select_transactions' => 'Aplică ":title" la tranzacții', 'rule_group_select_transactions' => 'Aplică ":title" la tranzacții',
'rule_select_transactions' => 'Aplică ":title" la tranzacții', 'rule_select_transactions' => 'Aplică ":title" la tranzacții',
@ -943,42 +943,42 @@ return [
'mass_delete_journals' => 'Ștergeți un număr de tranzacții', 'mass_delete_journals' => 'Ștergeți un număr de tranzacții',
'mass_edit_journals' => 'Editați un număr de tranzacții', 'mass_edit_journals' => 'Editați un număr de tranzacții',
'mass_bulk_journals' => 'Editarea în bloc un număr de tranzacții', 'mass_bulk_journals' => 'Editarea în bloc un număr de tranzacții',
'mass_bulk_journals_explain' => 'This form allows you to change properties of the transactions listed below in one sweeping update. All the transactions in the table will be updated when you change the parameters you see here.', 'mass_bulk_journals_explain' => 'Acest formular vă permite să modificați proprietățile tranzacțiilor enumerate mai jos într-o actualizare completă. Toate tranzacțiile din tabel vor fi actualizate atunci când modificați parametrii pe care îi vedeți aici.',
'part_of_split' => 'This transaction is part of a split transaction. If you have not selected all the splits, you may end up with changing only half the transaction.', 'part_of_split' => 'Această tranzacție face parte dintr-o tranzacție divizată. Dacă nu ați selectat toate divizările, puteți ajunge să schimbați doar jumătate din tranzacție.',
'bulk_set_new_values' => 'Utilizați input-urile de mai jos pentru a seta noi valori. Dacă le lăsați goale, vor fi goale toate. De asemenea, rețineți că doar bugetele vor primi un buget.', 'bulk_set_new_values' => 'Utilizați input-urile de mai jos pentru a seta noi valori. Dacă le lăsați goale, vor fi goale toate. De asemenea, rețineți că doar bugetele vor primi un buget.',
'no_bulk_category' => 'Nu actualizați categoria', 'no_bulk_category' => 'Nu actualizați categoria',
'no_bulk_budget' => 'Nu actualizați budgetul', 'no_bulk_budget' => 'Nu actualizați budgetul',
'no_bulk_tags' => 'Nu actualizați etichetă(e) ', 'no_bulk_tags' => 'Nu actualizați etichetă(e) ',
'mass_edit' => 'Edit selected individually', 'mass_edit' => 'Editează individual',
'bulk_edit' => 'Edit selected in bulk', 'bulk_edit' => 'Editează cele selectate in masă (bulk)',
'mass_delete' => 'Delete selected', 'mass_delete' => 'Șterge elementele selectate',
'cannot_edit_other_fields' => 'Nu poți edita alte câmpuri decât cele de aici, pentru că nu există loc pentru a le arăta. Urmați linkul și editați-l câte unul, dacă aveți nevoie să editați aceste câmpuri.', 'cannot_edit_other_fields' => 'Nu poți edita alte câmpuri decât cele de aici, pentru că nu există loc pentru a le arăta. Urmați linkul și editați-l câte unul, dacă aveți nevoie să editați aceste câmpuri.',
'cannot_change_amount_reconciled' => 'You can\'t change the amount of reconciled transactions.', 'cannot_change_amount_reconciled' => 'Nu puteți modifica suma tranzacțiilor reconciliate.',
'no_budget' => '(nici un buget)', 'no_budget' => '(nici un buget)',
'account_per_budget' => 'Account per budget', 'account_per_budget' => 'Cont pe buget',
'account_per_category' => 'Account per category', 'account_per_category' => 'Cont pe categorie',
'empty' => '(empty)', 'empty' => '(gol)',
'all_other_budgets' => '(all other budgets)', 'all_other_budgets' => '(toate celelalte bugete)',
'all_other_accounts' => '(all other accounts)', 'all_other_accounts' => '(toate celelalte conturi)',
'expense_per_source_account' => 'Expenses per source account', 'expense_per_source_account' => 'Cheltuieli pe contul sursă',
'expense_per_destination_account' => 'Expenses per destination account', 'expense_per_destination_account' => 'Cheltuieli pe contul de destinație',
'income_per_destination_account' => 'Income per destination account', 'income_per_destination_account' => 'Venit pe contul de destinație',
'spent_in_specific_category' => 'Spent in category ":category"', 'spent_in_specific_category' => 'Cheltuit în categoria ":category"',
'earned_in_specific_category' => 'Earned in category ":category"', 'earned_in_specific_category' => 'Câștigat în categoria ":category"',
'spent_in_specific_tag' => 'Spent in tag ":tag"', 'spent_in_specific_tag' => 'Cheltuit in eticheta ":tag"',
'earned_in_specific_tag' => 'Earned in tag ":tag"', 'earned_in_specific_tag' => 'Câștigat in eticheta ":tag"',
'income_per_source_account' => 'Income per source account', 'income_per_source_account' => 'Venit pe cont sursă',
'average_spending_per_destination' => 'Average expense per destination account', 'average_spending_per_destination' => 'Cheltuieli medii pe contul de destinație',
'average_spending_per_source' => 'Average expense per source account', 'average_spending_per_source' => 'Cheltuieli medii pe contul sursă',
'average_earning_per_source' => 'Average earning per source account', 'average_earning_per_source' => 'Venitul mediu pe cont sursă',
'average_earning_per_destination' => 'Average earning per destination account', 'average_earning_per_destination' => 'Venitul mediu pe cont de destinație',
'account_per_tag' => 'Account per tag', 'account_per_tag' => 'Cont pe etichetă',
'tag_report_expenses_listed_once' => 'Expenses and income are never listed twice. If a transaction has multiple tags, it may only show up under one of its tags. This list may appear to be missing data, but the amounts will be correct.', 'tag_report_expenses_listed_once' => 'Cheltuielile și veniturile nu sunt listate niciodată de două ori. Dacă o tranzacție are mai multe etichete, poate apărea doar sub una dintre etichetele sale. Această listă poate părea că lipsesc date, dar sumele vor fi corecte.',
'double_report_expenses_charted_once' => 'Expenses and income are never displayed twice. If a transaction has multiple tags, it may only show up under one of its tags. This chart may appear to be missing data, but the amounts will be correct.', 'double_report_expenses_charted_once' => 'Cheltuielile și veniturile nu sunt afișate niciodată de două ori. Dacă o tranzacție are mai multe etichete, poate apărea doar sub una dintre etichetele sale. Acest grafic poate părea că lipsesc date, dar sumele vor fi corecte.',
'tag_report_chart_single_tag' => 'This chart applies to a single tag. If a transaction has multiple tags, what you see here may be reflected in the charts of other tags as well.', 'tag_report_chart_single_tag' => 'Acest grafic se aplică unei singure etichete. Dacă o tranzacție are mai multe etichete, ceea ce vedeți aici poate fi reflectat și în graficele altor etichete.',
'tag' => 'Tag', 'tag' => 'Etichetă',
'no_budget_squared' => '(nici un buget)', 'no_budget_squared' => '(nici un buget)',
'perm-delete-many' => 'Deleting many items in one go can be very disruptive. Please be cautious. You can delete part of a split transaction from this page, so take care.', 'perm-delete-many' => 'Ștergerea multor articole dintr-o dată poate fi foarte perturbatoare. Vă rugăm să fiți precaut. Puteți șterge o parte dintr-o tranzacție divizată din această pagină, așa că aveți grijă.',
'mass_deleted_transactions_success' => 'S-au șters :amount tranzacții.', 'mass_deleted_transactions_success' => 'S-au șters :amount tranzacții.',
'mass_edited_transactions_success' => 'S-au actualizat :amount tranzacții', 'mass_edited_transactions_success' => 'S-au actualizat :amount tranzacții',
'opt_group_' => '(niciun tip de cont)', 'opt_group_' => '(niciun tip de cont)',
@ -988,10 +988,10 @@ return [
'opt_group_sharedAsset' => 'Cont de active partajat', 'opt_group_sharedAsset' => 'Cont de active partajat',
'opt_group_ccAsset' => 'Carduri de credit', 'opt_group_ccAsset' => 'Carduri de credit',
'opt_group_cashWalletAsset' => 'Cash - Numerar', 'opt_group_cashWalletAsset' => 'Cash - Numerar',
'opt_group_expense_account' => 'Expense accounts', 'opt_group_expense_account' => 'Conturi de cheltuieli',
'opt_group_revenue_account' => 'Revenue accounts', 'opt_group_revenue_account' => 'Conturi de venituri',
'opt_group_l_Loan' => 'Provizion: Împrumut', 'opt_group_l_Loan' => 'Provizion: Împrumut',
'opt_group_cash_account' => 'Cash account', 'opt_group_cash_account' => 'Cont de numerar',
'opt_group_l_Debt' => 'Provizion: Datorie', 'opt_group_l_Debt' => 'Provizion: Datorie',
'opt_group_l_Mortgage' => 'Provizion: Credit ipotecar', 'opt_group_l_Mortgage' => 'Provizion: Credit ipotecar',
'opt_group_l_Credit card' => 'Provizion: Card de credit', 'opt_group_l_Credit card' => 'Provizion: Card de credit',
@ -1003,7 +1003,7 @@ return [
// new user: // new user:
'welcome' => 'Bine ați venit!', 'welcome' => 'Bine ați venit!',
'submit' => 'Trimite', 'submit' => 'Trimite',
'submission' => 'Submission', 'submission' => 'Transmitere',
'submit_yes_really' => 'Trimite (Știu ce fac)', 'submit_yes_really' => 'Trimite (Știu ce fac)',
'getting_started' => 'Introducere', 'getting_started' => 'Introducere',
'to_get_started' => 'Este bine să vedeți că ați instalat cu succes Firefly III. Pentru a începe cu acest instrument, introduceți numele băncii dvs. și soldul contului de control principal. Nu vă faceți griji încă dacă aveți mai multe conturi. Puteți să le adăugați mai târziu. Firefly III are nevoie de ceva de început.', 'to_get_started' => 'Este bine să vedeți că ați instalat cu succes Firefly III. Pentru a începe cu acest instrument, introduceți numele băncii dvs. și soldul contului de control principal. Nu vă faceți griji încă dacă aveți mai multe conturi. Puteți să le adăugați mai târziu. Firefly III are nevoie de ceva de început.',
@ -1091,7 +1091,7 @@ return [
'errors' => 'Erori', 'errors' => 'Erori',
'debt_start_date' => 'Data de începere a datoriilor', 'debt_start_date' => 'Data de începere a datoriilor',
'debt_start_amount' => 'Valoarea inițială a datoriei', 'debt_start_amount' => 'Valoarea inițială a datoriei',
'debt_start_amount_help' => 'If you owe an amount its best to enter a negative amount, because it influences your net worth. If you\'re owed an amount the same applies. Check out the help pages for more information.', 'debt_start_amount_help' => 'Dacă datorați o sumă este bine să introduceți o sumă negativă, deoarece influențează valoarea netă. Dacă vi se datorează o sumă, se aplică același lucru. Consultați paginile de ajutor pentru mai multe informații.',
'store_new_liabilities_account' => 'Salvați provizion nou', 'store_new_liabilities_account' => 'Salvați provizion nou',
'edit_liabilities_account' => 'Editați provizion ":name"', 'edit_liabilities_account' => 'Editați provizion ":name"',
@ -1099,7 +1099,7 @@ return [
'report_default' => 'Raportul financiar prestabilit între :start și :end', 'report_default' => 'Raportul financiar prestabilit între :start și :end',
'report_audit' => 'Afișarea istoricului tranzacțiilor între :start și :end', 'report_audit' => 'Afișarea istoricului tranzacțiilor între :start și :end',
'report_category' => 'Raport privind categoria între :start și :end', 'report_category' => 'Raport privind categoria între :start și :end',
'report_double' => 'Expense/revenue account report between :start and :end', 'report_double' => 'Raport privind cheltuielile / veniturile între :start și :end',
'report_budget' => 'Raport privind bugetul între :start și :end', 'report_budget' => 'Raport privind bugetul între :start și :end',
'report_tag' => 'Raport privind etichetele între :start și :end', 'report_tag' => 'Raport privind etichetele între :start și :end',
'quick_link_reports' => 'Link-uri rapide', 'quick_link_reports' => 'Link-uri rapide',
@ -1136,7 +1136,7 @@ return [
'report_type_category' => 'Raport privind categoria', 'report_type_category' => 'Raport privind categoria',
'report_type_budget' => 'Raport privind bugetul', 'report_type_budget' => 'Raport privind bugetul',
'report_type_tag' => 'Raport privind etichetele', 'report_type_tag' => 'Raport privind etichetele',
'report_type_double' => 'Expense/revenue account report', 'report_type_double' => 'Raport privind contul de cheltuieli / venituri',
'more_info_help' => 'Mai multe informații despre aceste tipuri de rapoarte pot fi găsite în paginile de ajutor. Apăsați pictograma (?) Din colțul din dreapta sus.', 'more_info_help' => 'Mai multe informații despre aceste tipuri de rapoarte pot fi găsite în paginile de ajutor. Apăsați pictograma (?) Din colțul din dreapta sus.',
'report_included_accounts' => 'Conturi incluse', 'report_included_accounts' => 'Conturi incluse',
'report_date_range' => 'Interval de date', 'report_date_range' => 'Interval de date',
@ -1145,7 +1145,7 @@ return [
'fiscal_year' => 'An fiscal', 'fiscal_year' => 'An fiscal',
'income_entry' => 'Venituri din cont ":name" între :start și :end', 'income_entry' => 'Venituri din cont ":name" între :start și :end',
'expense_entry' => 'Cheltuieli în cont ":name" între :start și :end', 'expense_entry' => 'Cheltuieli în cont ":name" între :start și :end',
'category_entry' => 'Expenses and income in category ":name" between :start and :end', 'category_entry' => 'Cheltuieli și venituri în categoria ":name" între :start și :end',
'budget_spent_amount' => 'Cheltuieli în bugetul ":budget" între :start și :end', 'budget_spent_amount' => 'Cheltuieli în bugetul ":budget" între :start și :end',
'balance_amount' => 'Cheltuieli în bugetul ":budget" plătit din cont ":account" între :start și :end', 'balance_amount' => 'Cheltuieli în bugetul ":budget" plătit din cont ":account" între :start și :end',
'no_audit_activity' => 'Nu a fost înregistrată nici o activitate în contul <a href=":url" title=":account_name">:account_name</a> între :start și :end.', 'no_audit_activity' => 'Nu a fost înregistrată nici o activitate în contul <a href=":url" title=":account_name">:account_name</a> între :start și :end.',
@ -1190,7 +1190,7 @@ return [
'budget_chart_click' => 'Faceți clic pe un nume de buget din tabelul de mai sus pentru a vedea o grafic.', 'budget_chart_click' => 'Faceți clic pe un nume de buget din tabelul de mai sus pentru a vedea o grafic.',
'category_chart_click' => 'Clic pe numele unei categorii din tabelul de mai sus pentru a vedea un grafic.', 'category_chart_click' => 'Clic pe numele unei categorii din tabelul de mai sus pentru a vedea un grafic.',
'in_out_accounts' => 'Câștigat și cheltuit pe combinație', 'in_out_accounts' => 'Câștigat și cheltuit pe combinație',
'in_out_accounts_per_asset' => 'Earned and spent (per asset account)', 'in_out_accounts_per_asset' => 'Câștigat și cheltuit (pe cont de activ)',
'in_out_per_category' => 'Câștigat și cheltuit pe categorie', 'in_out_per_category' => 'Câștigat și cheltuit pe categorie',
'out_per_budget' => 'Cheltuit pe buget', 'out_per_budget' => 'Cheltuit pe buget',
'select_expense_revenue' => 'Selectați contul de cheltuieli / venituri', 'select_expense_revenue' => 'Selectați contul de cheltuieli / venituri',
@ -1209,7 +1209,7 @@ return [
'overspent' => 'Depășire de buget', 'overspent' => 'Depășire de buget',
'left' => 'Rămas', 'left' => 'Rămas',
'max-amount' => 'Sumă maximă', 'max-amount' => 'Sumă maximă',
'min-amount' => 'Minimum amount', 'min-amount' => 'Valoare minimă',
'journal-amount' => 'Intrare factură curentă', 'journal-amount' => 'Intrare factură curentă',
'name' => 'Nume', 'name' => 'Nume',
'date' => 'Dată', 'date' => 'Dată',
@ -1224,7 +1224,7 @@ return [
'average' => 'In medie', 'average' => 'In medie',
'balanceFor' => 'Balanta pentru :name', 'balanceFor' => 'Balanta pentru :name',
'no_tags_for_cloud' => 'Nu există etichete pentru a genera un cloud', 'no_tags_for_cloud' => 'Nu există etichete pentru a genera un cloud',
'no_tags' => '(no tags)', 'no_tags' => '(fără etichete)',
'tag_cloud' => 'Nor de etichete', 'tag_cloud' => 'Nor de etichete',
// piggy banks: // piggy banks:
@ -1319,13 +1319,13 @@ return [
'send_message' => 'Trimite mesaj', 'send_message' => 'Trimite mesaj',
'send_test_triggered' => 'Testul a fost declanșat. Verificați mesajele primite și log-urile.', 'send_test_triggered' => 'Testul a fost declanșat. Verificați mesajele primite și log-urile.',
'split_transaction_title' => 'Description of the split transaction', 'split_transaction_title' => 'Descrierea tranzacției divizate',
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.', 'split_transaction_title_help' => 'Dacă creați o tranzacție divizată, trebuie să existe o descriere globală pentru toate diviziunile tranzacției.',
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.', 'split_title_help' => 'Dacă creați o tranzacție divizată, trebuie să existe o descriere globală pentru toate diviziunile tranzacției.',
'transaction_information' => 'Transaction information', 'transaction_information' => 'Informații despre tranzacții',
'you_create_transfer' => 'You\'re creating a <strong>transfer</strong>.', 'you_create_transfer' => 'Creați un <strong> transfer </strong>.',
'you_create_withdrawal' => 'You\'re creating a <strong>withdrawal</strong>.', 'you_create_withdrawal' => 'Creați o <strong> retragere</strong>.',
'you_create_deposit' => 'You\'re creating a <strong>deposit</strong>.', 'you_create_deposit' => 'Creați un <strong> depozit</strong>.',
// links // links
@ -1346,13 +1346,13 @@ return [
'do_not_save_connection' => '(nu salvați conexiunea)', 'do_not_save_connection' => '(nu salvați conexiunea)',
'link_transaction' => 'Link tranzacție', 'link_transaction' => 'Link tranzacție',
'link_to_other_transaction' => 'Conectați această tranzacție la o altă tranzacție', 'link_to_other_transaction' => 'Conectați această tranzacție la o altă tranzacție',
'select_transaction_to_link' => 'Select a transaction to link this transaction to. The links are currently unused in Firefly III (apart from being shown), but I plan to change this in the future. Use the search box to select a transaction either by title or by ID. If you want to add custom link types, check out the administration section.', 'select_transaction_to_link' => 'Selectați o tranzacție pentru a conecta această tranzacție. Linkurile sunt în prezent neutilizate în Firefly III (în afară de a fi arătat), dar intenționez să schimb acest lucru în viitor. Utilizați caseta de căutare pentru a selecta o tranzacție fie după titlu, fie prin ID. Dacă doriți să adăugați tipuri de link personalizate, consultați secțiunea de administrare.',
'this_transaction' => 'Această tranzacție', 'this_transaction' => 'Această tranzacție',
'transaction' => 'Tranzacţie', 'transaction' => 'Tranzacţie',
'comments' => 'Comentarii', 'comments' => 'Comentarii',
'link_notes' => 'Any notes you wish to store with the link.', 'link_notes' => 'Orice notă pe care doriți să o păstrați cu linkul.',
'invalid_link_selection' => 'Nu se poate lega aceste tranzacții', 'invalid_link_selection' => 'Nu se poate lega aceste tranzacții',
'selected_transaction' => 'Selected transaction', 'selected_transaction' => 'Tranzacție selectată',
'journals_linked' => 'Tranzacțiile sunt legate.', 'journals_linked' => 'Tranzacțiile sunt legate.',
'journals_error_linked' => 'Aceste tranzacții sunt deja legate.', 'journals_error_linked' => 'Aceste tranzacții sunt deja legate.',
'journals_link_to_self' => 'Nu puteți conecta o tranzacție la sine', 'journals_link_to_self' => 'Nu puteți conecta o tranzacție la sine',
@ -1393,14 +1393,14 @@ return [
'split_this_transfer' => 'Împărțiți acest transfer', 'split_this_transfer' => 'Împărțiți acest transfer',
'cannot_edit_opening_balance' => 'Nu puteți edita soldul de deschidere al unui cont.', 'cannot_edit_opening_balance' => 'Nu puteți edita soldul de deschidere al unui cont.',
'no_edit_multiple_left' => 'Nu ați selectat niciun fel de tranzacții valide pentru a le edita.', 'no_edit_multiple_left' => 'Nu ați selectat niciun fel de tranzacții valide pentru a le edita.',
'breadcrumb_convert_group' => 'Convert transaction', 'breadcrumb_convert_group' => 'Tranzacție convertită',
'convert_invalid_source' => 'Source information is invalid for transaction #%d.', 'convert_invalid_source' => 'Informațiile sursă sunt nevalide pentru tranzacția #%d.',
'convert_invalid_destination' => 'Destination information is invalid for transaction #%d.', 'convert_invalid_destination' => 'Informațiile de destinație sunt nevalide pentru tranzacția #%d.',
'create_another' => 'After storing, return here to create another one.', 'create_another' => 'După stocare, reveniți aici pentru a crea alta.',
'after_update_create_another' => 'After updating, return here to continue editing.', 'after_update_create_another' => 'După actualizare, reveniți aici pentru a continua editarea.',
'store_as_new' => 'Store as a new transaction instead of updating.', 'store_as_new' => 'Stocați ca o tranzacție nouă în loc să actualizați.',
'reset_after' => 'Reset form after submission', 'reset_after' => 'Resetați formularul după trimitere',
'errors_submission' => 'There was something wrong with your submission. Please check out the errors below.', 'errors_submission' => 'A fost ceva în neregulă cu transmiterea dvs. Vă rugăm să consultați erorile de mai jos.',
// Import page (general strings only) // Import page (general strings only)
'import_index_title' => 'Importă tranzacții în Firefly III', 'import_index_title' => 'Importă tranzacții în Firefly III',
@ -1428,7 +1428,7 @@ return [
'no_accounts_imperative_liabilities' => 'Nu trebuie să utilizați această funcție, dar poate fi utilă dacă doriți să urmăriți aceste lucruri.', 'no_accounts_imperative_liabilities' => 'Nu trebuie să utilizați această funcție, dar poate fi utilă dacă doriți să urmăriți aceste lucruri.',
'no_accounts_create_liabilities' => 'Creați un provizion', 'no_accounts_create_liabilities' => 'Creați un provizion',
'no_budgets_title_default' => 'Să cream un provizion', 'no_budgets_title_default' => 'Să cream un provizion',
'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organize your expenses into logical groups, which you can give a soft-cap to limit your expenses.', 'no_budgets_intro_default' => 'Nu ai încă nici un buget. Bugetele sunt folosite pentru a vă organiza cheltuielile în grupuri logice, pe care le puteți supune unei limite de cheltuieli.',
'no_budgets_imperative_default' => 'Bugetele sunt instrumentele de bază ale gestiunii financiare. Să creăm unul acum:', 'no_budgets_imperative_default' => 'Bugetele sunt instrumentele de bază ale gestiunii financiare. Să creăm unul acum:',
'no_budgets_create_default' => 'Creați un buget', 'no_budgets_create_default' => 'Creați un buget',
'no_categories_title_default' => 'Să cream o categorie!', 'no_categories_title_default' => 'Să cream o categorie!',
@ -1470,9 +1470,9 @@ return [
'make_new_recurring' => 'Creați o tranzacție recurentă', 'make_new_recurring' => 'Creați o tranzacție recurentă',
'recurring_daily' => 'Zilnic', 'recurring_daily' => 'Zilnic',
'recurring_weekly' => 'În fiecare săptămână :weekday', 'recurring_weekly' => 'În fiecare săptămână :weekday',
'recurring_weekly_skip' => 'Every :skip(st/nd/rd/th) week on :weekday', 'recurring_weekly_skip' => 'Fiecare :skip(st/nd/rd/th) săptămână în :weekday',
'recurring_monthly' => 'În fiecare lună in ziua de :dayOfMonth(st/nd/rd/th)', 'recurring_monthly' => 'În fiecare lună in ziua de :dayOfMonth(st/nd/rd/th)',
'recurring_monthly_skip' => 'Every :skip(st/nd/rd/th) month on the :dayOfMonth(st/nd/rd/th) day', 'recurring_monthly_skip' => 'În fiecare :skip(st/nd/rd/th) lună in ziua de :dayOfMonth(st/nd/rd/th)',
'recurring_ndom' => 'În fiecare lună pe :dayOfMonth(st/nd/rd/th) :weekday', 'recurring_ndom' => 'În fiecare lună pe :dayOfMonth(st/nd/rd/th) :weekday',
'recurring_yearly' => 'În fiecare an :date', 'recurring_yearly' => 'În fiecare an :date',
'overview_for_recurrence' => 'Prezentare generală a tranzacției recurente ":title"', 'overview_for_recurrence' => 'Prezentare generală a tranzacției recurente ":title"',
@ -1521,7 +1521,7 @@ return [
'new_recurring_transaction' => 'Tranzacție recurentă nouă', 'new_recurring_transaction' => 'Tranzacție recurentă nouă',
'help_weekend' => 'Ce ar trebui să facă Firefly III atunci când tranzacția recurentă cade într-o sâmbătă sau duminică?', 'help_weekend' => 'Ce ar trebui să facă Firefly III atunci când tranzacția recurentă cade într-o sâmbătă sau duminică?',
'do_nothing' => 'Doar creați tranzacția', 'do_nothing' => 'Doar creați tranzacția',
'skip_transaction' => 'Skip the occurrence', 'skip_transaction' => 'Omiteți apariția',
'jump_to_friday' => 'Creați tranzacția din vineri precedentă', 'jump_to_friday' => 'Creați tranzacția din vineri precedentă',
'jump_to_monday' => 'Creați tranzacția de luni viitoare', 'jump_to_monday' => 'Creați tranzacția de luni viitoare',
'will_jump_friday' => 'Va fi creat vineri în loc de weekend.', 'will_jump_friday' => 'Va fi creat vineri în loc de weekend.',
@ -1530,15 +1530,15 @@ return [
'recurrence_deleted' => 'tranzacție recurentă ":title" ștearsă', 'recurrence_deleted' => 'tranzacție recurentă ":title" ștearsă',
// new lines for summary controller. // new lines for summary controller.
'box_balance_in_currency' => 'Balance (:currency)', 'box_balance_in_currency' => 'Balanța (:currency)',
'box_spent_in_currency' => 'Spent (:currency)', 'box_spent_in_currency' => 'Cheltuit (:currency)',
'box_earned_in_currency' => 'Earned (:currency)', 'box_earned_in_currency' => 'Câștigat (:currency)',
'box_budgeted_in_currency' => 'Budgeted (:currency)', 'box_budgeted_in_currency' => 'Bugetat (:currency)',
'box_sum_in_currency' => 'Sum (:currency)', 'box_sum_in_currency' => 'Sumă (:currency)',
'box_bill_paid_in_currency' => 'Bills paid (:currency)', 'box_bill_paid_in_currency' => 'Facturi plătite (:currency)',
'box_bill_unpaid_in_currency' => 'Bills unpaid (:currency)', 'box_bill_unpaid_in_currency' => 'Facturi neplătite (:currency)',
'box_left_to_spend_in_currency' => 'Left to spend (:currency)', 'box_left_to_spend_in_currency' => 'Rămas de cheltuit (:currency)',
'box_net_worth_in_currency' => 'Net worth (:currency)', 'box_net_worth_in_currency' => 'Valoarea netă (:currency)',
'box_spend_per_day' => 'Left to spend per day: :amount', 'box_spend_per_day' => 'Rămas de cheltui pe zi: :amount',
]; ];

View File

@ -38,8 +38,8 @@ return [
'match' => 'Se potrivește', 'match' => 'Se potrivește',
'strict' => 'Modul strict', 'strict' => 'Modul strict',
'repeat_freq' => 'Repetă', 'repeat_freq' => 'Repetă',
'location' => 'Location', 'location' => 'Locație',
'update_channel' => 'Update channel', 'update_channel' => 'Actualizare canal',
'journal_currency_id' => 'Monedă', 'journal_currency_id' => 'Monedă',
'currency_id' => 'Monedă', 'currency_id' => 'Monedă',
'transaction_currency_id' => 'Monedă', 'transaction_currency_id' => 'Monedă',
@ -59,21 +59,21 @@ return [
'asset_source_account' => 'Contul sursă', 'asset_source_account' => 'Contul sursă',
'journal_description' => 'Descriere', 'journal_description' => 'Descriere',
'note' => 'Notițe', 'note' => 'Notițe',
'store_new_transaction' => 'Store new transaction', 'store_new_transaction' => 'Creați o nouă tranzacție',
'split_journal' => 'Împărțiți această tranzacție', 'split_journal' => 'Împărțiți această tranzacție',
'split_journal_explanation' => 'Împărțiți această tranzacție în mai multe părți', 'split_journal_explanation' => 'Împărțiți această tranzacție în mai multe părți',
'currency' => 'Monedă', 'currency' => 'Monedă',
'account_id' => 'Cont de active', 'account_id' => 'Cont de active',
'budget_id' => 'Buget', 'budget_id' => 'Buget',
'opening_balance' => 'Opening balance', 'opening_balance' => 'Soldul de deschidere',
'tagMode' => 'Mod de etichetare', 'tagMode' => 'Mod de etichetare',
'tag_position' => 'Locația etichetei', 'tag_position' => 'Locația etichetei',
'virtual_balance' => 'Virtual balance', 'virtual_balance' => 'Soldul virtual',
'targetamount' => 'Sumă țintă', 'targetamount' => 'Sumă țintă',
'account_role' => 'Account role', 'account_role' => 'Rolul contului',
'opening_balance_date' => 'Opening balance date', 'opening_balance_date' => 'Data soldului de deschidere',
'cc_type' => 'Credit card payment plan', 'cc_type' => 'Plan de plată cu card de credit',
'cc_monthly_payment_date' => 'Credit card monthly payment date', 'cc_monthly_payment_date' => 'Data plății lunare cu cartea de credit',
'piggy_bank_id' => 'Pușculită', 'piggy_bank_id' => 'Pușculită',
'returnHere' => 'Întoarce-te aici', 'returnHere' => 'Întoarce-te aici',
'returnHereExplanation' => 'După salvare, reveniți aici pentru a crea alta.', 'returnHereExplanation' => 'După salvare, reveniți aici pentru a crea alta.',
@ -121,7 +121,7 @@ return [
'symbol' => 'Simbol', 'symbol' => 'Simbol',
'code' => 'Cod', 'code' => 'Cod',
'iban' => 'IBAN', 'iban' => 'IBAN',
'account_number' => 'Account number', 'account_number' => 'Număr de cont',
'creditCardNumber' => 'Numărul cărții de credit', 'creditCardNumber' => 'Numărul cărții de credit',
'has_headers' => 'Antet', 'has_headers' => 'Antet',
'date_format' => 'Formatul datei', 'date_format' => 'Formatul datei',
@ -255,9 +255,9 @@ return [
'weekend' => 'Sfârșit de săptămână', 'weekend' => 'Sfârșit de săptămână',
'client_secret' => 'Codul secret al clientului', 'client_secret' => 'Codul secret al clientului',
'withdrawal_destination_id' => 'Destination account', 'withdrawal_destination_id' => 'Contul de destinație',
'deposit_source_id' => 'Source account', 'deposit_source_id' => 'Contul sursă',
'expected_on' => 'Expected on', 'expected_on' => 'Așteptat pe',
'paid' => 'Paid', 'paid' => 'Plătit',
]; ];

View File

@ -37,7 +37,7 @@ return [
'general_index_intro' => 'Bine ați venit la rutina de import Firefly III. Există câteva moduri de a importa date în Firefly III, afișate aici ca butoane.', 'general_index_intro' => 'Bine ați venit la rutina de import Firefly III. Există câteva moduri de a importa date în Firefly III, afișate aici ca butoane.',
// notices about the CSV importer: // notices about the CSV importer:
'deprecate_csv_import' => 'As outlined in <a href="https://www.patreon.com/posts/future-updates-30012174">this Patreon post</a>, the way Firefly III manages importing data is going to change. That means that the CSV importer will be moved to a new, separate tool. You can already beta-test this tool if you visit <a href="https://github.com/firefly-iii/csv-importer">this GitHub repository</a>. I would appreciate it if you would test the new importer and let me know what you think.', 'deprecate_csv_import' => 'După cum s-a subliniat în <a href="https://www.patreon.com/posts/future-updates-30012174"> această postare Patreon </a>, modul în care Firefly III gestionează importul de date se va schimba. Aceasta înseamnă că importatorul CSV va fi mutat într-un instrument nou, separat. Puteți deja testa acest instrument dacă accesați <a href="https://github.com/firefly-iii/csv-importer"> acest repository de pe GitHub </a>. Aș aprecia dacă ați testa noul importator și ați anunța ce credeți.',
// import provider strings (index): // import provider strings (index):
'button_fake' => 'Simulează un import', 'button_fake' => 'Simulează un import',
@ -213,8 +213,8 @@ Creați descrieri mai bune în exporturile ING',
'specific_pres_descr' => 'Remediază posibile probleme cu fișierele PC', 'specific_pres_descr' => 'Remediază posibile probleme cu fișierele PC',
'specific_belfius_name' => 'Belfius BE', 'specific_belfius_name' => 'Belfius BE',
'specific_belfius_descr' => 'Remediază posibile probleme cu fișierele Belfius', 'specific_belfius_descr' => 'Remediază posibile probleme cu fișierele Belfius',
'specific_ingbelgium_name' => 'ING BE', 'specific_ingbelgium_name' => 'ING Belgia',
'specific_ingbelgium_descr' => 'Fixes potential problems with ING Belgium files', 'specific_ingbelgium_descr' => 'Remediază posibile probleme cu fișierele ING Belgia',
// job configuration for file provider (stage: roles) // job configuration for file provider (stage: roles)
'job_config_roles_title' => 'Configurarea importului (3/4) - Definiți rolul fiecărei coloane', 'job_config_roles_title' => 'Configurarea importului (3/4) - Definiți rolul fiecărei coloane',
'job_config_roles_text' => 'Fiecare coloană din fișierul dvs. CSV conține anumite date. Vă rugăm să indicați ce fel de date ar trebui să aștepte importatorul. Opțiunea de a "mapa" datele înseamnă că veți conecta fiecare intrare găsită în coloană cu o valoare din baza dvs. de date. O coloană desenată de multe ori este coloana care conține IBAN-ul contului opus. Acest lucru poate fi ușor comparat cu prezența IBAN în baza dvs. de date.', 'job_config_roles_text' => 'Fiecare coloană din fișierul dvs. CSV conține anumite date. Vă rugăm să indicați ce fel de date ar trebui să aștepte importatorul. Opțiunea de a "mapa" datele înseamnă că veți conecta fiecare intrare găsită în coloană cu o valoare din baza dvs. de date. O coloană desenată de multe ori este coloana care conține IBAN-ul contului opus. Acest lucru poate fi ușor comparat cu prezența IBAN în baza dvs. de date.',
@ -315,6 +315,6 @@ Creați descrieri mai bune în exporturile ING',
'column_internal-reference' => 'Referință internă', 'column_internal-reference' => 'Referință internă',
// error message // error message
'duplicate_row' => 'Row #:row (":description") could not be imported. It already exists.', 'duplicate_row' => 'Rândul #:row (":description") nu a putut fi importat. Există deja.',
]; ];

View File

@ -30,28 +30,28 @@ return [
'index_help' => 'Dacă aveți nevoie vreodată de ajutor cu o pagină sau un formular, apăsați acest buton.', 'index_help' => 'Dacă aveți nevoie vreodată de ajutor cu o pagină sau un formular, apăsați acest buton.',
'index_outro' => 'Cele mai multe pagini ale Firefly III vor începe cu un mic tur ca acesta. Contactați-mă atunci când aveți întrebări sau comentarii. Bucurați-vă!', 'index_outro' => 'Cele mai multe pagini ale Firefly III vor începe cu un mic tur ca acesta. Contactați-mă atunci când aveți întrebări sau comentarii. Bucurați-vă!',
'index_sidebar-toggle' => 'Pentru a crea noi tranzacții, conturi sau alte lucruri, utilizați meniul de sub această pictogramă.', 'index_sidebar-toggle' => 'Pentru a crea noi tranzacții, conturi sau alte lucruri, utilizați meniul de sub această pictogramă.',
'index_cash_account' => 'These are the accounts created so far. You can use the cash account to track cash expenses but it\'s not mandatory of course.', 'index_cash_account' => 'Acestea sunt conturile create până acum. Puteți utiliza contul de numerar pentru a urmări cheltuielile cu numerar, dar nu este obligatoriu, desigur.',
// transactions (withdrawal) // transactions (withdrawal)
'transactions_create_withdrawal_source' => 'Select your favorite asset account or liability from this dropdown.', 'transactions_create_withdrawal_source' => 'Selectați contul sau provizionul preferat din acest dropdown.',
'transactions_create_withdrawal_destination' => 'Select an expense account here. Leave it empty if you want to make a cash expense.', 'transactions_create_withdrawal_destination' => 'Selectați aici un cont de cheltuieli. Lăsați-l gol dacă doriți să faceți o cheltuială cu numerar.',
'transactions_create_withdrawal_foreign_currency' => 'Use this field to set a foreign currency and amount.', 'transactions_create_withdrawal_foreign_currency' => 'Utilizați acest câmp pentru a seta o valută și o sumă străină.',
'transactions_create_withdrawal_more_meta' => 'Plenty of other meta data you set in these fields.', 'transactions_create_withdrawal_more_meta' => 'Ați setat o mulțime de alte meta-date în aceste câmpuri.',
'transactions_create_withdrawal_split_add' => 'If you want to split a transaction, add more splits with this button', 'transactions_create_withdrawal_split_add' => 'Dacă doriți să împărțiți o tranzacție, adăugați mai multe divizări cu acest buton',
// transactions (deposit) // transactions (deposit)
'transactions_create_deposit_source' => 'Select or type the payee in this auto-completing dropdown/textbox. Leave it empty if you want to make a cash deposit.', 'transactions_create_deposit_source' => 'Selectați sau tastați beneficiarul în această casetă de completare automată. Lasă-l gol dacă vrei să faci un depozit în numerar.',
'transactions_create_deposit_destination' => 'Select an asset or liability account here.', 'transactions_create_deposit_destination' => 'Selectați un cont de activ sau provizion aici.',
'transactions_create_deposit_foreign_currency' => 'Use this field to set a foreign currency and amount.', 'transactions_create_deposit_foreign_currency' => 'Utilizați acest câmp pentru a seta o valută și o sumă străină.',
'transactions_create_deposit_more_meta' => 'Plenty of other meta data you set in these fields.', 'transactions_create_deposit_more_meta' => 'Ați setat o mulțime de alte meta-date în aceste câmpuri.',
'transactions_create_deposit_split_add' => 'If you want to split a transaction, add more splits with this button', 'transactions_create_deposit_split_add' => 'Dacă doriți să împărțiți o tranzacție, adăugați mai multe divizări cu acest buton',
// transactions (transfer) // transactions (transfer)
'transactions_create_transfer_source' => 'Select the source asset account here.', 'transactions_create_transfer_source' => 'Selectați aici contul sursă.',
'transactions_create_transfer_destination' => 'Select the destination asset account here.', 'transactions_create_transfer_destination' => 'Selectați aici contul de destinație.',
'transactions_create_transfer_foreign_currency' => 'Use this field to set a foreign currency and amount.', 'transactions_create_transfer_foreign_currency' => 'Utilizați acest câmp pentru a seta o valută și o sumă străină.',
'transactions_create_transfer_more_meta' => 'Plenty of other meta data you set in these fields.', 'transactions_create_transfer_more_meta' => 'Ați setat o mulțime de alte meta-date în aceste câmpuri.',
'transactions_create_transfer_split_add' => 'If you want to split a transaction, add more splits with this button', 'transactions_create_transfer_split_add' => 'Dacă doriți să împărțiți o tranzacție, adăugați mai multe divizări cu acest buton',
// create account: // create account:
'accounts_create_iban' => 'Dați conturilor dvs. un IBAN valid. Acest lucru ar putea face ca importul de date să fie foarte ușor în viitor.', 'accounts_create_iban' => 'Dați conturilor dvs. un IBAN valid. Acest lucru ar putea face ca importul de date să fie foarte ușor în viitor.',

View File

@ -36,13 +36,13 @@ return [
'currentBalance' => 'Sold curent', 'currentBalance' => 'Sold curent',
'linked_to_rules' => 'Reguli relevante', 'linked_to_rules' => 'Reguli relevante',
'active' => 'Este activ?', 'active' => 'Este activ?',
'percentage' => 'pct.', 'percentage' => 'procent %',
'next_due' => 'Next due', 'next_due' => 'Următoarea scadență',
'transaction_type' => 'Type', 'transaction_type' => 'Tip',
'lastActivity' => 'Ultima activitate', 'lastActivity' => 'Ultima activitate',
'balanceDiff' => 'Diferența de sold', 'balanceDiff' => 'Diferența de sold',
'matchesOn' => 'Se potrivește', 'matchesOn' => 'Se potrivește',
'other_meta_data' => 'Other meta data', 'other_meta_data' => 'Alte meta-date',
'account_type' => 'Tip de cont', 'account_type' => 'Tip de cont',
'created_at' => 'Creat la', 'created_at' => 'Creat la',
'account' => 'Cont', 'account' => 'Cont',
@ -105,7 +105,7 @@ return [
'sum_withdrawals' => 'Suma retragerilor', 'sum_withdrawals' => 'Suma retragerilor',
'sum_deposits' => 'Suma depozitelor', 'sum_deposits' => 'Suma depozitelor',
'sum_transfers' => 'Suma transferurilor', 'sum_transfers' => 'Suma transferurilor',
'sum_reconciliations' => 'Sum of reconciliations', 'sum_reconciliations' => 'Suma împăcărilor',
'reconcile' => 'Reconcilia', 'reconcile' => 'Reconcilia',
'account_on_spectre' => 'Cont (Spectre)', 'account_on_spectre' => 'Cont (Spectre)',
'account_on_ynab' => 'Cont (YNAB)', 'account_on_ynab' => 'Cont (YNAB)',

View File

@ -45,8 +45,8 @@ return [
'at_least_one_repetition' => 'Aveți nevoie de cel puțin o repetare.', 'at_least_one_repetition' => 'Aveți nevoie de cel puțin o repetare.',
'require_repeat_until' => 'Solicitați fie un număr de repetări, fie o dată de încheiere (repeat_until). Nu amândouă.', 'require_repeat_until' => 'Solicitați fie un număr de repetări, fie o dată de încheiere (repeat_until). Nu amândouă.',
'require_currency_info' => 'Conținutul acestui câmp este nevalid fără informații despre monedă.', 'require_currency_info' => 'Conținutul acestui câmp este nevalid fără informații despre monedă.',
'not_transfer_account' => 'This account is not an account that can be used for transfers.', 'not_transfer_account' => 'Acest cont nu este un cont care poate fi utilizat pentru transferuri.',
'require_currency_amount' => 'The content of this field is invalid without foreign amount information.', 'require_currency_amount' => 'Conținutul acestui câmp este nevalid fără informații despre monedă.',
'equal_description' => 'Descrierea tranzacției nu trebuie să fie egală cu descrierea globală.', 'equal_description' => 'Descrierea tranzacției nu trebuie să fie egală cu descrierea globală.',
'file_invalid_mime' => 'Fișierul ":name" este de tip ":mime" și nu este acceptat ca o încărcare nouă.', 'file_invalid_mime' => 'Fișierul ":name" este de tip ":mime" și nu este acceptat ca o încărcare nouă.',
'file_too_large' => 'Fișierul ":name" este prea mare.', 'file_too_large' => 'Fișierul ":name" este prea mare.',
@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Regula trebuie să aibă cel puțin o acțiune.', 'at_least_one_action' => 'Regula trebuie să aibă cel puțin o acțiune.',
'base64' => 'Acest lucru nu este valabil pentru datele encoded base64.', 'base64' => 'Acest lucru nu este valabil pentru datele encoded base64.',
'model_id_invalid' => 'ID-ul dat nu pare valid pentru acest model.', 'model_id_invalid' => 'ID-ul dat nu pare valid pentru acest model.',
'more' => ':attribute trebuie să fie mai mare decât zero.', 'more' => ':attribute trebuie să fie mai mare decât ":more".',
'less' => ':attribute trebuie să fie mai mic decât 10,000,000', 'less' => ':attribute trebuie să fie mai mic decât 10,000,000',
'active_url' => ':attribute nu este o adresă URL validă.', 'active_url' => ':attribute nu este o adresă URL validă.',
'after' => ':attribute trebuie să fie o dată ulterioară :date.', 'after' => ':attribute trebuie să fie o dată ulterioară :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute trebuie să fie un șir de caractere.', 'string' => ':attribute trebuie să fie un șir de caractere.',
'url' => ':attribute format este invalid.', 'url' => ':attribute format este invalid.',
'timezone' => ':attribute trebuie să fie o zonă validă.', 'timezone' => ':attribute trebuie să fie o zonă validă.',
'2fa_code' => 'Câmpul :attribute este invalid.', '2fa_code' => 'Câmpul :attribute este invalid.',
'dimensions' => ':attribute are dimensiuni de imagine nevalide.', 'dimensions' => ':attribute are dimensiuni de imagine nevalide.',
'distinct' => 'Câmpul :attribute are o valoare duplicată.', 'distinct' => 'Câmpul :attribute are o valoare duplicată.',
'file' => ':attribute trebuie să fie un fișier.', 'file' => ':attribute trebuie să fie un fișier.',
'in_array' => 'Câmpul :attribute nu există în :other.', 'in_array' => 'Câmpul :attribute nu există în :other.',
'present' => 'Câmpul :attribute trebuie să fie prezent.', 'present' => 'Câmpul :attribute trebuie să fie prezent.',
'amount_zero' => 'Suma totală nu poate fi zero.', 'amount_zero' => 'Suma totală nu poate fi zero.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'Suma curentă trebuie să fie mai mică decât suma vizată.',
'unique_piggy_bank_for_user' => 'Numele pușculiței trebuie să fie unic.', 'unique_piggy_bank_for_user' => 'Numele pușculiței trebuie să fie unic.',
'secure_password' => 'Aceasta nu este o parolă sigură. Vă rugăm să încercați din nou. Pentru mai multe informații, vizitați https://bit.ly/FF3-password-security', 'secure_password' => 'Aceasta nu este o parolă sigură. Vă rugăm să încercați din nou. Pentru mai multe informații, vizitați https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Tip de repetare nevalid pentru tranzacțiile recurente.', 'valid_recurrence_rep_type' => 'Tip de repetare nevalid pentru tranzacțiile recurente.',
'valid_recurrence_rep_moment' => 'Momentul repetiției nevalid pentru acest tip de repetare.', 'valid_recurrence_rep_moment' => 'Momentul repetiției nevalid pentru acest tip de repetare.',
'invalid_account_info' => 'Informațiile contului nevalide.', 'invalid_account_info' => 'Informațiile contului nevalide.',
'attributes' => [ 'attributes' => [
'email' => 'adresă e-mail', 'email' => 'adresă e-mail',
'description' => 'descriere', 'description' => 'descriere',
@ -141,8 +141,8 @@ return [
'name' => 'nume', 'name' => 'nume',
'piggy_bank_id' => 'ID-ul pușculiței', 'piggy_bank_id' => 'ID-ul pușculiței',
'targetamount' => 'suma țintă', 'targetamount' => 'suma țintă',
'opening_balance_date' => 'opening balance date', 'opening_balance_date' => 'data de deschidere a soldului',
'opening_balance' => 'opening balance', 'opening_balance' => 'soldul de deschidere',
'match' => 'potrivire', 'match' => 'potrivire',
'amount_min' => 'suma minimă', 'amount_min' => 'suma minimă',
'amount_max' => 'suma maximă', 'amount_max' => 'suma maximă',
@ -175,24 +175,29 @@ return [
'withdrawal_source_need_data' => 'Trebuie să continuați să obțineți un ID de cont sursă valabil și / sau un nume de cont sursă valabil.', 'withdrawal_source_need_data' => 'Trebuie să continuați să obțineți un ID de cont sursă valabil și / sau un nume de cont sursă valabil.',
'withdrawal_source_bad_data' => 'Nu s-a găsit un cont sursă valabil la căutarea ID ":id" sau nume ":name".', 'withdrawal_source_bad_data' => 'Nu s-a găsit un cont sursă valabil la căutarea ID ":id" sau nume ":name".',
'withdrawal_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.', 'withdrawal_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.',
'withdrawal_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'withdrawal_dest_bad_data' => 'Nu s-a găsit un cont de destinaţie valabil la căutarea ID ":id" sau nume ":name".',
'deposit_source_need_data' => 'Trebuie să continuați să obțineți un ID de cont sursă valabil și / sau un nume de cont sursă valabil.', 'deposit_source_need_data' => 'Trebuie să continuați să obțineți un ID de cont sursă valabil și / sau un nume de cont sursă valabil.',
'deposit_source_bad_data' => 'Nu s-a găsit un cont sursă valabil la căutarea ID ":id" sau nume ":name".', 'deposit_source_bad_data' => 'Nu s-a găsit un cont sursă valabil la căutarea ID ":id" sau nume ":name".',
'deposit_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.', 'deposit_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.',
'deposit_dest_bad_data' => 'Nu s-a găsit un cont de destinaţie valabil la căutarea ID ":id" sau nume ":name".', 'deposit_dest_bad_data' => 'Nu s-a găsit un cont de destinaţie valabil la căutarea ID ":id" sau nume ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'Contul de destinație trimis nu este de tipul potrivit.',
'transfer_source_need_data' => 'Trebuie să continuați să obțineți un ID de cont sursă valabil și / sau un nume de cont sursă valabil.', 'transfer_source_need_data' => 'Trebuie să continuați să obțineți un ID de cont sursă valabil și / sau un nume de cont sursă valabil.',
'transfer_source_bad_data' => 'Nu s-a găsit un cont sursă valabil la căutarea ID ":id" sau nume ":name".', 'transfer_source_bad_data' => 'Nu s-a găsit un cont sursă valabil la căutarea ID ":id" sau nume ":name".',
'transfer_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.', 'transfer_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.',
'transfer_dest_bad_data' => 'Nu s-a găsit un cont de destinaţie valabil la căutarea ID ":id" sau nume ":name".', 'transfer_dest_bad_data' => 'Nu s-a găsit un cont de destinaţie valabil la căutarea ID ":id" sau nume ":name".',
'need_id_in_edit' => 'Each split must have transaction_journal_id (either valid ID or 0).', 'need_id_in_edit' => 'Fiecare împărțire trebuie să aibă transaction_journal_id (fie ID valid sau 0).',
'ob_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'ob_source_need_data' => 'Pentru a continua, trebuie să obțineți un ID sursă validă și / sau un nume valid al contului sursă valabil.',
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Trebuie să continuați să obțineți un ID de cont de destinație valabil și / sau un nume de cont de destinație valabil.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Nu s-a găsit un cont de destinaţie valabil la căutarea ID ":id" sau nume ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'Nu puteți utiliza acest cont ca și cont sursă.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'Nu puteți utiliza acest cont ca și cont de destinație.',
'gte.numeric' => ':attribute trebuie să fie mai mare sau egal cu :value.',
'gte.file' => ':attribute trebuie să fie mai mare sau egal cu :value kilobytes.',
'gte.string' => ':attribute trebuie să fie mai mare sau egal cu :value caractere.',
'gte.array' => ':attribute trebuie sa aiba :value valori sau mai multe.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Правило должно иметь хотя бы одно действие.', 'at_least_one_action' => 'Правило должно иметь хотя бы одно действие.',
'base64' => 'Это некорректный формат для данных, зашифрованных с помощью base64.', 'base64' => 'Это некорректный формат для данных, зашифрованных с помощью base64.',
'model_id_invalid' => 'Данный ID кажется недопустимым для этой модели.', 'model_id_invalid' => 'Данный ID кажется недопустимым для этой модели.',
'more' => ':attribute должен быть больше нуля.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute должен быть меньше 10,000,000', 'less' => ':attribute должен быть меньше 10,000,000',
'active_url' => ':attribute не является допустимым URL-адресом.', 'active_url' => ':attribute не является допустимым URL-адресом.',
'after' => ':attribute должна быть позже :date.', 'after' => ':attribute должна быть позже :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Значение :attribute должно быть строкой.', 'string' => 'Значение :attribute должно быть строкой.',
'url' => 'Неверный формат ввода :attribute.', 'url' => 'Неверный формат ввода :attribute.',
'timezone' => ':attribute должен быть в допустимом диапазоне.', 'timezone' => ':attribute должен быть в допустимом диапазоне.',
'2fa_code' => ':attribute введен неверно.', '2fa_code' => ':attribute введен неверно.',
'dimensions' => 'Недопустимые размеры изображения :attribute.', 'dimensions' => 'Недопустимые размеры изображения :attribute.',
'distinct' => 'Поле :attribute содержит повторяющееся значение.', 'distinct' => 'Поле :attribute содержит повторяющееся значение.',
'file' => ':attribute должен быть файлом.', 'file' => ':attribute должен быть файлом.',
'in_array' => 'Поле :attribute не существует в :other.', 'in_array' => 'Поле :attribute не существует в :other.',
'present' => 'Поле :attribute должно быть заполнено.', 'present' => 'Поле :attribute должно быть заполнено.',
'amount_zero' => 'Сумма не может быть равна нулю.', 'amount_zero' => 'Сумма не может быть равна нулю.',
'current_target_amount' => 'Текущая сумма должна быть меньше целевой суммы.', 'current_target_amount' => 'Текущая сумма должна быть меньше целевой суммы.',
'unique_piggy_bank_for_user' => 'Название копилки должно быть уникальным.', 'unique_piggy_bank_for_user' => 'Название копилки должно быть уникальным.',
'secure_password' => 'Это не безопасный пароль. Попробуйте еще раз. Подробнее можно узнать по ссылке https://bit.ly/FF3-password-security', 'secure_password' => 'Это не безопасный пароль. Попробуйте еще раз. Подробнее можно узнать по ссылке https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Недопустимый тип для повторяющихся транзакций.', 'valid_recurrence_rep_type' => 'Недопустимый тип для повторяющихся транзакций.',
'valid_recurrence_rep_moment' => 'Неверный период повторения для данного типа повторений.', 'valid_recurrence_rep_moment' => 'Неверный период повторения для данного типа повторений.',
'invalid_account_info' => 'Неверные данные о счёте.', 'invalid_account_info' => 'Неверные данные о счёте.',
'attributes' => [ 'attributes' => [
'email' => '"Адрес электронной почты"', 'email' => '"Адрес электронной почты"',
'description' => '"Описание"', 'description' => '"Описание"',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Не удалось найти корректный счёт-источник при поиске ID ":id" или имени ":name".', 'deposit_source_bad_data' => 'Не удалось найти корректный счёт-источник при поиске ID ":id" или имени ":name".',
'deposit_dest_need_data' => 'Для продолжения необходим действительный ID счёта назначения и/или действительное имя счёта.', 'deposit_dest_need_data' => 'Для продолжения необходим действительный ID счёта назначения и/или действительное имя счёта.',
'deposit_dest_bad_data' => 'Не удалось найти действительный счёт назначения при поиске ID ":id" или имени ":name".', 'deposit_dest_bad_data' => 'Не удалось найти действительный счёт назначения при поиске ID ":id" или имени ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Для продолжения необходим действительный ID счёта-источника и/или действительное имя счёта.', 'transfer_source_need_data' => 'Для продолжения необходим действительный ID счёта-источника и/или действительное имя счёта.',
'transfer_source_bad_data' => 'Не удалось найти корректный счёт-источник при поиске ID ":id" или имени ":name".', 'transfer_source_bad_data' => 'Не удалось найти корректный счёт-источник при поиске ID ":id" или имени ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Для продолжения необходим действительный ID счёта назначения и/или действительное имя счёта.', 'ob_dest_need_data' => 'Для продолжения необходим действительный ID счёта назначения и/или действительное имя счёта.',
'ob_dest_bad_data' => 'Не удалось найти действительный счёт назначения при поиске ID ":id" или имени ":name".', 'ob_dest_bad_data' => 'Не удалось найти действительный счёт назначения при поиске ID ":id" или имени ":name".',
'generic_invalid_source' => 'Вы не можете использовать этот счёт в качестве счёта-источника.', 'generic_invalid_source' => 'Вы не можете использовать этот счёт в качестве счёта-источника.',
'generic_invalid_destination' => 'Вы не можете использовать этот счёт в качестве счёта назначения.', 'generic_invalid_destination' => 'Вы не можете использовать этот счёт в качестве счёта назначения.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Regel måste ha minst en åtgärd.', 'at_least_one_action' => 'Regel måste ha minst en åtgärd.',
'base64' => 'Detta är inte giltigt bas64 data.', 'base64' => 'Detta är inte giltigt bas64 data.',
'model_id_invalid' => 'Angivet ID verkar ogiltig för denna modell.', 'model_id_invalid' => 'Angivet ID verkar ogiltig för denna modell.',
'more' => ':attribute måste vara större än noll.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute måste vara mindre än 10 000 000', 'less' => ':attribute måste vara mindre än 10 000 000',
'active_url' => ':attribute är inte en giltig URL.', 'active_url' => ':attribute är inte en giltig URL.',
'after' => ':attribute måste vara ett datum efter :date.', 'after' => ':attribute måste vara ett datum efter :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute måste vara en sträng.', 'string' => ':attribute måste vara en sträng.',
'url' => ':attribute formatet är ogiltigt.', 'url' => ':attribute formatet är ogiltigt.',
'timezone' => ':attribute måste vara en giltig zon.', 'timezone' => ':attribute måste vara en giltig zon.',
'2fa_code' => ':attribute fältet är ogiltigt.', '2fa_code' => ':attribute fältet är ogiltigt.',
'dimensions' => ':attribute har ogiltiga bilddimensioner.', 'dimensions' => ':attribute har ogiltiga bilddimensioner.',
'distinct' => ':attribute fältet har ett dubbelt värde.', 'distinct' => ':attribute fältet har ett dubbelt värde.',
'file' => ':attribute måste vara en fil.', 'file' => ':attribute måste vara en fil.',
'in_array' => ':attribute fältet existerar inte i :other.', 'in_array' => ':attribute fältet existerar inte i :other.',
'present' => ':attribute fältet måste vara synligt.', 'present' => ':attribute fältet måste vara synligt.',
'amount_zero' => 'Totala värdet kan inte vara noll.', 'amount_zero' => 'Totala värdet kan inte vara noll.',
'current_target_amount' => 'Det nuvarande beloppet måste vara mindre än målbeloppet.', 'current_target_amount' => 'Det nuvarande beloppet måste vara mindre än målbeloppet.',
'unique_piggy_bank_for_user' => 'Namnet på spargrisen måste vara unikt.', 'unique_piggy_bank_for_user' => 'Namnet på spargrisen måste vara unikt.',
'secure_password' => 'Detta lösenord är inte säkert. Vänligen försök igen. För mer info se https://bit.ly/FF3-password-security', 'secure_password' => 'Detta lösenord är inte säkert. Vänligen försök igen. För mer info se https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Ogiltig repetitionstyp får återkommande transaktioner.', 'valid_recurrence_rep_type' => 'Ogiltig repetitionstyp får återkommande transaktioner.',
'valid_recurrence_rep_moment' => 'Ogiltig repetitionsmoment för denna typ av repetition.', 'valid_recurrence_rep_moment' => 'Ogiltig repetitionsmoment för denna typ av repetition.',
'invalid_account_info' => 'Ogiltig kontoinformation.', 'invalid_account_info' => 'Ogiltig kontoinformation.',
'attributes' => [ 'attributes' => [
'email' => 'e-postadress', 'email' => 'e-postadress',
'description' => 'beskrivning', 'description' => 'beskrivning',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".', 'deposit_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".',
'deposit_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.', 'deposit_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.',
'deposit_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".', 'deposit_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".',
'deposit_dest_wrong_type' => 'Det inskickade destinationskontot är inte av rätt typ.', 'deposit_dest_wrong_type' => 'Det inskickade destinationskontot är inte av rätt typ.',
'transfer_source_need_data' => 'Ett giltigt källkonto-ID och/eller ett giltigt källkontonamn behövs för att gå vidare.', 'transfer_source_need_data' => 'Ett giltigt källkonto-ID och/eller ett giltigt källkontonamn behövs för att gå vidare.',
'transfer_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".', 'transfer_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.', 'ob_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.',
'ob_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".', 'ob_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".',
'generic_invalid_source' => 'Det går inte att använda detta konto som källkonto.', 'generic_invalid_source' => 'Det går inte att använda detta konto som källkonto.',
'generic_invalid_destination' => 'Det går inte att använda detta konto som mottagarkonto.', 'generic_invalid_destination' => 'Det går inte att använda detta konto som mottagarkonto.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Kural en az bir eylem olması gerekir.', 'at_least_one_action' => 'Kural en az bir eylem olması gerekir.',
'base64' => 'Bu geçerli Base64 olarak kodlanmış veri değildir.', 'base64' => 'Bu geçerli Base64 olarak kodlanmış veri değildir.',
'model_id_invalid' => 'Verilen kimlik bu model için geçersiz görünüyor.', 'model_id_invalid' => 'Verilen kimlik bu model için geçersiz görünüyor.',
'more' => ':attribute sıfırdan büyük olmak zorundadır.', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute 10.000.000 den daha az olmalıdır', 'less' => ':attribute 10.000.000 den daha az olmalıdır',
'active_url' => ':attribute geçerli bir URL değil.', 'active_url' => ':attribute geçerli bir URL değil.',
'after' => ':attribute :date tarihinden sonrası için tarihlendirilmelidir.', 'after' => ':attribute :date tarihinden sonrası için tarihlendirilmelidir.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute bir dizi olmalıdır.', 'string' => ':attribute bir dizi olmalıdır.',
'url' => ':attribute biçimi geçersiz.', 'url' => ':attribute biçimi geçersiz.',
'timezone' => ':attribute geçerli bir bölge olmalıdır.', 'timezone' => ':attribute geçerli bir bölge olmalıdır.',
'2fa_code' => ':attribute alanı geçersiz.', '2fa_code' => ':attribute alanı geçersiz.',
'dimensions' => ':attribute geçersiz görüntü boyutlarına sahip.', 'dimensions' => ':attribute geçersiz görüntü boyutlarına sahip.',
'distinct' => ':attribute alanı yinelenen bir değere sahip.', 'distinct' => ':attribute alanı yinelenen bir değere sahip.',
'file' => ':attribute bir dosya olmalıdır.', 'file' => ':attribute bir dosya olmalıdır.',
'in_array' => ':attribute alanı :other içinde olamaz.', 'in_array' => ':attribute alanı :other içinde olamaz.',
'present' => ':attribute alanı mevcut olmalıdır.', 'present' => ':attribute alanı mevcut olmalıdır.',
'amount_zero' => 'Toplam tutarı sıfır olamaz.', 'amount_zero' => 'Toplam tutarı sıfır olamaz.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => 'Kumbara adı benzersiz olmalıdır.', 'unique_piggy_bank_for_user' => 'Kumbara adı benzersiz olmalıdır.',
'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password-security', 'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Invalid repetition type for recurring transactions.', 'valid_recurrence_rep_type' => 'Invalid repetition type for recurring transactions.',
'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.', 'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Invalid account information.', 'invalid_account_info' => 'Invalid account information.',
'attributes' => [ 'attributes' => [
'email' => 'E-posta adresi', 'email' => 'E-posta adresi',
'description' => 'Açıklama', 'description' => 'Açıklama',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -138,7 +138,7 @@ return [
'budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start 至 :end 的所有交易', 'budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start 至 :end 的所有交易',
'chart_budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start 至 :end 的所有交易的图表', 'chart_budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start 至 :end 的所有交易的图表',
'chart_budget_in_period_only_currency' => '您的预算金额以 :currency 显示 ,因此此图表将以 :currency 显示交易。', 'chart_budget_in_period_only_currency' => '您的预算金额以 :currency 显示 ,因此此图表将以 :currency 显示交易。',
'chart_account_in_period' => 'Chart for all transactions for account ":name" (:balance) between :start and :end', 'chart_account_in_period' => '帐户「:name」( :balance ) 自 :start 至 :end 所有交易的图表',
'chart_category_in_period' => '分类「:name」自 :start 至 :end 的所有交易图表', 'chart_category_in_period' => '分类「:name」自 :start 至 :end 的所有交易图表',
'chart_category_all' => '分类「:name」的所有交易图表', 'chart_category_all' => '分类「:name」的所有交易图表',
'clone_withdrawal' => '复製此提款', 'clone_withdrawal' => '复製此提款',
@ -356,14 +356,14 @@ return [
'rule_trigger_from_account_starts_choice' => '来源帐户名开头为…', 'rule_trigger_from_account_starts_choice' => '来源帐户名开头为…',
'rule_trigger_from_account_starts' => '来源帐户开头为 ":trigger_value"', 'rule_trigger_from_account_starts' => '来源帐户开头为 ":trigger_value"',
'rule_trigger_from_account_ends_choice' => '来源帐户结尾为…', 'rule_trigger_from_account_ends_choice' => '来源帐户结尾为…',
'rule_trigger_from_account_ends' => 'Source account name ends with ":trigger_value"', 'rule_trigger_from_account_ends' => '源账户名以“:tenger_value”结尾。',
'rule_trigger_from_account_is_choice' => 'Source account name is..', 'rule_trigger_from_account_is_choice' => '源账户名称是...',
'rule_trigger_from_account_is' => 'Source account name is ":trigger_value"', 'rule_trigger_from_account_is' => '源账户名称为“:tenger_value”',
'rule_trigger_from_account_contains_choice' => 'Source account name contains..', 'rule_trigger_from_account_contains_choice' => '源账户名称包含...',
'rule_trigger_from_account_contains' => 'Source account name contains ":trigger_value"', 'rule_trigger_from_account_contains' => '源账户名称包含 ":tenger_value"',
'rule_trigger_from_account_nr_starts_choice' => 'Source account number / IBAN starts with..', 'rule_trigger_from_account_nr_starts_choice' => '源帐号/IBAN开头为...',
'rule_trigger_from_account_nr_starts' => 'Source account number / IBAN starts with ":trigger_value"', 'rule_trigger_from_account_nr_starts' => '源帐号/IBAN开头为":trigger_value"...',
'rule_trigger_from_account_nr_ends_choice' => 'Source account number / IBAN ends with..', 'rule_trigger_from_account_nr_ends_choice' => 'Source account number / IBAN ends with..',
'rule_trigger_from_account_nr_ends' => 'Source account number / IBAN ends with ":trigger_value"', 'rule_trigger_from_account_nr_ends' => 'Source account number / IBAN ends with ":trigger_value"',
'rule_trigger_from_account_nr_is_choice' => 'Source account number / IBAN is..', 'rule_trigger_from_account_nr_is_choice' => 'Source account number / IBAN is..',

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => '规则必须至少有一个动作。', 'at_least_one_action' => '规则必须至少有一个动作。',
'base64' => '这不是有效的 base64 编码资料。', 'base64' => '这不是有效的 base64 编码资料。',
'model_id_invalid' => '指定的 ID 对于此模型似乎无效。', 'model_id_invalid' => '指定的 ID 对于此模型似乎无效。',
'more' => ':attribute 必须大于。', 'more' => ':attribute 必须大于“:more”。',
'less' => ':attribute 必须小于 10,000,000。', 'less' => ':attribute 必须小于 10,000,000。',
'active_url' => ':attribute 不是有效的URL。', 'active_url' => ':attribute 不是有效的URL。',
'after' => ':attribute 必须是一个在 :date 之后的日期。', 'after' => ':attribute 必须是一个在 :date 之后的日期。',
@ -121,19 +121,19 @@ return [
'string' => ':attribute 必须是字串。', 'string' => ':attribute 必须是字串。',
'url' => ':attribute 格式无效。', 'url' => ':attribute 格式无效。',
'timezone' => ':attribute 必须是有效的区域。', 'timezone' => ':attribute 必须是有效的区域。',
'2fa_code' => ':attribute 栏位是无效的。', '2fa_code' => ':attribute 栏位是无效的。',
'dimensions' => ':attribute 具有无效图片尺寸。', 'dimensions' => ':attribute 具有无效图片尺寸。',
'distinct' => ':attribute 栏位有重复值。', 'distinct' => ':attribute 栏位有重复值。',
'file' => ':attribute 必须是档案。', 'file' => ':attribute 必须是档案。',
'in_array' => ':attribute 栏位不存在于 :other。', 'in_array' => ':attribute 栏位不存在于 :other。',
'present' => ':attribute 栏位必须存在。', 'present' => ':attribute 栏位必须存在。',
'amount_zero' => '总金额不能为零。', 'amount_zero' => '总金额不能为零。',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => '存钱罐的名称必须是独一无二的。', 'unique_piggy_bank_for_user' => '存钱罐的名称必须是独一无二的。',
'secure_password' => '这不是一个安全的密码,请重试一次。如需更多讯息,请访问 https://bit.ly/FF3-password-security', 'secure_password' => '这不是一个安全的密码,请重试一次。如需更多讯息,请访问 https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => '对定期重复交易是无效的重复类型。', 'valid_recurrence_rep_type' => '对定期重复交易是无效的重复类型。',
'valid_recurrence_rep_moment' => '对此重复类型是无效的重复时刻。', 'valid_recurrence_rep_moment' => '对此重复类型是无效的重复时刻。',
'invalid_account_info' => '无效的帐户资讯。', 'invalid_account_info' => '无效的帐户资讯。',
'attributes' => [ 'attributes' => [
'email' => '电子邮件地址', 'email' => '电子邮件地址',
'description' => '描述', 'description' => '描述',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的来源帐户。', 'deposit_source_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的来源帐户。',
'deposit_dest_need_data' => '需要一个有效的目标账户ID和/或目标账户名称才能继续。', 'deposit_dest_need_data' => '需要一个有效的目标账户ID和/或目标账户名称才能继续。',
'deposit_dest_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的目标帐户。', 'deposit_dest_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的目标帐户。',
'deposit_dest_wrong_type' => '提交的目标帐户不是正确的类型。', 'deposit_dest_wrong_type' => '提交的目标帐户不是正确的类型。',
'transfer_source_need_data' => '需要一个有效的来源账户ID和/或来源账户名称才能继续。', 'transfer_source_need_data' => '需要一个有效的来源账户ID和/或来源账户名称才能继续。',
'transfer_source_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的来源帐户。', 'transfer_source_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的来源帐户。',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => ':attribute 必须大于或等于 :value.',
'gte.file' => ':attribute 必须大于或等于 :value Kb',
'gte.string' => ':attribute 必须大于或等于 :value 字符。',
'gte.array' => ':attribute 必须具有 :value 项或更多',
]; ];

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => '規則必須至少有一個動作。', 'at_least_one_action' => '規則必須至少有一個動作。',
'base64' => '這不是有效的 base64 編碼資料。', 'base64' => '這不是有效的 base64 編碼資料。',
'model_id_invalid' => '指定的 ID 對於此模型似乎無效。', 'model_id_invalid' => '指定的 ID 對於此模型似乎無效。',
'more' => ':attribute 必須大於零。', 'more' => ':attribute must be larger than ":more".',
'less' => ':attribute 必須小於 10,000,000。', 'less' => ':attribute 必須小於 10,000,000。',
'active_url' => ':attribute 不是有效的 URL。', 'active_url' => ':attribute 不是有效的 URL。',
'after' => ':attribute 必須是一個在 :date 之後的日期。', 'after' => ':attribute 必須是一個在 :date 之後的日期。',
@ -121,19 +121,19 @@ return [
'string' => ':attribute 必須是字串。', 'string' => ':attribute 必須是字串。',
'url' => ':attribute 格式無效。', 'url' => ':attribute 格式無效。',
'timezone' => ':attribute 必須是有效的時區。', 'timezone' => ':attribute 必須是有效的時區。',
'2fa_code' => '欄位 :attribute 無效。', '2fa_code' => '欄位 :attribute 無效。',
'dimensions' => ':attribute 圖片尺寸無效。', 'dimensions' => ':attribute 圖片尺寸無效。',
'distinct' => '欄位 :attribute 有重複值。', 'distinct' => '欄位 :attribute 有重複值。',
'file' => ':attribute 必須是檔案。', 'file' => ':attribute 必須是檔案。',
'in_array' => '欄位 :attribute 不存在於 :other。', 'in_array' => '欄位 :attribute 不存在於 :other。',
'present' => ':attribute 欄位必須存在。', 'present' => ':attribute 欄位必須存在。',
'amount_zero' => '總金額不能為零。', 'amount_zero' => '總金額不能為零。',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => '小豬撲滿的名稱必須是獨一無二的。', 'unique_piggy_bank_for_user' => '小豬撲滿的名稱必須是獨一無二的。',
'secure_password' => '此密碼不安全,請再試一遍。如需更多資訊,請瀏覽 https://bit.ly/FF3-password-security', 'secure_password' => '此密碼不安全,請再試一遍。如需更多資訊,請瀏覽 https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => '定期重複交易的重複類型無效。', 'valid_recurrence_rep_type' => '定期重複交易的重複類型無效。',
'valid_recurrence_rep_moment' => '重複時刻在此重複類型無效。', 'valid_recurrence_rep_moment' => '重複時刻在此重複類型無效。',
'invalid_account_info' => '無效的帳戶資訊。', 'invalid_account_info' => '無效的帳戶資訊。',
'attributes' => [ 'attributes' => [
'email' => '電子郵件地址', 'email' => '電子郵件地址',
'description' => '描述', 'description' => '描述',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的來源帳戶。', 'deposit_source_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的來源帳戶。',
'deposit_dest_need_data' => '需要有效的目標帳戶 ID 及/或有效的目標帳戶名稱才能繼續。', 'deposit_dest_need_data' => '需要有效的目標帳戶 ID 及/或有效的目標帳戶名稱才能繼續。',
'deposit_dest_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的目標帳戶。', 'deposit_dest_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的目標帳戶。',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.',
'transfer_source_need_data' => '需要有效的來源帳戶 ID 及/或有效的來源帳戶名稱才能繼續。', 'transfer_source_need_data' => '需要有效的來源帳戶 ID 及/或有效的來源帳戶名稱才能繼續。',
'transfer_source_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的來源帳戶。', 'transfer_source_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的來源帳戶。',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => '需要有效的目標帳戶 ID 及/或有效的目標帳戶名稱才能繼續。', 'ob_dest_need_data' => '需要有效的目標帳戶 ID 及/或有效的目標帳戶名稱才能繼續。',
'ob_dest_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的目標帳戶。', 'ob_dest_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的目標帳戶。',
'generic_invalid_source' => 'You can\'t use this account as the source account.', 'generic_invalid_source' => 'You can\'t use this account as the source account.',
'generic_invalid_destination' => 'You can\'t use this account as the destination account.', 'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
'gte.file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'gte.string' => 'The :attribute must be greater than or equal to :value characters.',
'gte.array' => 'The :attribute must have :value items or more.',
]; ];

View File

@ -4,7 +4,7 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<!-- set location data high up --> <!-- set location data high up -->
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var locations = {{ locations|json_encode|raw }}; var locations = {{ locations|json_encode|raw }};
var mapboxToken = "{{ config('firefly.mapbox_api_key') }}"; var mapboxToken = "{{ config('firefly.mapbox_api_key') }}";
</script> </script>
@ -82,10 +82,10 @@
</form> </form>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}"></script> <script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/accounts/create.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/accounts/create.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}

View File

@ -6,7 +6,7 @@
{% block content %} {% block content %}
<!-- set location data high up --> <!-- set location data high up -->
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var locations = {{ locations|json_encode|raw }}; var locations = {{ locations|json_encode|raw }};
var mapboxToken = "{{ config('firefly.mapbox_api_key') }}"; var mapboxToken = "{{ config('firefly.mapbox_api_key') }}";
</script> </script>
@ -105,10 +105,10 @@
{{ Form.close|raw }} {{ Form.close|raw }}
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}"></script> <script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/accounts/edit.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/accounts/edit.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}

View File

@ -75,8 +75,8 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var objectType = '{{ objectType|escape }}'; var objectType = '{{ objectType|escape }}';
</script> </script>
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -93,21 +93,21 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var what = "{{ what }}"; var what = "{{ what }}";
</script> </script>
<script type="text/javascript" src="v1/js/lib/typeahead/typeahead.bundle.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/typeahead/typeahead.bundle.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/common/autocomplete.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/common/autocomplete.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/bootstrap-tagsinput.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-tagsinput.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/jscript/accounts?ext=.js&amp;v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/jscript/accounts?ext=.js&amp;v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/jscript/currencies?ext=.js&amp;v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/jscript/currencies?ext=.js&amp;v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript"> <script type="text/javascript">
var journal = {{ journal.toArray()|json_encode|raw }}; var journal = {{ journal.toArray()|json_encode|raw }};
var journalData = {{ data|json_encode|raw }}; var journalData = {{ data|json_encode|raw }};
</script> </script>
<script type="text/javascript" src="v1/js/ff/accounts/edit-reconciliation.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/accounts/edit-reconciliation.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}
<link href="v1/css/bootstrap-tagsinput.css?v={{ FF_VERSION }}" type="text/css" rel="stylesheet" media="all"> <link href="v1/css/bootstrap-tagsinput.css?v={{ FF_VERSION }}" type="text/css" rel="stylesheet" media="all">

View File

@ -126,7 +126,7 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
currencySymbol = "{{ currency.symbol }}"; currencySymbol = "{{ currency.symbol }}";
var accountID = {{ account.id }}; var accountID = {{ account.id }};
var startBalance = {{ startBalance }}; var startBalance = {{ startBalance }};
@ -135,5 +135,5 @@
var overviewUri = '{{ overviewUri }}'; var overviewUri = '{{ overviewUri }}';
var indexUri = '{{ indexUri }}'; var indexUri = '{{ indexUri }}';
</script> </script>
<script src="v1/js/ff/accounts/reconcile.js?v={{ FF_VERSION }}" type="text/javascript"></script> <script src="v1/js/ff/accounts/reconcile.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -156,7 +156,7 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
// location stuff // location stuff
{% if location %} {% if location %}
@ -191,18 +191,18 @@
</script> </script>
{% if location %} {% if location %}
<script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}"></script> <script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endif %} {% endif %}
<script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/chartjs-plugin-annotation.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/chartjs-plugin-annotation.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.defaults.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/charts.defaults.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/charts.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" type="text/javascript"></script> <script src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
<script src="v1/js/lib/jquery.color-2.1.2.min.js?v={{ FF_VERSION }}" type="text/javascript"></script> <script src="v1/js/lib/jquery.color-2.1.2.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
<script src="v1/js/ff/accounts/show.js?v={{ FF_VERSION }}" type="text/javascript"></script> <script src="v1/js/ff/accounts/show.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
{# required for groups.twig #} {# required for groups.twig #}
<script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}

View File

@ -60,7 +60,7 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}

View File

@ -57,9 +57,9 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}
<link rel="stylesheet" href="v1//bootstrap-sortable.css?v={{ FF_VERSION }}" type="text/css" media="all"/> <link rel="stylesheet" href="v1/css/bootstrap-sortable.css?v={{ FF_VERSION }}" type="text/css" media="all"/>
{% endblock %} {% endblock %}

View File

@ -68,8 +68,8 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var updateCheckUri = '{{ route('admin.update-check.manual') }}'; var updateCheckUri = '{{ route('admin.update-check.manual') }}';
</script> </script>
<script type="text/javascript" src="v1/js/ff/admin/update/index.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/admin/update/index.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -89,5 +89,5 @@
<link rel="stylesheet" href="v1/css/bootstrap-sortable.css?v={{ FF_VERSION }}" type="text/css" media="all"/> <link rel="stylesheet" href="v1/css/bootstrap-sortable.css?v={{ FF_VERSION }}" type="text/css" media="all"/>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -68,7 +68,7 @@
</div> </div>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}

View File

@ -65,8 +65,8 @@
<link href="v1/css/jquery-ui/jquery-ui.theme.min.css?v={{ FF_VERSION }}" type="text/css" rel="stylesheet" media="all"> <link href="v1/css/jquery-ui/jquery-ui.theme.min.css?v={{ FF_VERSION }}" type="text/css" rel="stylesheet" media="all">
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-tagsinput.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-tagsinput.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/bills/create.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/bills/create.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -66,8 +66,8 @@
<link href="v1/css/jquery-ui/jquery-ui.theme.min.css?v={{ FF_VERSION }}" type="text/css" rel="stylesheet" media="all"> <link href="v1/css/jquery-ui/jquery-ui.theme.min.css?v={{ FF_VERSION }}" type="text/css" rel="stylesheet" media="all">
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-tagsinput.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-tagsinput.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/accounts/edit.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/accounts/edit.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -42,9 +42,9 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var start = '2018-01-01'; var start = '2018-01-01';
var end = '2018-01-31'; var end = '2018-01-31';
</script> </script>
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -177,14 +177,14 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var billCurrencySymbol = "{{ object.data.currency.symbol }}"; var billCurrencySymbol = "{{ object.data.currency.symbol }}";
var billUri = '{{ route('chart.bill.single', [object.data.id]) }}'; var billUri = '{{ route('chart.bill.single', [object.data.id]) }}';
</script> </script>
<script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.defaults.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/charts.defaults.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/charts.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/bills/show.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/bills/show.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{# required for groups.twig #} {# required for groups.twig #}
<script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -43,5 +43,5 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/ff/budgets/create.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/budgets/create.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -41,5 +41,5 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/ff/budgets/edit.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/budgets/edit.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -408,8 +408,8 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" type="text/javascript"></script> <script src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var budgetIndexUri = "{{ route('budgets.index',['START','END']) }}"; var budgetIndexUri = "{{ route('budgets.index',['START','END']) }}";
var createAvailableBudgetUri = "{{ route('available-budgets.create', [start.format('Y-m-d'), end.format('Y-m-d')]) }}"; var createAvailableBudgetUri = "{{ route('available-budgets.create', [start.format('Y-m-d'), end.format('Y-m-d')]) }}";
var createAltAvailableBudgetUri = "{{ route('available-budgets.create-alternative', [start.format('Y-m-d'), end.format('Y-m-d')]) }}"; var createAltAvailableBudgetUri = "{{ route('available-budgets.create-alternative', [start.format('Y-m-d'), end.format('Y-m-d')]) }}";
@ -424,6 +424,6 @@
var periodStart = "{{ start.format('Y-m-d') }}"; var periodStart = "{{ start.format('Y-m-d') }}";
var periodEnd = "{{ end.format('Y-m-d') }}"; var periodEnd = "{{ end.format('Y-m-d') }}";
</script> </script>
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/budgets/index.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/budgets/index.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -60,5 +60,5 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
{# required for groups.twig #} {# required for groups.twig #}
<script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -189,7 +189,7 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
var budgetID = {{ budget.id }}; var budgetID = {{ budget.id }};
var budgetLimitID = 0; var budgetLimitID = 0;
{% if budgetLimit.id %} {% if budgetLimit.id %}
@ -207,10 +207,10 @@
{% endif %} {% endif %}
</script> </script>
<script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.defaults.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/charts.defaults.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/charts.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/budgets/show.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/budgets/show.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{# required for groups.twig #} {# required for groups.twig #}
<script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -41,5 +41,5 @@
</form> </form>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/ff/budgets/create.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/budgets/create.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -41,5 +41,5 @@
{{ Form.close|raw }} {{ Form.close|raw }}
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/ff/categories/edit.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/categories/edit.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

View File

@ -44,6 +44,6 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/categories/index.js?v={{ FF_VERSION }}"></script> <script type="text/javascript" src="v1/js/ff/categories/index.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %} {% endblock %}

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