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**
<!-- (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). -->
**Bonus points**
<!-- Earn bonus points by:
- Add a screenshot
- Make a drawing
- Donate money (just kidding ;)
- Replicate the problem on the demo site https://demo.firefly-iii.org/
-->
<!-- Complete the following checklist for bonus points -->
- [ ] I have read the FAQ at https://bit.ly/FF3-FAQ
- [ ] 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
report.html
composer.phar
app.js.map

View File

@ -81,7 +81,7 @@ class AccountStoreRequest extends Request
'interest_period' => $this->string('interest_period'),
];
// append Location information.
$data = $this->appendLocationData($data);
$data = $this->appendLocationData($data, null);
if ('liability' === $data['account_type']) {
$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'),
];
$data = $this->appendLocationData($data);
$data = $this->appendLocationData($data, null);
if ('liability' === $data['account_type']) {
$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) {
return $this->accountCurrencies[$accountId]; // @codeCoverageIgnore
}
// TODO we can use getAccountCurrency() instead
$currencyId = (int)$this->accountRepos->getMetaValue($account, 'currency_id');
$result = $this->currencyRepos->findNull($currencyId);
if (null === $result) {
$currency = $this->accountRepos->getAccountCurrency($account);
if (null === $currency) {
// @codeCoverageIgnoreStart
$this->accountCurrencies[$accountId] = 0;
return null;
// @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
{
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:
$permission = app('fireflyconfig')->get('permission_update_check', -1);

View File

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

View File

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

View File

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

View File

@ -251,7 +251,7 @@ class BudgetController extends Controller
foreach ($result as $combinedId => $info) {
$parts = explode('-', $combinedId);
$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]
= [
'amount' => $info['amount'],
@ -315,7 +315,7 @@ class BudgetController extends Controller
foreach ($result as $combinedId => $info) {
$parts = explode('-', $combinedId);
$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] = [
'amount' => $info['amount'],
'currency_symbol' => $info['currency_symbol'],

View File

@ -367,18 +367,18 @@ class DoubleReportController extends Controller
* @param Collection $accounts
* @param int $id
* @param string $name
* @param string $iban
* @param null|string $iban
*
* @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 */
foreach ($accounts as $account) {
if ($account->name === $name && $account->id !== $id) {
return $account->name;
}
if ($account->iban === $iban && $account->id !== $id) {
if (null !== $account->iban && $account->iban === $iban && $account->id !== $id) {
return $account->iban;
}
}

View File

@ -359,7 +359,14 @@ class CurrencyController extends Controller
}
$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'));
if (null !== $currency) {
@ -373,10 +380,6 @@ class CurrencyController extends Controller
// @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;
}

View File

@ -125,6 +125,14 @@ class AutoCompleteController extends Controller
$filtered = $result->unique('description');
$limited = $filtered->slice(0, 15);
$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));
}
@ -174,6 +182,38 @@ class AutoCompleteController extends Controller
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
*
@ -283,39 +323,6 @@ class AutoCompleteController extends Controller
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
* @codeCoverageIgnore
@ -328,12 +335,12 @@ class AutoCompleteController extends Controller
/** @var AccountRepositoryInterface $accountRepos */
$accountRepos = app(AccountRepositoryInterface::class);
$piggies = $repository->getPiggyBanks();
$piggies = $repository->getPiggyBanks();
$defaultCurrency = \Amount::getDefaultCurrency();
$response = [];
$response = [];
/** @var PiggyBank $piggy */
foreach ($piggies as $piggy) {
$currency = $accountRepos->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$currency = $accountRepos->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$currentAmount = $repository->getRepetition($piggy)->currentamount ?? '0';
$piggy->name_with_amount = sprintf(
'%s (%s / %s)',
@ -341,7 +348,7 @@ class AutoCompleteController extends Controller
app('amount')->formatAnything($currency, $currentAmount, false),
app('amount')->formatAnything($currency, $piggy->targetamount, false),
);
$response[] = $piggy->toArray();
$response[] = $piggy->toArray();
}
return response()->json($response);

View File

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

View File

@ -776,18 +776,18 @@ class DoubleController extends Controller
* @param Collection $accounts
* @param int $id
* @param string $name
* @param string $iban
* @param string|null $iban
*
* @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 */
foreach ($accounts as $account) {
if ($account->name === $name && $account->id !== $id) {
return $account->name;
}
if ($account->iban === $iban && $account->id !== $id) {
if (null !== $account->iban && $account->iban === $iban && $account->id !== $id) {
return $account->iban;
}
}

View File

@ -30,6 +30,7 @@ use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
use FireflyIII\Transformers\TransactionGroupTransformer;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\ParameterBag;
/**
@ -82,6 +83,13 @@ class ShowController extends Controller
// do some amount calculations:
$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);
$attachments = $this->repository->getAttachments($transactionGroup);

View File

@ -25,6 +25,7 @@ namespace FireflyIII\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
/**
*
@ -33,19 +34,24 @@ use Illuminate\Http\Request;
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 \Closure $next
* @param \Closure $next
*
* @return mixed
* @throws \Exception
*/
public function handle(Request $request, Closure $next)
{
$nonce = base64_encode(random_bytes(16));
app('view')->share('JS_NONCE', $nonce);
$response = $next($request);
$google = '';
$googleImg = '';
$analyticsId = config('firefly.analytics_id');
if ('' !== $analyticsId) {
$google = 'www.googletagmanager.com/gtag/js https://www.google-analytics.com/analytics.js'; // @codeCoverageIgnore
$googleImg = 'https://www.google-analytics.com/';
@ -53,7 +59,7 @@ class SecureHeaders
$csp = [
"default-src 'none'",
"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'",
"base-uri 'self'",
"font-src 'self' data:",

View File

@ -68,13 +68,9 @@ class AccountFormRequest extends Request
'interest' => $this->string('interest'),
'interest_period' => $this->string('interest_period'),
'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')) {
$data['include_net_worth'] = '0';
}

View File

@ -76,7 +76,7 @@ class PiggyBankFormRequest extends Request
$rules = [
'name' => $nameRule,
'account_id' => 'required|belongsToUser:accounts',
'targetamount' => 'required|numeric|more:0|max:1000000000',
'targetamount' => 'required|numeric|gte:0.01|max:1000000000',
'startdate' => 'date',
'targetdate' => 'date|nullable',
'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.
*
* @param array $data
* @param array $data
*
* @param string|null $prefix
*
* @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['update_location'] = false;
$data['longitude'] = null;
$data['latitude'] = 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:
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.');
$data['store_location'] = true;
$data['longitude'] = '' === $this->string('longitude') ? null : $this->string('longitude');
$data['latitude'] = '' === $this->string('latitude') ? null : $this->string('latitude');
$data['zoom_level'] = '' === $this->string('zoom_level') ? null : $this->integer('zoom_level');
$data['longitude'] = '' === $this->string($longitudeKey) ? null : $this->string($longitudeKey);
$data['latitude'] = '' === $this->string($latitudeKey) ? null : $this->string($latitudeKey);
$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.');
$data['update_location'] = true;
$data['longitude'] = '' === $this->string('longitude') ? null : $this->string('longitude');
$data['latitude'] = '' === $this->string('latitude') ? null : $this->string('latitude');
$data['zoom_level'] = '' === $this->string('zoom_level') ? null : $this->integer('zoom_level');
$data['longitude'] = '' === $this->string($longitudeKey) ? null : $this->string($longitudeKey);
$data['latitude'] = '' === $this->string($latitudeKey) ? null : $this->string($latitudeKey);
$data['zoom_level'] = '' === $this->string($zoomLevelKey) ? null : $this->integer($zoomLevelKey);
}
if (null === $data['longitude'] || null === $data['latitude'] || null === $data['zoom_level']) {
Log::debug('One of the fields is NULL, wont save.');
$data['store_location'] = false;
$data['update_location'] = false;
}
Log::debug(sprintf('Returning longitude: "%s", latitude: "%s", zoom level: "%s"', $data['longitude'], $data['latitude'], $data['zoom_level']));
return $data;

View File

@ -48,26 +48,13 @@ class TagFormRequest extends Request
*/
public function collectTagData(): array
{
$latitude = null;
$longitude = null;
$zoomLevel = null;
$hasLocation = false;
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,
$data = [
'tag' => $this->string('tag'),
'date' => $this->date('date'),
'description' => $this->string('description'),
];
return $this->appendLocationData($data, 'location');
}
/**

View File

@ -86,10 +86,21 @@ class Note extends Model
/**
* @param $value
*
* @codeCoverageIgnore
*/
public function setTextAttribute($value): void
public function setTextAttribute(string $value): void
{
$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) {
$search->where('name', 'LIKE', sprintf('%%%s%%', $query));
}
$search->orderBy('order', 'DESC')
$search->orderBy('order', 'ASC')
->orderBy('name', 'ASC')->where('active', 1);
return $search->get();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -77,12 +77,7 @@ class PiggyBankTransformer extends AbstractTransformer
$this->piggyRepos->setUser($account->user);
// get currency from account, or use default.
// TODO we can use getAccountCurrency() instead
$currencyId = (int)$this->accountRepos->getMetaValue($account, 'currency_id');
$currency = $this->currencyRepos->findNull($currencyId);
if (null === $currency) {
$currency = app('amount')->getDefaultCurrencyByUser($account->user);
}
$currency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrencyByUser($account->user);
// note
$notes = $this->piggyRepos->getNoteText($piggyBank);
@ -99,6 +94,7 @@ class PiggyBankTransformer extends AbstractTransformer
// target and percentage:
$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);
$data = [
'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
*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.
@ -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 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.
### Security
- Nothing yet.
- [Issue 2941](https://github.com/firefly-iii/firefly-iii/issues/2941) Not all notes were decoded correctly.
- [Issue 2945](https://github.com/firefly-iii/firefly-iii/issues/2945) Budget field would be empty when editing transaction.
- [Issue 2950](https://github.com/firefly-iii/firefly-iii/issues/2950) Error in chart (null pointer)
### API
- Nothing yet.
- Various endpoints are better documented.
## [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 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 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
- [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

View File

@ -52,7 +52,7 @@
"forum": "https://reddit.com/r/FireflyIII",
"wiki": "https://github.com/firefly-iii/help/wiki",
"source": "https://github.com/firefly-iii/firefly-iii",
"docs": "https://firefly-iii.readthedocs.io/en/latest/"
"docs": "https://docs.firefly-iii.org/"
},
"require": {
"php": ">=7.3.0",
@ -91,7 +91,6 @@
"rcrowe/twigbridge": "^0.11.2"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.2",
"barryvdh/laravel-ide-helper": "2.*",
"filp/whoops": "2.*",
"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",
"This file is @generated automatically"
],
"content-hash": "5cea53064e70766dbada2bcf61b62685",
"content-hash": "9c7b883d0a087261d6c484e9f274ecf5",
"packages": [
{
"name": "adldap2/adldap2",
@ -435,16 +435,16 @@
},
{
"name": "doctrine/dbal",
"version": "v2.10.0",
"version": "v2.10.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934"
"reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/0c9a646775ef549eb0a213a4f9bd4381d9b4d934",
"reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8",
"reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8",
"shasum": ""
},
"require": {
@ -523,7 +523,7 @@
"sqlserver",
"sqlsrv"
],
"time": "2019-11-03T16:50:43+00:00"
"time": "2020-01-04T12:56:21+00:00"
},
{
"name": "doctrine/event-manager",
@ -786,16 +786,16 @@
},
{
"name": "egulias/email-validator",
"version": "2.1.13",
"version": "2.1.14",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
"reference": "834593d5900615639208417760ba6a17299e2497"
"reference": "c4b8d12921999d8a561004371701dbc2e05b5ece"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/834593d5900615639208417760ba6a17299e2497",
"reference": "834593d5900615639208417760ba6a17299e2497",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/c4b8d12921999d8a561004371701dbc2e05b5ece",
"reference": "c4b8d12921999d8a561004371701dbc2e05b5ece",
"shasum": ""
},
"require": {
@ -839,53 +839,7 @@
"validation",
"validator"
],
"time": "2019-12-30T08:14:25+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"
"time": "2020-01-05T14:11:20+00:00"
},
{
"name": "facade/ignition-contracts",
@ -1298,27 +1252,164 @@
"time": "2020-01-01T17:48:58+00:00"
},
{
"name": "laravel/framework",
"version": "v6.9.0",
"name": "laminas/laminas-diactoros",
"version": "2.2.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "60610be97ca389fa4b959d4d13fb3690970d9fb7"
"url": "https://github.com/laminas/laminas-diactoros.git",
"reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/60610be97ca389fa4b959d4d13fb3690970d9fb7",
"reference": "60610be97ca389fa4b959d4d13fb3690970d9fb7",
"url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/95178c4751d737cdf9ab0a9f70a42754ac860e7b",
"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": ""
},
"require": {
"doctrine/inflector": "^1.1",
"dragonmantank/cron-expression": "^2.0",
"egulias/email-validator": "^2.1.10",
"erusev/parsedown": "^1.7",
"ext-json": "*",
"ext-mbstring": "*",
"ext-openssl": "*",
"league/commonmark": "^1.1",
"league/commonmark-ext-table": "^2.1",
"league/flysystem": "^1.0.8",
"monolog/monolog": "^1.12|^2.0",
"nesbot/carbon": "^2.0",
@ -1378,14 +1469,13 @@
"filp/whoops": "^2.4",
"guzzlehttp/guzzle": "^6.3",
"league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.2.3",
"mockery/mockery": "^1.3.1",
"moontoast/math": "^1.1",
"orchestra/testbench-core": "^4.0",
"pda/pheanstalk": "^4.0",
"phpunit/phpunit": "^8.3",
"phpunit/phpunit": "^8.4|^9.0",
"predis/predis": "^1.1.1",
"symfony/cache": "^4.3",
"true/punycode": "^2.1"
"symfony/cache": "^4.3.4"
},
"suggest": {
"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-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
"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).",
"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).",
@ -1441,20 +1532,20 @@
"framework",
"laravel"
],
"time": "2019-12-19T18:16:22+00:00"
"time": "2020-01-08T21:17:42+00:00"
},
{
"name": "laravel/passport",
"version": "v8.1.0",
"version": "v8.2.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/passport.git",
"reference": "e45ac135c94f72ff77dbc61de97762b35cb76048"
"reference": "4c163b7821d29b6166fc2e93ad7649428b51c6db"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/passport/zipball/e45ac135c94f72ff77dbc61de97762b35cb76048",
"reference": "e45ac135c94f72ff77dbc61de97762b35cb76048",
"url": "https://api.github.com/repos/laravel/passport/zipball/4c163b7821d29b6166fc2e93ad7649428b51c6db",
"reference": "4c163b7821d29b6166fc2e93ad7649428b51c6db",
"shasum": ""
},
"require": {
@ -1470,14 +1561,15 @@
"illuminate/encryption": "^6.0|^7.0",
"illuminate/http": "^6.0|^7.0",
"illuminate/support": "^6.0|^7.0",
"laminas/laminas-diactoros": "^2.2",
"league/oauth2-server": "^8.0",
"php": "^7.2",
"phpseclib/phpseclib": "^2.0",
"symfony/psr-http-message-bridge": "^1.0",
"zendframework/zend-diactoros": "^2.0"
"symfony/psr-http-message-bridge": "^1.0"
},
"require-dev": {
"mockery/mockery": "^1.0",
"orchestra/testbench": "^4.4|^5.0",
"phpunit/phpunit": "^8.0"
},
"type": "library",
@ -1512,7 +1604,7 @@
"oauth",
"passport"
],
"time": "2019-12-30T22:20:25+00:00"
"time": "2020-01-07T19:25:00+00:00"
},
{
"name": "laravelcollective/html",
@ -1708,6 +1800,71 @@
],
"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",
"version": "9.5.0",
@ -1829,16 +1986,16 @@
},
{
"name": "league/flysystem",
"version": "1.0.62",
"version": "1.0.63",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "14dd5d7dff5fbc29ca9a2a53ff109760e40d91a0"
"reference": "8132daec326565036bc8e8d1876f77ec183a7bd6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/14dd5d7dff5fbc29ca9a2a53ff109760e40d91a0",
"reference": "14dd5d7dff5fbc29ca9a2a53ff109760e40d91a0",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8132daec326565036bc8e8d1876f77ec183a7bd6",
"reference": "8132daec326565036bc8e8d1876f77ec183a7bd6",
"shasum": ""
},
"require": {
@ -1909,7 +2066,7 @@
"sftp",
"storage"
],
"time": "2019-12-29T14:46:55+00:00"
"time": "2020-01-04T16:30:31+00:00"
},
{
"name": "league/flysystem-replicate-adapter",
@ -2781,8 +2938,8 @@
"authors": [
{
"name": "Antonio Carlos Ribeiro",
"email": "acr@antoniocarlosribeiro.com",
"role": "Creator & Designer"
"role": "Creator & Designer",
"email": "acr@antoniocarlosribeiro.com"
}
],
"description": "QR Code package for Google2FA",
@ -2841,9 +2998,9 @@
"authors": [
{
"name": "Antonio Carlos Ribeiro",
"role": "Developer",
"email": "acr@antoniocarlosribeiro.com",
"homepage": "https://antoniocarlosribeiro.com",
"role": "Developer"
"homepage": "https://antoniocarlosribeiro.com"
}
],
"description": "Create random chars, numbers, strings",
@ -2903,9 +3060,9 @@
"authors": [
{
"name": "Antonio Carlos Ribeiro",
"role": "Developer",
"email": "acr@antoniocarlosribeiro.com",
"homepage": "https://antoniocarlosribeiro.com",
"role": "Developer"
"homepage": "https://antoniocarlosribeiro.com"
}
],
"description": "Create recovery codes for two factor auth",
@ -5241,145 +5398,9 @@
"environment"
],
"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": [
{
"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",
"version": "v2.6.6",
@ -6131,67 +6152,6 @@
],
"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",
"version": "1.3.1",
@ -6875,16 +6835,16 @@
},
{
"name": "phpunit/phpunit",
"version": "8.5.1",
"version": "8.5.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "7870c78da3c5e4883eaef36ae47853ebb3cb86f2"
"reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7870c78da3c5e4883eaef36ae47853ebb3cb86f2",
"reference": "7870c78da3c5e4883eaef36ae47853ebb3cb86f2",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0",
"reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0",
"shasum": ""
},
"require": {
@ -6954,7 +6914,7 @@
"testing",
"xunit"
],
"time": "2019-12-25T14:49:39+00:00"
"time": "2020-01-08T08:49:49+00:00"
},
{
"name": "roave/security-advisories",
@ -6962,12 +6922,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "5306962d2a35c901a07a98b55248894469d112b6"
"reference": "67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/5306962d2a35c901a07a98b55248894469d112b6",
"reference": "5306962d2a35c901a07a98b55248894469d112b6",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389",
"reference": "67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389",
"shasum": ""
},
"conflict": {
@ -7002,8 +6962,8 @@
"doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
"doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
"dompdf/dompdf": ">=0.6,<0.6.2",
"drupal/core": ">=7,<8.7.11|>=8.8,<8.8.1",
"drupal/drupal": ">=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,<7.69|>=8,<8.7.11|>=8.8,<8.8.1",
"endroid/qr-code-bundle": "<3.4.2",
"erusev/parsedown": "<1.7.2",
"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",
"time": "2020-01-01T17:15:10+00:00"
"time": "2020-01-06T19:16:46+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",

View File

@ -136,7 +136,7 @@ return [
'export' => true,
],
'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',
'db_version' => 12,
'maxUploadSize' => 15242880,

View File

@ -2,44 +2,25 @@
/**
* 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
* 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.
* 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.
*
* 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
* 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
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
/**
* 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>
<html lang="en-US">

View File

@ -3,7 +3,7 @@
"scripts": {
"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",
"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",
"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",
@ -19,7 +19,7 @@
"vue-template-compiler": "^2.6.10"
},
"dependencies": {
"@johmun/vue-tags-input": "^2.0.1",
"@johmun/vue-tags-input": "^2.1.0",
"font-awesome": "^4.7.0",
"jquery": "^3.1.1",
"uiv": "^0.31.5",

View File

@ -1,22 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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
~ 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.
~ 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.
~
~ 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
~ 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
~ along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
~ 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/>.
-->
<phpunit backupGlobals="false"

View File

@ -1,22 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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
~ 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.
~ 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.
~
~ 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
~ 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
~ along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
~ 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/>.
-->
<phpunit backupGlobals="false"

View File

@ -1,22 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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
~ 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.
~ 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.
~
~ 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
~ 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
~ along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
~ 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/>.
-->
<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');
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">
<select name="budget[]" ref="budget" v-model="value" @input="handleInput" class="form-control"
v-if="this.budgets.length > 0">
<option v-for="cBudget in this.budgets" :label="cBudget.name" :value="cBudget.id"
>{{cBudget.name}}</option>
<option v-for="cBudget in this.budgets" :label="cBudget.name" :value="cBudget.id">{{cBudget.name}}</option>
</select>
<ul class="list-unstyled" v-for="error in this.error">
<li class="text-danger">{{ error }}</li>
@ -46,8 +44,7 @@
props: ['transactionType', 'value', 'error','no_budget'],
mounted() {
this.loadBudgets();
// console.log('budget value');
// console.log(this.value);
//this.value = null === this.value ? 0 : this.value;
},
data() {
return {
@ -68,6 +65,10 @@
{
name: this.no_budget,
id: 0,
},
{
name: this.no_budget,
id: null,
}
];
for (const key in res.data) {

View File

@ -170,6 +170,7 @@
:error="transaction.errors.category"
></category>
<tags
:transactionType="transactionType"
:tags="transaction.tags"
v-model="transaction.tags"
:error="transaction.errors.tags"
@ -203,7 +204,7 @@
{{ $t('firefly.after_update_create_another') }}
</label>
</div>
<div class="checkbox" v-if="transactionType.toLowerCase() !== 'reconciliation'">
<div class="checkbox" v-if="null !== transactionType && transactionType.toLowerCase() !== 'reconciliation'">
<label>
<input v-model="storeAsNew" name="store_as_new" type="checkbox">
{{ $t('firefly.store_as_new') }}
@ -301,7 +302,9 @@
}
},
setTransactionType(type) {
this.transactionType = type;
if(null !== type) {
this.transactionType = type;
}
},
deleteTransaction(index, event) {
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": {
"welcome_back": "What's playing?",
"welcome_back": "Ce se red\u0103?",
"flash_error": "Eroare!",
"flash_success": "Succes!",
"close": "\u00cenchide",
"split_transaction_title": "Description of the split transaction",
"errors_submission": "There was something wrong with your submission. Please check out the errors below.",
"split_transaction_title": "Descrierea tranzac\u021biei divizate",
"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",
"transaction_journal_information": "Informa\u021bii despre tranzac\u021bii",
"source_account": "Contul surs\u0103",
"destination_account": "Contul de destina\u021bie",
"add_another_split": "Ad\u0103uga\u021bi o divizare",
"submission": "Submission",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"submission": "Transmitere",
"create_another": "Dup\u0103 stocare, reveni\u021bi aici pentru a crea alta.",
"reset_after": "Reseta\u021bi formularul dup\u0103 trimitere",
"submit": "Trimite",
"amount": "Sum\u0103",
"date": "Dat\u0103",
@ -22,16 +22,16 @@
"category": "Categorie",
"attachments": "Ata\u0219amente",
"notes": "Noti\u021be",
"update_transaction": "Update transaction",
"after_update_create_another": "After updating, return here to continue editing.",
"store_as_new": "Store as a new transaction instead of updating.",
"split_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.",
"update_transaction": "Actualiza\u021bi tranzac\u021bia",
"after_update_create_another": "Dup\u0103 actualizare, reveni\u021bi aici pentru a continua editarea.",
"store_as_new": "Stoca\u021bi ca o tranzac\u021bie nou\u0103 \u00een loc s\u0103 actualiza\u021bi.",
"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)",
"no_piggy_bank": "(no piggy bank)",
"no_piggy_bank": "(nicio pu\u0219culi\u021b\u0103)",
"description": "Descriere",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.",
"destination_account_reconciliation": "You can't edit the destination account of a reconciliation transaction.",
"source_account_reconciliation": "You can't edit the source account of a reconciliation 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": "Nu pute\u021bi edita contul de destina\u021bie al unei tranzac\u021bii de reconciliere.",
"source_account_reconciliation": "Nu pute\u021bi edita contul surs\u0103 al unei tranzac\u021bii de reconciliere.",
"budget": "Buget"
},
"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.',
'base64' => 'Data nejsou v platném base64 kódování.',
'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',
'active_url' => ':attribute není platná adresa URL.',
'after' => ':attribute nemůže být dříve než :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Je třeba, aby :attribute byl řetězec.',
'url' => 'Formát :attribute není platný.',
'timezone' => 'Je třeba, aby :attribute byla platná zóna.',
'2fa_code' => 'Kolonka :attribute není platná.',
'dimensions' => ':attribute nemá platné rozměry obrázku.',
'distinct' => 'Kolonka :attribute má duplicitní hodnotu.',
'file' => 'Je třeba, aby :attribute byl soubor.',
'in_array' => 'The :attribute field does not exist in :other.',
'present' => 'Je třeba, aby kolonka :attribute byla přítomna.',
'amount_zero' => 'Celková částka nemůže být nula.',
'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.',
'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_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Neplatná informace o účtu.',
'2fa_code' => 'Kolonka :attribute není platná.',
'dimensions' => ':attribute nemá platné rozměry obrázku.',
'distinct' => 'Kolonka :attribute má duplicitní hodnotu.',
'file' => 'Je třeba, aby :attribute byl soubor.',
'in_array' => 'The :attribute field does not exist in :other.',
'present' => 'Je třeba, aby kolonka :attribute byla přítomna.',
'amount_zero' => 'Celková částka nemůže být nula.',
'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.',
'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_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Neplatná informace o účtu.',
'attributes' => [
'email' => 'e-mailová adresa',
'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_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_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_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_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.',
'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.',
'convert_to_withdrawal' => 'In eine Ausgabe 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_withdrawal' => 'Erstelle eine neue Ausgabe',
@ -850,7 +850,7 @@ return [
'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”',
'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.',
'update_selection' => 'Auswahl aktualisieren',
'store_reconcile' => 'Kontenabgleich speichern',

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Regel muss mindestens eine Aktion enthalten',
'base64' => 'Dies sind keine gültigen base64-kodierten Daten.',
'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',
'active_url' => ':attribute ist keine gültige URL.',
'after' => ':attribute muss ein Datum nach :date sein.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute muss eine Zeichenfolge sein.',
'url' => ':attribute Format ist ungültig.',
'timezone' => ':attribute muss in einem gültigen Bereich liegen.',
'2fa_code' => ':attribute Feld ist ungültig.',
'dimensions' => 'Das :attribute hat eine ungültige Auflösung.',
'distinct' => 'Der Wert von :attribute existiert bereits.',
'file' => 'Das :attribute muss eine Datei sein.',
'in_array' => ':attribute existiert nicht in :other.',
'present' => 'Das :attribute Feld muss vorhanden sein.',
'amount_zero' => 'Der Gesamtbetrag darf nicht Null 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.',
'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_moment' => 'Ungültiges Wiederholungsmoment für diese Art der Wiederholung.',
'invalid_account_info' => 'Ungültige Kontodaten.',
'2fa_code' => ':attribute Feld ist ungültig.',
'dimensions' => 'Das :attribute hat eine ungültige Auflösung.',
'distinct' => 'Der Wert von :attribute existiert bereits.',
'file' => 'Das :attribute muss eine Datei sein.',
'in_array' => ':attribute existiert nicht in :other.',
'present' => 'Das :attribute Feld muss vorhanden sein.',
'amount_zero' => 'Der Gesamtbetrag darf nicht Null 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.',
'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_moment' => 'Ungültiges Wiederholungsmoment für diese Art der Wiederholung.',
'invalid_account_info' => 'Ungültige Kontodaten.',
'attributes' => [
'email' => 'E-Mail Adresse',
'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_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_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_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_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.',
'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' => 'Ο κανόνας πρέπει να έχει τουλάχιστον μία λειτουργία.',
'base64' => 'Αυτά δεν είναι έγκυρα base64 κωδικοποιημένα δεδομένα.',
'model_id_invalid' => 'Το παραχωρημένο αναγνωριστικό δε φαίνεται έγκυρο για αυτό το μοντέλο.',
'more' => 'Το :attribute πρέπει να είναι μεγαλύτερο του μηδενός.',
'more' => ':attribute must be larger than ":more".',
'less' => 'Το :attribute πρέπει να είναι μικρότερο από 10,000,000',
'active_url' => 'Το :attribute δεν είναι έγκυρο URL.',
'after' => 'Το :attribute πρέπει να είναι ημερομηνία μετά από :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Το :attribute πρέπει να είναι string.',
'url' => 'Η μορφή :attribute δεν είναι έγκυρη.',
'timezone' => 'Το :attribute πρέπει να είναι έγκυρη ζώνη.',
'2fa_code' => 'Το πεδίο :attribute δεν είναι έγκυρο.',
'dimensions' => 'Το :attribute δεν έχει έγκυρες διαστάσεις εικόνας.',
'distinct' => 'Το πεδίο :attribute έχει διπλότυπη τιμή.',
'file' => 'Το :attribute πρέπει να είναι ένα αρχείο.',
'in_array' => 'Το πεδίο :attribute δεν υπάρχει σε :other.',
'present' => 'Το πεδίο :attribute πρέπει να είναι παρόν.',
'amount_zero' => 'Το συνολικό ποσό δεν μπορεί να είναι μηδέν.',
'current_target_amount' => 'Το τρέχων ποσό πρέπει να είναι μικρότερο από το ποσό προορισμού.',
'unique_piggy_bank_for_user' => 'Το όνομα του κουμπαρά πρέπει να είναι μοναδικό.',
'secure_password' => 'Αυτό δεν είναι ασφαλές συνθηματικό. Παρακαλώ δοκιμάστε ξανά. Για περισσότερες πληροφορίες επισκεφτείτε https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Μη έγκυρος τύπος επανάληψης για επαναλαμβανόμενες συναλλαγές.',
'valid_recurrence_rep_moment' => 'Μη έγκυρη στιγμή επανάληψης για αυτό τον τύπο επανάληψης.',
'invalid_account_info' => 'Μη έγκυρες πληροφορίες λογαριασμού.',
'2fa_code' => 'Το πεδίο :attribute δεν είναι έγκυρο.',
'dimensions' => 'Το :attribute δεν έχει έγκυρες διαστάσεις εικόνας.',
'distinct' => 'Το πεδίο :attribute έχει διπλότυπη τιμή.',
'file' => 'Το :attribute πρέπει να είναι ένα αρχείο.',
'in_array' => 'Το πεδίο :attribute δεν υπάρχει σε :other.',
'present' => 'Το πεδίο :attribute πρέπει να είναι παρόν.',
'amount_zero' => 'Το συνολικό ποσό δεν μπορεί να είναι μηδέν.',
'current_target_amount' => 'Το τρέχων ποσό πρέπει να είναι μικρότερο από το ποσό προορισμού.',
'unique_piggy_bank_for_user' => 'Το όνομα του κουμπαρά πρέπει να είναι μοναδικό.',
'secure_password' => 'Αυτό δεν είναι ασφαλές συνθηματικό. Παρακαλώ δοκιμάστε ξανά. Για περισσότερες πληροφορίες επισκεφτείτε https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Μη έγκυρος τύπος επανάληψης για επαναλαμβανόμενες συναλλαγές.',
'valid_recurrence_rep_moment' => 'Μη έγκυρη στιγμή επανάληψης για αυτό τον τύπο επανάληψης.',
'invalid_account_info' => 'Μη έγκυρες πληροφορίες λογαριασμού.',
'attributes' => [
'email' => 'διεύθυνση email',
'description' => 'περιγραφή',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Δεν μπόρεσε να βρεθεί ένας έγκυρος λογαριασμός προέλευσης κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
'deposit_dest_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό ID λογαριασμού προορισμού και/ή ένα έγκυρο όνομα λογαριασμού προορισμού για να συνεχίσετε.',
'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_bad_data' => 'Δεν μπορεσε να βρεθεί ένας έγκυρος λογαριασμός προέλευσης κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Πρέπει να λάβετε ένα έγκυρο αναγνωριστικό ID λογαριασμού προορισμού και/ή ένα έγκυρο όνομα λογαριασμού προορισμού για να συνεχίσετε.',
'ob_dest_bad_data' => 'Δεν μπορεσε να βρεθεί έγκυρος λογαριασμός προορισμού κατά την αναζήτηση του αναγνωριστικού ID ":id" ή του ονόματος ":name".',
'generic_invalid_source' => 'Δεν μπορείτε να χρησιμοποιήσετε αυτό το λογαριασμό ως λογαριασμό προέλευσης.',
'generic_invalid_source' => 'Δεν μπορείτε να χρησιμοποιήσετε αυτό το λογαριασμό ως λογαριασμό προέλευσης.',
'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.',
'base64' => 'This is not valid base64 encoded data.',
'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',
'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.',
@ -121,19 +121,19 @@ return [
'string' => 'The :attribute must be a string.',
'url' => 'The :attribute format is invalid.',
'timezone' => 'The :attribute must be a valid zone.',
'2fa_code' => 'The :attribute field is invalid.',
'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'file' => 'The :attribute must be a file.',
'in_array' => 'The :attribute field does not exist in :other.',
'present' => 'The :attribute field must be present.',
'amount_zero' => 'The total amount cannot be zero.',
'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.',
'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_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Invalid account information.',
'2fa_code' => 'The :attribute field is invalid.',
'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'file' => 'The :attribute must be a file.',
'in_array' => 'The :attribute field does not exist in :other.',
'present' => 'The :attribute field must be present.',
'amount_zero' => 'The total amount cannot be zero.',
'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.',
'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_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Invalid account information.',
'attributes' => [
'email' => 'email address',
'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_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_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_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_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.',
'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.',
'base64' => 'Esto no es un dato codificado en base64 válido.',
'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',
'active_url' => 'El campo :attribute no es una URL válida.',
'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.',
'url' => 'El formato del campo :attribute no es válido.',
'timezone' => 'El campo :attribute debe contener una zona válida.',
'2fa_code' => 'El campo :attribute no es válido.',
'dimensions' => 'Las dimensiones de la imagen :attribute son incorrectas.',
'distinct' => 'El campo :attribute tiene un valor duplicado.',
'file' => 'El campo :attribute debe ser un fichero.',
'in_array' => 'El campo :attribute no existe en :other.',
'present' => 'El campo :attribute debe estar presente.',
'amount_zero' => 'La cantidad total no puede ser cero.',
'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.',
'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_moment' => 'Momento de repetición no válido para este tipo de repetición.',
'invalid_account_info' => 'Información de cuenta no válida.',
'2fa_code' => 'El campo :attribute no es válido.',
'dimensions' => 'Las dimensiones de la imagen :attribute son incorrectas.',
'distinct' => 'El campo :attribute tiene un valor duplicado.',
'file' => 'El campo :attribute debe ser un fichero.',
'in_array' => 'El campo :attribute no existe en :other.',
'present' => 'El campo :attribute debe estar presente.',
'amount_zero' => 'La cantidad total no puede ser cero.',
'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.',
'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_moment' => 'Momento de repetición no válido para este tipo de repetición.',
'invalid_account_info' => 'Información de cuenta no válida.',
'attributes' => [
'email' => 'dirección de correo electrónico',
'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_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_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_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_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.',
'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.',
'base64' => 'Il ne s\'agit pas de données base64 valides.',
'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',
'active_url' => 'Le champ :attribute n\'est pas une URL valide.',
'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.',
'url' => 'Le format de l\'URL de :attribute n\'est pas valide.',
'timezone' => 'Le champ :attribute doit être un fuseau horaire valide.',
'2fa_code' => 'Le champ :attribute est invalide.',
'dimensions' => 'Le :attribute possède des dimensions dimage non valides.',
'distinct' => ':attribute possède une valeur en double.',
'file' => 'Le :attribute doit être un fichier.',
'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
'present' => 'Le champs :attribute doit être rempli.',
'amount_zero' => 'Le montant total ne peut pas être zéro.',
'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.',
'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_moment' => 'Période de répétition non valide pour ce type de répétition.',
'invalid_account_info' => 'Informations de compte non valides.',
'2fa_code' => 'Le champ :attribute est invalide.',
'dimensions' => 'Le :attribute possède des dimensions dimage non valides.',
'distinct' => ':attribute possède une valeur en double.',
'file' => 'Le :attribute doit être un fichier.',
'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
'present' => 'Le champs :attribute doit être rempli.',
'amount_zero' => 'Le montant total ne peut pas être zéro.',
'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.',
'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_moment' => 'Période de répétition non valide pour ce type de répétition.',
'invalid_account_info' => 'Informations de compte non valides.',
'attributes' => [
'email' => 'adresse email',
'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_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_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_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_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.',
'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.',
'base64' => 'Ez nem érvényes base64 kódolású adat.',
'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',
'active_url' => ':attribute nem egy érvényes URL.',
'after' => ':attribute egy :date utáni dátum kell legyen.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute egy karakterlánc kell legyen.',
'url' => ':attribute attribútum formátuma érvénytelen.',
'timezone' => ':attribute érvényes zóna kell legyen.',
'2fa_code' => ':attribute mező érvénytelen.',
'dimensions' => ':attribute attribútum képfelbontása érvénytelen.',
'distinct' => ':attribute mezőben duplikált érték van.',
'file' => ':attribute egy fájl kell legyen.',
'in_array' => ':attribute nem létezik itt: :other.',
'present' => ':attribute mezőnek jelen kell lennie.',
'amount_zero' => 'A teljes mennyiség nem lehet nulla.',
'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.',
'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_moment' => 'Érvénytelen ismétlési időpont ehhez az ismétléstípushoz.',
'invalid_account_info' => 'Érvénytelen számlainformáció.',
'2fa_code' => ':attribute mező érvénytelen.',
'dimensions' => ':attribute attribútum képfelbontása érvénytelen.',
'distinct' => ':attribute mezőben duplikált érték van.',
'file' => ':attribute egy fájl kell legyen.',
'in_array' => ':attribute nem létezik itt: :other.',
'present' => ':attribute mezőnek jelen kell lennie.',
'amount_zero' => 'A teljes mennyiség nem lehet nulla.',
'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.',
'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_moment' => 'Érvénytelen ismétlési időpont ehhez az ismétléstípushoz.',
'invalid_account_info' => 'Érvénytelen számlainformáció.',
'attributes' => [
'email' => 'email cím',
'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_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_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_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_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.',
'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.',
'base64' => 'Ini bukanlah data base64 encoded yang valid.',
'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',
'active_url' => ':attribute bukan URL yang valid.',
'after' => ':attribute harus tanggal setelah :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute harus sebuah string.',
'url' => 'Format atribut tidak valid.',
'timezone' => ':attribute harus zona yang valid.',
'2fa_code' => 'Bidang :attribute tidak valid.',
'dimensions' => ':attribute memiliki dimensi gambar yang tidak valid.',
'distinct' => 'Bidang :attribute memiliki nilai duplikat.',
'file' => ':attribute harus berupa file.',
'in_array' => 'Bidang :attribute tidak ada in :other.',
'present' => 'Bidang :attribute harus ada.',
'amount_zero' => 'Jumlah total tidak boleh nol.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'valid_recurrence_rep_type' => 'Tipe pengulangan yang tidak valid untuk transaksi berkala.',
'valid_recurrence_rep_moment' => 'Waktu pengulangan tidaklah valid untuk tipe pengulangan ini.',
'invalid_account_info' => 'Informasi akun tidak valid.',
'2fa_code' => 'Bidang :attribute tidak valid.',
'dimensions' => ':attribute memiliki dimensi gambar yang tidak valid.',
'distinct' => 'Bidang :attribute memiliki nilai duplikat.',
'file' => ':attribute harus berupa file.',
'in_array' => 'Bidang :attribute tidak ada in :other.',
'present' => 'Bidang :attribute harus ada.',
'amount_zero' => 'Jumlah total tidak boleh nol.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'valid_recurrence_rep_type' => 'Tipe pengulangan yang tidak valid untuk transaksi berkala.',
'valid_recurrence_rep_moment' => 'Waktu pengulangan tidaklah valid untuk tipe pengulangan ini.',
'invalid_account_info' => 'Informasi akun tidak valid.',
'attributes' => [
'email' => 'alamat email',
'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_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_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_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_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.',
'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.',
'base64' => 'Questi non sono dati codificati in base64 validi.',
'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',
'active_url' => ':attribute non è un URL valido.',
'after' => ':attribute deve essere una data dopo :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute deve essere una stringa.',
'url' => ':attribute il formato non è valido.',
'timezone' => ':attribute deve essere una zona valida.',
'2fa_code' => 'Il campo :attribute non è valido.',
'dimensions' => ':attribute ha dimensioni di immagine non valide.',
'distinct' => ':attribute il campo ha un valore doppio.',
'file' => ':attribute deve essere un file.',
'in_array' => ':attribute il campo non esiste in :other.',
'present' => ':attribute il campo deve essere presente.',
'amount_zero' => 'L\'importo totale non può essere zero.',
'current_target_amount' => 'L\'importo corrente deve essere minore dell\'importo obiettivo.',
'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',
'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.',
'invalid_account_info' => 'Informazione sul conto non valida.',
'2fa_code' => 'Il campo :attribute non è valido.',
'dimensions' => ':attribute ha dimensioni di immagine non valide.',
'distinct' => ':attribute il campo ha un valore doppio.',
'file' => ':attribute deve essere un file.',
'in_array' => ':attribute il campo non esiste in :other.',
'present' => ':attribute il campo deve essere presente.',
'amount_zero' => 'L\'importo totale non può essere zero.',
'current_target_amount' => 'L\'importo corrente deve essere minore dell\'importo obiettivo.',
'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',
'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.',
'invalid_account_info' => 'Informazione sul conto non valida.',
'attributes' => [
'email' => 'indirizzo email',
'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_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_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_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_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.',
'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.',
'base64' => 'Dette er ikke godkjent base64 kodet data.',
'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',
'active_url' => ':attribute er ikke en gyldig URL.',
'after' => ':attribute må være en dato etter :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute må være en streng.',
'url' => ':attribute formatet er ugyldig.',
'timezone' => ':attribute må være en gyldig tidssone.',
'2fa_code' => ':attribute formatet er ugyldig.',
'dimensions' => ':attribute har ugyldig bilde dimensjoner.',
'distinct' => ':attribute feltet har en duplikatverdi.',
'file' => ':attribute må være en fil.',
'in_array' => 'Feltet :attribute finnes ikke i :other.',
'present' => ':attribute feltet må være definert.',
'amount_zero' => 'Totalbeløpet kan ikke være null.',
'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.',
'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_moment' => 'Ugyldig repetisjons tid for denne type repetisjon.',
'invalid_account_info' => 'Ugyldig konto informasjon.',
'2fa_code' => ':attribute formatet er ugyldig.',
'dimensions' => ':attribute har ugyldig bilde dimensjoner.',
'distinct' => ':attribute feltet har en duplikatverdi.',
'file' => ':attribute må være en fil.',
'in_array' => 'Feltet :attribute finnes ikke i :other.',
'present' => ':attribute feltet må være definert.',
'amount_zero' => 'Totalbeløpet kan ikke være null.',
'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.',
'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_moment' => 'Ugyldig repetisjons tid for denne type repetisjon.',
'invalid_account_info' => 'Ugyldig konto informasjon.',
'attributes' => [
'email' => 'epostadresse',
'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_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_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_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_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.',
'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.',
'base64' => 'Dit is geen geldige base64 gecodeerde data.',
'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',
'active_url' => ':attribute is geen geldige URL.',
'after' => ':attribute moet een datum na :date zijn.',
@ -121,19 +121,19 @@ return [
'string' => 'Het :attribute moet een tekenreeks zijn.',
'url' => ':attribute is geen geldige URL.',
'timezone' => 'Het :attribute moet een geldige zone zijn.',
'2fa_code' => 'De waarde in het :attribute-veld is niet geldig.',
'dimensions' => 'Het :attribute heeft het verkeerde afbeeldingsformaat.',
'distinct' => 'Het :attribute veld heeft een dubbele waarde.',
'file' => ':attribute moet een bestand zijn.',
'in_array' => 'Het :attribute veld bestaat niet in :other.',
'present' => 'Het :attribute veld moet aanwezig zijn.',
'amount_zero' => 'Het totaalbedrag kan niet nul zijn.',
'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.',
'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_moment' => 'Ongeldig herhaalmoment voor dit type herhaling.',
'invalid_account_info' => 'Ongeldige rekeninginformatie.',
'2fa_code' => 'De waarde in het :attribute-veld is niet geldig.',
'dimensions' => 'Het :attribute heeft het verkeerde afbeeldingsformaat.',
'distinct' => 'Het :attribute veld heeft een dubbele waarde.',
'file' => ':attribute moet een bestand zijn.',
'in_array' => 'Het :attribute veld bestaat niet in :other.',
'present' => 'Het :attribute veld moet aanwezig zijn.',
'amount_zero' => 'Het totaalbedrag kan niet nul zijn.',
'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.',
'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_moment' => 'Ongeldig herhaalmoment voor dit type herhaling.',
'invalid_account_info' => 'Ongeldige rekeninginformatie.',
'attributes' => [
'email' => 'e-mailadres',
'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_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_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_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_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.',
'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ę.',
'base64' => 'To nie są prawidłowe dane zakodowane w base64.',
'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',
'active_url' => ':attribute nie jest prawidłowym adresem URL.',
'after' => ':attribute musi być datą późniejszą od :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute musi być ciągiem znaków.',
'url' => 'Format :attribute jest nieprawidłowy.',
'timezone' => ':attribute musi być prawidłową strefą.',
'2fa_code' => 'Format :attribute jest nieprawidłowy.',
'dimensions' => ':attribute ma nieprawidłowe wymiary obrazu.',
'distinct' => 'Pole :attribute zawiera zduplikowaną wartość.',
'file' => ':attribute musi być plikiem.',
'in_array' => 'Pole :attribute nie istnieje w :other.',
'present' => 'Pole :attribute musi być obecne.',
'amount_zero' => 'Całkowita kwota nie może wynosić zero.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'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.',
'invalid_account_info' => 'Nieprawidłowe informacje o koncie.',
'2fa_code' => 'Format :attribute jest nieprawidłowy.',
'dimensions' => ':attribute ma nieprawidłowe wymiary obrazu.',
'distinct' => 'Pole :attribute zawiera zduplikowaną wartość.',
'file' => ':attribute musi być plikiem.',
'in_array' => 'Pole :attribute nie istnieje w :other.',
'present' => 'Pole :attribute musi być obecne.',
'amount_zero' => 'Całkowita kwota nie może wynosić zero.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'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.',
'invalid_account_info' => 'Nieprawidłowe informacje o koncie.',
'attributes' => [
'email' => 'adres e-mail',
'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_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_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_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_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.',
'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.',
'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.',
'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',
'active_url' => 'O campo :attribute não contém um URL válido.',
'after' => 'O campo :attribute deverá conter uma data posterior a :date.',
@ -121,19 +121,19 @@ return [
'string' => 'O campo :attribute deve ser uma string.',
'url' => 'O formato do URL indicado para o campo :attribute é inválido.',
'timezone' => 'O campo :attribute deverá ter um fuso horário válido.',
'2fa_code' => 'O campo :attribute é inválido.',
'dimensions' => 'O campo :attribute tem dimensões de imagem inválido.',
'distinct' => 'O campo :attribute tem um valor duplicado.',
'file' => 'O :attribute deve ser um arquivo.',
'in_array' => 'O campo :attribute não existe em :other.',
'present' => 'O campo :attribute deve estar presente.',
'amount_zero' => 'O montante total não pode ser zero.',
'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.',
'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_moment' => 'Momento de repetição inválido para esse tipo de repetição.',
'invalid_account_info' => 'Informação de conta inválida.',
'2fa_code' => 'O campo :attribute é inválido.',
'dimensions' => 'O campo :attribute tem dimensões de imagem inválido.',
'distinct' => 'O campo :attribute tem um valor duplicado.',
'file' => 'O :attribute deve ser um arquivo.',
'in_array' => 'O campo :attribute não existe em :other.',
'present' => 'O campo :attribute deve estar presente.',
'amount_zero' => 'O montante total não pode ser zero.',
'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.',
'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_moment' => 'Momento de repetição inválido para esse tipo de repetição.',
'invalid_account_info' => 'Informação de conta inválida.',
'attributes' => [
'email' => 'endereço de e-mail',
'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_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_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_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_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.',
'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ă',
'last_seven_days' => 'Ultimele 7 zile',
'last_thirty_days' => 'Ultimele 30 de zile',
'welcomeBack' => 'What\'s playing?',
'welcome_back' => 'What\'s playing?',
'welcomeBack' => 'Ce se redă?',
'welcome_back' => 'Ce se redă?',
'everything' => 'Tot',
'today' => 'Azi',
'customRange' => 'Intervalul personalizat',
@ -55,10 +55,10 @@ return [
'new_withdrawal' => 'Tranzacție nouă',
'create_new_transaction' => 'Creați o nouă tranzacție',
'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_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_bills' => 'Mergi la facturi',
'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' => 'Am 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_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_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' => '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.',
'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_backup_code_count' => 'You have :count valid backup code(s).',
'2fa_i_have_them' => 'I stored them!',
'pref_two_factor_new_backup_codes' => 'Obțineți noi coduri de rezervă',
'pref_two_factor_backup_code_count' => 'Aveți :count codurile de backup valabile.',
'2fa_i_have_them' => 'Le-am depozitat!',
'warning_much_data' => ':days zilele de date pot dura o perioadă până încărcare.',
'registered' => 'Te-ai inregistrat cu succes!',
'Default asset account' => 'Ccont de active implicit',
@ -111,7 +111,7 @@ return [
'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>.',
'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.',
'show_all_no_filter' => 'Afișați toate tranzacțiile fără a le grupa după dată.',
'expenses_by_category' => 'Cheltuieli pe categorii',
@ -124,21 +124,21 @@ return [
'sum_of_income' => 'Suma veniturilor',
'liabilities' => 'Provizioane',
'spent_in_specific_budget' => 'Cheltuit în bugetul ":budget"',
'spent_in_specific_double' => 'Spent in account(s) ":account"',
'earned_in_specific_double' => 'Earned in account(s) ":account"',
'spent_in_specific_double' => 'Cheltuit în cont (uri) ":account"',
'earned_in_specific_double' => 'Câștigat în cont (uri) ":account"',
'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_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"',
'left_in_budget_limit' => 'Rest de chetuit ăn funcție de buget',
'current_period' => 'Perioada curentă',
'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.',
'budget_in_period' => 'All transactions for budget ":name" between :start and :end in :currency',
'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end in :currency',
'chart_budget_in_period_only_currency' => 'The amount you budgeted was in :currency, so this chart will only show transactions in :currency.',
'chart_account_in_period' => 'Chart for all transactions for account ":name" (:balance) between :start and :end',
'budget_in_period' => 'Toate tranzacțiile pentru bugetul ":name" între :start și :end în :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' => 'Suma bugetată a fost în :currency, astfel încât acest grafic va afișa numai tranzacții în :currency.',
'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_all' => 'Graficul cu toate tranzacțiile pentru categoria ":name"',
'clone_withdrawal' => 'Clonați această retragere',
@ -201,7 +201,7 @@ return [
'button_register' => 'Înregistrare',
'authorization' => 'Autorizare',
'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ă',
'expected_total' => 'total așteptat',
// API access
@ -210,7 +210,7 @@ return [
'scopes_will_be_able' => 'Această aplicație va fi capabilă să to:',
'button_authorize' => 'Autorizează',
'none_in_select_list' => '(nici unul)',
'no_piggy_bank' => '(no piggy bank)',
'no_piggy_bank' => '(nicio pușculiță)',
'name_in_currency' => ':name în :currency',
'paid_in_currency' => 'Plă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_explain' => 'Dacă apăsați butonul, Firefly III va vedea dacă versiunea curentă este cea mai recentă.',
'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_version_beta' => 'This version is a BETA version. You may run into issues.',
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
'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' => 'Această versiune este o versiune BETA. Este posibil să aveți probleme.',
'update_version_alpha' => 'Această versiune este o versiune ALFA. Este posibil să aveți probleme.',
'update_current_version_alert' => 'Aveți versiunea :version, care este ultima disponibilă.',
'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.',
'admin_update_channel_title' => 'Update channel',
'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.',
'update_channel_stable' => 'Stable. Everything should work as expected.',
'update_channel_beta' => 'Beta. New features but things may be broken.',
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
'admin_update_channel_title' => 'Actualizare canal',
'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' => 'Stabil. Totul ar trebui să funcționeze așa cum este de așteptat.',
'update_channel_beta' => 'Beta. Caracteristici noi, dar lucrurile pot fi stricate.',
'update_channel_alpha' => 'Alfa. Aruncăm chestii și folosiți orice.',
// search
'search' => 'Caută',
@ -250,9 +250,9 @@ return [
'search_modifier_amount_less' => 'Suma este mai mică decât :value',
'search_modifier_amount_more' => 'Suma este mai mare decât :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_to' => 'Destination account is :value',
'search_modifier_to' => 'Contul destinației este :value',
'search_modifier_tag' => 'Eticheta este ":value"',
'search_modifier_category' => 'Categoria este ":value"',
'search_modifier_budget' => 'Bugetul este ":value"',
@ -264,10 +264,10 @@ return [
'search_modifier_on' => 'Data tranzacţiei este :value',
'search_modifier_before' => 'Data tranzacţiei este înainte de :value',
'search_modifier_after' => 'Data tranzacţiei este după :value',
'search_modifier_created_on' => 'Transaction was created on :value',
'search_modifier_updated_on' => 'Transaction was last updated on :value',
'search_modifier_created_on' => 'Tranzacția a fost creată în :value',
'search_modifier_updated_on' => 'Tranzacția a actualizată în :value',
'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_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',
@ -353,41 +353,41 @@ return [
// actions and triggers
'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' => 'Source account name starts with ":trigger_value"',
'rule_trigger_from_account_ends_choice' => 'Source account name ends with..',
'rule_trigger_from_account_ends' => 'Source account name ends with ":trigger_value"',
'rule_trigger_from_account_is_choice' => 'Source account name is..',
'rule_trigger_from_account_is' => 'Source account name is ":trigger_value"',
'rule_trigger_from_account_contains_choice' => 'Source account name contains..',
'rule_trigger_from_account_contains' => 'Source account name contains ":trigger_value"',
'rule_trigger_from_account_starts_choice' => 'Contul sursă începe cu..',
'rule_trigger_from_account_starts' => 'Contul sursă începe cu ":trigger_value"',
'rule_trigger_from_account_ends_choice' => 'Contul sursă se termină cu..',
'rule_trigger_from_account_ends' => 'Contul sursă se termină cu ":trigger_value"',
'rule_trigger_from_account_is_choice' => 'Contul sursă este..',
'rule_trigger_from_account_is' => 'Contul sursă este ":trigger_value"',
'rule_trigger_from_account_contains_choice' => 'Contul sursă conține..',
'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' => 'Source account number / IBAN starts with ":trigger_value"',
'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_is_choice' => 'Source account number / IBAN is..',
'rule_trigger_from_account_nr_is' => 'Source account number / IBAN is ":trigger_value"',
'rule_trigger_from_account_nr_contains_choice' => 'Source account number / IBAN contains..',
'rule_trigger_from_account_nr_contains' => 'Source account number / IBAN contains ":trigger_value"',
'rule_trigger_from_account_nr_starts_choice' => 'Numărul contulului sursă / IBAN începe cu..',
'rule_trigger_from_account_nr_starts' => 'Numărul contulului sursă / IBAN începe cu ":trigger_value"',
'rule_trigger_from_account_nr_ends_choice' => 'Numărul contulului sursă / IBAN se termină cu..',
'rule_trigger_from_account_nr_ends' => 'Numărul contulului sursă / IBAN se termină cu ":trigger_value"',
'rule_trigger_from_account_nr_is_choice' => 'Numărul contulului sursă / IBAN este..',
'rule_trigger_from_account_nr_is' => 'Numărul contulului sursă / IBAN este ":trigger_value"',
'rule_trigger_from_account_nr_contains_choice' => 'Numărul contulului sursă / IBAN conține..',
'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' => 'Destination account name starts with ":trigger_value"',
'rule_trigger_to_account_ends_choice' => 'Destination account name ends with..',
'rule_trigger_to_account_ends' => 'Destination account name ends with ":trigger_value"',
'rule_trigger_to_account_is_choice' => 'Destination account name is..',
'rule_trigger_to_account_is' => 'Destination account name is ":trigger_value"',
'rule_trigger_to_account_contains_choice' => 'Destination account name contains..',
'rule_trigger_to_account_contains' => 'Destination account name contains ":trigger_value"',
'rule_trigger_to_account_starts_choice' => 'Contul destinației începe cu..',
'rule_trigger_to_account_starts' => 'Contul destinației începe cu ":trigger_value"',
'rule_trigger_to_account_ends_choice' => 'Contul destinației se termină cu..',
'rule_trigger_to_account_ends' => 'Contul destinației se termină cu ":trigger_value"',
'rule_trigger_to_account_is_choice' => 'Contul destinației este..',
'rule_trigger_to_account_is' => 'Contul destinației este ":trigger_value"',
'rule_trigger_to_account_contains_choice' => 'Contul destinației conține..',
'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' => 'Destination account number / IBAN starts with ":trigger_value"',
'rule_trigger_to_account_nr_ends_choice' => 'Destination account number / IBAN ends with..',
'rule_trigger_to_account_nr_ends' => 'Destination account number / IBAN ends with ":trigger_value"',
'rule_trigger_to_account_nr_is_choice' => 'Destination account number / IBAN is..',
'rule_trigger_to_account_nr_is' => 'Destination account number / IBAN is ":trigger_value"',
'rule_trigger_to_account_nr_contains_choice' => 'Destination account number / IBAN contains..',
'rule_trigger_to_account_nr_contains' => 'Destination account number / IBAN contains ":trigger_value"',
'rule_trigger_to_account_nr_starts_choice' => 'Numărul contulului de destinație/ IBAN începe cu..',
'rule_trigger_to_account_nr_starts' => 'Numărul contulului de destinație / IBAN începe cu ":trigger_value"',
'rule_trigger_to_account_nr_ends_choice' => 'Numărul contulului de destinație/ IBAN se termină cu..',
'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' => 'Numărul contulului de destinație/ IBAN este..',
'rule_trigger_to_account_nr_is' => 'Numărul contulului de destinație / IBAN este ":trigger_value"',
'rule_trigger_to_account_nr_contains_choice' => 'Numărul contulului de destinație/ IBAN conține..',
'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' => 'Tranzacția este de tip ":trigger_value"',
@ -503,11 +503,11 @@ return [
'result' => 'Rezultat',
'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>.',
'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',
'delete_all_selected_tags' => 'Delete all selected tags',
'select_tags_to_delete' => 'Don\'t forget to select some tags.',
'deleted_x_tags' => 'Deleted :count tag(s).',
'delete_all_selected_tags' => 'Şterge toate etichetele selectate',
'select_tags_to_delete' => 'Nu uitați să selectați unele etichete.',
'deleted_x_tags' => ':count etichete șterse.',
// preferences
'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_reset_code' => 'Resetați codul de verificare',
'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_backup_codes' => 'Store these backup codes for access in case you lose your device.',
'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' => '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ă.',
'wrong_mfa_code' => 'This MFA code is not valid.',
'wrong_mfa_code' => 'Codul MFA nu este valid.',
'pref_save_settings' => 'Salvează setările',
'saved_preferences' => 'Preferințele sunt salvate!',
'preferences_general' => 'Generale',
@ -573,13 +573,13 @@ return [
'optional_field_meta_data' => 'Meta date opționale',
// profile:
'permanent_delete_stuff' => 'Be careful with these buttons. Deleting stuff is permanent.',
'delete_all_budgets' => 'Delete ALL your budgets',
'delete_all_categories' => 'Delete ALL your categories',
'delete_all_tags' => 'Delete ALL your tags',
'deleted_all_budgets' => 'All budgets have been deleted',
'deleted_all_categories' => 'All categories have been deleted',
'deleted_all_tags' => 'All tags have been deleted',
'permanent_delete_stuff' => 'Fii atent cu aceste butoane. Ștergerea lucrurilor este permanentă.',
'delete_all_budgets' => 'Șterge toate bugetele',
'delete_all_categories' => 'Șterge toate categoriile',
'delete_all_tags' => 'Șterge toate tag-urile',
'deleted_all_budgets' => 'Toate bugetele au fost şterse',
'deleted_all_categories' => 'Toate categoriile au fost şterse',
'deleted_all_tags' => 'Toate tag-urile au fost şterse',
'change_your_password' => 'Schimbați-vă parola',
'delete_account' => 'Șterge account',
'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.',
// export data:
'import_and_export_menu' => 'Import and export',
'export_data_title' => 'Export data from Firefly III',
'export_data_menu' => 'Export data',
'export_data_bc' => 'Export data from Firefly III',
'export_data_main_title' => 'Export data from 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_all_transactions' => 'Export all transactions',
'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>.',
'import_and_export_menu' => 'Import și export',
'export_data_title' => 'Exportă date din Firefly III',
'export_data_menu' => 'Exportă datele',
'export_data_bc' => 'Exportă date din Firefly III',
'export_data_main_title' => 'Exportă date din Firefly III',
'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ă toate tranzacțiile',
'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
'nr_of_attachments' => 'Un atașament|:count atașamente',
@ -633,7 +633,7 @@ return [
'update_attachment' => 'Actualizați atașament',
'delete_attachment' => 'Șterge atașament ":name"',
'attachment_deleted' => 'Atașament ":name" șters',
'liabilities_deleted' => 'Deleted liability ":name"',
'liabilities_deleted' => 'Provizionul ":name" a fost șters',
'attachment_updated' => 'Atașament ":name" actualizat',
'upload_max_file_size' => 'Dimensiunea maximă a fișierului: :size',
'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_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_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_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_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_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_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_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_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' => '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' => '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' => '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' => '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' => '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_Deposit' => 'Tranzacția a fost transformată în depozit',
'converted_to_Transfer' => 'Tranzacția a fost transformată în transfer',
@ -700,16 +700,16 @@ return [
'update_currency' => 'Actualizați monedă',
'new_default_currency' => ':name este acum moneda implicită.',
'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_last_left' => 'Cannot disable :name because it is the last enabled currency.',
'cannot_disable_currency_account_meta' => 'Cannot disable :name because it is used in asset accounts.',
'cannot_disable_currency_bills' => 'Cannot disable :name because it is used in bills.',
'cannot_disable_currency_recurring' => 'Cannot disable :name because it is used in recurring transactions.',
'cannot_disable_currency_available_budgets' => 'Cannot disable :name because it is used in available budgets.',
'cannot_disable_currency_budget_limits' => 'Cannot disable :name because it is used in budget limits.',
'cannot_disable_currency_current_default' => 'Cannot disable :name because it is the current default currency.',
'cannot_disable_currency_system_fallback' => 'Cannot disable :name because it is the system default currency.',
'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.',
'cannot_disable_currency_journals' => 'Nu se poate dezactiva :name, deoarece tranzacțiile încă îl utilizează.',
'cannot_disable_currency_last_left' => 'Nu se poate dezactiva :name, deoarece este ultima monedă activată.',
'cannot_disable_currency_account_meta' => 'Nu se poate dezactiva :name deoarece este utilizat în conturile de active.',
'cannot_disable_currency_bills' => 'Nu se poate dezactiva :name deoarece este folosit în facturi.',
'cannot_disable_currency_recurring' => 'Nu se poate dezactiva :name deoareceeste utilizat în tranzacții recurente.',
'cannot_disable_currency_available_budgets' => 'Nu se poate dezactiva :name deoarece este folosit în bugetele disponibile.',
'cannot_disable_currency_budget_limits' => 'Nu se poate dezactiva :name deoarece este utilizat în limite bugetare.',
'cannot_disable_currency_current_default' => 'Nu se poate dezactiva :name deoarece este moneda implicită curentă.',
'cannot_disable_currency_system_fallback' => 'Nu se poate dezactiva :name deoarece este moneda implicită a sistemului.',
'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ă',
'created_currency' => 'Moneda :name creată',
'could_not_store_currency' => 'Nu am putut stoca o nouă monedă.',
@ -731,8 +731,8 @@ return [
'options' => 'Opțiuni',
// budgets:
'total_available_budget' => 'Total available budget (between :start and :end)',
'total_available_budget_in_currency' => 'Total available budget in :currency',
'total_available_budget' => 'Buget total disponibil (între :start și :end)',
'total_available_budget_in_currency' => 'Buget total disponibil în :currency',
'see_below' => 'vezi mai jos',
'create_new_budget' => 'Creați un nou budget',
'store_new_budget' => 'Salvați un nou budget',
@ -741,17 +741,17 @@ return [
'transactionsWithoutBudget' => 'Cheltuieli fără buget',
'transactions_no_budget' => 'Cheltuieli fără buget între :start și :end',
'spent_between' => 'Cheltuit între :start și :end',
'set_available_amount' => 'Set available amount',
'update_available_amount' => 'Update available amount',
'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.',
'set_available_amount' => 'Setați suma disponibilă',
'update_available_amount' => 'Actualizați suma disponibilă',
'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',
'invalid_currency' => 'This is an invalid currency',
'set_ab' => 'The available budget amount has been set',
'updated_ab' => 'The available budget amount has been updated',
'deleted_ab' => 'The available budget amount has been deleted',
'deleted_bl' => 'The budgeted amount has been removed',
'alt_currency_ab_create' => 'Set the available budget in another currency',
'bl_create_btn' => 'Set budget in another currency',
'invalid_currency' => 'Aceasta este o monedă nevalidă',
'set_ab' => 'Suma disponibilă a bugetului a fost stabilită',
'updated_ab' => 'Suma disponibilă a bugetului a fost actualizată',
'deleted_ab' => 'Suma disponibilă a bugetului a fost ștearsă',
'deleted_bl' => 'Suma disponibilă a bugetului a fost îndepărtat',
'alt_currency_ab_create' => 'Setați bugetul disponibil într-o altă monedă',
'bl_create_btn' => 'Setați bugetul într-o altă monedă',
'inactiveBudgets' => 'Bugete inactive',
'without_budget_between' => 'Tranzacții fără un buget între :start și :end',
'delete_budget' => 'Șterge buget ":name"',
@ -761,20 +761,20 @@ return [
'update_amount' => 'Actualizați suma',
'update_budget' => 'Actualizați bugetul',
'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' => 'Set budgeted amount',
'set_budget_limit_title' => 'Setați suma bugetată pentru bugetul :budget între :start și :end',
'set_budget_limit' => 'Setați suma bugetată',
'budget_period_navigator' => 'Navigator pe perioada',
'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.',
'suggested' => 'Sugerat',
'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?',
'transferred_in' => 'Transferred (in)',
'transferred_away' => 'Transferred (away)',
'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' => 'Transferat (în)',
'transferred_away' => 'Transferat (departe)',
// bills:
'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ă',
'repeats' => 'Repetă',
'connected_journals' => 'Tranzacții conectate',
@ -802,9 +802,9 @@ return [
'list_inactive_rule' => 'regulă inactivă',
// accounts:
'inactive_account_link' => 'You have :count inactive (archived) accounts, which you can view on this separate page.',
'all_accounts_inactive' => 'These are your inactive accounts.',
'active_account_link' => 'This link goes back to your active accounts.',
'inactive_account_link' => 'Aveți :count conturi inactive (arhivate), pe care le puteți vizualiza în această pagină separată.',
'all_accounts_inactive' => 'Acestea sunt conturile dvs. inactive.',
'active_account_link' => 'Acest link revine la conturile dvs. active.',
'account_missing_transaction' => 'Contul #:id (":name") nu pot fi vizualizate direct.',
'details_for_asset' => 'Detalii pentru contul de active ":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_liabilities_account' => 'Creați un nou provizion',
'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_inactive' => 'Expense accounts (inactive)',
'expense_accounts_inactive' => 'Conturi de cheltuieli (inactive)',
'revenue_accounts' => 'Conturi de venituri',
'cash_accounts' => 'Conturi de numerar',
'Cash account' => 'Cont de numerar',
@ -860,9 +860,9 @@ return [
'reconcile_options' => 'Optiuni reconciliere',
'reconcile_range' => 'Domeniu de reconciliere',
'start_reconcile' => 'Porniți reconcilierea',
'cash_account_type' => 'Cash',
'cash_account_type' => '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',
'save_transactions_by_moving' => 'Salvați aceste tranzacții prin mutarea acestora într-un alt cont:',
'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.',
'must_be_asset_account' => 'Puteți reconcilia numai contul de active',
'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_transaction_title' => 'Reconciliation (:from to :to)',
'sum_of_reconciliation' => 'Sum of reconciliation',
'reconciliation_error' => 'Din cauza unei erori tranzacțiile au fost marcate ca reconciliate, dar corectarea nu a fost stocată: :error.',
'reconciliation_transaction_title' => 'Reconciliere (:from la :to)',
'sum_of_reconciliation' => 'Suma împăcărilor',
'reconcile_this_account' => 'Reconciliați acest cont',
'confirm_reconciliation' => 'Confirmați reconcilierea',
'submitted_start_balance' => 'Balanța inițială afișată',
@ -900,7 +900,7 @@ return [
'interest_calc_daily' => 'Pe zi',
'interest_calc_monthly' => 'Pe lună',
'interest_calc_yearly' => 'Pe an',
'initial_balance_account' => 'Initial balance account of :account',
'initial_balance_account' => 'Bilanțul inițial al contului :account',
// categories:
'new_category' => 'Categorie nouă',
@ -921,7 +921,7 @@ return [
// transactions:
'update_withdrawal' => 'Actualizați retragere',
'update_deposit' => 'Actualizați depozit',
'update_transaction' => 'Update transaction',
'update_transaction' => 'Actualizați tranzacția',
'update_transfer' => 'Actualizați transfer',
'updated_withdrawal' => 'Retragerea ":description" actualizată',
'updated_deposit' => 'Depozitul ":description" actualizat',
@ -934,7 +934,7 @@ return [
'deleted_transfer' => 'Transferul ":description" șters cu succes',
'stored_journal' => 'A fost creată cu succes o tranzacție nouă ":description"',
'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',
'rule_group_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_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_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.',
'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.',
'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' => '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.',
'no_bulk_category' => 'Nu actualizați categoria',
'no_bulk_budget' => 'Nu actualizați budgetul',
'no_bulk_tags' => 'Nu actualizați etichetă(e) ',
'mass_edit' => 'Edit selected individually',
'bulk_edit' => 'Edit selected in bulk',
'mass_delete' => 'Delete selected',
'mass_edit' => 'Editează individual',
'bulk_edit' => 'Editează cele selectate in masă (bulk)',
'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_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)',
'account_per_budget' => 'Account per budget',
'account_per_category' => 'Account per category',
'empty' => '(empty)',
'all_other_budgets' => '(all other budgets)',
'all_other_accounts' => '(all other accounts)',
'expense_per_source_account' => 'Expenses per source account',
'expense_per_destination_account' => 'Expenses per destination account',
'income_per_destination_account' => 'Income per destination account',
'spent_in_specific_category' => 'Spent in category ":category"',
'earned_in_specific_category' => 'Earned in category ":category"',
'spent_in_specific_tag' => 'Spent in tag ":tag"',
'earned_in_specific_tag' => 'Earned in tag ":tag"',
'income_per_source_account' => 'Income per source account',
'average_spending_per_destination' => 'Average expense per destination account',
'average_spending_per_source' => 'Average expense per source account',
'average_earning_per_source' => 'Average earning per source account',
'average_earning_per_destination' => 'Average earning per destination account',
'account_per_tag' => 'Account per tag',
'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.',
'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.',
'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' => 'Tag',
'account_per_budget' => 'Cont pe buget',
'account_per_category' => 'Cont pe categorie',
'empty' => '(gol)',
'all_other_budgets' => '(toate celelalte bugete)',
'all_other_accounts' => '(toate celelalte conturi)',
'expense_per_source_account' => 'Cheltuieli pe contul sursă',
'expense_per_destination_account' => 'Cheltuieli pe contul de destinație',
'income_per_destination_account' => 'Venit pe contul de destinație',
'spent_in_specific_category' => 'Cheltuit în categoria ":category"',
'earned_in_specific_category' => 'Câștigat în categoria ":category"',
'spent_in_specific_tag' => 'Cheltuit in eticheta ":tag"',
'earned_in_specific_tag' => 'Câștigat in eticheta ":tag"',
'income_per_source_account' => 'Venit pe cont sursă',
'average_spending_per_destination' => 'Cheltuieli medii pe contul de destinație',
'average_spending_per_source' => 'Cheltuieli medii pe contul sursă',
'average_earning_per_source' => 'Venitul mediu pe cont sursă',
'average_earning_per_destination' => 'Venitul mediu pe cont de destinație',
'account_per_tag' => 'Cont pe etichetă',
'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' => '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' => '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' => 'Etichetă',
'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_edited_transactions_success' => 'S-au actualizat :amount tranzacții',
'opt_group_' => '(niciun tip de cont)',
@ -988,10 +988,10 @@ return [
'opt_group_sharedAsset' => 'Cont de active partajat',
'opt_group_ccAsset' => 'Carduri de credit',
'opt_group_cashWalletAsset' => 'Cash - Numerar',
'opt_group_expense_account' => 'Expense accounts',
'opt_group_revenue_account' => 'Revenue accounts',
'opt_group_expense_account' => 'Conturi de cheltuieli',
'opt_group_revenue_account' => 'Conturi de venituri',
'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_Mortgage' => 'Provizion: Credit ipotecar',
'opt_group_l_Credit card' => 'Provizion: Card de credit',
@ -1003,7 +1003,7 @@ return [
// new user:
'welcome' => 'Bine ați venit!',
'submit' => 'Trimite',
'submission' => 'Submission',
'submission' => 'Transmitere',
'submit_yes_really' => 'Trimite (Știu ce fac)',
'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.',
@ -1091,7 +1091,7 @@ return [
'errors' => 'Erori',
'debt_start_date' => 'Data de începere a datoriilor',
'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',
'edit_liabilities_account' => 'Editați provizion ":name"',
@ -1099,7 +1099,7 @@ return [
'report_default' => 'Raportul financiar prestabilit î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_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_tag' => 'Raport privind etichetele între :start și :end',
'quick_link_reports' => 'Link-uri rapide',
@ -1136,7 +1136,7 @@ return [
'report_type_category' => 'Raport privind categoria',
'report_type_budget' => 'Raport privind bugetul',
'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.',
'report_included_accounts' => 'Conturi incluse',
'report_date_range' => 'Interval de date',
@ -1145,7 +1145,7 @@ return [
'fiscal_year' => 'An fiscal',
'income_entry' => 'Venituri din 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',
'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.',
@ -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.',
'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_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',
'out_per_budget' => 'Cheltuit pe buget',
'select_expense_revenue' => 'Selectați contul de cheltuieli / venituri',
@ -1209,7 +1209,7 @@ return [
'overspent' => 'Depășire de buget',
'left' => 'Rămas',
'max-amount' => 'Sumă maximă',
'min-amount' => 'Minimum amount',
'min-amount' => 'Valoare minimă',
'journal-amount' => 'Intrare factură curentă',
'name' => 'Nume',
'date' => 'Dată',
@ -1224,7 +1224,7 @@ return [
'average' => 'In medie',
'balanceFor' => 'Balanta pentru :name',
'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',
// piggy banks:
@ -1319,13 +1319,13 @@ return [
'send_message' => 'Trimite mesaj',
'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_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
'transaction_information' => 'Transaction information',
'you_create_transfer' => 'You\'re creating a <strong>transfer</strong>.',
'you_create_withdrawal' => 'You\'re creating a <strong>withdrawal</strong>.',
'you_create_deposit' => 'You\'re creating a <strong>deposit</strong>.',
'split_transaction_title' => 'Descrierea tranzacției divizate',
'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' => 'Dacă creați o tranzacție divizată, trebuie să existe o descriere globală pentru toate diviziunile tranzacției.',
'transaction_information' => 'Informații despre tranzacții',
'you_create_transfer' => 'Creați un <strong> transfer </strong>.',
'you_create_withdrawal' => 'Creați o <strong> retragere</strong>.',
'you_create_deposit' => 'Creați un <strong> depozit</strong>.',
// links
@ -1346,13 +1346,13 @@ return [
'do_not_save_connection' => '(nu salvați conexiunea)',
'link_transaction' => 'Link 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',
'transaction' => 'Tranzacţie',
'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',
'selected_transaction' => 'Selected transaction',
'selected_transaction' => 'Tranzacție selectată',
'journals_linked' => 'Tranzacțiile sunt legate.',
'journals_error_linked' => 'Aceste tranzacții sunt deja legate.',
'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',
'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.',
'breadcrumb_convert_group' => 'Convert transaction',
'convert_invalid_source' => 'Source information is invalid for transaction #%d.',
'convert_invalid_destination' => 'Destination information is invalid for transaction #%d.',
'create_another' => 'After storing, return here to create another one.',
'after_update_create_another' => 'After updating, return here to continue editing.',
'store_as_new' => 'Store as a new transaction instead of updating.',
'reset_after' => 'Reset form after submission',
'errors_submission' => 'There was something wrong with your submission. Please check out the errors below.',
'breadcrumb_convert_group' => 'Tranzacție convertită',
'convert_invalid_source' => 'Informațiile sursă sunt nevalide pentru tranzacția #%d.',
'convert_invalid_destination' => 'Informațiile de destinație sunt nevalide pentru tranzacția #%d.',
'create_another' => 'După stocare, reveniți aici pentru a crea alta.',
'after_update_create_another' => 'După actualizare, reveniți aici pentru a continua editarea.',
'store_as_new' => 'Stocați ca o tranzacție nouă în loc să actualizați.',
'reset_after' => 'Resetați formularul după trimitere',
'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_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_create_liabilities' => 'Creați 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_create_default' => 'Creați un buget',
'no_categories_title_default' => 'Să cream o categorie!',
@ -1470,9 +1470,9 @@ return [
'make_new_recurring' => 'Creați o tranzacție recurentă',
'recurring_daily' => 'Zilnic',
'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_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_yearly' => 'În fiecare an :date',
'overview_for_recurrence' => 'Prezentare generală a tranzacției recurente ":title"',
@ -1521,7 +1521,7 @@ return [
'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ă?',
'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_monday' => 'Creați tranzacția de luni viitoare',
'will_jump_friday' => 'Va fi creat vineri în loc de weekend.',
@ -1530,15 +1530,15 @@ return [
'recurrence_deleted' => 'tranzacție recurentă ":title" ștearsă',
// new lines for summary controller.
'box_balance_in_currency' => 'Balance (:currency)',
'box_spent_in_currency' => 'Spent (:currency)',
'box_earned_in_currency' => 'Earned (:currency)',
'box_budgeted_in_currency' => 'Budgeted (:currency)',
'box_sum_in_currency' => 'Sum (:currency)',
'box_bill_paid_in_currency' => 'Bills paid (:currency)',
'box_bill_unpaid_in_currency' => 'Bills unpaid (:currency)',
'box_left_to_spend_in_currency' => 'Left to spend (:currency)',
'box_net_worth_in_currency' => 'Net worth (:currency)',
'box_spend_per_day' => 'Left to spend per day: :amount',
'box_balance_in_currency' => 'Balanța (:currency)',
'box_spent_in_currency' => 'Cheltuit (:currency)',
'box_earned_in_currency' => 'Câștigat (:currency)',
'box_budgeted_in_currency' => 'Bugetat (:currency)',
'box_sum_in_currency' => 'Sumă (:currency)',
'box_bill_paid_in_currency' => 'Facturi plătite (:currency)',
'box_bill_unpaid_in_currency' => 'Facturi neplătite (:currency)',
'box_left_to_spend_in_currency' => 'Rămas de cheltuit (:currency)',
'box_net_worth_in_currency' => 'Valoarea netă (:currency)',
'box_spend_per_day' => 'Rămas de cheltui pe zi: :amount',
];

View File

@ -38,8 +38,8 @@ return [
'match' => 'Se potrivește',
'strict' => 'Modul strict',
'repeat_freq' => 'Repetă',
'location' => 'Location',
'update_channel' => 'Update channel',
'location' => 'Locație',
'update_channel' => 'Actualizare canal',
'journal_currency_id' => 'Monedă',
'currency_id' => 'Monedă',
'transaction_currency_id' => 'Monedă',
@ -59,21 +59,21 @@ return [
'asset_source_account' => 'Contul sursă',
'journal_description' => 'Descriere',
'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_explanation' => 'Împărțiți această tranzacție în mai multe părți',
'currency' => 'Monedă',
'account_id' => 'Cont de active',
'budget_id' => 'Buget',
'opening_balance' => 'Opening balance',
'opening_balance' => 'Soldul de deschidere',
'tagMode' => 'Mod de etichetare',
'tag_position' => 'Locația etichetei',
'virtual_balance' => 'Virtual balance',
'virtual_balance' => 'Soldul virtual',
'targetamount' => 'Sumă țintă',
'account_role' => 'Account role',
'opening_balance_date' => 'Opening balance date',
'cc_type' => 'Credit card payment plan',
'cc_monthly_payment_date' => 'Credit card monthly payment date',
'account_role' => 'Rolul contului',
'opening_balance_date' => 'Data soldului de deschidere',
'cc_type' => 'Plan de plată cu card de credit',
'cc_monthly_payment_date' => 'Data plății lunare cu cartea de credit',
'piggy_bank_id' => 'Pușculită',
'returnHere' => 'Întoarce-te aici',
'returnHereExplanation' => 'După salvare, reveniți aici pentru a crea alta.',
@ -121,7 +121,7 @@ return [
'symbol' => 'Simbol',
'code' => 'Cod',
'iban' => 'IBAN',
'account_number' => 'Account number',
'account_number' => 'Număr de cont',
'creditCardNumber' => 'Numărul cărții de credit',
'has_headers' => 'Antet',
'date_format' => 'Formatul datei',
@ -255,9 +255,9 @@ return [
'weekend' => 'Sfârșit de săptămână',
'client_secret' => 'Codul secret al clientului',
'withdrawal_destination_id' => 'Destination account',
'deposit_source_id' => 'Source account',
'expected_on' => 'Expected on',
'paid' => 'Paid',
'withdrawal_destination_id' => 'Contul de destinație',
'deposit_source_id' => 'Contul sursă',
'expected_on' => 'Așteptat pe',
'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.',
// 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):
'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_belfius_name' => 'Belfius BE',
'specific_belfius_descr' => 'Remediază posibile probleme cu fișierele Belfius',
'specific_ingbelgium_name' => 'ING BE',
'specific_ingbelgium_descr' => 'Fixes potential problems with ING Belgium files',
'specific_ingbelgium_name' => 'ING Belgia',
'specific_ingbelgium_descr' => 'Remediază posibile probleme cu fișierele ING Belgia',
// job configuration for file provider (stage: roles)
'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.',
@ -315,6 +315,6 @@ Creați descrieri mai bune în exporturile ING',
'column_internal-reference' => 'Referință internă',
// 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_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_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_create_withdrawal_source' => 'Select your favorite asset account or liability from this dropdown.',
'transactions_create_withdrawal_destination' => 'Select an expense account here. Leave it empty if you want to make a cash expense.',
'transactions_create_withdrawal_foreign_currency' => 'Use this field to set a foreign currency and amount.',
'transactions_create_withdrawal_more_meta' => 'Plenty of other meta data you set in these fields.',
'transactions_create_withdrawal_split_add' => 'If you want to split a transaction, add more splits with this button',
'transactions_create_withdrawal_source' => 'Selectați contul sau provizionul preferat din acest dropdown.',
'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' => 'Utilizați acest câmp pentru a seta o valută și o sumă străină.',
'transactions_create_withdrawal_more_meta' => 'Ați setat o mulțime de alte meta-date în aceste câmpuri.',
'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_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_destination' => 'Select an asset or liability account here.',
'transactions_create_deposit_foreign_currency' => 'Use this field to set a foreign currency and amount.',
'transactions_create_deposit_more_meta' => 'Plenty of other meta data you set in these fields.',
'transactions_create_deposit_split_add' => 'If you want to split a transaction, add more splits with this button',
'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' => 'Selectați un cont de activ sau provizion aici.',
'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' => 'Ați setat o mulțime de alte meta-date în aceste câmpuri.',
'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_create_transfer_source' => 'Select the source asset account here.',
'transactions_create_transfer_destination' => 'Select the destination asset account here.',
'transactions_create_transfer_foreign_currency' => 'Use this field to set a foreign currency and amount.',
'transactions_create_transfer_more_meta' => 'Plenty of other meta data you set in these fields.',
'transactions_create_transfer_split_add' => 'If you want to split a transaction, add more splits with this button',
'transactions_create_transfer_source' => 'Selectați aici contul sursă.',
'transactions_create_transfer_destination' => 'Selectați aici contul de destinație.',
'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' => 'Ați setat o mulțime de alte meta-date în aceste câmpuri.',
'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:
'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',
'linked_to_rules' => 'Reguli relevante',
'active' => 'Este activ?',
'percentage' => 'pct.',
'next_due' => 'Next due',
'transaction_type' => 'Type',
'percentage' => 'procent %',
'next_due' => 'Următoarea scadență',
'transaction_type' => 'Tip',
'lastActivity' => 'Ultima activitate',
'balanceDiff' => 'Diferența de sold',
'matchesOn' => 'Se potrivește',
'other_meta_data' => 'Other meta data',
'other_meta_data' => 'Alte meta-date',
'account_type' => 'Tip de cont',
'created_at' => 'Creat la',
'account' => 'Cont',
@ -105,7 +105,7 @@ return [
'sum_withdrawals' => 'Suma retragerilor',
'sum_deposits' => 'Suma depozitelor',
'sum_transfers' => 'Suma transferurilor',
'sum_reconciliations' => 'Sum of reconciliations',
'sum_reconciliations' => 'Suma împăcărilor',
'reconcile' => 'Reconcilia',
'account_on_spectre' => 'Cont (Spectre)',
'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.',
'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ă.',
'not_transfer_account' => 'This account is not an account that can be used for transfers.',
'require_currency_amount' => 'The content of this field is invalid without foreign amount information.',
'not_transfer_account' => 'Acest cont nu este un cont care poate fi utilizat pentru transferuri.',
'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ă.',
'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.',
@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Regula trebuie să aibă cel puțin o acțiune.',
'base64' => 'Acest lucru nu este valabil pentru datele encoded base64.',
'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',
'active_url' => ':attribute nu este o adresă URL validă.',
'after' => ':attribute trebuie să fie o dată ulterioară :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute trebuie să fie un șir de caractere.',
'url' => ':attribute format este invalid.',
'timezone' => ':attribute trebuie să fie o zonă validă.',
'2fa_code' => 'Câmpul :attribute este invalid.',
'dimensions' => ':attribute are dimensiuni de imagine nevalide.',
'distinct' => 'Câmpul :attribute are o valoare duplicată.',
'file' => ':attribute trebuie să fie un fișier.',
'in_array' => 'Câmpul :attribute nu există în :other.',
'present' => 'Câmpul :attribute trebuie să fie prezent.',
'amount_zero' => 'Suma totală nu poate fi zero.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'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.',
'invalid_account_info' => 'Informațiile contului nevalide.',
'2fa_code' => 'Câmpul :attribute este invalid.',
'dimensions' => ':attribute are dimensiuni de imagine nevalide.',
'distinct' => 'Câmpul :attribute are o valoare duplicată.',
'file' => ':attribute trebuie să fie un fișier.',
'in_array' => 'Câmpul :attribute nu există în :other.',
'present' => 'Câmpul :attribute trebuie să fie prezent.',
'amount_zero' => 'Suma totală nu poate fi zero.',
'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.',
'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_moment' => 'Momentul repetiției nevalid pentru acest tip de repetare.',
'invalid_account_info' => 'Informațiile contului nevalide.',
'attributes' => [
'email' => 'adresă e-mail',
'description' => 'descriere',
@ -141,8 +141,8 @@ return [
'name' => 'nume',
'piggy_bank_id' => 'ID-ul pușculiței',
'targetamount' => 'suma țintă',
'opening_balance_date' => 'opening balance date',
'opening_balance' => 'opening balance',
'opening_balance_date' => 'data de deschidere a soldului',
'opening_balance' => 'soldul de deschidere',
'match' => 'potrivire',
'amount_min' => 'suma minimă',
'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_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_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_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_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_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_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_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_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' => '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' => '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_destination' => 'You can\'t use this account as the destination account.',
'generic_invalid_source' => 'Nu puteți utiliza acest cont ca și cont sursă.',
'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' => 'Правило должно иметь хотя бы одно действие.',
'base64' => 'Это некорректный формат для данных, зашифрованных с помощью base64.',
'model_id_invalid' => 'Данный ID кажется недопустимым для этой модели.',
'more' => ':attribute должен быть больше нуля.',
'more' => ':attribute must be larger than ":more".',
'less' => ':attribute должен быть меньше 10,000,000',
'active_url' => ':attribute не является допустимым URL-адресом.',
'after' => ':attribute должна быть позже :date.',
@ -121,19 +121,19 @@ return [
'string' => 'Значение :attribute должно быть строкой.',
'url' => 'Неверный формат ввода :attribute.',
'timezone' => ':attribute должен быть в допустимом диапазоне.',
'2fa_code' => ':attribute введен неверно.',
'dimensions' => 'Недопустимые размеры изображения :attribute.',
'distinct' => 'Поле :attribute содержит повторяющееся значение.',
'file' => ':attribute должен быть файлом.',
'in_array' => 'Поле :attribute не существует в :other.',
'present' => 'Поле :attribute должно быть заполнено.',
'amount_zero' => 'Сумма не может быть равна нулю.',
'current_target_amount' => 'Текущая сумма должна быть меньше целевой суммы.',
'unique_piggy_bank_for_user' => 'Название копилки должно быть уникальным.',
'secure_password' => 'Это не безопасный пароль. Попробуйте еще раз. Подробнее можно узнать по ссылке https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Недопустимый тип для повторяющихся транзакций.',
'valid_recurrence_rep_moment' => 'Неверный период повторения для данного типа повторений.',
'invalid_account_info' => 'Неверные данные о счёте.',
'2fa_code' => ':attribute введен неверно.',
'dimensions' => 'Недопустимые размеры изображения :attribute.',
'distinct' => 'Поле :attribute содержит повторяющееся значение.',
'file' => ':attribute должен быть файлом.',
'in_array' => 'Поле :attribute не существует в :other.',
'present' => 'Поле :attribute должно быть заполнено.',
'amount_zero' => 'Сумма не может быть равна нулю.',
'current_target_amount' => 'Текущая сумма должна быть меньше целевой суммы.',
'unique_piggy_bank_for_user' => 'Название копилки должно быть уникальным.',
'secure_password' => 'Это не безопасный пароль. Попробуйте еще раз. Подробнее можно узнать по ссылке https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Недопустимый тип для повторяющихся транзакций.',
'valid_recurrence_rep_moment' => 'Неверный период повторения для данного типа повторений.',
'invalid_account_info' => 'Неверные данные о счёте.',
'attributes' => [
'email' => '"Адрес электронной почты"',
'description' => '"Описание"',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => 'Не удалось найти корректный счёт-источник при поиске ID ":id" или имени ":name".',
'deposit_dest_need_data' => 'Для продолжения необходим действительный ID счёта назначения и/или действительное имя счёта.',
'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_bad_data' => 'Не удалось найти корректный счёт-источник при поиске ID ":id" или имени ":name".',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => 'Для продолжения необходим действительный ID счёта назначения и/или действительное имя счёта.',
'ob_dest_bad_data' => 'Не удалось найти действительный счёт назначения при поиске ID ":id" или имени ":name".',
'generic_invalid_source' => 'Вы не можете использовать этот счёт в качестве счёта-источника.',
'generic_invalid_source' => 'Вы не можете использовать этот счёт в качестве счёта-источника.',
'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.',
'base64' => 'Detta är inte giltigt bas64 data.',
'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',
'active_url' => ':attribute är inte en giltig URL.',
'after' => ':attribute måste vara ett datum efter :date.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute måste vara en sträng.',
'url' => ':attribute formatet är ogiltigt.',
'timezone' => ':attribute måste vara en giltig zon.',
'2fa_code' => ':attribute fältet är ogiltigt.',
'dimensions' => ':attribute har ogiltiga bilddimensioner.',
'distinct' => ':attribute fältet har ett dubbelt värde.',
'file' => ':attribute måste vara en fil.',
'in_array' => ':attribute fältet existerar inte i :other.',
'present' => ':attribute fältet måste vara synligt.',
'amount_zero' => 'Totala värdet kan inte vara noll.',
'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.',
'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_moment' => 'Ogiltig repetitionsmoment för denna typ av repetition.',
'invalid_account_info' => 'Ogiltig kontoinformation.',
'2fa_code' => ':attribute fältet är ogiltigt.',
'dimensions' => ':attribute har ogiltiga bilddimensioner.',
'distinct' => ':attribute fältet har ett dubbelt värde.',
'file' => ':attribute måste vara en fil.',
'in_array' => ':attribute fältet existerar inte i :other.',
'present' => ':attribute fältet måste vara synligt.',
'amount_zero' => 'Totala värdet kan inte vara noll.',
'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.',
'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_moment' => 'Ogiltig repetitionsmoment för denna typ av repetition.',
'invalid_account_info' => 'Ogiltig kontoinformation.',
'attributes' => [
'email' => 'e-postadress',
'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_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_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_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_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.',
'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.',
'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.',
'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',
'active_url' => ':attribute geçerli bir URL değil.',
'after' => ':attribute :date tarihinden sonrası için tarihlendirilmelidir.',
@ -121,19 +121,19 @@ return [
'string' => ':attribute bir dizi olmalıdır.',
'url' => ':attribute biçimi geçersiz.',
'timezone' => ':attribute geçerli bir bölge olmalıdır.',
'2fa_code' => ':attribute alanı geçersiz.',
'dimensions' => ':attribute geçersiz görüntü boyutlarına sahip.',
'distinct' => ':attribute alanı yinelenen bir değere sahip.',
'file' => ':attribute bir dosya olmalıdır.',
'in_array' => ':attribute alanı :other içinde olamaz.',
'present' => ':attribute alanı mevcut olmalıdır.',
'amount_zero' => 'Toplam tutarı sıfır olamaz.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'valid_recurrence_rep_type' => 'Invalid repetition type for recurring transactions.',
'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Invalid account information.',
'2fa_code' => ':attribute alanı geçersiz.',
'dimensions' => ':attribute geçersiz görüntü boyutlarına sahip.',
'distinct' => ':attribute alanı yinelenen bir değere sahip.',
'file' => ':attribute bir dosya olmalıdır.',
'in_array' => ':attribute alanı :other içinde olamaz.',
'present' => ':attribute alanı mevcut olmalıdır.',
'amount_zero' => 'Toplam tutarı sıfır olamaz.',
'current_target_amount' => 'The current amount must be less than the target amount.',
'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',
'valid_recurrence_rep_type' => 'Invalid repetition type for recurring transactions.',
'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.',
'invalid_account_info' => 'Invalid account information.',
'attributes' => [
'email' => 'E-posta adresi',
'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_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_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_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_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.',
'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 的所有交易',
'chart_budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start 至 :end 的所有交易的图表',
'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_all' => '分类「:name」的所有交易图表',
'clone_withdrawal' => '复製此提款',
@ -356,14 +356,14 @@ return [
'rule_trigger_from_account_starts_choice' => '来源帐户名开头为…',
'rule_trigger_from_account_starts' => '来源帐户开头为 ":trigger_value"',
'rule_trigger_from_account_ends_choice' => '来源帐户结尾为…',
'rule_trigger_from_account_ends' => 'Source account name ends with ":trigger_value"',
'rule_trigger_from_account_is_choice' => 'Source account name is..',
'rule_trigger_from_account_is' => 'Source account name is ":trigger_value"',
'rule_trigger_from_account_contains_choice' => 'Source account name contains..',
'rule_trigger_from_account_contains' => 'Source account name contains ":trigger_value"',
'rule_trigger_from_account_ends' => '源账户名以“:tenger_value”结尾。',
'rule_trigger_from_account_is_choice' => '源账户名称是...',
'rule_trigger_from_account_is' => '源账户名称为“:tenger_value”',
'rule_trigger_from_account_contains_choice' => '源账户名称包含...',
'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' => 'Source account number / IBAN starts with ":trigger_value"',
'rule_trigger_from_account_nr_starts_choice' => '源帐号/IBAN开头为...',
'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' => 'Source account number / IBAN ends with ":trigger_value"',
'rule_trigger_from_account_nr_is_choice' => 'Source account number / IBAN is..',

View File

@ -57,7 +57,7 @@ return [
'at_least_one_action' => '规则必须至少有一个动作。',
'base64' => '这不是有效的 base64 编码资料。',
'model_id_invalid' => '指定的 ID 对于此模型似乎无效。',
'more' => ':attribute 必须大于。',
'more' => ':attribute 必须大于“:more”。',
'less' => ':attribute 必须小于 10,000,000。',
'active_url' => ':attribute 不是有效的URL。',
'after' => ':attribute 必须是一个在 :date 之后的日期。',
@ -121,19 +121,19 @@ return [
'string' => ':attribute 必须是字串。',
'url' => ':attribute 格式无效。',
'timezone' => ':attribute 必须是有效的区域。',
'2fa_code' => ':attribute 栏位是无效的。',
'dimensions' => ':attribute 具有无效图片尺寸。',
'distinct' => ':attribute 栏位有重复值。',
'file' => ':attribute 必须是档案。',
'in_array' => ':attribute 栏位不存在于 :other。',
'present' => ':attribute 栏位必须存在。',
'amount_zero' => '总金额不能为零。',
'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => '存钱罐的名称必须是独一无二的。',
'secure_password' => '这不是一个安全的密码,请重试一次。如需更多讯息,请访问 https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => '对定期重复交易是无效的重复类型。',
'valid_recurrence_rep_moment' => '对此重复类型是无效的重复时刻。',
'invalid_account_info' => '无效的帐户资讯。',
'2fa_code' => ':attribute 栏位是无效的。',
'dimensions' => ':attribute 具有无效图片尺寸。',
'distinct' => ':attribute 栏位有重复值。',
'file' => ':attribute 必须是档案。',
'in_array' => ':attribute 栏位不存在于 :other。',
'present' => ':attribute 栏位必须存在。',
'amount_zero' => '总金额不能为零。',
'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => '存钱罐的名称必须是独一无二的。',
'secure_password' => '这不是一个安全的密码,请重试一次。如需更多讯息,请访问 https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => '对定期重复交易是无效的重复类型。',
'valid_recurrence_rep_moment' => '对此重复类型是无效的重复时刻。',
'invalid_account_info' => '无效的帐户资讯。',
'attributes' => [
'email' => '电子邮件地址',
'description' => '描述',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的来源帐户。',
'deposit_dest_need_data' => '需要一个有效的目标账户ID和/或目标账户名称才能继续。',
'deposit_dest_bad_data' => '搜索 ID":id"或名称":name"时找不到有效的目标帐户。',
'deposit_dest_wrong_type' => '提交的目标帐户不是正确的类型。',
'deposit_dest_wrong_type' => '提交的目标帐户不是正确的类型。',
'transfer_source_need_data' => '需要一个有效的来源账户ID和/或来源账户名称才能继续。',
'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_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.',
'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' => '規則必須至少有一個動作。',
'base64' => '這不是有效的 base64 編碼資料。',
'model_id_invalid' => '指定的 ID 對於此模型似乎無效。',
'more' => ':attribute 必須大於零。',
'more' => ':attribute must be larger than ":more".',
'less' => ':attribute 必須小於 10,000,000。',
'active_url' => ':attribute 不是有效的 URL。',
'after' => ':attribute 必須是一個在 :date 之後的日期。',
@ -121,19 +121,19 @@ return [
'string' => ':attribute 必須是字串。',
'url' => ':attribute 格式無效。',
'timezone' => ':attribute 必須是有效的時區。',
'2fa_code' => '欄位 :attribute 無效。',
'dimensions' => ':attribute 圖片尺寸無效。',
'distinct' => '欄位 :attribute 有重複值。',
'file' => ':attribute 必須是檔案。',
'in_array' => '欄位 :attribute 不存在於 :other。',
'present' => ':attribute 欄位必須存在。',
'amount_zero' => '總金額不能為零。',
'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => '小豬撲滿的名稱必須是獨一無二的。',
'secure_password' => '此密碼不安全,請再試一遍。如需更多資訊,請瀏覽 https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => '定期重複交易的重複類型無效。',
'valid_recurrence_rep_moment' => '重複時刻在此重複類型無效。',
'invalid_account_info' => '無效的帳戶資訊。',
'2fa_code' => '欄位 :attribute 無效。',
'dimensions' => ':attribute 圖片尺寸無效。',
'distinct' => '欄位 :attribute 有重複值。',
'file' => ':attribute 必須是檔案。',
'in_array' => '欄位 :attribute 不存在於 :other。',
'present' => ':attribute 欄位必須存在。',
'amount_zero' => '總金額不能為零。',
'current_target_amount' => 'The current amount must be less than the target amount.',
'unique_piggy_bank_for_user' => '小豬撲滿的名稱必須是獨一無二的。',
'secure_password' => '此密碼不安全,請再試一遍。如需更多資訊,請瀏覽 https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => '定期重複交易的重複類型無效。',
'valid_recurrence_rep_moment' => '重複時刻在此重複類型無效。',
'invalid_account_info' => '無效的帳戶資訊。',
'attributes' => [
'email' => '電子郵件地址',
'description' => '描述',
@ -181,7 +181,7 @@ return [
'deposit_source_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的來源帳戶。',
'deposit_dest_need_data' => '需要有效的目標帳戶 ID 及/或有效的目標帳戶名稱才能繼續。',
'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_bad_data' => '搜尋 ID ":id" 或名稱 ":name" 都找不到有效的來源帳戶。',
@ -193,6 +193,11 @@ return [
'ob_dest_need_data' => '需要有效的目標帳戶 ID 及/或有效的目標帳戶名稱才能繼續。',
'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.',
'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 %}
{% block content %}
<!-- set location data high up -->
<script type="text/javascript">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var locations = {{ locations|json_encode|raw }};
var mapboxToken = "{{ config('firefly.mapbox_api_key') }}";
</script>
@ -82,10 +82,10 @@
</form>
{% endblock %}
{% block scripts %}
<script src="v1/lib/leaflet/leaflet.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/lib/modernizr-custom.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/ff/accounts/create.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 }}" nonce="{{ JS_NONCE }}"></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 }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %}
{% block styles %}

View File

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

View File

@ -75,8 +75,8 @@
{% endblock %}
{% block scripts %}
<script type="text/javascript">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var objectType = '{{ objectType|escape }}';
</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 %}

View File

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

View File

@ -126,7 +126,7 @@
{% endblock %}
{% block scripts %}
<script type="text/javascript">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
currencySymbol = "{{ currency.symbol }}";
var accountID = {{ account.id }};
var startBalance = {{ startBalance }};
@ -135,5 +135,5 @@
var overviewUri = '{{ overviewUri }}';
var indexUri = '{{ indexUri }}';
</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 %}

View File

@ -156,7 +156,7 @@
{% endblock %}
{% block scripts %}
<script type="text/javascript">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
// location stuff
{% if location %}
@ -191,18 +191,18 @@
</script>
{% 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 %}
<script type="text/javascript" src="v1/js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}"></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/ff/charts.defaults.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/ff/charts.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 }}" nonce="{{ JS_NONCE }}"></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 }}" 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.color-2.1.2.min.js?v={{ FF_VERSION }}" type="text/javascript"></script>
<script src="v1/js/ff/accounts/show.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" nonce="{{ JS_NONCE }}"></script>
<script src="v1/js/ff/accounts/show.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
{# 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 %}
{% block styles %}

View File

@ -60,7 +60,7 @@
{% endblock %}
{% 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 %}
{% block styles %}

View File

@ -57,9 +57,9 @@
{% endblock %}
{% 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 %}
{% 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 %}

View File

@ -68,8 +68,8 @@
{% endblock %}
{% block scripts %}
<script type="text/javascript">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var updateCheckUri = '{{ route('admin.update-check.manual') }}';
</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 %}

View File

@ -89,5 +89,5 @@
<link rel="stylesheet" href="v1/css/bootstrap-sortable.css?v={{ FF_VERSION }}" type="text/css" media="all"/>
{% endblock %}
{% 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 %}

View File

@ -68,7 +68,7 @@
</div>
{% endblock %}
{% 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 %}
{% 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">
{% endblock %}
{% 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/modernizr-custom.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/ff/bills/create.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 }}" nonce="{{ JS_NONCE }}"></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 }}" nonce="{{ JS_NONCE }}"></script>
{% 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">
{% endblock %}
{% 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/modernizr-custom.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_VERSION }}"></script>
<script type="text/javascript" src="v1/js/ff/accounts/edit.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 }}" nonce="{{ JS_NONCE }}"></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 }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %}

View File

@ -42,9 +42,9 @@
{% endblock %}
{% block scripts %}
<script type="text/javascript">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var start = '2018-01-01';
var end = '2018-01-31';
</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 %}

View File

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

View File

@ -43,5 +43,5 @@
{% endblock %}
{% 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 %}

View File

@ -41,5 +41,5 @@
{% endblock %}
{% 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 %}

View File

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

View File

@ -60,5 +60,5 @@
{% endblock %}
{% block scripts %}
{# 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 %}

View File

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

View File

@ -41,5 +41,5 @@
</form>
{% endblock %}
{% 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 %}

View File

@ -41,5 +41,5 @@
{{ Form.close|raw }}
{% endblock %}
{% 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 %}

View File

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

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