mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-11-26 02:40:43 -06:00
Merge branch 'release/6.0.0-beta.1'
This commit is contained in:
commit
86d6a2f581
@ -60,7 +60,7 @@ APP_LOG_LEVEL=info
|
||||
# Use "pgsql" for PostgreSQL
|
||||
# Use "mysql" for MySQL and MariaDB.
|
||||
# Use "sqlite" for SQLite.
|
||||
DB_CONNECTION=sqlite_test
|
||||
DB_CONNECTION=sqlite
|
||||
|
||||
# MySQL supports SSL. You can configure it here.
|
||||
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||
@ -127,7 +127,6 @@ MAIL_ENCRYPTION=null
|
||||
MAILGUN_DOMAIN=
|
||||
MAILGUN_SECRET=
|
||||
|
||||
|
||||
# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net
|
||||
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
|
||||
MAILGUN_ENDPOINT=api.mailgun.net
|
||||
@ -136,7 +135,6 @@ MAILGUN_ENDPOINT=api.mailgun.net
|
||||
MANDRILL_SECRET=
|
||||
SPARKPOST_SECRET=
|
||||
|
||||
|
||||
# Firefly III can send you the following messages
|
||||
SEND_REGISTRATION_MAIL=true
|
||||
SEND_ERROR_MESSAGE=true
|
||||
@ -223,7 +221,6 @@ ADLDAP_ADMIN_PASSWORD=
|
||||
ADLDAP_ACCOUNT_PREFIX=
|
||||
ADLDAP_ACCOUNT_SUFFIX=
|
||||
|
||||
|
||||
# LDAP authentication settings.
|
||||
ADLDAP_PASSWORD_SYNC=false
|
||||
ADLDAP_LOGIN_FALLBACK=false
|
||||
|
32
.ci/php-cs-fixer/composer.lock
generated
32
.ci/php-cs-fixer/composer.lock
generated
@ -379,16 +379,16 @@
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.14.3",
|
||||
"version": "v3.14.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "b418036b95b4936a33fe906245d3044395935e73"
|
||||
"reference": "1b3d9dba63d93b8a202c31e824748218781eae6b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/b418036b95b4936a33fe906245d3044395935e73",
|
||||
"reference": "b418036b95b4936a33fe906245d3044395935e73",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/1b3d9dba63d93b8a202c31e824748218781eae6b",
|
||||
"reference": "1b3d9dba63d93b8a202c31e824748218781eae6b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -399,7 +399,7 @@
|
||||
"ext-json": "*",
|
||||
"ext-tokenizer": "*",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"sebastian/diff": "^4.0",
|
||||
"sebastian/diff": "^4.0 || ^5.0",
|
||||
"symfony/console": "^5.4 || ^6.0",
|
||||
"symfony/event-dispatcher": "^5.4 || ^6.0",
|
||||
"symfony/filesystem": "^5.4 || ^6.0",
|
||||
@ -457,7 +457,7 @@
|
||||
"description": "A tool to automatically fix PHP code style",
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.14.3"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.14.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -465,7 +465,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-01-30T00:24:29+00:00"
|
||||
"time": "2023-02-09T21:49:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
@ -671,29 +671,29 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
"version": "4.0.4",
|
||||
"version": "5.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
|
||||
"reference": "70dd1b20bc198da394ad542e988381b44e64e39f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/70dd1b20bc198da394ad542e988381b44e64e39f",
|
||||
"reference": "70dd1b20bc198da394ad542e988381b44e64e39f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.3"
|
||||
"php": ">=8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.3",
|
||||
"phpunit/phpunit": "^10.0",
|
||||
"symfony/process": "^4.2 || ^5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.0-dev"
|
||||
"dev-main": "5.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -725,7 +725,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/5.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -733,7 +733,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-26T13:10:38+00:00"
|
||||
"time": "2023-02-03T07:00:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
|
@ -19,15 +19,43 @@
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
# enable test .env file.
|
||||
cp .ci/.env.ci ../.env
|
||||
cp $SCRIPT_DIR/../.env $SCRIPT_DIR/../.env.backup
|
||||
cp $SCRIPT_DIR/.env.ci $SCRIPT_DIR/../.env
|
||||
|
||||
COVERAGE=false
|
||||
RESET=false
|
||||
FILE=storage/database/database.sqlite
|
||||
|
||||
while getopts "cr" o; do
|
||||
case "${o}" in
|
||||
c) COVERAGE=true;;
|
||||
r) RESET=true;;
|
||||
esac
|
||||
done
|
||||
|
||||
# reset if necessary.
|
||||
if [ $RESET = "true" ] ; then
|
||||
rm -f $FILE
|
||||
fi
|
||||
|
||||
# download test database
|
||||
# TODO no longer exists
|
||||
wget --quiet https://raw.githubusercontent.com/firefly-iii/test-data/main/test_db.sqlite -o storage/database/test_db.sqlite
|
||||
if [ -f "$FILE" ]; then
|
||||
echo 'DB exists, will use it'
|
||||
else
|
||||
echo 'Download new DB'
|
||||
wget --quiet https://github.com/firefly-iii/test-fixtures/raw/main/test-database.sqlite -O $FILE
|
||||
fi
|
||||
|
||||
# run phpunit
|
||||
./vendor/bin/phpunit --configuration phpunit.coverage.xml
|
||||
if [ $COVERAGE = "true" ] ; then
|
||||
echo 'Run with coverage'
|
||||
XDEBUG_MODE=coverage ./vendor/bin/phpunit --configuration phpunit.xml --coverage-html $SCRIPT_DIR/coverage
|
||||
else
|
||||
echo 'Run without coverage'
|
||||
./vendor/bin/phpunit --configuration phpunit.xml
|
||||
fi
|
||||
|
||||
exit 0
|
||||
# restore .env file
|
||||
mv $SCRIPT_DIR/../.env.backup $SCRIPT_DIR/../.env
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,3 +7,4 @@ npm-debug.log
|
||||
yarn-error.log
|
||||
.env
|
||||
/.ci/php-cs-fixer/vendor
|
||||
/.ci/coverage
|
||||
|
@ -350,11 +350,11 @@ class BasicController extends Controller
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = auth()->user();
|
||||
$date = Carbon::now()->startOfDay();
|
||||
$date = today(config('app.timezone'))->startOfDay();
|
||||
// start and end in the future? use $end
|
||||
if ($this->notInDateRange($date, $start, $end)) {
|
||||
/** @var Carbon $date */
|
||||
$date = session('end', Carbon::now()->endOfMonth());
|
||||
$date = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
}
|
||||
|
||||
/** @var NetWorthInterface $netWorthHelper */
|
||||
|
@ -42,8 +42,8 @@ class ExportRequest extends FormRequest
|
||||
public function getAll(): array
|
||||
{
|
||||
$result = [
|
||||
'start' => $this->getCarbonDate('start') ?? Carbon::now()->subYear(),
|
||||
'end' => $this->getCarbonDate('end') ?? Carbon::now(),
|
||||
'start' => $this->getCarbonDate('start') ?? today(config('app.timezone'))->subYear(),
|
||||
'end' => $this->getCarbonDate('end') ?? today(config('app.timezone')),
|
||||
'type' => $this->convertString('type'),
|
||||
];
|
||||
$parts = explode(',', $this->convertString('accounts'));
|
||||
|
@ -56,7 +56,7 @@ class CronRequest extends FormRequest
|
||||
{
|
||||
$data = [
|
||||
'force' => false,
|
||||
'date' => Carbon::now(),
|
||||
'date' => today(config('app.timezone')),
|
||||
];
|
||||
if ($this->has('force')) {
|
||||
$data['force'] = $this->boolean('force');
|
||||
|
@ -191,7 +191,7 @@ class ExportData extends Command
|
||||
*/
|
||||
private function getDateParameter(string $field): Carbon
|
||||
{
|
||||
$date = Carbon::now()->subYear();
|
||||
$date = today(config('app.timezone'))->subYear();
|
||||
$error = false;
|
||||
if (null !== $this->option($field)) {
|
||||
try {
|
||||
@ -209,7 +209,7 @@ class ExportData extends Command
|
||||
|
||||
if (true === $error && 'start' === $field) {
|
||||
$journal = $this->journalRepository->firstNull();
|
||||
$date = null === $journal ? Carbon::now()->subYear() : $journal->date;
|
||||
$date = null === $journal ? today(config('app.timezone'))->subYear() : $journal->date;
|
||||
$date->startOfDay();
|
||||
}
|
||||
|
||||
|
@ -282,7 +282,7 @@ class ApplyRules extends Command
|
||||
private function verifyInputDates(): void
|
||||
{
|
||||
// parse start date.
|
||||
$inputStart = Carbon::now()->startOfMonth();
|
||||
$inputStart = today(config('app.timezone'))->startOfMonth();
|
||||
$startString = $this->option('start_date');
|
||||
if (null === $startString) {
|
||||
/** @var JournalRepositoryInterface $repository */
|
||||
@ -298,7 +298,7 @@ class ApplyRules extends Command
|
||||
}
|
||||
|
||||
// parse end date
|
||||
$inputEnd = Carbon::now();
|
||||
$inputEnd = today(config('app.timezone'));
|
||||
$endString = $this->option('end_date');
|
||||
if (null !== $endString && '' !== $endString) {
|
||||
$inputEnd = Carbon::createFromFormat('Y-m-d', $endString);
|
||||
|
@ -45,7 +45,7 @@ class PiggyBankEventHandler
|
||||
if (null !== $event->transactionGroup) {
|
||||
$journal = $event->transactionGroup->transactionJournals()->first();
|
||||
}
|
||||
$date = $journal?->date ?? Carbon::now();
|
||||
$date = $journal?->date ?? today(config('app.timezone'));
|
||||
|
||||
// sanity check: event must not already exist for this journal and piggy bank.
|
||||
if (null !== $journal) {
|
||||
|
@ -123,7 +123,7 @@ class ReportHelper implements ReportHelperInterface
|
||||
$fiscalHelper = app(FiscalHelperInterface::class);
|
||||
$start = clone $date;
|
||||
$start->startOfMonth();
|
||||
$end = Carbon::now();
|
||||
$end = today(config('app.timezone'));
|
||||
$end->endOfMonth();
|
||||
$months = [];
|
||||
|
||||
|
@ -93,9 +93,9 @@ class IndexController extends Controller
|
||||
$accounts = $collection->slice(($page - 1) * $pageSize, $pageSize);
|
||||
unset($collection);
|
||||
/** @var Carbon $start */
|
||||
$start = clone session('start', Carbon::now()->startOfMonth());
|
||||
$start = clone session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = clone session('end', Carbon::now()->endOfMonth());
|
||||
$end = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$start->subDay();
|
||||
|
||||
$ids = $accounts->pluck('id')->toArray();
|
||||
@ -156,9 +156,9 @@ class IndexController extends Controller
|
||||
|
||||
unset($collection);
|
||||
/** @var Carbon $start */
|
||||
$start = clone session('start', Carbon::now()->startOfMonth());
|
||||
$start = clone session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = clone session('end', Carbon::now()->endOfMonth());
|
||||
$end = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$start->subDay();
|
||||
|
||||
$ids = $accounts->pluck('id')->toArray();
|
||||
|
@ -100,7 +100,7 @@ class ReconcileController extends Controller
|
||||
$currency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency();
|
||||
|
||||
// no start or end:
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(false);
|
||||
|
||||
// get start and end
|
||||
|
||||
|
@ -182,7 +182,7 @@ class ShowController extends Controller
|
||||
$objectType = config(sprintf('firefly.shortNamesByFullName.%s', $account->accountType->type));
|
||||
$end = today(config('app.timezone'));
|
||||
$today = today(config('app.timezone'));
|
||||
$start = $this->repository->oldestJournalDate($account) ?? Carbon::now()->startOfMonth();
|
||||
$start = $this->repository->oldestJournalDate($account) ?? today(config('app.timezone'))->startOfMonth();
|
||||
$subTitleIcon = config('firefly.subIconsByIdentifier.'.$account->accountType->type);
|
||||
$page = (int)$request->get('page');
|
||||
$pageSize = (int)app('preferences')->get('listPageSize', 50)->data;
|
||||
|
@ -154,7 +154,7 @@ class IndexController extends Controller
|
||||
private function getSums(array $bills): array
|
||||
{
|
||||
$sums = [];
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(false);
|
||||
|
||||
/** @var array $group */
|
||||
foreach ($bills as $groupOrder => $group) {
|
||||
|
@ -104,8 +104,8 @@ class IndexController extends Controller
|
||||
Log::debug('Start of IndexController::index()');
|
||||
|
||||
// collect some basic vars:
|
||||
$range = (string)app('preferences')->get('viewRange', '1M')->data;
|
||||
$start = $start ?? session('start', Carbon::now()->startOfMonth());
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
$start = $start ?? session('start', today(config('app.timezone'))->startOfMonth());
|
||||
$end = $end ?? app('navigation')->endOfPeriod($start, $range);
|
||||
$defaultCurrency = app('amount')->getDefaultCurrency();
|
||||
$currencies = $this->currencyRepository->get();
|
||||
|
@ -159,7 +159,7 @@ class ShowController extends Controller
|
||||
public function show(Request $request, Budget $budget)
|
||||
{
|
||||
/** @var Carbon $allStart */
|
||||
$allStart = session('first', Carbon::now()->startOfYear());
|
||||
$allStart = session('first', today(config('app.timezone'))->startOfYear());
|
||||
$allEnd = today();
|
||||
$page = (int)$request->get('page');
|
||||
$pageSize = (int)app('preferences')->get('listPageSize', 50)->data;
|
||||
@ -221,7 +221,7 @@ class ShowController extends Controller
|
||||
$groups = $collector->getPaginatedGroups();
|
||||
$groups->setPath(route('budgets.show', [$budget->id, $budgetLimit->id]));
|
||||
/** @var Carbon $start */
|
||||
$start = session('first', Carbon::now()->startOfYear());
|
||||
$start = session('first', today(config('app.timezone'))->startOfYear());
|
||||
$end = today(config('app.timezone'));
|
||||
$attachments = $this->repository->getAttachments($budget);
|
||||
$limits = $this->getLimits($budget, $start, $end);
|
||||
|
@ -88,14 +88,14 @@ class ShowController extends Controller
|
||||
public function show(Request $request, Category $category, Carbon $start = null, Carbon $end = null)
|
||||
{
|
||||
/** @var Carbon $start */
|
||||
$start = $start ?? session('start', Carbon::now()->startOfMonth());
|
||||
$start = $start ?? session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = $end ?? session('end', Carbon::now()->endOfMonth());
|
||||
$end = $end ?? session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$subTitleIcon = 'fa-bookmark';
|
||||
$page = (int)$request->get('page');
|
||||
$attachments = $this->repository->getAttachments($category);
|
||||
$pageSize = (int)app('preferences')->get('listPageSize', 50)->data;
|
||||
$oldest = $this->repository->firstUseDate($category) ?? Carbon::now()->startOfYear();
|
||||
$oldest = $this->repository->firstUseDate($category) ?? today(config('app.timezone'))->startOfYear();
|
||||
$periods = $this->getCategoryPeriodOverview($category, $oldest, $end);
|
||||
$path = route('categories.show', [$category->id, $start->format('Y-m-d'), $end->format('Y-m-d')]);
|
||||
$subTitle = trans(
|
||||
|
@ -90,9 +90,9 @@ class AccountController extends Controller
|
||||
public function expenseAccounts(): JsonResponse
|
||||
{
|
||||
/** @var Carbon $start */
|
||||
$start = clone session('start', Carbon::now()->startOfMonth());
|
||||
$start = clone session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = clone session('end', Carbon::now()->endOfMonth());
|
||||
$end = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$cache = new CacheProperties();
|
||||
$cache->addProperty($start);
|
||||
$cache->addProperty($end);
|
||||
@ -184,8 +184,8 @@ class AccountController extends Controller
|
||||
*/
|
||||
public function expenseBudgetAll(AccountRepositoryInterface $repository, Account $account): JsonResponse
|
||||
{
|
||||
$start = $repository->oldestJournalDate($account) ?? Carbon::now()->startOfMonth();
|
||||
$end = Carbon::now();
|
||||
$start = $repository->oldestJournalDate($account) ?? today(config('app.timezone'))->startOfMonth();
|
||||
$end = today(config('app.timezone'));
|
||||
|
||||
return $this->expenseBudget($account, $start, $end);
|
||||
}
|
||||
@ -259,8 +259,8 @@ class AccountController extends Controller
|
||||
*/
|
||||
public function expenseCategoryAll(AccountRepositoryInterface $repository, Account $account): JsonResponse
|
||||
{
|
||||
$start = $repository->oldestJournalDate($account) ?? Carbon::now()->startOfMonth();
|
||||
$end = Carbon::now();
|
||||
$start = $repository->oldestJournalDate($account) ?? today(config('app.timezone'))->startOfMonth();
|
||||
$end = today(config('app.timezone'));
|
||||
|
||||
return $this->expenseCategory($account, $start, $end);
|
||||
}
|
||||
@ -334,8 +334,8 @@ class AccountController extends Controller
|
||||
*/
|
||||
public function frontpage(AccountRepositoryInterface $repository): JsonResponse
|
||||
{
|
||||
$start = clone session('start', Carbon::now()->startOfMonth());
|
||||
$end = clone session('end', Carbon::now()->endOfMonth());
|
||||
$start = clone session('start', today(config('app.timezone'))->startOfMonth());
|
||||
$end = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$defaultSet = $repository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET])->pluck('id')->toArray();
|
||||
Log::debug('Default set is ', $defaultSet);
|
||||
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
|
||||
@ -360,8 +360,8 @@ class AccountController extends Controller
|
||||
*/
|
||||
public function incomeCategoryAll(AccountRepositoryInterface $repository, Account $account): JsonResponse
|
||||
{
|
||||
$start = $repository->oldestJournalDate($account) ?? Carbon::now()->startOfMonth();
|
||||
$end = Carbon::now();
|
||||
$start = $repository->oldestJournalDate($account) ?? today(config('app.timezone'))->startOfMonth();
|
||||
$end = today(config('app.timezone'));
|
||||
|
||||
return $this->incomeCategory($account, $start, $end);
|
||||
}
|
||||
@ -540,9 +540,9 @@ class AccountController extends Controller
|
||||
public function revenueAccounts(): JsonResponse
|
||||
{
|
||||
/** @var Carbon $start */
|
||||
$start = clone session('start', Carbon::now()->startOfMonth());
|
||||
$start = clone session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = clone session('end', Carbon::now()->endOfMonth());
|
||||
$end = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$cache = new CacheProperties();
|
||||
$cache->addProperty($start);
|
||||
$cache->addProperty($end);
|
||||
|
@ -62,8 +62,8 @@ class BillController extends Controller
|
||||
*/
|
||||
public function frontpage(BillRepositoryInterface $repository): JsonResponse
|
||||
{
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$cache = new CacheProperties();
|
||||
$cache->addProperty($start);
|
||||
$cache->addProperty($end);
|
||||
|
@ -214,7 +214,7 @@ class BudgetController extends Controller
|
||||
$cache->addProperty($budget->id);
|
||||
$cache->addProperty($budgetLimitId);
|
||||
$cache->addProperty('chart.budget.expense-asset');
|
||||
$start = session('first', Carbon::now()->startOfYear());
|
||||
$start = session('first', today(config('app.timezone'))->startOfYear());
|
||||
$end = today();
|
||||
|
||||
if (null !== $budgetLimit) {
|
||||
@ -282,7 +282,7 @@ class BudgetController extends Controller
|
||||
$cache->addProperty($budget->id);
|
||||
$cache->addProperty($budgetLimitId);
|
||||
$cache->addProperty('chart.budget.expense-category');
|
||||
$start = session('first', Carbon::now()->startOfYear());
|
||||
$start = session('first', today(config('app.timezone'))->startOfYear());
|
||||
$end = today();
|
||||
if (null !== $budgetLimit) {
|
||||
$start = $budgetLimit->start_date;
|
||||
@ -346,7 +346,7 @@ class BudgetController extends Controller
|
||||
$cache->addProperty($budget->id);
|
||||
$cache->addProperty($budgetLimitId);
|
||||
$cache->addProperty('chart.budget.expense-expense');
|
||||
$start = session('first', Carbon::now()->startOfYear());
|
||||
$start = session('first', today(config('app.timezone'))->startOfYear());
|
||||
$end = today();
|
||||
if (null !== $budgetLimit) {
|
||||
$start = $budgetLimit->start_date;
|
||||
@ -402,8 +402,8 @@ class BudgetController extends Controller
|
||||
*/
|
||||
public function frontpage(): JsonResponse
|
||||
{
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
|
||||
// chart properties for cache:
|
||||
$cache = new CacheProperties();
|
||||
|
@ -89,7 +89,7 @@ class CategoryController extends Controller
|
||||
/** @var CategoryRepositoryInterface $repository */
|
||||
$repository = app(CategoryRepositoryInterface::class);
|
||||
$start = $repository->firstUseDate($category) ?? $this->getDate();
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(false);
|
||||
$start = app('navigation')->startOfPeriod($start, $range);
|
||||
$end = $this->getDate();
|
||||
|
||||
@ -118,8 +118,8 @@ class CategoryController extends Controller
|
||||
*/
|
||||
public function frontPage(): JsonResponse
|
||||
{
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
// chart properties for cache:
|
||||
$cache = new CacheProperties();
|
||||
$cache->addProperty($start);
|
||||
@ -293,7 +293,7 @@ class CategoryController extends Controller
|
||||
*/
|
||||
public function specificPeriod(Category $category, Carbon $date): JsonResponse
|
||||
{
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(false);
|
||||
$start = app('navigation')->startOfPeriod($date, $range);
|
||||
$end = session()->get('end');
|
||||
if ($end < $start) {
|
||||
|
@ -120,7 +120,7 @@ class DebugController extends Controller
|
||||
public function index(Request $request)
|
||||
{
|
||||
// basic scope information:
|
||||
$now = Carbon::now()->format('Y-m-d H:i:s e');
|
||||
$now = today(config('app.timezone'))->format('Y-m-d H:i:s e');
|
||||
$buildNr = '(unknown)';
|
||||
$buildDate = '(unknown)';
|
||||
$expectedDBversion = config('firefly.db_version');
|
||||
|
@ -119,9 +119,9 @@ class HomeController extends Controller
|
||||
$transactions = [];
|
||||
$frontPage = app('preferences')->getFresh('frontPageAccounts', $repository->getAccountsByType([AccountType::ASSET])->pluck('id')->toArray());
|
||||
/** @var Carbon $start */
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$accounts = $repository->getAccountsById($frontPage->data);
|
||||
$today = today(config('app.timezone'));
|
||||
|
||||
|
@ -157,9 +157,9 @@ class JavascriptController extends Controller
|
||||
public function variablesV2(Request $request): Response
|
||||
{
|
||||
/** @var Carbon $start */
|
||||
$start = clone session('start', Carbon::now()->startOfMonth());
|
||||
$start = clone session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = clone session('end', Carbon::now()->endOfMonth());
|
||||
$end = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||
|
||||
$data = [
|
||||
'start' => $start->format('Y-m-d'),
|
||||
|
@ -60,9 +60,9 @@ class BoxController extends Controller
|
||||
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
||||
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
||||
/** @var Carbon $start */
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$today = today(config('app.timezone'));
|
||||
$display = 2; // see method docs.
|
||||
$boxTitle = (string)trans('firefly.spent');
|
||||
@ -135,9 +135,9 @@ class BoxController extends Controller
|
||||
{
|
||||
// Cache result, return cache if present.
|
||||
/** @var Carbon $start */
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$cache = new CacheProperties();
|
||||
$cache->addProperty($start);
|
||||
$cache->addProperty($end);
|
||||
@ -216,12 +216,12 @@ class BoxController extends Controller
|
||||
*/
|
||||
public function netWorth(): JsonResponse
|
||||
{
|
||||
$date = Carbon::now()->endOfDay();
|
||||
$date = today(config('app.timezone'))->endOfDay();
|
||||
|
||||
// start and end in the future? use $end
|
||||
if ($this->notInSessionRange($date)) {
|
||||
/** @var Carbon $date */
|
||||
$date = session('end', Carbon::now()->endOfMonth());
|
||||
$date = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
}
|
||||
|
||||
/** @var NetWorthInterface $netWorthHelper */
|
||||
|
@ -152,7 +152,7 @@ class RecurrenceController extends Controller
|
||||
{
|
||||
$request->validate(['date' => ['required', 'date'],]);
|
||||
$string = $request->get('date') ?? date('Y-m-d');
|
||||
$today = Carbon::now()->startOfDay();
|
||||
$today = today(config('app.timezone'))->startOfDay();
|
||||
$date = Carbon::createFromFormat('Y-m-d', $string)->startOfDay();
|
||||
$preSelected = (string)$request->get('pre_select');
|
||||
$locale = app('steam')->getLocale();
|
||||
|
@ -87,7 +87,7 @@ class IndexController extends Controller
|
||||
$collection = $this->piggyRepos->getPiggyBanks();
|
||||
$accounts = [];
|
||||
/** @var Carbon $end */
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
|
||||
// transform piggies using the transformer:
|
||||
$parameters = new ParameterBag();
|
||||
|
@ -71,7 +71,7 @@ class ShowController extends Controller
|
||||
public function show(PiggyBank $piggyBank)
|
||||
{
|
||||
/** @var Carbon $end */
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
// transform piggies using the transformer:
|
||||
$parameters = new ParameterBag();
|
||||
$parameters->set('end', $end);
|
||||
|
@ -96,9 +96,7 @@ class PreferencesController extends Controller
|
||||
ksort($groupedAccounts);
|
||||
|
||||
$accountIds = $accounts->pluck('id')->toArray();
|
||||
$viewRangePref = app('preferences')->get('viewRange', '1M');
|
||||
|
||||
$viewRange = $viewRangePref->data;
|
||||
$viewRange = app('navigation')->getViewRange(false);
|
||||
$frontPageAccounts = app('preferences')->get('frontPageAccounts', $accountIds);
|
||||
$language = app('steam')->getLanguage();
|
||||
$languages = config('firefly.languages');
|
||||
|
@ -68,7 +68,7 @@ class TriggerController extends Controller
|
||||
/** @var TransactionJournal $journal */
|
||||
foreach ($group->transactionJournals as $journal) {
|
||||
Log::debug(sprintf('Set date of journal #%d to today!', $journal->id));
|
||||
$journal->date = Carbon::today();
|
||||
$journal->date = today(config('app.timezone'));
|
||||
$journal->save();
|
||||
}
|
||||
}
|
||||
|
@ -118,8 +118,8 @@ class SelectController extends Controller
|
||||
return redirect(route('rules.index'));
|
||||
}
|
||||
// does the user have shared accounts?
|
||||
$first = session('first', Carbon::now()->subYear())->format('Y-m-d');
|
||||
$today = Carbon::now()->format('Y-m-d');
|
||||
$first = session('first', today(config('app.timezone'))->subYear())->format('Y-m-d');
|
||||
$today = today(config('app.timezone'))->format('Y-m-d');
|
||||
$subTitle = (string)trans('firefly.apply_rule_selection', ['title' => $rule->title]);
|
||||
|
||||
return view('rules.rule.select-transactions', compact('first', 'today', 'rule', 'subTitle'));
|
||||
|
@ -110,7 +110,7 @@ class ExecutionController extends Controller
|
||||
public function selectTransactions(RuleGroup $ruleGroup)
|
||||
{
|
||||
$first = session('first')->format('Y-m-d');
|
||||
$today = Carbon::now()->format('Y-m-d');
|
||||
$today = today(config('app.timezone'))->format('Y-m-d');
|
||||
$subTitle = (string)trans('firefly.apply_rule_group_selection', ['title' => $ruleGroup->title]);
|
||||
|
||||
return view('rules.rule-group.select-transactions', compact('first', 'today', 'ruleGroup', 'subTitle'));
|
||||
|
@ -106,7 +106,7 @@ class Range
|
||||
setlocale(LC_TIME, $localeArray);
|
||||
$moneyResult = setlocale(LC_MONETARY, $localeArray);
|
||||
|
||||
// send error to view if could not set money format
|
||||
// send error to view, if could not set money format
|
||||
if (false === $moneyResult) {
|
||||
Log::error('Could not set locale. The following array doesnt work: ', $localeArray);
|
||||
app('view')->share('invalidMonetaryLocale', true);
|
||||
|
@ -194,7 +194,7 @@ class RecurrenceFormRequest extends FormRequest
|
||||
public function rules(): array
|
||||
{
|
||||
$today = today(config('app.timezone'));
|
||||
$tomorrow = Carbon::now()->addDay();
|
||||
$tomorrow = today(config('app.timezone'))->addDay();
|
||||
$rules = [
|
||||
// mandatory info for recurrence.
|
||||
'title' => 'required|between:1,255|uniqueObjectForUser:recurrences,title',
|
||||
|
@ -47,7 +47,7 @@ class SelectTransactionsRequest extends FormRequest
|
||||
/** @var Carbon $sessionFirst */
|
||||
$sessionFirst = clone session('first');
|
||||
$first = $sessionFirst->subDay()->format('Y-m-d');
|
||||
$today = Carbon::now()->addDay()->format('Y-m-d');
|
||||
$today = today(config('app.timezone'))->addDay()->format('Y-m-d');
|
||||
|
||||
return [
|
||||
'start' => 'required|date|after:'.$first,
|
||||
|
@ -357,7 +357,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
|
||||
return $savePerMonth;
|
||||
}
|
||||
if (null !== $piggyBank->targetdate && $repetition->currentamount < $piggyBank->targetamount) {
|
||||
$now = Carbon::now();
|
||||
$now = today(config('app.timezone'));
|
||||
$startDate = null !== $piggyBank->startdate && $piggyBank->startdate->gte($now) ? $piggyBank->startdate : $now;
|
||||
$diffInMonths = $startDate->diffInMonths($piggyBank->targetdate, false);
|
||||
$remainingAmount = bcsub($piggyBank->targetamount, $repetition->currentamount);
|
||||
|
@ -534,7 +534,7 @@ class RecurringRepository implements RecurringRepositoryInterface
|
||||
}
|
||||
if ('yearly' === $repetition->repetition_type) {
|
||||
//
|
||||
$today = Carbon::now()->endOfYear();
|
||||
$today = today(config('app.timezone'))->endOfYear();
|
||||
$repDate = Carbon::createFromFormat('Y-m-d', $repetition->repetition_moment);
|
||||
$diffInYears = $today->diffInYears($repDate);
|
||||
$repDate->addYears($diffInYears); // technically not necessary.
|
||||
|
@ -282,7 +282,7 @@ class UserRepository implements UserRepositoryInterface
|
||||
*/
|
||||
public function inviteUser(User $user, string $email): InvitedUser
|
||||
{
|
||||
$now = Carbon::now();
|
||||
$now = today(config('app.timezone'));
|
||||
$now->addDays(2);
|
||||
$invitee = new InvitedUser();
|
||||
$invitee->user()->associate($user);
|
||||
@ -463,7 +463,7 @@ class UserRepository implements UserRepositoryInterface
|
||||
*/
|
||||
public function validateInviteCode(string $code): bool
|
||||
{
|
||||
$now = Carbon::now();
|
||||
$now = today(config('app.timezone'));
|
||||
$invitee = InvitedUser::where('invite_code', $code)->where('expires', '>', $now->format('Y-m-d H:i:s'))->where('redeemed', 0)->first();
|
||||
return null !== $invitee;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ class UpdateRequest implements UpdateRequestInterface
|
||||
// always fall back to current version:
|
||||
$return = [
|
||||
'version' => config('firefly.version'),
|
||||
'date' => Carbon::today()->startOfDay(),
|
||||
'date' => today(config('app.timezone'))->startOfDay(),
|
||||
'level' => 'error',
|
||||
'message' => (string)trans('firefly.unknown_error'),
|
||||
];
|
||||
@ -171,7 +171,7 @@ class UpdateRequest implements UpdateRequestInterface
|
||||
// a newer version is available!
|
||||
/** @var Carbon $released */
|
||||
$released = $information['date'];
|
||||
$today = Carbon::today()->startOfDay();
|
||||
$today = today(config('app.timezone'))->startOfDay();
|
||||
$diff = $today->diffInDays($released);
|
||||
$expectedDiff = config('firefly.update_minimum_age') ?? 6;
|
||||
// it's still very fresh, and user wants a stable release:
|
||||
|
@ -65,7 +65,7 @@ class GroupCloneService
|
||||
{
|
||||
$newJournal = $journal->replicate();
|
||||
$newJournal->transaction_group_id = $newGroup->id;
|
||||
$newJournal->date = Carbon::now();
|
||||
$newJournal->date = today(config('app.timezone'));
|
||||
$newJournal->save();
|
||||
|
||||
foreach ($journal->transactions as $transaction) {
|
||||
|
@ -48,20 +48,20 @@ class Date implements BinderInterface
|
||||
$fiscalHelper = app(FiscalHelperInterface::class);
|
||||
|
||||
$magicWords = [
|
||||
'currentMonthStart' => Carbon::now()->startOfMonth(),
|
||||
'currentMonthEnd' => Carbon::now()->endOfMonth(),
|
||||
'currentYearStart' => Carbon::now()->startOfYear(),
|
||||
'currentYearEnd' => Carbon::now()->endOfYear(),
|
||||
'currentMonthStart' => today(config('app.timezone'))->startOfMonth(),
|
||||
'currentMonthEnd' => today(config('app.timezone'))->endOfMonth(),
|
||||
'currentYearStart' => today(config('app.timezone'))->startOfYear(),
|
||||
'currentYearEnd' => today(config('app.timezone'))->endOfYear(),
|
||||
|
||||
'previousMonthStart' => Carbon::now()->startOfMonth()->subDay()->startOfMonth(),
|
||||
'previousMonthEnd' => Carbon::now()->startOfMonth()->subDay()->endOfMonth(),
|
||||
'previousYearStart' => Carbon::now()->startOfYear()->subDay()->startOfYear(),
|
||||
'previousYearEnd' => Carbon::now()->startOfYear()->subDay()->endOfYear(),
|
||||
'previousMonthStart' => today(config('app.timezone'))->startOfMonth()->subDay()->startOfMonth(),
|
||||
'previousMonthEnd' => today(config('app.timezone'))->startOfMonth()->subDay()->endOfMonth(),
|
||||
'previousYearStart' => today(config('app.timezone'))->startOfYear()->subDay()->startOfYear(),
|
||||
'previousYearEnd' => today(config('app.timezone'))->startOfYear()->subDay()->endOfYear(),
|
||||
|
||||
'currentFiscalYearStart' => $fiscalHelper->startOfFiscalYear(Carbon::now()),
|
||||
'currentFiscalYearEnd' => $fiscalHelper->endOfFiscalYear(Carbon::now()),
|
||||
'previousFiscalYearStart' => $fiscalHelper->startOfFiscalYear(Carbon::now())->subYear(),
|
||||
'previousFiscalYearEnd' => $fiscalHelper->endOfFiscalYear(Carbon::now())->subYear(),
|
||||
'currentFiscalYearStart' => $fiscalHelper->startOfFiscalYear(today(config('app.timezone'))),
|
||||
'currentFiscalYearEnd' => $fiscalHelper->endOfFiscalYear(today(config('app.timezone'))),
|
||||
'previousFiscalYearStart' => $fiscalHelper->startOfFiscalYear(today(config('app.timezone')))->subYear(),
|
||||
'previousFiscalYearEnd' => $fiscalHelper->endOfFiscalYear(today(config('app.timezone')))->subYear(),
|
||||
];
|
||||
if (array_key_exists($value, $magicWords)) {
|
||||
$return = $magicWords[$value];
|
||||
|
@ -43,7 +43,7 @@ class AutoBudgetCronjob extends AbstractCronjob
|
||||
$config = app('fireflyconfig')->get('last_ab_job', 0);
|
||||
$lastTime = (int)$config->data;
|
||||
$diff = time() - $lastTime;
|
||||
$diffForHumans = Carbon::now()->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
$diffForHumans = today(config('app.timezone'))->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
if (0 === $lastTime) {
|
||||
Log::info('Auto budget cron-job has never fired before.');
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ class BillWarningCronjob extends AbstractCronjob
|
||||
$config = app('fireflyconfig')->get('last_bw_job', 0);
|
||||
$lastTime = (int)$config->data;
|
||||
$diff = time() - $lastTime;
|
||||
$diffForHumans = Carbon::now()->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
$diffForHumans = today(config('app.timezone'))->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
|
||||
if (0 === $lastTime) {
|
||||
Log::info('The bill warning cron-job has never fired before.');
|
||||
|
@ -43,7 +43,7 @@ class ExchangeRatesCronjob extends AbstractCronjob
|
||||
$config = app('fireflyconfig')->get('last_cer_job', 0);
|
||||
$lastTime = (int)$config->data;
|
||||
$diff = time() - $lastTime;
|
||||
$diffForHumans = Carbon::now()->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
$diffForHumans = today(config('app.timezone'))->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
if (0 === $lastTime) {
|
||||
Log::info('Exchange rates cron-job has never fired before.');
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ class RecurringCronjob extends AbstractCronjob
|
||||
$config = app('fireflyconfig')->get('last_rt_job', 0);
|
||||
$lastTime = (int)$config->data;
|
||||
$diff = time() - $lastTime;
|
||||
$diffForHumans = Carbon::now()->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
$diffForHumans = today(config('app.timezone'))->diffForHumans(Carbon::createFromTimestamp($lastTime), null, true);
|
||||
|
||||
if (0 === $lastTime) {
|
||||
Log::info('Recurring transactions cron-job has never fired before.');
|
||||
|
@ -158,7 +158,7 @@ trait ConvertsExchangeRates
|
||||
private function convertAmount(string $amount, TransactionCurrency $from, TransactionCurrency $to, ?Carbon $date = null): string
|
||||
{
|
||||
Log::debug(sprintf('Converting %s from %s to %s', $amount, $from->code, $to->code));
|
||||
$date = $date ?? Carbon::now();
|
||||
$date = $date ?? today(config('app.timezone'));
|
||||
$rate = $this->getRate($from, $to, $date);
|
||||
|
||||
return bcmul($amount, $rate);
|
||||
|
@ -45,7 +45,7 @@ trait DateCalculation
|
||||
public function activeDaysLeft(Carbon $start, Carbon $end): int
|
||||
{
|
||||
$difference = $start->diffInDays($end) + 1;
|
||||
$today = Carbon::now()->startOfDay();
|
||||
$today = today(config('app.timezone'))->startOfDay();
|
||||
|
||||
if ($start->lte($today) && $end->gte($today)) {
|
||||
$difference = $today->diffInDays($end);
|
||||
@ -67,7 +67,7 @@ trait DateCalculation
|
||||
protected function activeDaysPassed(Carbon $start, Carbon $end): int
|
||||
{
|
||||
$difference = $start->diffInDays($end) + 1;
|
||||
$today = Carbon::now()->startOfDay();
|
||||
$today = today(config('app.timezone'))->startOfDay();
|
||||
|
||||
if ($start->lte($today) && $end->gte($today)) {
|
||||
$difference = $start->diffInDays($today) + 1;
|
||||
|
@ -95,7 +95,7 @@ trait GetConfigurationData
|
||||
*/
|
||||
protected function getDateRangeConfig(): array // get configuration + get preferences.
|
||||
{
|
||||
$viewRange = (string)app('preferences')->get('viewRange', '1M')->data;
|
||||
$viewRange = app('navigation')->getViewRange(false);
|
||||
/** @var Carbon $start */
|
||||
$start = session('start');
|
||||
/** @var Carbon $end */
|
||||
@ -117,18 +117,20 @@ trait GetConfigurationData
|
||||
$customPeriodEnd = app('navigation')->endOfPeriod($customPeriodStart, $viewRange);
|
||||
$ranges[$index] = [$customPeriodStart, $customPeriodEnd];
|
||||
}
|
||||
// then add previous range and next range
|
||||
$previousDate = app('navigation')->subtractPeriod($start, $viewRange);
|
||||
$index = app('navigation')->periodShow($previousDate, $viewRange);
|
||||
$previousStart = app('navigation')->startOfPeriod($previousDate, $viewRange);
|
||||
$previousEnd = app('navigation')->endOfPeriod($previousStart, $viewRange);
|
||||
$ranges[$index] = [$previousStart, $previousEnd];
|
||||
// then add previous range and next range, but skip this for the lastX and YTD stuff.
|
||||
if (!in_array($viewRange, config('firefly.dynamic_date_ranges', []), true)) {
|
||||
$previousDate = app('navigation')->subtractPeriod($start, $viewRange);
|
||||
$index = app('navigation')->periodShow($previousDate, $viewRange);
|
||||
$previousStart = app('navigation')->startOfPeriod($previousDate, $viewRange);
|
||||
$previousEnd = app('navigation')->endOfPeriod($previousStart, $viewRange);
|
||||
$ranges[$index] = [$previousStart, $previousEnd];
|
||||
|
||||
$nextDate = app('navigation')->addPeriod($start, $viewRange, 0);
|
||||
$index = app('navigation')->periodShow($nextDate, $viewRange);
|
||||
$nextStart = app('navigation')->startOfPeriod($nextDate, $viewRange);
|
||||
$nextEnd = app('navigation')->endOfPeriod($nextStart, $viewRange);
|
||||
$ranges[$index] = [$nextStart, $nextEnd];
|
||||
$nextDate = app('navigation')->addPeriod($start, $viewRange, 0);
|
||||
$index = app('navigation')->periodShow($nextDate, $viewRange);
|
||||
$nextStart = app('navigation')->startOfPeriod($nextDate, $viewRange);
|
||||
$nextEnd = app('navigation')->endOfPeriod($nextStart, $viewRange);
|
||||
$ranges[$index] = [$nextStart, $nextEnd];
|
||||
}
|
||||
|
||||
// today:
|
||||
/** @var Carbon $todayStart */
|
||||
@ -140,22 +142,22 @@ trait GetConfigurationData
|
||||
}
|
||||
|
||||
// last seven days:
|
||||
$seven = Carbon::now()->subDays(7);
|
||||
$seven = today(config('app.timezone'))->subDays(7);
|
||||
$index = (string)trans('firefly.last_seven_days');
|
||||
$ranges[$index] = [$seven, new Carbon()];
|
||||
|
||||
// last 30 days:
|
||||
$thirty = Carbon::now()->subDays(30);
|
||||
$thirty = today(config('app.timezone'))->subDays(30);
|
||||
$index = (string)trans('firefly.last_thirty_days');
|
||||
$ranges[$index] = [$thirty, new Carbon()];
|
||||
|
||||
// month to date:
|
||||
$monthBegin = Carbon::now()->startOfMonth();
|
||||
$monthBegin = today(config('app.timezone'))->startOfMonth();
|
||||
$index = (string)trans('firefly.month_to_date');
|
||||
$ranges[$index] = [$monthBegin, new Carbon()];
|
||||
|
||||
// year to date:
|
||||
$yearBegin = Carbon::now()->startOfYear();
|
||||
$yearBegin = today(config('app.timezone'))->startOfYear();
|
||||
$index = (string)trans('firefly.year_to_date');
|
||||
$ranges[$index] = [$yearBegin, new Carbon()];
|
||||
|
||||
|
@ -85,7 +85,7 @@ trait PeriodOverview
|
||||
*/
|
||||
protected function getAccountPeriodOverview(Account $account, Carbon $start, Carbon $end): array
|
||||
{
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
[$start, $end] = $end < $start ? [$end, $start] : [$start, $end];
|
||||
|
||||
// properties for cache
|
||||
@ -95,7 +95,7 @@ trait PeriodOverview
|
||||
$cache->addProperty('account-show-period-entries');
|
||||
$cache->addProperty($account->id);
|
||||
if ($cache->has()) {
|
||||
// return $cache->get();
|
||||
return $cache->get();
|
||||
}
|
||||
/** @var array $dates */
|
||||
$dates = app('navigation')->blockPeriods($start, $end, $range);
|
||||
@ -276,7 +276,7 @@ trait PeriodOverview
|
||||
*/
|
||||
protected function getCategoryPeriodOverview(Category $category, Carbon $start, Carbon $end): array
|
||||
{
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
[$start, $end] = $end < $start ? [$end, $start] : [$start, $end];
|
||||
|
||||
// properties for entries with their amounts.
|
||||
@ -356,7 +356,7 @@ trait PeriodOverview
|
||||
*/
|
||||
protected function getNoBudgetPeriodOverview(Carbon $start, Carbon $end): array
|
||||
{
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
|
||||
[$start, $end] = $end < $start ? [$end, $start] : [$start, $end];
|
||||
|
||||
@ -412,7 +412,7 @@ trait PeriodOverview
|
||||
protected function getNoCategoryPeriodOverview(Carbon $theDate): array
|
||||
{
|
||||
Log::debug(sprintf('Now in getNoCategoryPeriodOverview(%s)', $theDate->format('Y-m-d')));
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
$first = $this->journalRepos->firstNull();
|
||||
$start = null === $first ? new Carbon() : $first->date;
|
||||
$end = clone $theDate;
|
||||
@ -483,7 +483,7 @@ trait PeriodOverview
|
||||
*/
|
||||
protected function getTagPeriodOverview(Tag $tag, Carbon $start, Carbon $end): array // period overview for tags.
|
||||
{
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
[$start, $end] = $end < $start ? [$end, $start] : [$start, $end];
|
||||
|
||||
// properties for cache
|
||||
@ -558,7 +558,7 @@ trait PeriodOverview
|
||||
*/
|
||||
protected function getTransactionPeriodOverview(string $transactionType, Carbon $start, Carbon $end): array
|
||||
{
|
||||
$range = app('preferences')->get('viewRange', '1M')->data;
|
||||
$range = app('navigation')->getViewRange(true);
|
||||
$types = config(sprintf('firefly.transactionTypesByType.%s', $transactionType));
|
||||
[$start, $end] = $end < $start ? [$end, $start] : [$start, $end];
|
||||
|
||||
|
@ -145,9 +145,9 @@ trait RequestInformation
|
||||
final protected function notInSessionRange(Carbon $date): bool // Validate a preference
|
||||
{
|
||||
/** @var Carbon $start */
|
||||
$start = session('start', Carbon::now()->startOfMonth());
|
||||
$start = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $end */
|
||||
$end = session('end', Carbon::now()->endOfMonth());
|
||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$result = false;
|
||||
if ($start->greaterThanOrEqualTo($date) && $end->greaterThanOrEqualTo($date)) {
|
||||
$result = true;
|
||||
@ -175,7 +175,7 @@ trait RequestInformation
|
||||
$attributes['startDate'] = Carbon::createFromFormat('Ymd', $attributes['startDate'])->startOfDay();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
Log::debug(sprintf('Not important error message: %s', $e->getMessage()));
|
||||
$date = Carbon::now()->startOfMonth();
|
||||
$date = today(config('app.timezone'))->startOfMonth();
|
||||
$attributes['startDate'] = $date;
|
||||
}
|
||||
|
||||
@ -183,7 +183,7 @@ trait RequestInformation
|
||||
$attributes['endDate'] = Carbon::createFromFormat('Ymd', $attributes['endDate'])->endOfDay();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
Log::debug(sprintf('Not important error message: %s', $e->getMessage()));
|
||||
$date = Carbon::now()->startOfMonth();
|
||||
$date = today(config('app.timezone'))->startOfMonth();
|
||||
$attributes['endDate'] = $date;
|
||||
}
|
||||
|
||||
|
@ -255,9 +255,9 @@ class Navigation
|
||||
// and end added to $theCurrentEnd
|
||||
if ('custom' === $repeatFreq) {
|
||||
/** @var Carbon $tStart */
|
||||
$tStart = session('start', Carbon::now()->startOfMonth());
|
||||
$tStart = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $tEnd */
|
||||
$tEnd = session('end', Carbon::now()->endOfMonth());
|
||||
$tEnd = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$diffInDays = $tStart->diffInDays($tEnd);
|
||||
$currentEnd->addDays($diffInDays);
|
||||
|
||||
@ -428,6 +428,35 @@ class Navigation
|
||||
return $date->format('Y-m-d');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the user's view range and if necessary, corrects the dynamic view
|
||||
* range to a normal range.
|
||||
* @param bool $correct
|
||||
* @return string
|
||||
*/
|
||||
public function getViewRange(bool $correct): string
|
||||
{
|
||||
$range = (string)app('preferences')->get('viewRange', '1M')?->data ?? '1M';
|
||||
if (!$correct) {
|
||||
return $range;
|
||||
}
|
||||
switch ($range) {
|
||||
default:
|
||||
return $range;
|
||||
case 'last7':
|
||||
return '1W';
|
||||
case 'last30':
|
||||
case 'MTD':
|
||||
return '1M';
|
||||
case 'last90':
|
||||
case 'QTD':
|
||||
return '3M';
|
||||
case 'last365':
|
||||
case 'YTD':
|
||||
return '1Y';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If the date difference between start and end is less than a month, method returns trans(config.month_and_day). If the difference is less than a year,
|
||||
* method returns "config.month". If the date difference is larger, method returns "config.year".
|
||||
@ -573,9 +602,9 @@ class Navigation
|
||||
// this is then subtracted from $theDate (* $subtract).
|
||||
if ('custom' === $repeatFreq) {
|
||||
/** @var Carbon $tStart */
|
||||
$tStart = session('start', Carbon::now()->startOfMonth());
|
||||
$tStart = session('start', today(config('app.timezone'))->startOfMonth());
|
||||
/** @var Carbon $tEnd */
|
||||
$tEnd = session('end', Carbon::now()->endOfMonth());
|
||||
$tEnd = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$diffInDays = $tStart->diffInDays($tEnd);
|
||||
$date->subDays($diffInDays * $subtract);
|
||||
|
||||
@ -621,6 +650,7 @@ class Navigation
|
||||
*/
|
||||
public function updateEndDate(string $range, Carbon $start): Carbon
|
||||
{
|
||||
Log::debug(sprintf('updateEndDate("%s", "%s")', $range, $start->format('Y-m-d')));
|
||||
$functionMap = [
|
||||
'1D' => 'endOfDay',
|
||||
'1W' => 'endOfWeek',
|
||||
@ -664,6 +694,9 @@ class Navigation
|
||||
'MTD',
|
||||
];
|
||||
if (in_array($range, $list, true)) {
|
||||
$end = today(config('app.timezone'));
|
||||
$end->endOfDay();
|
||||
Log::debug(sprintf('updateEndDate returns "%s"', $end->format('Y-m-d')));
|
||||
return $end;
|
||||
}
|
||||
|
||||
@ -680,6 +713,7 @@ class Navigation
|
||||
*/
|
||||
public function updateStartDate(string $range, Carbon $start): Carbon
|
||||
{
|
||||
Log::debug(sprintf('updateStartDate("%s", "%s")', $range, $start->format('Y-m-d')));
|
||||
$functionMap = [
|
||||
'1D' => 'startOfDay',
|
||||
'1W' => 'startOfWeek',
|
||||
|
@ -128,7 +128,7 @@ class ParseDateString
|
||||
*/
|
||||
protected function parseKeyword(string $keyword): Carbon
|
||||
{
|
||||
$today = Carbon::today()->startOfDay();
|
||||
$today = today(config('app.timezone'))->startOfDay();
|
||||
|
||||
return match ($keyword) {
|
||||
default => $today,
|
||||
@ -164,7 +164,7 @@ class ParseDateString
|
||||
{
|
||||
Log::debug(sprintf('Now in parseRelativeDate("%s")', $date));
|
||||
$parts = explode(' ', $date);
|
||||
$today = Carbon::today()->startOfDay();
|
||||
$today = today(config('app.timezone'))->startOfDay();
|
||||
$functions = [
|
||||
[
|
||||
'd' => 'subDays',
|
||||
|
@ -67,7 +67,7 @@ class General extends AbstractExtension
|
||||
return '0';
|
||||
}
|
||||
/** @var Carbon $date */
|
||||
$date = session('end', Carbon::now()->endOfMonth());
|
||||
$date = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
|
||||
return app('steam')->balance($account, $date);
|
||||
}
|
||||
|
21
changelog.md
21
changelog.md
@ -2,6 +2,27 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
|
||||
## 6.0.0-beta.1 - 2023-02-12
|
||||
|
||||
### Warnings
|
||||
|
||||
- ⚠️ Make a backup of your database first!
|
||||
- ⚠️ This version requires **PHP 8.2**.
|
||||
|
||||
You can access the new V3 layout under `/v3/`. If you decide to use or test it:
|
||||
|
||||
- ⚠️ Read the instructions under the ☠️ icon FIRST.
|
||||
- ⚠️ The new layout is not yet finished. Use it to change your data at your own risk.
|
||||
|
||||
### Added
|
||||
- Introduce Jetbrains Qodana code scanning
|
||||
- Reintroduced test framework
|
||||
|
||||
### Fixed
|
||||
- [Issue 6834](https://github.com/firefly-iii/firefly-iii/issues/6834) Better check on IBANs
|
||||
- Various small bugs
|
||||
|
||||
## 6.0.0-alpha.2 - 2023-02-05
|
||||
|
||||
### Warnings
|
||||
|
@ -118,7 +118,7 @@
|
||||
"phpstan/phpstan": "^1.9",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.4",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"phpunit/phpunit": "^9",
|
||||
"thecodingmachine/phpstan-strict-rules": "^1.0"
|
||||
},
|
||||
"suggest": {
|
||||
|
129
composer.lock
generated
129
composer.lock
generated
@ -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": "581e0863eb409791dd91d28405ab8452",
|
||||
"content-hash": "052f139e8202508ed3608b6447bec7dd",
|
||||
"packages": [
|
||||
{
|
||||
"name": "bacon/bacon-qr-code",
|
||||
@ -3379,16 +3379,16 @@
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
"version": "2.8.0",
|
||||
"version": "2.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Seldaek/monolog.git",
|
||||
"reference": "720488632c590286b88b80e62aa3d3d551ad4a50"
|
||||
"reference": "e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50",
|
||||
"reference": "720488632c590286b88b80e62aa3d3d551ad4a50",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb",
|
||||
"reference": "e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3403,7 +3403,7 @@
|
||||
"doctrine/couchdb": "~1.0@dev",
|
||||
"elasticsearch/elasticsearch": "^7 || ^8",
|
||||
"ext-json": "*",
|
||||
"graylog2/gelf-php": "^1.4.2",
|
||||
"graylog2/gelf-php": "^1.4.2 || ^2@dev",
|
||||
"guzzlehttp/guzzle": "^7.4",
|
||||
"guzzlehttp/psr7": "^2.2",
|
||||
"mongodb/mongodb": "^1.8",
|
||||
@ -3465,7 +3465,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Seldaek/monolog/issues",
|
||||
"source": "https://github.com/Seldaek/monolog/tree/2.8.0"
|
||||
"source": "https://github.com/Seldaek/monolog/tree/2.9.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3477,7 +3477,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-07-24T11:55:47+00:00"
|
||||
"time": "2023-02-05T13:07:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
@ -8572,26 +8572,26 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "barryvdh/laravel-ide-helper",
|
||||
"version": "v2.12.3",
|
||||
"version": "v2.13.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/laravel-ide-helper.git",
|
||||
"reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550"
|
||||
"reference": "81d5b223ff067a1f38e14c100997e153b837fe4a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/3ba1e2573b38f72107b8aacc4ee177fcab30a550",
|
||||
"reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/81d5b223ff067a1f38e14c100997e153b837fe4a",
|
||||
"reference": "81d5b223ff067a1f38e14c100997e153b837fe4a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"barryvdh/reflection-docblock": "^2.0.6",
|
||||
"composer/pcre": "^1 || ^2 || ^3",
|
||||
"composer/class-map-generator": "^1.0",
|
||||
"doctrine/dbal": "^2.6 || ^3",
|
||||
"ext-json": "*",
|
||||
"illuminate/console": "^8 || ^9",
|
||||
"illuminate/filesystem": "^8 || ^9",
|
||||
"illuminate/support": "^8 || ^9",
|
||||
"illuminate/console": "^8 || ^9 || ^10",
|
||||
"illuminate/filesystem": "^8 || ^9 || ^10",
|
||||
"illuminate/support": "^8 || ^9 || ^10",
|
||||
"nikic/php-parser": "^4.7",
|
||||
"php": "^7.3 || ^8.0",
|
||||
"phpdocumentor/type-resolver": "^1.1.0"
|
||||
@ -8599,16 +8599,16 @@
|
||||
"require-dev": {
|
||||
"ext-pdo_sqlite": "*",
|
||||
"friendsofphp/php-cs-fixer": "^2",
|
||||
"illuminate/config": "^8 || ^9",
|
||||
"illuminate/view": "^8 || ^9",
|
||||
"illuminate/config": "^8 || ^9 || ^10",
|
||||
"illuminate/view": "^8 || ^9 || ^10",
|
||||
"mockery/mockery": "^1.4",
|
||||
"orchestra/testbench": "^6 || ^7",
|
||||
"orchestra/testbench": "^6 || ^7 || ^8",
|
||||
"phpunit/phpunit": "^8.5 || ^9",
|
||||
"spatie/phpunit-snapshot-assertions": "^3 || ^4",
|
||||
"vimeo/psalm": "^3.12"
|
||||
},
|
||||
"suggest": {
|
||||
"illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9)."
|
||||
"illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)."
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -8650,7 +8650,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
|
||||
"source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.12.3"
|
||||
"source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.13.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8662,7 +8662,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-03-06T14:33:42+00:00"
|
||||
"time": "2023-02-04T13:56:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/reflection-docblock",
|
||||
@ -8716,6 +8716,79 @@
|
||||
},
|
||||
"time": "2022-10-31T15:35:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/class-map-generator",
|
||||
"version": "1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/class-map-generator.git",
|
||||
"reference": "1e1cb2b791facb2dfe32932a7718cf2571187513"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/class-map-generator/zipball/1e1cb2b791facb2dfe32932a7718cf2571187513",
|
||||
"reference": "1e1cb2b791facb2dfe32932a7718cf2571187513",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer/pcre": "^2 || ^3",
|
||||
"php": "^7.2 || ^8.0",
|
||||
"symfony/finder": "^4.4 || ^5.3 || ^6"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.6",
|
||||
"phpstan/phpstan-deprecation-rules": "^1",
|
||||
"phpstan/phpstan-phpunit": "^1",
|
||||
"phpstan/phpstan-strict-rules": "^1.1",
|
||||
"symfony/filesystem": "^5.4 || ^6",
|
||||
"symfony/phpunit-bridge": "^5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Composer\\ClassMapGenerator\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jordi Boggiano",
|
||||
"email": "j.boggiano@seld.be",
|
||||
"homepage": "https://seld.be"
|
||||
}
|
||||
],
|
||||
"description": "Utilities to scan PHP code and generate class maps.",
|
||||
"keywords": [
|
||||
"classmap"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/class-map-generator/issues",
|
||||
"source": "https://github.com/composer/class-map-generator/tree/1.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://packagist.com",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/composer",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-19T11:31:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "3.1.0",
|
||||
@ -10118,16 +10191,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.6.2",
|
||||
"version": "9.6.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "1a461cabfbd5b464f5d41c49a9959c63b4ecd2d1"
|
||||
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1a461cabfbd5b464f5d41c49a9959c63b4ecd2d1",
|
||||
"reference": "1a461cabfbd5b464f5d41c49a9959c63b4ecd2d1",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
|
||||
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -10200,7 +10273,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.2"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -10216,7 +10289,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-02-04T06:59:53+00:00"
|
||||
"time": "2023-02-04T13:37:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
|
@ -80,11 +80,6 @@ return [
|
||||
'database' => envNonEmpty('DB_DATABASE', storage_path('database/database.sqlite')),
|
||||
'prefix' => '',
|
||||
],
|
||||
'sqlite_test' => [
|
||||
'driver' => 'sqlite',
|
||||
'database' => envNonEmpty('DB_DATABASE', storage_path('database/test_db.sqlite')),
|
||||
'prefix' => '',
|
||||
],
|
||||
'mysql' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => envNonEmpty('DB_HOST', $host),
|
||||
|
@ -106,8 +106,8 @@ return [
|
||||
'webhooks' => true,
|
||||
'handle_debts' => true,
|
||||
],
|
||||
'version' => '6.0.0-alpha.2',
|
||||
'api_version' => '2.0.0-alpha.2',
|
||||
'version' => '6.0.0-beta.1',
|
||||
'api_version' => '2.0.0-beta.1',
|
||||
'db_version' => 19,
|
||||
|
||||
// generic settings
|
||||
@ -878,6 +878,9 @@ return [
|
||||
'valid_cc_fields' => ['account_role', 'cc_monthly_payment_date', 'cc_type', 'account_number', 'currency_id', 'BIC', 'include_net_worth'],
|
||||
'valid_account_fields' => ['account_number', 'currency_id', 'BIC', 'interest', 'interest_period', 'include_net_worth', 'liability_direction'],
|
||||
|
||||
// dynamic date ranges are as follows:
|
||||
'dynamic_date_ranges' => ['last7', 'last30', 'last90', 'last365', 'MTD', 'QTD', 'YTD'],
|
||||
|
||||
// only used in v1
|
||||
'allowed_sort_parameters' => ['order', 'name', 'iban'],
|
||||
];
|
||||
|
@ -23,6 +23,7 @@
|
||||
v-model:pagination="pagination"
|
||||
:columns="columns"
|
||||
:loading="loading"
|
||||
dense
|
||||
:rows="rows"
|
||||
class="q-ma-md"
|
||||
row-key="group_id"
|
||||
|
@ -338,7 +338,7 @@ page container: q-ma-xs (margin all, xs) AND q-mb-md to give the page content so
|
||||
<q-footer class="bg-grey-8 text-white" bordered>
|
||||
<q-toolbar>
|
||||
<div>
|
||||
<small>Firefly III v v6.0.0-alpha.2 © James Cole, AGPL-3.0-or-later.</small>
|
||||
<small>Firefly III v v6.0.0-beta.1 © James Cole, AGPL-3.0-or-later.</small>
|
||||
</div>
|
||||
</q-toolbar>
|
||||
</q-footer>
|
||||
|
@ -18,6 +18,11 @@
|
||||
- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--
|
||||
TODO remember state of boxes
|
||||
|
||||
-->
|
||||
|
||||
<template>
|
||||
<q-page>
|
||||
<div class="row q-mx-md q-mb-sm">
|
||||
|
27
phpunit.xml
27
phpunit.xml
@ -28,7 +28,7 @@
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
processIsolation="false"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.6/phpunit.xsd">
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./app</directory>
|
||||
@ -36,30 +36,7 @@
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Api">
|
||||
<directory suffix="Test.php">./tests/Api/Models/TransactionCurrency</directory>
|
||||
<!--
|
||||
<directory suffix="Test.php">./tests/Api</directory>
|
||||
|
||||
<directory suffix="Test.php">./tests/Api/Models/Account</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Attachment</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/AvailableBudget</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Bill</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Budget</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/BudgetLimit</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Category</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/ObjectGroup</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/PiggyBank</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Recurrence</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Rule</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/RuleGroup</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Tag</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/Transaction</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/TransactionLink</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/TransactionLinkType</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Webhook</directory>
|
||||
<directory suffix="Test.php">./tests/Api/Models/TransactionCurrency</directory>
|
||||
-->
|
||||
|
||||
<directory suffix="Test.php">./tests</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<php>
|
||||
|
2
public/v1/js/create_transaction.js
vendored
2
public/v1/js/create_transaction.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/edit_transaction.js
vendored
2
public/v1/js/edit_transaction.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/profile.js
vendored
2
public/v1/js/profile.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/webhooks/create.js
vendored
2
public/v1/js/webhooks/create.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/webhooks/edit.js
vendored
2
public/v1/js/webhooks/edit.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/webhooks/index.js
vendored
2
public/v1/js/webhooks/index.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/webhooks/show.js
vendored
2
public/v1/js/webhooks/show.js
vendored
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
<!DOCTYPE html><html><head><base href=/v3/ ><title>Firefly III</title><meta charset=utf-8><meta content="Personal finances manager" name=description><meta content="telephone=no" name=format-detection><meta content=no name=msapplication-tap-highlight><meta content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width" name=viewport><link href=favicon-32x32.png rel=icon sizes=32x32 type=image/png><link href=favicon-16x16.png rel=icon sizes=16x16 type=image/png><link href=maskable76.png rel=apple-touch-icon sizes=76x76><link href=maskable120.png rel=apple-touch-icon sizes=120x120><link href=maskable152.png rel=apple-touch-icon sizes=152x152><link href=apple-touch-icon.png rel=apple-touch-icon sizes=180x180><link color=#3c8dbc href=safari-pinned-tab.svg rel=mask-icon><link href=maskable192.png rel=icon sizes=192x192><link href=maskable128.png rel=icon sizes=128x128><link href=manifest.webmanifest rel=manifest><meta content=#1e6581 name=msapplication-TileColor><meta content=maskable512.png name=msapplication-TileImage><meta content=no name=msapplication-tap-highlight><meta content="Firefly III" name=application-name><meta content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir" name=robots><meta content=yes name=apple-mobile-web-app-capable><meta content="Firefly III" name=apple-mobile-web-app-title><meta content="Firefly III" name=application-name><meta content=#3c8dbc name=msapplication-TileColor><meta content="mstile-144x144.png?v=3e8AboOwbd" name=msapplication-TileImage><meta content=#3c8dbc name=theme-color><script defer src=/v3/js/vendor.57fa50ec.js></script><script defer src=/v3/js/app.8c507c7d.js></script><link href=/v3/css/vendor.4da34a2f.css rel=stylesheet><link href=/v3/css/app.50c7ba73.css rel=stylesheet></head><body><div id=q-app></div></body></html>
|
||||
<!DOCTYPE html><html><head><base href=/v3/ ><title>Firefly III</title><meta charset=utf-8><meta content="Personal finances manager" name=description><meta content="telephone=no" name=format-detection><meta content=no name=msapplication-tap-highlight><meta content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width" name=viewport><link href=favicon-32x32.png rel=icon sizes=32x32 type=image/png><link href=favicon-16x16.png rel=icon sizes=16x16 type=image/png><link href=maskable76.png rel=apple-touch-icon sizes=76x76><link href=maskable120.png rel=apple-touch-icon sizes=120x120><link href=maskable152.png rel=apple-touch-icon sizes=152x152><link href=apple-touch-icon.png rel=apple-touch-icon sizes=180x180><link color=#3c8dbc href=safari-pinned-tab.svg rel=mask-icon><link href=maskable192.png rel=icon sizes=192x192><link href=maskable128.png rel=icon sizes=128x128><link href=manifest.webmanifest rel=manifest><meta content=#1e6581 name=msapplication-TileColor><meta content=maskable512.png name=msapplication-TileImage><meta content=no name=msapplication-tap-highlight><meta content="Firefly III" name=application-name><meta content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir" name=robots><meta content=yes name=apple-mobile-web-app-capable><meta content="Firefly III" name=apple-mobile-web-app-title><meta content="Firefly III" name=application-name><meta content=#3c8dbc name=msapplication-TileColor><meta content="mstile-144x144.png?v=3e8AboOwbd" name=msapplication-TileImage><meta content=#3c8dbc name=theme-color><script defer src=/v3/js/vendor.57fa50ec.js></script><script defer src=/v3/js/app.89886383.js></script><link href=/v3/css/vendor.4da34a2f.css rel=stylesheet><link href=/v3/css/app.50c7ba73.css rel=stylesheet></head><body><div id=q-app></div></body></html>
|
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[1198],{1198:(s,e,t)=>{t.r(e),t.d(e,{default:()=>k});var r=t(9835),a=t(6970);const i={class:"row q-mx-md"},n={class:"col-12"},o={class:"text-h6"},u={class:"row"},l={class:"col-12 q-mb-xs"},c=(0,r._)("br",null,null,-1),p={class:"row q-mt-sm"},d={class:"col-12"};function w(s,e,t,w,g,h){const b=(0,r.up)("q-card-section"),m=(0,r.up)("q-card"),f=(0,r.up)("LargeTable"),_=(0,r.up)("q-page");return(0,r.wg)(),(0,r.j4)(_,null,{default:(0,r.w5)((()=>[(0,r._)("div",i,[(0,r._)("div",n,[(0,r.Wm)(m,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(b,null,{default:(0,r.w5)((()=>[(0,r._)("div",o,(0,a.zw)(g.subscription.name),1)])),_:1}),(0,r.Wm)(b,null,{default:(0,r.w5)((()=>[(0,r._)("div",u,[(0,r._)("div",l,[(0,r.Uk)(" Name: "+(0,a.zw)(g.subscription.name),1),c])])])),_:1})])),_:1})])]),(0,r._)("div",p,[(0,r._)("div",d,[(0,r.Wm)(f,{ref:"table",loading:s.loading,page:g.page,rows:g.rows,"rows-number":g.rowsNumber,"rows-per-page":g.rowsPerPage,title:"Transactions",onOnRequest:h.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var g=t(7454),h=t(3684),b=t(3247);const m={name:"Show",data(){return{subscription:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getSubscription()},components:{LargeTable:g.Z},methods:{onRequest:function(s){this.page=s.page,this.getSubscription()},getSubscription:function(){let s=new h.Z;s.get(this.id).then((s=>this.parseSubscription(s))),this.loading=!0;const e=new b.Z;this.rows=[],s.transactions(this.id,this.page,this.getCacheKey).then((s=>{let t=e.parseResponse(s);this.rowsPerPage=t.rowsPerPage,this.rowsNumber=t.rowsNumber,this.rows=t.rows,this.loading=!1}))},parseSubscription:function(s){this.subscription={name:s.data.data.attributes.name}}}};var f=t(1639),_=t(9885),q=t(4458),v=t(3190),P=t(9984),S=t.n(P);const Z=(0,f.Z)(m,[["render",w]]),k=Z;S()(m,"components",{QPage:_.Z,QCard:q.Z,QCardSection:v.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[1198],{1198:(s,e,t)=>{t.r(e),t.d(e,{default:()=>k});var r=t(9835),a=t(6970);const i={class:"row q-mx-md"},n={class:"col-12"},o={class:"text-h6"},u={class:"row"},l={class:"col-12 q-mb-xs"},c=(0,r._)("br",null,null,-1),p={class:"row q-mt-sm"},d={class:"col-12"};function w(s,e,t,w,g,h){const b=(0,r.up)("q-card-section"),m=(0,r.up)("q-card"),f=(0,r.up)("LargeTable"),_=(0,r.up)("q-page");return(0,r.wg)(),(0,r.j4)(_,null,{default:(0,r.w5)((()=>[(0,r._)("div",i,[(0,r._)("div",n,[(0,r.Wm)(m,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(b,null,{default:(0,r.w5)((()=>[(0,r._)("div",o,(0,a.zw)(g.subscription.name),1)])),_:1}),(0,r.Wm)(b,null,{default:(0,r.w5)((()=>[(0,r._)("div",u,[(0,r._)("div",l,[(0,r.Uk)(" Name: "+(0,a.zw)(g.subscription.name),1),c])])])),_:1})])),_:1})])]),(0,r._)("div",p,[(0,r._)("div",d,[(0,r.Wm)(f,{ref:"table",loading:s.loading,page:g.page,rows:g.rows,"rows-number":g.rowsNumber,"rows-per-page":g.rowsPerPage,title:"Transactions",onOnRequest:h.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var g=t(1049),h=t(3684),b=t(3247);const m={name:"Show",data(){return{subscription:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getSubscription()},components:{LargeTable:g.Z},methods:{onRequest:function(s){this.page=s.page,this.getSubscription()},getSubscription:function(){let s=new h.Z;s.get(this.id).then((s=>this.parseSubscription(s))),this.loading=!0;const e=new b.Z;this.rows=[],s.transactions(this.id,this.page,this.getCacheKey).then((s=>{let t=e.parseResponse(s);this.rowsPerPage=t.rowsPerPage,this.rowsNumber=t.rowsNumber,this.rows=t.rows,this.loading=!1}))},parseSubscription:function(s){this.subscription={name:s.data.data.attributes.name}}}};var f=t(1639),_=t(9885),q=t(4458),v=t(3190),P=t(9984),S=t.n(P);const Z=(0,f.Z)(m,[["render",w]]),k=Z;S()(m,"components",{QPage:_.Z,QCard:q.Z,QCardSection:v.Z})}}]);
|
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[1238],{1238:(e,r,s)=>{s.r(r),s.d(r,{default:()=>k});var a=s(9835),t=s(6970);const n={class:"row q-mx-md"},o={class:"col-12"},c={class:"text-h6"},i={class:"row"},u={class:"col-12 q-mb-xs"},l=(0,a._)("br",null,null,-1),d=(0,a._)("br",null,null,-1),w={class:"row q-mt-sm"},g={class:"col-12"};function h(e,r,s,h,p,m){const b=(0,a.up)("q-card-section"),_=(0,a.up)("q-card"),f=(0,a.up)("LargeTable"),y=(0,a.up)("q-page");return(0,a.wg)(),(0,a.j4)(y,null,{default:(0,a.w5)((()=>[(0,a._)("div",n,[(0,a._)("div",o,[(0,a.Wm)(_,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(b,null,{default:(0,a.w5)((()=>[(0,a._)("div",c,(0,t.zw)(p.currency.name),1)])),_:1}),(0,a.Wm)(b,null,{default:(0,a.w5)((()=>[(0,a._)("div",i,[(0,a._)("div",u,[(0,a.Uk)(" Name: "+(0,t.zw)(p.currency.name),1),l,(0,a.Uk)(" Code: "+(0,t.zw)(p.currency.code),1),d])])])),_:1})])),_:1})])]),(0,a._)("div",w,[(0,a._)("div",g,[(0,a.Wm)(f,{ref:"table",loading:e.loading,page:p.page,rows:p.rows,"rows-number":p.rowsNumber,"rows-per-page":p.rowsPerPage,title:"Transactions",onOnRequest:m.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var p=s(7454),m=s(1484),b=s(3247);const _={name:"Show",data(){return{currency:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1,code:""}},created(){this.code=this.$route.params.code,this.getCurrency()},components:{LargeTable:p.Z},methods:{onRequest:function(e){this.page=e.page,this.getCurrency()},getCurrency:function(){let e=new m.Z;e.get(this.code).then((e=>this.parseCurrency(e))),this.loading=!0;const r=new b.Z;this.rows=[],e.transactions(this.code,this.page,this.getCacheKey).then((e=>{let s=r.parseResponse(e);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},parseCurrency:function(e){this.currency={name:e.data.data.attributes.name,code:e.data.data.attributes.code}}}};var f=s(1639),y=s(9885),C=s(4458),q=s(3190),v=s(9984),P=s.n(v);const Z=(0,f.Z)(_,[["render",h]]),k=Z;P()(_,"components",{QPage:y.Z,QCard:C.Z,QCardSection:q.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[1238],{1238:(e,r,s)=>{s.r(r),s.d(r,{default:()=>k});var a=s(9835),t=s(6970);const n={class:"row q-mx-md"},o={class:"col-12"},c={class:"text-h6"},i={class:"row"},u={class:"col-12 q-mb-xs"},l=(0,a._)("br",null,null,-1),d=(0,a._)("br",null,null,-1),w={class:"row q-mt-sm"},g={class:"col-12"};function h(e,r,s,h,p,m){const b=(0,a.up)("q-card-section"),_=(0,a.up)("q-card"),f=(0,a.up)("LargeTable"),y=(0,a.up)("q-page");return(0,a.wg)(),(0,a.j4)(y,null,{default:(0,a.w5)((()=>[(0,a._)("div",n,[(0,a._)("div",o,[(0,a.Wm)(_,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(b,null,{default:(0,a.w5)((()=>[(0,a._)("div",c,(0,t.zw)(p.currency.name),1)])),_:1}),(0,a.Wm)(b,null,{default:(0,a.w5)((()=>[(0,a._)("div",i,[(0,a._)("div",u,[(0,a.Uk)(" Name: "+(0,t.zw)(p.currency.name),1),l,(0,a.Uk)(" Code: "+(0,t.zw)(p.currency.code),1),d])])])),_:1})])),_:1})])]),(0,a._)("div",w,[(0,a._)("div",g,[(0,a.Wm)(f,{ref:"table",loading:e.loading,page:p.page,rows:p.rows,"rows-number":p.rowsNumber,"rows-per-page":p.rowsPerPage,title:"Transactions",onOnRequest:m.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var p=s(1049),m=s(1484),b=s(3247);const _={name:"Show",data(){return{currency:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1,code:""}},created(){this.code=this.$route.params.code,this.getCurrency()},components:{LargeTable:p.Z},methods:{onRequest:function(e){this.page=e.page,this.getCurrency()},getCurrency:function(){let e=new m.Z;e.get(this.code).then((e=>this.parseCurrency(e))),this.loading=!0;const r=new b.Z;this.rows=[],e.transactions(this.code,this.page,this.getCacheKey).then((e=>{let s=r.parseResponse(e);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},parseCurrency:function(e){this.currency={name:e.data.data.attributes.name,code:e.data.data.attributes.code}}}};var f=s(1639),y=s(9885),C=s(4458),q=s(3190),v=s(9984),P=s.n(v);const Z=(0,f.Z)(_,[["render",h]]),k=Z;P()(_,"components",{QPage:y.Z,QCard:C.Z,QCardSection:q.Z})}}]);
|
File diff suppressed because one or more lines are too long
1
public/v3/js/1342.f73a42d0.js
vendored
Normal file
1
public/v3/js/1342.f73a42d0.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[3611],{9286:(a,e,t)=>{t.r(e),t.d(e,{default:()=>C});var s=t(9835),r=t(6970);const n={class:"row q-mx-md"},o={class:"col-12"},i={class:"text-h6"},g={class:"row"},l={class:"col-12 q-mb-xs"},u=(0,s._)("br",null,null,-1),c={class:"row q-mt-sm"},d={class:"col-12"};function w(a,e,t,w,p,h){const m=(0,s.up)("q-card-section"),b=(0,s.up)("q-card"),f=(0,s.up)("LargeTable"),_=(0,s.up)("q-page");return(0,s.wg)(),(0,s.j4)(_,null,{default:(0,s.w5)((()=>[(0,s._)("div",n,[(0,s._)("div",o,[(0,s.Wm)(b,{bordered:""},{default:(0,s.w5)((()=>[(0,s.Wm)(m,null,{default:(0,s.w5)((()=>[(0,s._)("div",i,(0,r.zw)(p.tag.tag),1)])),_:1}),(0,s.Wm)(m,null,{default:(0,s.w5)((()=>[(0,s._)("div",g,[(0,s._)("div",l,[(0,s.Uk)(" Tag: "+(0,r.zw)(p.tag.tag),1),u])])])),_:1})])),_:1})])]),(0,s._)("div",c,[(0,s._)("div",d,[(0,s.Wm)(f,{ref:"table",loading:a.loading,page:p.page,rows:p.rows,"rows-number":p.rowsNumber,"rows-per-page":p.rowsPerPage,title:"Transactions",onOnRequest:h.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var p=t(1569);class h{get(a){let e="/api/v1/tags/"+a;return p.api.get(e)}transactions(a,e,t){let s="/api/v1/tags/"+a+"/transactions";return p.api.get(s,{params:{page:e,cache:t}})}}var m=t(7454),b=t(3247);const f={name:"Show",data(){return{tag:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getTag()},mounted(){},components:{LargeTable:m.Z},methods:{onRequest:function(a){this.page=a.page,this.getTag()},getTag:function(){let a=new h;a.get(this.id).then((a=>this.parseTag(a))),this.loading=!0;const e=new b.Z;this.rows=[],a.transactions(this.id,this.page,this.getCacheKey).then((a=>{let t=e.parseResponse(a);this.rowsPerPage=t.rowsPerPage,this.rowsNumber=t.rowsNumber,this.rows=t.rows,this.loading=!1}))},parseTag:function(a){this.tag={tag:a.data.data.attributes.tag}}}};var _=t(1639),v=t(9885),T=t(4458),q=t(3190),P=t(9984),Z=t.n(P);const k=(0,_.Z)(f,[["render",w]]),C=k;Z()(f,"components",{QPage:v.Z,QCard:T.Z,QCardSection:q.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[3611],{9286:(a,e,t)=>{t.r(e),t.d(e,{default:()=>C});var s=t(9835),r=t(6970);const n={class:"row q-mx-md"},o={class:"col-12"},i={class:"text-h6"},g={class:"row"},l={class:"col-12 q-mb-xs"},u=(0,s._)("br",null,null,-1),c={class:"row q-mt-sm"},d={class:"col-12"};function w(a,e,t,w,p,h){const m=(0,s.up)("q-card-section"),b=(0,s.up)("q-card"),f=(0,s.up)("LargeTable"),_=(0,s.up)("q-page");return(0,s.wg)(),(0,s.j4)(_,null,{default:(0,s.w5)((()=>[(0,s._)("div",n,[(0,s._)("div",o,[(0,s.Wm)(b,{bordered:""},{default:(0,s.w5)((()=>[(0,s.Wm)(m,null,{default:(0,s.w5)((()=>[(0,s._)("div",i,(0,r.zw)(p.tag.tag),1)])),_:1}),(0,s.Wm)(m,null,{default:(0,s.w5)((()=>[(0,s._)("div",g,[(0,s._)("div",l,[(0,s.Uk)(" Tag: "+(0,r.zw)(p.tag.tag),1),u])])])),_:1})])),_:1})])]),(0,s._)("div",c,[(0,s._)("div",d,[(0,s.Wm)(f,{ref:"table",loading:a.loading,page:p.page,rows:p.rows,"rows-number":p.rowsNumber,"rows-per-page":p.rowsPerPage,title:"Transactions",onOnRequest:h.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var p=t(1569);class h{get(a){let e="/api/v1/tags/"+a;return p.api.get(e)}transactions(a,e,t){let s="/api/v1/tags/"+a+"/transactions";return p.api.get(s,{params:{page:e,cache:t}})}}var m=t(1049),b=t(3247);const f={name:"Show",data(){return{tag:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getTag()},mounted(){},components:{LargeTable:m.Z},methods:{onRequest:function(a){this.page=a.page,this.getTag()},getTag:function(){let a=new h;a.get(this.id).then((a=>this.parseTag(a))),this.loading=!0;const e=new b.Z;this.rows=[],a.transactions(this.id,this.page,this.getCacheKey).then((a=>{let t=e.parseResponse(a);this.rowsPerPage=t.rowsPerPage,this.rowsNumber=t.rowsNumber,this.rows=t.rows,this.loading=!1}))},parseTag:function(a){this.tag={tag:a.data.data.attributes.tag}}}};var _=t(1639),v=t(9885),T=t(4458),q=t(3190),P=t(9984),Z=t.n(P);const k=(0,_.Z)(f,[["render",w]]),C=k;Z()(f,"components",{QPage:v.Z,QCard:T.Z,QCardSection:q.Z})}}]);
|
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[4575],{4575:(e,a,t)=>{t.r(a),t.d(a,{default:()=>N});var s=t(9835),n=t(6970);const o={class:"row q-mx-md"},r={class:"col-12"},i={class:"text-h6"},c={class:"row"},u={class:"col-12 q-mb-xs"},l=(0,s._)("br",null,null,-1),d=(0,s._)("br",null,null,-1),w={class:"row q-mt-sm"},g={class:"col-12"};function p(e,a,t,p,h,m){const b=(0,s.up)("q-card-section"),_=(0,s.up)("q-card"),f=(0,s.up)("LargeTable"),q=(0,s.up)("q-page");return(0,s.wg)(),(0,s.j4)(q,null,{default:(0,s.w5)((()=>[(0,s._)("div",o,[(0,s._)("div",r,[(0,s.Wm)(_,{bordered:""},{default:(0,s.w5)((()=>[(0,s.Wm)(b,null,{default:(0,s.w5)((()=>[(0,s._)("div",i,(0,n.zw)(h.account.name),1)])),_:1}),(0,s.Wm)(b,null,{default:(0,s.w5)((()=>[(0,s._)("div",c,[(0,s._)("div",u,[(0,s.Uk)(" Name: "+(0,n.zw)(h.account.name),1),l,(0,s.Uk)(" IBAN: "+(0,n.zw)(h.account.iban),1),d])])])),_:1})])),_:1})])]),(0,s._)("div",w,[(0,s._)("div",g,[(0,s.Wm)(f,{ref:"table",loading:e.loading,page:h.page,rows:h.rows,"rows-number":h.rowsNumber,"rows-per-page":h.rowsPerPage,title:"Transactions",onOnRequest:m.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var h=t(160),m=t(7454),b=t(3247);const _={name:"Show",data(){return{account:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getAccount()},mounted(){},components:{LargeTable:m.Z},methods:{onRequest:function(e){this.page=e.page,this.getAccount()},getAccount:function(){let e=new h.Z;e.get(this.id).then((e=>this.parseAccount(e))),this.loading=!0;const a=new b.Z;this.rows=[],e.transactions(this.id,this.page).then((e=>{let t=a.parseResponse(e);this.rowsPerPage=t.rowsPerPage,this.rowsNumber=t.rowsNumber,this.rows=t.rows,this.loading=!1}))},parseAccount:function(e){this.account={name:e.data.data.attributes.name,iban:e.data.data.attributes.iban}}}};var f=t(1639),q=t(9885),v=t(4458),P=t(3190),Z=t(9984),k=t.n(Z);const A=(0,f.Z)(_,[["render",p]]),N=A;k()(_,"components",{QPage:q.Z,QCard:v.Z,QCardSection:P.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[4575],{4575:(e,a,t)=>{t.r(a),t.d(a,{default:()=>N});var s=t(9835),n=t(6970);const o={class:"row q-mx-md"},r={class:"col-12"},i={class:"text-h6"},c={class:"row"},u={class:"col-12 q-mb-xs"},l=(0,s._)("br",null,null,-1),d=(0,s._)("br",null,null,-1),w={class:"row q-mt-sm"},g={class:"col-12"};function p(e,a,t,p,h,m){const b=(0,s.up)("q-card-section"),_=(0,s.up)("q-card"),f=(0,s.up)("LargeTable"),q=(0,s.up)("q-page");return(0,s.wg)(),(0,s.j4)(q,null,{default:(0,s.w5)((()=>[(0,s._)("div",o,[(0,s._)("div",r,[(0,s.Wm)(_,{bordered:""},{default:(0,s.w5)((()=>[(0,s.Wm)(b,null,{default:(0,s.w5)((()=>[(0,s._)("div",i,(0,n.zw)(h.account.name),1)])),_:1}),(0,s.Wm)(b,null,{default:(0,s.w5)((()=>[(0,s._)("div",c,[(0,s._)("div",u,[(0,s.Uk)(" Name: "+(0,n.zw)(h.account.name),1),l,(0,s.Uk)(" IBAN: "+(0,n.zw)(h.account.iban),1),d])])])),_:1})])),_:1})])]),(0,s._)("div",w,[(0,s._)("div",g,[(0,s.Wm)(f,{ref:"table",loading:e.loading,page:h.page,rows:h.rows,"rows-number":h.rowsNumber,"rows-per-page":h.rowsPerPage,title:"Transactions",onOnRequest:m.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var h=t(160),m=t(1049),b=t(3247);const _={name:"Show",data(){return{account:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getAccount()},mounted(){},components:{LargeTable:m.Z},methods:{onRequest:function(e){this.page=e.page,this.getAccount()},getAccount:function(){let e=new h.Z;e.get(this.id).then((e=>this.parseAccount(e))),this.loading=!0;const a=new b.Z;this.rows=[],e.transactions(this.id,this.page).then((e=>{let t=a.parseResponse(e);this.rowsPerPage=t.rowsPerPage,this.rowsNumber=t.rowsNumber,this.rows=t.rows,this.loading=!1}))},parseAccount:function(e){this.account={name:e.data.data.attributes.name,iban:e.data.data.attributes.iban}}}};var f=t(1639),q=t(9885),v=t(4458),P=t(3190),Z=t(9984),k=t.n(Z);const A=(0,f.Z)(_,[["render",p]]),N=A;k()(_,"components",{QPage:q.Z,QCard:v.Z,QCardSection:P.Z})}}]);
|
1
public/v3/js/5573.3546f95b.js
vendored
1
public/v3/js/5573.3546f95b.js
vendored
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[7039],{7039:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Z});var a=s(9835),r=s(6970);const o={class:"row q-mx-md"},i={class:"col-12"},n={class:"text-h6"},g={class:"row"},l={class:"col-12 q-mb-xs"},h=(0,a._)("br",null,null,-1),u={class:"row q-mt-sm"},c={class:"col-12"};function w(e,t,s,w,d,p){const m=(0,a.up)("q-card-section"),y=(0,a.up)("q-card"),b=(0,a.up)("LargeTable"),f=(0,a.up)("q-page");return(0,a.wg)(),(0,a.j4)(f,null,{default:(0,a.w5)((()=>[(0,a._)("div",o,[(0,a._)("div",i,[(0,a.Wm)(y,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",n,(0,r.zw)(d.category.name),1)])),_:1}),(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",g,[(0,a._)("div",l,[(0,a.Uk)(" Name: "+(0,r.zw)(d.category.name),1),h])])])),_:1})])),_:1})])]),(0,a._)("div",u,[(0,a._)("div",c,[(0,a.Wm)(b,{ref:"table",loading:e.loading,page:d.page,rows:d.rows,"rows-number":d.rowsNumber,"rows-per-page":d.rowsPerPage,title:"Transactions",onOnRequest:p.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var d=s(7454),p=s(4255),m=s(3247);const y={name:"Show",data(){return{category:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1,id:0}},created(){"no-category"===this.$route.params.id&&(this.id=0,this.getWithoutCategory()),"no-category"!==this.$route.params.id&&(this.id=parseInt(this.$route.params.id),this.getCategory())},components:{LargeTable:d.Z},methods:{onRequest:function(e){this.page=e.page,this.getCategory()},getWithoutCategory:function(){this.category={name:"(without category)"},this.loading=!0;const e=new m.Z;this.rows=[];let t=new p.Z;t.transactionsWithoutCategory(this.page,this.getCacheKey).then((t=>{let s=e.parseResponse(t);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},getCategory:function(){let e=new p.Z;e.get(this.id).then((e=>this.parseCategory(e))),this.loading=!0;const t=new m.Z;this.rows=[],e.transactions(this.id,this.page,this.getCacheKey).then((e=>{let s=t.parseResponse(e);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},parseCategory:function(e){this.category={name:e.data.data.attributes.name}}}};var b=s(1639),f=s(9885),C=s(4458),_=s(3190),P=s(9984),q=s.n(P);const v=(0,b.Z)(y,[["render",w]]),Z=v;q()(y,"components",{QPage:f.Z,QCard:C.Z,QCardSection:_.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[7039],{7039:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Z});var a=s(9835),r=s(6970);const o={class:"row q-mx-md"},i={class:"col-12"},n={class:"text-h6"},g={class:"row"},l={class:"col-12 q-mb-xs"},h=(0,a._)("br",null,null,-1),u={class:"row q-mt-sm"},c={class:"col-12"};function w(e,t,s,w,d,p){const m=(0,a.up)("q-card-section"),y=(0,a.up)("q-card"),b=(0,a.up)("LargeTable"),f=(0,a.up)("q-page");return(0,a.wg)(),(0,a.j4)(f,null,{default:(0,a.w5)((()=>[(0,a._)("div",o,[(0,a._)("div",i,[(0,a.Wm)(y,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",n,(0,r.zw)(d.category.name),1)])),_:1}),(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",g,[(0,a._)("div",l,[(0,a.Uk)(" Name: "+(0,r.zw)(d.category.name),1),h])])])),_:1})])),_:1})])]),(0,a._)("div",u,[(0,a._)("div",c,[(0,a.Wm)(b,{ref:"table",loading:e.loading,page:d.page,rows:d.rows,"rows-number":d.rowsNumber,"rows-per-page":d.rowsPerPage,title:"Transactions",onOnRequest:p.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var d=s(1049),p=s(4255),m=s(3247);const y={name:"Show",data(){return{category:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1,id:0}},created(){"no-category"===this.$route.params.id&&(this.id=0,this.getWithoutCategory()),"no-category"!==this.$route.params.id&&(this.id=parseInt(this.$route.params.id),this.getCategory())},components:{LargeTable:d.Z},methods:{onRequest:function(e){this.page=e.page,this.getCategory()},getWithoutCategory:function(){this.category={name:"(without category)"},this.loading=!0;const e=new m.Z;this.rows=[];let t=new p.Z;t.transactionsWithoutCategory(this.page,this.getCacheKey).then((t=>{let s=e.parseResponse(t);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},getCategory:function(){let e=new p.Z;e.get(this.id).then((e=>this.parseCategory(e))),this.loading=!0;const t=new m.Z;this.rows=[],e.transactions(this.id,this.page,this.getCacheKey).then((e=>{let s=t.parseResponse(e);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},parseCategory:function(e){this.category={name:e.data.data.attributes.name}}}};var b=s(1639),f=s(9885),C=s(4458),_=s(3190),P=s(9984),q=s.n(P);const v=(0,b.Z)(y,[["render",w]]),Z=v;q()(y,"components",{QPage:f.Z,QCard:C.Z,QCardSection:_.Z})}}]);
|
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[753],{753:(e,t,s)=>{s.r(t),s.d(t,{default:()=>N});var a=s(9835),r=s(6970);const o={class:"row q-mx-md"},i={class:"col-12"},n={class:"text-h6"},u={class:"row"},d={class:"col-12 q-mb-xs"},g=(0,a._)("br",null,null,-1),l={class:"row q-mt-sm"},h={class:"col-12"};function w(e,t,s,w,c,p){const m=(0,a.up)("q-card-section"),b=(0,a.up)("q-card"),f=(0,a.up)("LargeTable"),_=(0,a.up)("q-page");return(0,a.wg)(),(0,a.j4)(_,null,{default:(0,a.w5)((()=>[(0,a._)("div",o,[(0,a._)("div",i,[(0,a.Wm)(b,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",n,(0,r.zw)(c.budget.name),1)])),_:1}),(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",u,[(0,a._)("div",d,[(0,a.Uk)(" Name: "+(0,r.zw)(c.budget.name),1),g])])])),_:1})])),_:1})])]),(0,a._)("div",l,[(0,a._)("div",h,[(0,a.Wm)(f,{ref:"table",loading:e.loading,page:c.page,rows:c.rows,"rows-number":c.rowsNumber,"rows-per-page":c.rowsPerPage,title:"Transactions",onOnRequest:p.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var c=s(7454),p=s(7912),m=s(3247);const b={name:"Show",data(){return{budget:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){"no-budget"===this.$route.params.id&&(this.id=0,this.getWithoutBudget()),"no-budget"!==this.$route.params.id&&(this.id=parseInt(this.$route.params.id),this.getBudget())},components:{LargeTable:c.Z},methods:{onRequest:function(e){this.page=e.page,this.getBudget()},getWithoutBudget:function(){this.budget={name:"(without budget)"},this.loading=!0;const e=new m.Z;this.rows=[];let t=new p.Z;t.transactionsWithoutBudget(this.page,this.getCacheKey).then((t=>{let s=e.parseResponse(t);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},getBudget:function(){let e=new p.Z;e.get(this.id).then((e=>this.parseBudget(e))),this.loading=!0;const t=new m.Z;this.rows=[],e.transactions(this.id,this.page,this.getCacheKey).then((e=>{let s=t.parseResponse(e);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},parseBudget:function(e){this.budget={name:e.data.data.attributes.name}}}};var f=s(1639),_=s(9885),P=s(4458),q=s(3190),v=s(9984),Z=s.n(v);const B=(0,f.Z)(b,[["render",w]]),N=B;Z()(b,"components",{QPage:_.Z,QCard:P.Z,QCardSection:q.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[753],{753:(e,t,s)=>{s.r(t),s.d(t,{default:()=>N});var a=s(9835),r=s(6970);const o={class:"row q-mx-md"},i={class:"col-12"},n={class:"text-h6"},u={class:"row"},d={class:"col-12 q-mb-xs"},g=(0,a._)("br",null,null,-1),l={class:"row q-mt-sm"},h={class:"col-12"};function w(e,t,s,w,c,p){const m=(0,a.up)("q-card-section"),b=(0,a.up)("q-card"),f=(0,a.up)("LargeTable"),_=(0,a.up)("q-page");return(0,a.wg)(),(0,a.j4)(_,null,{default:(0,a.w5)((()=>[(0,a._)("div",o,[(0,a._)("div",i,[(0,a.Wm)(b,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",n,(0,r.zw)(c.budget.name),1)])),_:1}),(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a._)("div",u,[(0,a._)("div",d,[(0,a.Uk)(" Name: "+(0,r.zw)(c.budget.name),1),g])])])),_:1})])),_:1})])]),(0,a._)("div",l,[(0,a._)("div",h,[(0,a.Wm)(f,{ref:"table",loading:e.loading,page:c.page,rows:c.rows,"rows-number":c.rowsNumber,"rows-per-page":c.rowsPerPage,title:"Transactions",onOnRequest:p.onRequest},null,8,["loading","page","rows","rows-number","rows-per-page","onOnRequest"])])])])),_:1})}var c=s(1049),p=s(7912),m=s(3247);const b={name:"Show",data(){return{budget:{},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){"no-budget"===this.$route.params.id&&(this.id=0,this.getWithoutBudget()),"no-budget"!==this.$route.params.id&&(this.id=parseInt(this.$route.params.id),this.getBudget())},components:{LargeTable:c.Z},methods:{onRequest:function(e){this.page=e.page,this.getBudget()},getWithoutBudget:function(){this.budget={name:"(without budget)"},this.loading=!0;const e=new m.Z;this.rows=[];let t=new p.Z;t.transactionsWithoutBudget(this.page,this.getCacheKey).then((t=>{let s=e.parseResponse(t);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},getBudget:function(){let e=new p.Z;e.get(this.id).then((e=>this.parseBudget(e))),this.loading=!0;const t=new m.Z;this.rows=[],e.transactions(this.id,this.page,this.getCacheKey).then((e=>{let s=t.parseResponse(e);this.rowsPerPage=s.rowsPerPage,this.rowsNumber=s.rowsNumber,this.rows=s.rows,this.loading=!1}))},parseBudget:function(e){this.budget={name:e.data.data.attributes.name}}}};var f=s(1639),_=s(9885),P=s(4458),q=s(3190),v=s(9984),Z=s.n(v);const B=(0,f.Z)(b,[["render",w]]),N=B;Z()(b,"components",{QPage:_.Z,QCard:P.Z,QCardSection:q.Z})}}]);
|
@ -1 +1 @@
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[8659],{8659:(t,a,n)=>{n.r(a),n.d(a,{default:()=>z});var i=n(9835),s=n(6970);const e={class:"row q-mx-md"},r={class:"col-12"},o={class:"text-h6"},l={class:"row"},u={class:"col-12 q-mb-xs"},c=(0,i._)("br",null,null,-1),d=(0,i._)("br",null,null,-1),p=(0,i._)("br",null,null,-1);function g(t,a,n,g,h,w){const _=(0,i.up)("q-card-section"),b=(0,i.up)("q-card"),m=(0,i.up)("q-page");return(0,i.wg)(),(0,i.j4)(m,null,{default:(0,i.w5)((()=>[(0,i._)("div",e,[(0,i._)("div",r,[(0,i.Wm)(b,{bordered:""},{default:(0,i.w5)((()=>[(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[(0,i._)("div",o,"Transaction: "+(0,s.zw)(h.title),1)])),_:1}),(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(h.group.transactions,((t,a)=>((0,i.wg)(),(0,i.iD)("div",l,[(0,i._)("div",u,[(0,i._)("strong",null,"index "+(0,s.zw)(a),1),c,(0,i.Uk)(" "+(0,s.zw)(t.description),1),d,(0,i.Uk)(" "+(0,s.zw)(t.amount),1),p,(0,i.Uk)(" "+(0,s.zw)(t.source_name)+" --\x3e "+(0,s.zw)(t.destination_name),1)])])))),256))])),_:1})])),_:1})])])])),_:1})}var h=n(9466),w=n(7454);const _={name:"Show",data(){return{title:"",group:{transactions:[]},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getTransaction()},mounted(){},components:{LargeTable:w.Z},methods:{onRequest:function(t){this.page=t.page,this.getTag()},getTransaction:function(){let t=new h.Z;this.loading=!0,t.get(this.id).then((t=>this.parseTransaction(t.data.data)))},parseTransaction:function(t){this.group={group_title:t.attributes.group_title,transactions:[]},null!==t.attributes.group_title&&(this.title=t.attributes.group_title);for(let a in t.attributes.transactions)if(t.attributes.transactions.hasOwnProperty(a)){let n=t.attributes.transactions[a];this.group.transactions.push(n),0===parseInt(a)&&null===t.attributes.group_title&&(this.title=n.description)}this.loading=!1}}};var b=n(1639),m=n(9885),f=n(4458),T=n(3190),v=n(9984),k=n.n(v);const q=(0,b.Z)(_,[["render",g]]),z=q;k()(_,"components",{QPage:m.Z,QCard:f.Z,QCardSection:T.Z})}}]);
|
||||
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[8659],{8659:(t,a,n)=>{n.r(a),n.d(a,{default:()=>z});var i=n(9835),s=n(6970);const e={class:"row q-mx-md"},r={class:"col-12"},o={class:"text-h6"},l={class:"row"},u={class:"col-12 q-mb-xs"},c=(0,i._)("br",null,null,-1),d=(0,i._)("br",null,null,-1),p=(0,i._)("br",null,null,-1);function g(t,a,n,g,h,w){const _=(0,i.up)("q-card-section"),b=(0,i.up)("q-card"),m=(0,i.up)("q-page");return(0,i.wg)(),(0,i.j4)(m,null,{default:(0,i.w5)((()=>[(0,i._)("div",e,[(0,i._)("div",r,[(0,i.Wm)(b,{bordered:""},{default:(0,i.w5)((()=>[(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[(0,i._)("div",o,"Transaction: "+(0,s.zw)(h.title),1)])),_:1}),(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(h.group.transactions,((t,a)=>((0,i.wg)(),(0,i.iD)("div",l,[(0,i._)("div",u,[(0,i._)("strong",null,"index "+(0,s.zw)(a),1),c,(0,i.Uk)(" "+(0,s.zw)(t.description),1),d,(0,i.Uk)(" "+(0,s.zw)(t.amount),1),p,(0,i.Uk)(" "+(0,s.zw)(t.source_name)+" --\x3e "+(0,s.zw)(t.destination_name),1)])])))),256))])),_:1})])),_:1})])])])),_:1})}var h=n(9466),w=n(1049);const _={name:"Show",data(){return{title:"",group:{transactions:[]},rows:[],rowsNumber:1,rowsPerPage:10,page:1}},created(){this.id=parseInt(this.$route.params.id),this.getTransaction()},mounted(){},components:{LargeTable:w.Z},methods:{onRequest:function(t){this.page=t.page,this.getTag()},getTransaction:function(){let t=new h.Z;this.loading=!0,t.get(this.id).then((t=>this.parseTransaction(t.data.data)))},parseTransaction:function(t){this.group={group_title:t.attributes.group_title,transactions:[]},null!==t.attributes.group_title&&(this.title=t.attributes.group_title);for(let a in t.attributes.transactions)if(t.attributes.transactions.hasOwnProperty(a)){let n=t.attributes.transactions[a];this.group.transactions.push(n),0===parseInt(a)&&null===t.attributes.group_title&&(this.title=n.description)}this.loading=!1}}};var b=n(1639),m=n(9885),f=n(4458),T=n(3190),v=n(9984),k=n.n(v);const q=(0,b.Z)(_,[["render",g]]),z=q;k()(_,"components",{QPage:m.Z,QCard:f.Z,QCardSection:T.Z})}}]);
|
File diff suppressed because one or more lines are too long
1
public/v3/js/chunk-common.a335a96a.js
vendored
Normal file
1
public/v3/js/chunk-common.a335a96a.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/v3/js/chunk-common.b44b7e37.js
vendored
1
public/v3/js/chunk-common.b44b7e37.js
vendored
File diff suppressed because one or more lines are too long
@ -9,8 +9,8 @@
|
||||
"split": "Dividir",
|
||||
"single_split": "Divisi\u00f3",
|
||||
"transaction_stored_link": "La <a href=\"transactions\/show\/{ID}\">Transacci\u00f3 #{ID} (\"{title}\")<\/a> s'ha desat.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") has been updated.",
|
||||
"webhook_stored_link": "S'ha desat <a href=\"webhooks\/show\/{ID}\">el Webook #{ID} (\"{title}\")<\/a> correctament.",
|
||||
"webhook_updated_link": "S'ha actualitzat el <a href=\"webhooks\/show\/{ID}\">Webook #{ID}<\/a> (\"{title}\").",
|
||||
"transaction_updated_link": "La <a href=\"transactions\/show\/{ID}\">transacci\u00f3#{ID}<\/a> (\"{title}\") s'ha actualitzat.",
|
||||
"transaction_new_stored_link": "La <a href=\"transactions\/show\/{ID}\">Transacci\u00f3 #{ID}<\/a> s'ha desat.",
|
||||
"transaction_journal_information": "Informaci\u00f3 de la transacci\u00f3",
|
||||
|
@ -9,8 +9,8 @@
|
||||
"split": "Teilen",
|
||||
"single_split": "Teilen",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Buchung #{ID} (\"{title}\")<\/a> wurde gespeichert.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") has been updated.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> wurde gespeichert.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") wurde aktualisiert.",
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Die Buchung #{ID}<\/a> (\"{title}\") wurde aktualisiert.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Buchung #{ID}<\/a> wurde gespeichert.",
|
||||
"transaction_journal_information": "Transaktionsinformationen",
|
||||
|
@ -9,8 +9,8 @@
|
||||
"split": "Separar",
|
||||
"single_split": "Divisi\u00f3n",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">La transacci\u00f3n #{ID} (\"{title}\")<\/a> ha sido almacenada.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") has been updated.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">El webhook #{ID} (\"{title}\")<\/a> ha sido almacenado.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">El webhook #{ID} (\"{title}\")<\/a> ha sido actualizado.",
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">La transacci\u00f3n #{ID}<\/a> (\"{title}\") ha sido actualizada.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">La transacci\u00f3n #{ID}<\/a> ha sido guardada.",
|
||||
"transaction_journal_information": "Informaci\u00f3n de transacci\u00f3n",
|
||||
|
@ -9,8 +9,8 @@
|
||||
"split": "Ventiler",
|
||||
"single_split": "Ventilation",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">L'op\u00e9ration n\u00b0{ID} (\"{title}\")<\/a> a \u00e9t\u00e9 enregistr\u00e9e.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") has been updated.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Le Webhook #{ID} (\"{title}\")<\/a> a \u00e9t\u00e9 enregistr\u00e9.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Le webhook #{ID}<\/a> (\"{title}\") a \u00e9t\u00e9 mis \u00e0 jour.",
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">L'op\u00e9ration n\u00b0{ID}<\/a> (\"{title}\") a \u00e9t\u00e9 mise \u00e0 jour.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">L'op\u00e9ration n\u00b0{ID}<\/a> a \u00e9t\u00e9 enregistr\u00e9e.",
|
||||
"transaction_journal_information": "Informations sur l'op\u00e9ration",
|
||||
|
@ -9,8 +9,8 @@
|
||||
"split": "Dividi",
|
||||
"single_split": "Divisione",
|
||||
"transaction_stored_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID} (\"{title}\")<\/a> \u00e8 stata salvata.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") has been updated.",
|
||||
"webhook_stored_link": "Il <a href=\"webhooks\/show\/{ID}\">webhook #{ID} (\"{title}\")<\/a> \u00e8 stato archiviato.",
|
||||
"webhook_updated_link": "Il <a href=\"webhooks\/show\/{ID}\">webhook #{ID} (\"{title}\")<\/a> \u00e8 stato aggiornato.",
|
||||
"transaction_updated_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID}<\/a> (\"{title}\") \u00e8 stata aggiornata.",
|
||||
"transaction_new_stored_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID}<\/a> \u00e8 stata salvata.",
|
||||
"transaction_journal_information": "Informazioni transazione",
|
||||
|
@ -9,8 +9,8 @@
|
||||
"split": "Podziel",
|
||||
"single_split": "Podzia\u0142",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcja #{ID} (\"{title}\")<\/a> zosta\u0142a zapisana.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") has been updated.",
|
||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> zosta\u0142 zapisany.",
|
||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") zosta\u0142 zaktualizowany.",
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transakcja #{ID}<\/a> (\"{title}\") zosta\u0142a zaktualizowana.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcja #{ID}<\/a> zosta\u0142a zapisana.",
|
||||
"transaction_journal_information": "Informacje o transakcji",
|
||||
|
@ -279,8 +279,8 @@ return [
|
||||
'response' => 'Resposta',
|
||||
'visit_webhook_url' => 'Visitar l\'URL del webhook',
|
||||
'reset_webhook_secret' => 'Reiniciar el secret del webhook',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_stored_link' => 'S\'ha desat <a href="webhooks/show/{ID}">el Webook #{ID} ("{title}")</a> correctament.',
|
||||
'webhook_updated_link' => 'S\'ha actualitzat el <a href="webhooks/show/{ID}">Webook #{ID}</a> ("{title}").',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Firefly III v:version Sol·licitud d\'Autorització',
|
||||
|
@ -279,8 +279,8 @@ return [
|
||||
'response' => 'Antwort',
|
||||
'visit_webhook_url' => 'Webhook-URL besuchen',
|
||||
'reset_webhook_secret' => 'Webhook Secret zurücksetzen',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> wurde gespeichert.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") wurde aktualisiert.',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Firefly III v:version Autorisierungsanfrage',
|
||||
|
@ -279,8 +279,8 @@ return [
|
||||
'response' => 'Response',
|
||||
'visit_webhook_url' => 'Visit webhook URL',
|
||||
'reset_webhook_secret' => 'Reset webhook secret',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">El webhook #{ID} ("{title}")</a> ha sido almacenado.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">El webhook #{ID} ("{title}")</a> ha sido actualizado.',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Firefly III v:version Solicitud de autorización',
|
||||
|
@ -279,8 +279,8 @@ return [
|
||||
'response' => 'Réponse',
|
||||
'visit_webhook_url' => 'Visiter l\'URL du webhook',
|
||||
'reset_webhook_secret' => 'Réinitialiser le secret du webhook',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Le Webhook #{ID} ("{title}")</a> a été enregistré.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Le webhook #{ID}</a> ("{title}") a été mis à jour.',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Firefly III v:version demande d\'autorisation',
|
||||
|
@ -279,8 +279,8 @@ return [
|
||||
'response' => 'Risposta',
|
||||
'visit_webhook_url' => 'Visita URL webhook',
|
||||
'reset_webhook_secret' => 'Reimposta il segreto del webhook',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_stored_link' => 'Il <a href="webhooks/show/{ID}">webhook #{ID} ("{title}")</a> è stato archiviato.',
|
||||
'webhook_updated_link' => 'Il <a href="webhooks/show/{ID}">webhook #{ID} ("{title}")</a> è stato aggiornato.',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Firefly III v:version Richiesta Autorizzazione',
|
||||
@ -2414,11 +2414,11 @@ return [
|
||||
'admin_notification_check_user_new_reg' => 'User gets post-registration welcome message',
|
||||
'admin_notification_check_admin_new_reg' => 'Administrator(s) get new user registration notification',
|
||||
'admin_notification_check_new_version' => 'A new version is available',
|
||||
'admin_notification_check_invite_created' => 'A user is invited to Firefly III',
|
||||
'admin_notification_check_invite_redeemed' => 'A user invitation is redeemed',
|
||||
'all_invited_users' => 'All invited users',
|
||||
'save_notification_settings' => 'Save settings',
|
||||
'notification_settings_saved' => 'The notification settings have been saved',
|
||||
'admin_notification_check_invite_created' => 'Un utente è stato invitato in Firefly III',
|
||||
'admin_notification_check_invite_redeemed' => 'Un invito utente è stato accettato',
|
||||
'all_invited_users' => 'Utenti invitati',
|
||||
'save_notification_settings' => 'Salva le impostazioni',
|
||||
'notification_settings_saved' => 'Le impostazioni sulle notifiche sono state salvate',
|
||||
|
||||
|
||||
'split_transaction_title' => 'Descrizione della transazione suddivisa',
|
||||
@ -2687,19 +2687,19 @@ return [
|
||||
'ale_action_clear_budget' => 'Removed from budget',
|
||||
'ale_action_clear_category' => 'Removed from category',
|
||||
'ale_action_clear_notes' => 'Removed notes',
|
||||
'ale_action_clear_tag' => 'Cleared tag',
|
||||
'ale_action_clear_all_tags' => 'Cleared all tags',
|
||||
'ale_action_set_bill' => 'Linked to bill',
|
||||
'ale_action_set_budget' => 'Set budget',
|
||||
'ale_action_set_category' => 'Set category',
|
||||
'ale_action_set_source' => 'Set source account',
|
||||
'ale_action_set_destination' => 'Set destination account',
|
||||
'ale_action_update_transaction_type' => 'Changed transaction type',
|
||||
'ale_action_update_notes' => 'Changed notes',
|
||||
'ale_action_update_description' => 'Changed description',
|
||||
'ale_action_add_to_piggy' => 'Piggy bank',
|
||||
'ale_action_remove_from_piggy' => 'Piggy bank',
|
||||
'ale_action_add_tag' => 'Added tag',
|
||||
'ale_action_clear_tag' => 'Etichette cancellate',
|
||||
'ale_action_clear_all_tags' => 'Tutte le etichette sono state cancellate',
|
||||
'ale_action_set_bill' => 'Collegato alla fattura',
|
||||
'ale_action_set_budget' => 'Imposta un budget',
|
||||
'ale_action_set_category' => 'Imposta una categoria',
|
||||
'ale_action_set_source' => 'Imposta un conto di origine',
|
||||
'ale_action_set_destination' => 'Imposta un beneficiario',
|
||||
'ale_action_update_transaction_type' => 'Tipo di transazione modificato',
|
||||
'ale_action_update_notes' => 'Note cambiate',
|
||||
'ale_action_update_description' => 'Modifica descrizione',
|
||||
'ale_action_add_to_piggy' => 'Salvadanaio',
|
||||
'ale_action_remove_from_piggy' => 'Salvadanaio',
|
||||
'ale_action_add_tag' => 'Etichette aggiunte',
|
||||
|
||||
];
|
||||
|
||||
|
@ -43,27 +43,27 @@ return [
|
||||
'split' => '나누기',
|
||||
'single_split' => '나누기',
|
||||
'clone' => '복사',
|
||||
'confirm_action' => 'Confirm action',
|
||||
'confirm_action' => '액션 확인',
|
||||
'last_seven_days' => '최근 7일',
|
||||
'last_thirty_days' => '최근 30일',
|
||||
'last_180_days' => '최근 180일',
|
||||
'month_to_date' => 'Month to date',
|
||||
'year_to_date' => 'Year to date',
|
||||
'month_to_date' => '월간 누계',
|
||||
'year_to_date' => '연간 누계',
|
||||
'YTD' => 'YTD',
|
||||
'welcome_back' => 'What\'s playing?',
|
||||
'everything' => 'Everything',
|
||||
'welcome_back' => '무슨 일이죠?',
|
||||
'everything' => '모든 것',
|
||||
'today' => '오늘',
|
||||
'customRange' => '맞춤 범위',
|
||||
'date_range' => 'Date range',
|
||||
'date_range' => '날짜 범위',
|
||||
'apply' => '적용',
|
||||
'select_date' => '날짜 선택',
|
||||
'cancel' => '취소',
|
||||
'from' => 'From',
|
||||
'to' => 'To',
|
||||
'structure' => 'Structure',
|
||||
'from' => '에서',
|
||||
'to' => '에게',
|
||||
'structure' => '구조',
|
||||
'help_translating' => '이 도움말 텍스트는 아직 귀하의 언어를 지원하지 않습니다. <a href="https://crowdin.com/project/firefly-iii-help">번역을 도와 주시겠습니까?</a>',
|
||||
'showEverything' => '모두 보기',
|
||||
'never' => 'Never',
|
||||
'never' => '절대',
|
||||
'no_results_for_empty_search' => '검색 조건이 비어서 아무것도 찾을 수 없습니다.',
|
||||
'removed_amount' => ':amount 삭제됨',
|
||||
'added_amount' => ':amount 추가됨',
|
||||
@ -86,48 +86,48 @@ return [
|
||||
'go_to_piggies' => '저금통으로 이동',
|
||||
'new_deposit' => '신규 입금',
|
||||
'new_transfer' => '신규 이체',
|
||||
'new_transfers' => 'New transfer',
|
||||
'new_asset_account' => 'New asset account',
|
||||
'new_expense_account' => 'New expense account',
|
||||
'new_revenue_account' => 'New revenue account',
|
||||
'new_liabilities_account' => 'New liability',
|
||||
'new_budget' => 'New budget',
|
||||
'new_bill' => 'New bill',
|
||||
'block_account_logout' => 'You have been logged out. Blocked accounts cannot use this site. Did you register with a valid email address?',
|
||||
'flash_success' => 'Success!',
|
||||
'flash_info' => 'Message',
|
||||
'flash_warning' => 'Warning!',
|
||||
'flash_error' => 'Error!',
|
||||
'flash_danger' => 'Danger!',
|
||||
'flash_info_multiple' => 'There is one message|There are :count messages',
|
||||
'flash_error_multiple' => 'There is one error|There are :count errors',
|
||||
'net_worth' => 'Net worth',
|
||||
'help_for_this_page' => 'Help for this page',
|
||||
'help_for_this_page_body' => 'You can find more information about this page <a href="https://docs.firefly-iii.org/">in the documentation</a>.',
|
||||
'two_factor_welcome' => 'Hello!',
|
||||
'two_factor_enter_code' => 'To continue, please enter your two factor authentication code. Your application can generate it for you.',
|
||||
'two_factor_code_here' => 'Enter code here',
|
||||
'two_factor_title' => 'Two factor authentication',
|
||||
'authenticate' => 'Authenticate',
|
||||
'two_factor_forgot_title' => 'Lost two factor authentication',
|
||||
'two_factor_forgot' => 'I forgot my two-factor thing.',
|
||||
'two_factor_lost_header' => 'Lost your two factor authentication?',
|
||||
'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, read <a href="https://docs.firefly-iii.org/faq/other#i-lost-my-two-factor-authentication-codes-and-backup-codes">this entry in the FAQ</a> for instructions.',
|
||||
'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, <a href="mailto::site_owner">:site_owner</a> and ask them to reset your two factor authentication.',
|
||||
'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.|You have :count valid backup codes.',
|
||||
'2fa_i_have_them' => 'I stored them!',
|
||||
'warning_much_data' => ':days days of data may take a while to load.',
|
||||
'registered' => 'You have registered successfully!',
|
||||
'Default asset account' => 'Default asset account',
|
||||
'new_transfers' => '신규 이체',
|
||||
'new_asset_account' => '새 자산 계정',
|
||||
'new_expense_account' => '새 지출 계정',
|
||||
'new_revenue_account' => '새 수익 계정',
|
||||
'new_liabilities_account' => '새 부채',
|
||||
'new_budget' => '새 예산',
|
||||
'new_bill' => '새 청구서',
|
||||
'block_account_logout' => '로그아웃되었습니다. 차단된 계정은 이 사이트를 사용할 수 없습니다. 유효한 이메일 주소로 등록하셨습니까?',
|
||||
'flash_success' => '성공!',
|
||||
'flash_info' => '메시지',
|
||||
'flash_warning' => '경고!',
|
||||
'flash_error' => '오류!',
|
||||
'flash_danger' => '위험!',
|
||||
'flash_info_multiple' => '메시지가 하나 있습니다|매시지가 :count개 있습니다',
|
||||
'flash_error_multiple' => '오류가 하나 있습니다|오류가 :count개 있습니다',
|
||||
'net_worth' => '순자산',
|
||||
'help_for_this_page' => '이 페이지에 대한 도움말',
|
||||
'help_for_this_page_body' => '이 페이지에 대한 자세한 정보는 <a href="https://docs.firefly-iii.org/">문서</a>에서 확인할 수 있습니다.',
|
||||
'two_factor_welcome' => '안녕하세요!',
|
||||
'two_factor_enter_code' => '계속하려면 2단계 인증 코드를 입력하세요. 애플리케이션에서 자동으로 생성할 수 있습니다.',
|
||||
'two_factor_code_here' => '여기에 코드 입력',
|
||||
'two_factor_title' => '2단계 인증',
|
||||
'authenticate' => '인증',
|
||||
'two_factor_forgot_title' => '2단계 인증 분실',
|
||||
'two_factor_forgot' => '2단계 인증을 잊었습니다.',
|
||||
'two_factor_lost_header' => '2단계 인증을 분실하셨나요?',
|
||||
'two_factor_lost_intro' => '백업 코드도 분실하셨다면 운이 나쁘신 것입니다. 이 문제는 웹 인터페이스에서 해결할 수 있는 문제가 아닙니다. 두 가지 선택지가 있습니다.',
|
||||
'two_factor_lost_fix_self' => 'Firefly III 인스턴스를 직접 실행하는 경우 <a href="https://docs.firefly-iii.org/faq/other#i-lost-my-two-factor-authentication-codes-and-backup-codes">자주 묻는 질문(FAQ)의 이 항목</a>을 읽고 지침을 확인하세요.',
|
||||
'two_factor_lost_fix_owner' => '그렇지 않은 경우 사이트 소유자 <a href="mailto::site_owner">:site_owner</a>에게 이메일을 보내 2단계 인증을 재설정해 달라고 요청하세요.',
|
||||
'mfa_backup_code' => '백업 코드를 사용하여 Firefly III에 로그인했습니다. 코드는 다시 사용할 수 없으므로 목록에서 삭제하세요.',
|
||||
'pref_two_factor_new_backup_codes' => '새 백업 코드 얻기',
|
||||
'pref_two_factor_backup_code_count' => ':count개의 유효한 백업코드가 있습니다.|:count개의 유효한 백업코드가 있습니다.',
|
||||
'2fa_i_have_them' => '저장했습니다!',
|
||||
'warning_much_data' => ':days일의 데이터를 로드하는데 시간이 걸릴 수 있습니다.',
|
||||
'registered' => '성공적으로 등록되었습니다!',
|
||||
'Default asset account' => '기본 자산 계정',
|
||||
'no_budget_pointer' => '예산이 아직 없는 것 같습니다. <a href="budgets">예산</a> 페이지에서 예산을 만들어야 합니다. 예산은 지출을 추적하는데 도움이 됩니다.',
|
||||
'no_bill_pointer' => 'You seem to have no bills yet. You should create some on the <a href="bills">bills</a>-page. Bills can help you keep track of expenses.',
|
||||
'Savings account' => 'Savings account',
|
||||
'no_bill_pointer' => '청구서가 아직 없는 것 같습니다. <a href="bills">청구서</a> 페이지에서 청구서를 만들어야 합니다. 청구서는 비용을 추적하는 데 도움이 됩니다.',
|
||||
'Savings account' => '예금 계좌',
|
||||
'Credit card' => '신용카드',
|
||||
'source_accounts' => 'Source account|Source accounts',
|
||||
'destination_accounts' => 'Destination account|Destination accounts',
|
||||
'source_accounts' => '소스 계정|소스 계정',
|
||||
'destination_accounts' => '대상 계정|대상 계정',
|
||||
'user_id_is' => '사용자 Id는 <strong>:user</strong>입니다',
|
||||
'field_supports_markdown' => '이 필드는 <a href="https://en.support.wordpress.com/markdown-quick-reference/">마크다운</a>을 지원합니다.',
|
||||
'need_more_help' => 'Firefly III를 사용하는데 도움이 필요하다면 <a href="https://github.com/firefly-iii/firefly-iii/issues">Github에서 티켓을 열어주세요</a>.',
|
||||
@ -143,48 +143,48 @@ return [
|
||||
'sum_of_expenses' => '지출 합계',
|
||||
'sum_of_income' => '수입 합계',
|
||||
'liabilities' => '부채',
|
||||
'spent_in_specific_budget' => 'Spent in budget ":budget"',
|
||||
'spent_in_specific_double' => 'Spent in account ":account"',
|
||||
'earned_in_specific_double' => 'Earned in account ":account"',
|
||||
'spent_in_specific_budget' => '":budget" 예산에서 지출',
|
||||
'spent_in_specific_double' => '":account" 계정에서 지출',
|
||||
'earned_in_specific_double' => '":account" 계정에서 소득',
|
||||
'source_account' => '소스 계정',
|
||||
'source_account_reconciliation' => 'You can\'t edit the source account of a reconciliation transaction.',
|
||||
'source_account_reconciliation' => '조정 거래의 소스 계정은 편집할 수 없습니다.',
|
||||
'destination_account' => '대상 계정',
|
||||
'destination_account_reconciliation' => 'You can\'t edit the destination account of a reconciliation transaction.',
|
||||
'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"',
|
||||
'left_in_budget_limit' => 'Left to spend according to budgeting',
|
||||
'current_period' => 'Current period',
|
||||
'show_the_current_period_and_overview' => 'Show the current period and overview',
|
||||
'destination_account_reconciliation' => '조정 거래의 대상 계정은 편집할 수 없습니다.',
|
||||
'sum_of_expenses_in_budget' => '":budget" 예산에서 총 지출',
|
||||
'left_in_budget_limit' => '예산 책정에 따라 지출',
|
||||
'current_period' => '현재 기간',
|
||||
'show_the_current_period_and_overview' => '현재 기간 및 걔요 표시',
|
||||
'pref_languages_locale' => '영어 외의 언어가 제대로 동작하려면 운영 체제에 올바른 로케일 정보가 있어야 합니다. 그렇지 않은 경우 통화 데이터, 날짜 및 금액의 형식이 잘못 지정될 수 있습니다.',
|
||||
'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',
|
||||
'chart_category_in_period' => 'Chart for all transactions for category ":name" between :start and :end',
|
||||
'chart_category_all' => 'Chart for all transactions for category ":name"',
|
||||
'clone_withdrawal' => 'Clone this withdrawal',
|
||||
'clone_deposit' => 'Clone this deposit',
|
||||
'clone_transfer' => 'Clone this transfer',
|
||||
'multi_select_no_selection' => 'None selected',
|
||||
'budget_in_period' => ':currency에서 :start와 :end 사이의 예산 ":name"에 대한 모든 거래',
|
||||
'chart_budget_in_period' => ':currency에서 :start와 :end 사이의 예산 ":name"에 대한 모든 거래에 대한 차트',
|
||||
'chart_budget_in_period_only_currency' => '예산을 책정한 금액은 :currency이므로 이 차트에는 :currency의 거래만 표시됩니다.',
|
||||
'chart_account_in_period' => ':start와 :end 동안 ":name" (:balance) 계정의 모든 거래에 대한 차트',
|
||||
'chart_category_in_period' => ':start와 :end 동안 ":name" 카테고리의 모든 거래에 대한 차트',
|
||||
'chart_category_all' => '":name" 카테고리의 모든 거래에 대한 차트',
|
||||
'clone_withdrawal' => '이 출금을 복제합니다',
|
||||
'clone_deposit' => '이 입금을 복제합니다',
|
||||
'clone_transfer' => '이 이체를 복제합니다',
|
||||
'multi_select_no_selection' => '선택하지 않음',
|
||||
'multi_select_select_all' => '전체 선택',
|
||||
'multi_select_n_selected' => 'selected',
|
||||
'multi_select_all_selected' => 'All selected',
|
||||
'multi_select_n_selected' => '선택됨',
|
||||
'multi_select_all_selected' => '모두 선택됨',
|
||||
'multi_select_filter_placeholder' => '찾기..',
|
||||
'intro_next_label' => '다음',
|
||||
'intro_prev_label' => '이전',
|
||||
'intro_skip_label' => '건너뛰기',
|
||||
'intro_done_label' => '완료',
|
||||
'between_dates_breadcrumb' => 'Between :start and :end',
|
||||
'all_journals_without_budget' => 'All transactions without a budget',
|
||||
'journals_without_budget' => 'Transactions without a budget',
|
||||
'all_journals_without_category' => 'All transactions without a category',
|
||||
'journals_without_category' => 'Transactions without a category',
|
||||
'all_journals_for_account' => 'All transactions for account :name',
|
||||
'chart_all_journals_for_account' => 'Chart of all transactions for account :name',
|
||||
'journals_in_period_for_account' => 'All transactions for account :name between :start and :end',
|
||||
'journals_in_period_for_account_js' => 'All transactions for account {title} between {start} and {end}',
|
||||
'transferred' => 'Transferred',
|
||||
'all_withdrawal' => 'All expenses',
|
||||
'all_transactions' => 'All transactions',
|
||||
'between_dates_breadcrumb' => ':start와 :end 사이',
|
||||
'all_journals_without_budget' => '예산이 없는 모든 거래',
|
||||
'journals_without_budget' => '예산이 없는 거래',
|
||||
'all_journals_without_category' => '카테고리가 없는 모든 거래',
|
||||
'journals_without_category' => '카테고리가 없는 거래',
|
||||
'all_journals_for_account' => ':name 계정에 대한 모든 거래',
|
||||
'chart_all_journals_for_account' => ':name 계정에 대한 모든 거래 차트',
|
||||
'journals_in_period_for_account' => ':start와 :end 동안 ":name" 계정의 모든 거래',
|
||||
'journals_in_period_for_account_js' => '{start} 와 {end} 동안 {title} 계정의 모든 거래',
|
||||
'transferred' => '이체',
|
||||
'all_withdrawal' => '모든 지출',
|
||||
'all_transactions' => '모든 거래',
|
||||
'title_withdrawal_between' => 'All expenses between :start and :end',
|
||||
'all_deposit' => 'All revenue',
|
||||
'title_deposit_between' => 'All revenue between :start and :end',
|
||||
@ -266,53 +266,53 @@ return [
|
||||
'edit_webhook_js' => 'Edit webhook "{title}"',
|
||||
'show_webhook' => 'Webhook ":title"',
|
||||
'webhook_was_triggered' => 'The webhook was triggered on the indicated transaction. Please wait for results to appear.',
|
||||
'webhook_messages' => 'Webhook message',
|
||||
'view_message' => 'View message',
|
||||
'view_attempts' => 'View failed attempts',
|
||||
'message_content_title' => 'Webhook message content',
|
||||
'message_content_help' => 'This is the content of the message that was sent (or tried) using this webhook.',
|
||||
'attempt_content_title' => 'Webhook attempts',
|
||||
'attempt_content_help' => 'These are all the unsuccessful attempts of this webhook message to submit to the configured URL. After some time, Firefly III will stop trying.',
|
||||
'no_attempts' => 'There are no unsuccessful attempts. That\'s a good thing!',
|
||||
'webhook_attempt_at' => 'Attempt at {moment}',
|
||||
'logs' => 'Logs',
|
||||
'response' => 'Response',
|
||||
'visit_webhook_url' => 'Visit webhook URL',
|
||||
'reset_webhook_secret' => 'Reset webhook secret',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_messages' => '웹훅 메시지',
|
||||
'view_message' => '메시지 보기',
|
||||
'view_attempts' => '실패한 시도 보기',
|
||||
'message_content_title' => '웹훅 메시지 내용',
|
||||
'message_content_help' => '이 웹훅을 사용하여 전송된(또는 시도한) 메시지의 내용입니다.',
|
||||
'attempt_content_title' => '웹훅 시도',
|
||||
'attempt_content_help' => '구성된 URL에 제출하려는 이 웹훅 메시지의 모든 실패한 시도입니다. 잠시 후 Firefly III가 시도를 중지합니다.',
|
||||
'no_attempts' => '실패한 시도가 없습니다. 좋은 일이네요!',
|
||||
'webhook_attempt_at' => '{moment}에 시도',
|
||||
'logs' => '로그',
|
||||
'response' => '응답',
|
||||
'visit_webhook_url' => '웹훅 URL 방문',
|
||||
'reset_webhook_secret' => '웹훅 시크릿 재설정',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">웹훅 #{ID} ("{title}")</a>이 저장되었습니다.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">웹훅 #{ID}</a> ("{title}")이 업데이트 되었습니다.',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Firefly III v:version Authorization Request',
|
||||
'authorization_request' => 'Firefly III v:version 인증 요청',
|
||||
'authorization_request_intro' => 'Application "<strong>:client</strong>" is requesting permission to access your financial administration. Would you like to authorize <strong>:client</strong> to access these records?',
|
||||
'authorization_request_site' => 'You will be redirected to <code>:url</code> which will then be able to access your Firefly III data.',
|
||||
'authorization_request_invalid' => 'This access request is invalid. Please never follow this link again.',
|
||||
'scopes_will_be_able' => 'This application will be able to:',
|
||||
'button_authorize' => 'Authorize',
|
||||
'none_in_select_list' => '(none)',
|
||||
'no_piggy_bank' => '(no piggy bank)',
|
||||
'button_authorize' => '인증',
|
||||
'none_in_select_list' => '(없음)',
|
||||
'no_piggy_bank' => '(저금통 없음)',
|
||||
'name_in_currency' => ':name in :currency',
|
||||
'paid_in_currency' => 'Paid in :currency',
|
||||
'unpaid_in_currency' => 'Unpaid in :currency',
|
||||
'is_alpha_warning' => 'You are running an ALPHA version. Be wary of bugs and issues.',
|
||||
'is_beta_warning' => 'You are running an BETA version. Be wary of bugs and issues.',
|
||||
'all_destination_accounts' => 'Destination accounts',
|
||||
'all_source_accounts' => 'Source accounts',
|
||||
'back_to_index' => 'Back to the index',
|
||||
'cant_logout_guard' => 'Firefly III can\'t log you out.',
|
||||
'internal_reference' => 'Internal reference',
|
||||
'all_destination_accounts' => '대상 계정',
|
||||
'all_source_accounts' => '소스 계정',
|
||||
'back_to_index' => '목록으로 돌아가기',
|
||||
'cant_logout_guard' => 'Firefly III에서 로그아웃할 수 없습니다.',
|
||||
'internal_reference' => '내부 참조',
|
||||
|
||||
// check for updates:
|
||||
'update_check_title' => '업데이트 확인',
|
||||
'admin_update_check_title' => 'Automatically check for update',
|
||||
'admin_update_check_title' => '업데이트 자동 확인',
|
||||
'admin_update_check_explain' => 'Firefly III can check for updates automatically. When you enable this setting, it will contact the Firefly III update server to see if a new version of Firefly III is available. When it is, you will get a notification. You can test this notification using the button on the right. Please indicate below if you want Firefly III to check for updates.',
|
||||
'check_for_updates_permission' => 'Firefly III can check for updates, but it needs your permission to do so. Please go to the <a href=":link">administration</a> to indicate if you would like this feature to be enabled.',
|
||||
'updates_ask_me_later' => 'Ask me later',
|
||||
'updates_ask_me_later' => '나중에 다시 확인',
|
||||
'updates_do_not_check' => 'Do not check for updates',
|
||||
'updates_enable_check' => 'Enable the check for updates',
|
||||
'admin_update_check_now_title' => '지금 업데이트 확인',
|
||||
'admin_update_check_now_explain' => 'If you press the button, Firefly III will see if your current version is the latest.',
|
||||
'check_for_updates_button' => 'Check now!',
|
||||
'check_for_updates_button' => '지금 확인!',
|
||||
'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.',
|
||||
@ -459,16 +459,16 @@ return [
|
||||
'search_modifier_not_destination_account_nr_ends' => 'Destination account number (IBAN) does not end with ":value"',
|
||||
'search_modifier_account_id' => 'Source or destination account ID\'s is/are: :value',
|
||||
'search_modifier_not_account_id' => 'Source or destination account ID\'s is/are not: :value',
|
||||
'search_modifier_category_is' => 'Category is ":value"',
|
||||
'search_modifier_not_category_is' => 'Category is not ":value"',
|
||||
'search_modifier_budget_is' => 'Budget is ":value"',
|
||||
'search_modifier_not_budget_is' => 'Budget is not ":value"',
|
||||
'search_modifier_bill_is' => 'Bill is ":value"',
|
||||
'search_modifier_not_bill_is' => 'Bill is not ":value"',
|
||||
'search_modifier_transaction_type' => 'Transaction type is ":value"',
|
||||
'search_modifier_not_transaction_type' => 'Transaction type is not ":value"',
|
||||
'search_modifier_tag_is' => 'Tag is ":value"',
|
||||
'search_modifier_not_tag_is' => 'No tag is ":value"',
|
||||
'search_modifier_category_is' => '카테고리는 ":value" 입니다',
|
||||
'search_modifier_not_category_is' => '카테고리는 ":value" 가 아닙니다',
|
||||
'search_modifier_budget_is' => '예산은 ":value" 입니다',
|
||||
'search_modifier_not_budget_is' => '예산은 ":value" 가 아닙니다',
|
||||
'search_modifier_bill_is' => '청구서는 ":value" 입니다',
|
||||
'search_modifier_not_bill_is' => '청구서는 ":value" 가 아닙니다',
|
||||
'search_modifier_transaction_type' => '거래 유형은 ":value" 입니다',
|
||||
'search_modifier_not_transaction_type' => '거래 유형은 ":value"가 아닙니다',
|
||||
'search_modifier_tag_is' => '태그는 ":value" 입니다',
|
||||
'search_modifier_not_tag_is' => '":value" 태그가 없습니다.',
|
||||
'search_modifier_date_on_year' => 'Transaction is in year ":value"',
|
||||
'search_modifier_not_date_on_year' => 'Transaction is not in year ":value"',
|
||||
'search_modifier_date_on_month' => 'Transaction is in month ":value"',
|
||||
@ -484,12 +484,12 @@ return [
|
||||
|
||||
|
||||
// new
|
||||
'search_modifier_tag_is_not' => 'No tag is ":value"',
|
||||
'search_modifier_not_tag_is_not' => 'Tag is ":value"',
|
||||
'search_modifier_account_is' => 'Either account is ":value"',
|
||||
'search_modifier_not_account_is' => 'Neither account is ":value"',
|
||||
'search_modifier_account_contains' => 'Either account contains ":value"',
|
||||
'search_modifier_not_account_contains' => 'Neither account contains ":value"',
|
||||
'search_modifier_tag_is_not' => '":value" 태그가 없습니다',
|
||||
'search_modifier_not_tag_is_not' => '태그는 ":value" 입니다',
|
||||
'search_modifier_account_is' => '계정중 하나는 ":value" 입니다',
|
||||
'search_modifier_not_account_is' => '두 계정 모두 ":value"가 아닙니다',
|
||||
'search_modifier_account_contains' => '계정중 하나는 ":value"를 포함합니다',
|
||||
'search_modifier_not_account_contains' => '두 계정 모두 ":value"를 포함하지 않습니다',
|
||||
'search_modifier_account_ends' => 'Either account ends with ":value"',
|
||||
'search_modifier_not_account_ends' => 'Neither account ends with ":value"',
|
||||
'search_modifier_account_starts' => 'Either account starts with ":value"',
|
||||
@ -725,41 +725,41 @@ return [
|
||||
// END
|
||||
'modifiers_applies_are' => 'The following modifiers are applied to the search as well:',
|
||||
'general_search_error' => 'An error occurred while searching. Please check the log files for more information.',
|
||||
'search_box' => 'Search',
|
||||
'search_box' => '검색',
|
||||
'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.',
|
||||
'search_error' => 'Error while searching',
|
||||
'search_searching' => 'Searching ...',
|
||||
'search_results' => 'Search results',
|
||||
'search_searching' => '검색중...',
|
||||
'search_results' => '검색 결과',
|
||||
|
||||
// repeat frequencies:
|
||||
'repeat_freq_yearly' => 'yearly',
|
||||
'repeat_freq_half-year' => 'every half-year',
|
||||
'repeat_freq_quarterly' => 'quarterly',
|
||||
'repeat_freq_monthly' => 'monthly',
|
||||
'repeat_freq_weekly' => 'weekly',
|
||||
'repeat_freq_daily' => 'daily',
|
||||
'daily' => 'daily',
|
||||
'weekly' => 'weekly',
|
||||
'quarterly' => 'quarterly',
|
||||
'half-year' => 'every half year',
|
||||
'yearly' => 'yearly',
|
||||
'repeat_freq_yearly' => '연간',
|
||||
'repeat_freq_half-year' => '반년마다',
|
||||
'repeat_freq_quarterly' => '분기별',
|
||||
'repeat_freq_monthly' => '월간',
|
||||
'repeat_freq_weekly' => '주간',
|
||||
'repeat_freq_daily' => '일별',
|
||||
'daily' => '일별',
|
||||
'weekly' => '주간',
|
||||
'quarterly' => '분기별',
|
||||
'half-year' => '반년마다',
|
||||
'yearly' => '연간',
|
||||
|
||||
// rules
|
||||
'is_not_rule_trigger' => 'Not',
|
||||
'cannot_fire_inactive_rules' => 'You cannot execute inactive rules.',
|
||||
'rules' => 'Rules',
|
||||
'rule_name' => 'Name of rule',
|
||||
'is_not_rule_trigger' => '제외',
|
||||
'cannot_fire_inactive_rules' => '비활성 규칙을 실행할 수 없습니다.',
|
||||
'rules' => '규칙',
|
||||
'rule_name' => '규칙 이름',
|
||||
'rule_triggers' => 'Rule triggers when',
|
||||
'rule_actions' => 'Rule will',
|
||||
'new_rule' => 'New rule',
|
||||
'new_rule_group' => 'New rule group',
|
||||
'rule_priority_up' => 'Give rule more priority',
|
||||
'rule_priority_down' => 'Give rule less priority',
|
||||
'make_new_rule_group' => 'Make new rule group',
|
||||
'store_new_rule_group' => 'Store new rule group',
|
||||
'created_new_rule_group' => 'New rule group ":title" stored!',
|
||||
'updated_rule_group' => 'Successfully updated rule group ":title".',
|
||||
'edit_rule_group' => 'Edit rule group ":title"',
|
||||
'new_rule' => '새 규칙',
|
||||
'new_rule_group' => '새 규칙 그룹',
|
||||
'rule_priority_up' => '규칙 우선 순위 올림',
|
||||
'rule_priority_down' => '규칙 우선 순위 내림',
|
||||
'make_new_rule_group' => '새 규칙 그룹 만들기',
|
||||
'store_new_rule_group' => '새 규칙 그룹 저장',
|
||||
'created_new_rule_group' => '새 규칙 그룹 ":title"이(가) 저장되었습니다!',
|
||||
'updated_rule_group' => '":title" 규칙 그룹을 성공적으로 업데이트했습니다.',
|
||||
'edit_rule_group' => '":title" 규칙 그룹 수정',
|
||||
'duplicate_rule' => 'Duplicate rule ":title"',
|
||||
'rule_copy_of' => 'Copy of ":title"',
|
||||
'duplicated_rule' => 'Duplicated rule ":title" into ":newTitle"',
|
||||
@ -787,32 +787,32 @@ return [
|
||||
'default_rule_group_description' => 'All your rules not in a particular group.',
|
||||
'trigger' => 'Trigger',
|
||||
'trigger_value' => 'Trigger on value',
|
||||
'stop_processing_other_triggers' => 'Stop processing other triggers',
|
||||
'add_rule_trigger' => 'Add new trigger',
|
||||
'action' => 'Action',
|
||||
'action_value' => 'Action value',
|
||||
'stop_executing_other_actions' => 'Stop executing other actions',
|
||||
'add_rule_action' => 'Add new action',
|
||||
'edit_rule' => 'Edit rule ":title"',
|
||||
'delete_rule' => 'Delete rule ":title"',
|
||||
'update_rule' => 'Update rule',
|
||||
'test_rule_triggers' => 'See matching transactions',
|
||||
'warning_no_matching_transactions' => 'No matching transactions found.',
|
||||
'warning_no_valid_triggers' => 'No valid triggers provided.',
|
||||
'stop_processing_other_triggers' => '다른 트리거 처리 중지',
|
||||
'add_rule_trigger' => '새 트리거 추가',
|
||||
'action' => '액션',
|
||||
'action_value' => '액션 값',
|
||||
'stop_executing_other_actions' => '다른 액션 실행 중지',
|
||||
'add_rule_action' => '새 액션 추가',
|
||||
'edit_rule' => '":title" 규칙 수정',
|
||||
'delete_rule' => '":title" 규칙 삭제',
|
||||
'update_rule' => '규칙 업데이트',
|
||||
'test_rule_triggers' => '일치하는 거래 보기',
|
||||
'warning_no_matching_transactions' => '일치하는 거래가 없습니다.',
|
||||
'warning_no_valid_triggers' => '유효한 트리거가 제공되지 않았습니다.',
|
||||
'apply_rule_selection' => 'Apply rule ":title" to a selection of your transactions',
|
||||
'apply_rule_selection_intro' => 'Rules like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run it on a selection of your existing transactions. This can be useful when you have updated a rule and you need the changes to be applied to all of your other transactions.',
|
||||
'include_transactions_from_accounts' => 'Include transactions from these accounts',
|
||||
'include' => 'Include?',
|
||||
'include_transactions_from_accounts' => '이 계정의 거래 포함',
|
||||
'include' => '포함되었나요?',
|
||||
'applied_rule_selection' => '{0} No transactions in your selection were changed by rule ":title".|[1] One transaction in your selection was changed by rule ":title".|[2,*] :count transactions in your selection were changed by rule ":title".',
|
||||
'execute' => 'Execute',
|
||||
'execute' => '실행',
|
||||
'apply_rule_group_selection' => 'Apply rule group ":title" to a selection of your transactions',
|
||||
'apply_rule_group_selection_intro' => 'Rule groups like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run all the rules in this group on a selection of your existing transactions. This can be useful when you have updated a group of rules and you need the changes to be applied to all of your other transactions.',
|
||||
'applied_rule_group_selection' => 'Rule group ":title" has been applied to your selection.',
|
||||
|
||||
// actions and triggers
|
||||
'rule_trigger_store_journal' => 'When a transaction is created',
|
||||
'rule_trigger_update_journal' => 'When a transaction is updated',
|
||||
'rule_trigger_user_action' => 'User action is ":trigger_value"',
|
||||
'rule_trigger_store_journal' => '거래가 생성될 때',
|
||||
'rule_trigger_update_journal' => '거래가 업데이트될 때',
|
||||
'rule_trigger_user_action' => '사용자 액션은 ":trigger_value" 입니다',
|
||||
|
||||
|
||||
// OLD values (remove non-doubles later):
|
||||
@ -910,16 +910,16 @@ return [
|
||||
'rule_trigger_has_no_bill' => 'Transaction has no bill',
|
||||
'rule_trigger_has_any_bill_choice' => 'Has a (any) bill',
|
||||
'rule_trigger_has_any_bill' => 'Transaction has a (any) bill',
|
||||
'rule_trigger_has_no_tag_choice' => 'Has no tag(s)',
|
||||
'rule_trigger_has_no_tag' => 'Transaction has no tag(s)',
|
||||
'rule_trigger_has_any_tag_choice' => 'Has one or more (any) tags',
|
||||
'rule_trigger_has_any_tag' => 'Transaction has one or more (any) tags',
|
||||
'rule_trigger_any_notes_choice' => 'Has (any) notes',
|
||||
'rule_trigger_any_notes' => 'Transaction has (any) notes',
|
||||
'rule_trigger_no_notes_choice' => 'Has no notes',
|
||||
'rule_trigger_no_notes' => 'Transaction has no notes',
|
||||
'rule_trigger_notes_is_choice' => 'Notes are..',
|
||||
'rule_trigger_notes_is' => 'Notes are ":trigger_value"',
|
||||
'rule_trigger_has_no_tag_choice' => '태그 없음',
|
||||
'rule_trigger_has_no_tag' => '거래에 태그가 없음',
|
||||
'rule_trigger_has_any_tag_choice' => '하나 이상의 태그가 있음',
|
||||
'rule_trigger_has_any_tag' => '거래에 하나 이상의 태그가 있음',
|
||||
'rule_trigger_any_notes_choice' => '메모가 있음',
|
||||
'rule_trigger_any_notes' => '거래에 메모가 있음',
|
||||
'rule_trigger_no_notes_choice' => '메모가 없음',
|
||||
'rule_trigger_no_notes' => '거래에 메모가 없음',
|
||||
'rule_trigger_notes_is_choice' => '메모는..',
|
||||
'rule_trigger_notes_is' => '메모는 ":trigger_value" 입니다',
|
||||
'rule_trigger_notes_contains_choice' => 'Notes contain..',
|
||||
'rule_trigger_notes_contains' => 'Notes contain ":trigger_value"',
|
||||
'rule_trigger_notes_starts_choice' => 'Notes start with..',
|
||||
@ -1072,9 +1072,9 @@ return [
|
||||
'rule_trigger_attachment_notes_ends_choice' => 'Any attachment\'s notes end with..',
|
||||
'rule_trigger_attachment_notes_ends' => 'Any attachment\'s notes end with ":trigger_value"',
|
||||
'rule_trigger_reconciled_choice' => 'Transaction is reconciled',
|
||||
'rule_trigger_reconciled' => 'Transaction is reconciled',
|
||||
'rule_trigger_exists_choice' => 'Any transaction matches(!)',
|
||||
'rule_trigger_exists' => 'Any transaction matches',
|
||||
'rule_trigger_reconciled' => '거래가 조정됨',
|
||||
'rule_trigger_exists_choice' => '모든 거래 일치(!)',
|
||||
'rule_trigger_exists' => '모든 거래 일치',
|
||||
|
||||
// more values for new types:
|
||||
'rule_trigger_not_account_id' => 'Account ID is not ":trigger_value"',
|
||||
@ -1307,51 +1307,51 @@ return [
|
||||
'pref_home_screen_accounts_help' => 'Which accounts should be displayed on the home page?',
|
||||
'pref_view_range' => 'View range',
|
||||
'pref_view_range_help' => 'Some charts are automatically grouped in periods. Your budgets will also be grouped in periods. What period would you prefer?',
|
||||
'pref_1D' => 'One day',
|
||||
'pref_1W' => 'One week',
|
||||
'pref_1M' => 'One month',
|
||||
'pref_3M' => 'Three months (quarter)',
|
||||
'pref_6M' => 'Six months',
|
||||
'pref_1Y' => 'One year',
|
||||
'pref_last365' => 'Last year',
|
||||
'pref_last90' => 'Last 90 days',
|
||||
'pref_last30' => 'Last 30 days',
|
||||
'pref_last7' => 'Last 7 days',
|
||||
'pref_YTD' => 'Year to date',
|
||||
'pref_QTD' => 'Quarter to date',
|
||||
'pref_MTD' => 'Month to date',
|
||||
'pref_languages' => 'Languages',
|
||||
'pref_locale' => 'Locale settings',
|
||||
'pref_1D' => '하루',
|
||||
'pref_1W' => '일주일',
|
||||
'pref_1M' => '한달',
|
||||
'pref_3M' => '3개월 (분기)',
|
||||
'pref_6M' => '6개월',
|
||||
'pref_1Y' => '1년',
|
||||
'pref_last365' => '지난 해',
|
||||
'pref_last90' => '최근 90일',
|
||||
'pref_last30' => '최근 30일',
|
||||
'pref_last7' => '최근 7일',
|
||||
'pref_YTD' => '연간 누계',
|
||||
'pref_QTD' => '분기 누계',
|
||||
'pref_MTD' => '월간 누계',
|
||||
'pref_languages' => '언어',
|
||||
'pref_locale' => '로케일 설정',
|
||||
'pref_languages_help' => 'Firefly III는 여러 언어를 지원합니다. 어떤 언어를 선호하시나요?',
|
||||
'pref_locale_help' => 'Firefly III allows you to set other local settings, like how currencies, numbers and dates are formatted. Entries in this list may not be supported by your system. Firefly III doesn\'t have the correct date settings for every locale; contact me for improvements.',
|
||||
'pref_locale_no_demo' => 'This feature won\'t work for the demo user.',
|
||||
'pref_locale_help' => 'Firefly III에서는 통화, 숫자, 날짜 서식 지정 방법 등 기타 로컬 설정을 변경할 수 있습니다. 사용 중인 시스템에서 지원하지 않는 항목이 있을 수 있습니다. Firefly III는 모든 로케일에 대해 올바른 날짜 설정을 제공하지 않으므로 개선이 필요한 경우 저에게 문의하세요.',
|
||||
'pref_locale_no_demo' => '이 기능은 데모 사용자에게는 동작하지 않습니다.',
|
||||
'pref_custom_fiscal_year' => '회계연도 설정',
|
||||
'pref_custom_fiscal_year_label' => '활성화',
|
||||
'pref_custom_fiscal_year_help' => '1월 1일에서 12월 31일과 다른 회계 연도를 사용하는 나라에서는 해당 설정을 켜고 회계 연도의 시작과 끝을 지정할 수 있습니다',
|
||||
'pref_fiscal_year_start_label' => '회계 연도 시작일',
|
||||
'pref_two_factor_auth' => '2-step verification',
|
||||
'pref_two_factor_auth_help' => 'When you enable 2-step verification (also known as two-factor authentication), you add an extra layer of security to your account. You sign in with something you know (your password) and something you have (a verification code). Verification codes are generated by an application on your phone, such as Authy or Google Authenticator.',
|
||||
'pref_enable_two_factor_auth' => 'Enable 2-step verification',
|
||||
'pref_two_factor_auth_disabled' => '2-step verification code removed and disabled',
|
||||
'pref_two_factor_auth_remove_it' => 'Don\'t forget to remove the account from your authentication app!',
|
||||
'pref_two_factor_auth_code' => 'Verify code',
|
||||
'pref_two_factor_auth_code_help' => 'Scan the QR code with an application on your phone such as Authy or Google Authenticator and enter the generated code.',
|
||||
'pref_two_factor_auth_reset_code' => 'Reset verification code',
|
||||
'pref_two_factor_auth_disable_2fa' => 'Disable 2FA',
|
||||
'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_already_enabled' => '2-step verification is already enabled.',
|
||||
'wrong_mfa_code' => 'This MFA code is not valid.',
|
||||
'pref_save_settings' => 'Save settings',
|
||||
'saved_preferences' => 'Preferences saved!',
|
||||
'preferences_general' => 'General',
|
||||
'preferences_frontpage' => 'Home screen',
|
||||
'preferences_security' => 'Security',
|
||||
'preferences_layout' => 'Layout',
|
||||
'preferences_notifications' => 'Notifications',
|
||||
'pref_home_show_deposits' => 'Show deposits on the home screen',
|
||||
'pref_home_show_deposits_info' => 'The home screen already shows your expense accounts. Should it also show your revenue accounts?',
|
||||
'pref_home_do_show_deposits' => 'Yes, show them',
|
||||
'pref_two_factor_auth' => '2단계 인증',
|
||||
'pref_two_factor_auth_help' => '2단계 인증을 활성화하면 계정에 보안 계층이 하나 더 추가됩니다. 내가 알고 있는 정보(비밀번호)와 내가 가지고 있는 정보(인증 코드)를 사용하여 로그인합니다. 인증 코드는 휴대폰의 애플리케이션(예: Authy 또는 Google OTP)을 통해 생성합니다.',
|
||||
'pref_enable_two_factor_auth' => '2단계 인증 활성화',
|
||||
'pref_two_factor_auth_disabled' => '2단계 인증 코드 제거 및 비활성화',
|
||||
'pref_two_factor_auth_remove_it' => '인증 앱에서 계정을 제거하는 것을 잊지 마세요!',
|
||||
'pref_two_factor_auth_code' => '코드 확인',
|
||||
'pref_two_factor_auth_code_help' => 'Authy 또는 Google Authenticator와 같은 휴대폰 애플리케이션으로 QR 코드를 스캔하고 생성된 코드를 입력합니다.',
|
||||
'pref_two_factor_auth_reset_code' => '인증 코드 재설정',
|
||||
'pref_two_factor_auth_disable_2fa' => '2단계 인증 비활성화',
|
||||
'2fa_use_secret_instead' => 'QR 코드를 스캔할 수 없다면 <code>:secret</code> 시크릿을 대신 사용하세요.',
|
||||
'2fa_backup_codes' => '장치를 분실한 경우에 액세스할 수 있도록 이 백업 코드를 저장하십시오.',
|
||||
'2fa_already_enabled' => '2단계 인증이 이미 활성화되어 있습니다.',
|
||||
'wrong_mfa_code' => '이 MFA 코드는 유효하지 않습니다.',
|
||||
'pref_save_settings' => '설정 저장',
|
||||
'saved_preferences' => '설정 저장됨!',
|
||||
'preferences_general' => '일반',
|
||||
'preferences_frontpage' => '홈 화면',
|
||||
'preferences_security' => '보안',
|
||||
'preferences_layout' => '레이아웃',
|
||||
'preferences_notifications' => '알림',
|
||||
'pref_home_show_deposits' => '홈 화면에 입금 표시',
|
||||
'pref_home_show_deposits_info' => '홈 화면에는 이미 지출 계정이 표시되고 있습니다. 수익 계정도 표시할까요?',
|
||||
'pref_home_do_show_deposits' => '네, 보여주세요',
|
||||
'successful_count' => 'of which :count successful',
|
||||
'list_page_size_title' => 'Page size',
|
||||
'list_page_size_help' => 'Any list of things (accounts, transactions, etc) shows at most this many per page.',
|
||||
@ -1397,56 +1397,56 @@ return [
|
||||
'purge_data_expl' => '"Purging" means "deleting that which is already deleted". In normal circumstances, Firefly III deletes nothing permanently. It just hides it. The button below deletes all of these previously "deleted" records FOREVER.',
|
||||
'delete_stuff_header' => 'Delete and purge data',
|
||||
'purge_all_data' => 'Purge all deleted records',
|
||||
'purge_data' => 'Purge data',
|
||||
'purged_all_records' => 'All deleted records have been purged.',
|
||||
'delete_data_title' => 'Delete data from Firefly III',
|
||||
'purge_data' => '데이터 제거',
|
||||
'purged_all_records' => '모든 삭제된 항목이 제거 되었습니다.',
|
||||
'delete_data_title' => 'Firefly III에서 데이터 삭제',
|
||||
'permanent_delete_stuff' => 'You can delete stuff from Firefly III. Using the buttons below means that your items will be removed from view and hidden. There is no undo-button for this, but the items may remain in the database where you can salvage them if necessary.',
|
||||
'other_sessions_logged_out' => 'All your other sessions have been logged out.',
|
||||
'delete_unused_accounts' => 'Deleting unused accounts will clean your auto-complete lists.',
|
||||
'delete_all_unused_accounts' => 'Delete unused accounts',
|
||||
'deleted_all_unused_accounts' => 'All unused accounts are deleted',
|
||||
'delete_all_budgets' => 'Delete ALL your budgets',
|
||||
'delete_all_categories' => 'Delete ALL your categories',
|
||||
'delete_all_tags' => 'Delete ALL your tags',
|
||||
'delete_all_bills' => 'Delete ALL your bills',
|
||||
'delete_all_piggy_banks' => 'Delete ALL your piggy banks',
|
||||
'delete_all_rules' => 'Delete ALL your rules',
|
||||
'delete_all_recurring' => 'Delete ALL your recurring transactions',
|
||||
'delete_all_object_groups' => 'Delete ALL your object groups',
|
||||
'delete_all_accounts' => 'Delete ALL your accounts',
|
||||
'delete_all_asset_accounts' => 'Delete ALL your asset accounts',
|
||||
'delete_all_expense_accounts' => 'Delete ALL your expense accounts',
|
||||
'delete_all_revenue_accounts' => 'Delete ALL your revenue accounts',
|
||||
'delete_all_liabilities' => 'Delete ALL your liabilities',
|
||||
'delete_all_transactions' => 'Delete ALL your transactions',
|
||||
'delete_all_withdrawals' => 'Delete ALL your withdrawals',
|
||||
'delete_all_deposits' => 'Delete ALL your deposits',
|
||||
'delete_all_transfers' => 'Delete ALL your transfers',
|
||||
'also_delete_transactions' => 'Deleting accounts will also delete ALL associated withdrawals, deposits and transfers!',
|
||||
'deleted_all_budgets' => 'All budgets have been deleted',
|
||||
'deleted_all_categories' => 'All categories have been deleted',
|
||||
'deleted_all_tags' => 'All tags have been deleted',
|
||||
'deleted_all_bills' => 'All bills have been deleted',
|
||||
'deleted_all_piggy_banks' => 'All piggy banks have been deleted',
|
||||
'deleted_all_rules' => 'All rules and rule groups have been deleted',
|
||||
'deleted_all_object_groups' => 'All groups have been deleted',
|
||||
'deleted_all_accounts' => 'All accounts have been deleted',
|
||||
'deleted_all_asset_accounts' => 'All asset accounts have been deleted',
|
||||
'deleted_all_expense_accounts' => 'All expense accounts have been deleted',
|
||||
'deleted_all_revenue_accounts' => 'All revenue accounts have been deleted',
|
||||
'deleted_all_liabilities' => 'All liabilities have been deleted',
|
||||
'deleted_all_transactions' => 'All transactions have been deleted',
|
||||
'deleted_all_withdrawals' => 'All withdrawals have been deleted',
|
||||
'deleted_all_deposits' => 'All deposits have been deleted',
|
||||
'deleted_all_transfers' => 'All transfers have been deleted',
|
||||
'deleted_all_recurring' => 'All recurring transactions have been deleted',
|
||||
'change_your_password' => 'Change your password',
|
||||
'delete_account' => 'Delete account',
|
||||
'current_password' => 'Current password',
|
||||
'new_password' => 'New password',
|
||||
'new_password_again' => 'New password (again)',
|
||||
'delete_your_account' => 'Delete your account',
|
||||
'delete_your_account_help' => 'Deleting your account will also delete any accounts, transactions, <em>anything</em> you might have saved into Firefly III. It\'ll be GONE.',
|
||||
'delete_all_unused_accounts' => '사용하지 않는 계정 삭제',
|
||||
'deleted_all_unused_accounts' => '사용하지 않는 모든 계정이 삭제되었습니다',
|
||||
'delete_all_budgets' => '모든 예산 삭제',
|
||||
'delete_all_categories' => '모든 카테고리 삭제',
|
||||
'delete_all_tags' => '모든 태그 삭제',
|
||||
'delete_all_bills' => '모든 청구서 삭제',
|
||||
'delete_all_piggy_banks' => '모든 저금통 삭제',
|
||||
'delete_all_rules' => '모든 규칙 삭제',
|
||||
'delete_all_recurring' => '모든 반복 거래 삭제',
|
||||
'delete_all_object_groups' => '모든 객체 그룹 삭제',
|
||||
'delete_all_accounts' => '모든 계정 삭제',
|
||||
'delete_all_asset_accounts' => '모든 자산 계정 삭제',
|
||||
'delete_all_expense_accounts' => '모든 지출 계정 삭제',
|
||||
'delete_all_revenue_accounts' => '모든 수익 계정 삭제',
|
||||
'delete_all_liabilities' => '모든 부채 삭제',
|
||||
'delete_all_transactions' => '모든 거래 삭제',
|
||||
'delete_all_withdrawals' => '모든 출금 삭제',
|
||||
'delete_all_deposits' => '모든 입금 삭제',
|
||||
'delete_all_transfers' => '모든 이체 삭제',
|
||||
'also_delete_transactions' => '계정을 삭제하면 관련된 모든 출금, 입금 및 이체도 삭제됩니다!',
|
||||
'deleted_all_budgets' => '모든 예산이 삭제되었습니다',
|
||||
'deleted_all_categories' => '모든 카테고리가 삭제되었습니다',
|
||||
'deleted_all_tags' => '모든 태그가 삭제되었습니다',
|
||||
'deleted_all_bills' => '모든 청구서가 삭제되었습니다',
|
||||
'deleted_all_piggy_banks' => '모든 저금통이 삭제되었습니다',
|
||||
'deleted_all_rules' => '모든 규칙과 규칙 그룹이 삭제되었습니다',
|
||||
'deleted_all_object_groups' => '모든 그룹이 삭제되었습니다',
|
||||
'deleted_all_accounts' => '모든 계정이 삭제되었습니다',
|
||||
'deleted_all_asset_accounts' => '모든 자산 계정이 삭제되었습니다',
|
||||
'deleted_all_expense_accounts' => '모든 지출 계정이 삭제되었습니다',
|
||||
'deleted_all_revenue_accounts' => '모든 수익 계정이 삭제되었습니다',
|
||||
'deleted_all_liabilities' => '모든 부채가 삭제되었습니다',
|
||||
'deleted_all_transactions' => '모든 트랜잭션이 삭제되었습니다',
|
||||
'deleted_all_withdrawals' => '모든 출금이 삭제되었습니다',
|
||||
'deleted_all_deposits' => '모든 입금이 삭제되었습니다',
|
||||
'deleted_all_transfers' => '모든 이체가 삭제되었습니다',
|
||||
'deleted_all_recurring' => '모든 반복 거래가 삭제되었습니다',
|
||||
'change_your_password' => '비밀번호 변경',
|
||||
'delete_account' => '계정 삭제',
|
||||
'current_password' => '현재 비밀번호',
|
||||
'new_password' => '새 비밀번호',
|
||||
'new_password_again' => '새 비밀번호 확인',
|
||||
'delete_your_account' => '계정 삭제',
|
||||
'delete_your_account_help' => '계정을 삭제하면 Firefly III에 저장한 모든 계정, 거래, <em>모든 항목</em>도 삭제됩니다. 모두 사라집니다.',
|
||||
'delete_your_account_password' => 'Enter your password to continue.',
|
||||
'password' => 'Password',
|
||||
'are_you_sure' => 'Are you sure? You cannot undo this.',
|
||||
@ -1494,23 +1494,23 @@ return [
|
||||
'profile_oauth_redirect_url_help' => 'Your application\'s authorization callback URL.',
|
||||
'profile_authorized_apps' => 'Authorized applications',
|
||||
'profile_authorized_clients' => 'Authorized clients',
|
||||
'profile_scopes' => 'Scopes',
|
||||
'profile_revoke' => 'Revoke',
|
||||
'profile_oauth_client_secret_title' => 'Client Secret',
|
||||
'profile_scopes' => '범위',
|
||||
'profile_revoke' => '취소',
|
||||
'profile_oauth_client_secret_title' => '클라이언트 시크릿',
|
||||
'profile_oauth_client_secret_expl' => 'Here is your new client secret. This is the only time it will be shown so don\'t lose it! You may now use this secret to make API requests.',
|
||||
'profile_personal_access_tokens' => 'Personal Access Tokens',
|
||||
'profile_personal_access_token' => 'Personal Access Token',
|
||||
'profile_oauth_confidential' => 'Confidential',
|
||||
'profile_personal_access_tokens' => '개인 액세스 토큰',
|
||||
'profile_personal_access_token' => '개인 액세스 토큰',
|
||||
'profile_oauth_confidential' => '비밀',
|
||||
'profile_oauth_confidential_help' => 'Require the client to authenticate with a secret. Confidential clients can hold credentials in a secure way without exposing them to unauthorized parties. Public applications, such as native desktop or JavaScript SPA applications, are unable to hold secrets securely.',
|
||||
'profile_personal_access_token_explanation' => 'Here is your new personal access token. This is the only time it will be shown so don\'t lose it! You may now use this token to make API requests.',
|
||||
'profile_no_personal_access_token' => 'You have not created any personal access tokens.',
|
||||
'profile_create_new_token' => 'Create new token',
|
||||
'profile_create_token' => 'Create token',
|
||||
'profile_create' => 'Create',
|
||||
'profile_save_changes' => 'Save changes',
|
||||
'profile_whoops' => 'Whoops!',
|
||||
'profile_something_wrong' => 'Something went wrong!',
|
||||
'profile_try_again' => 'Something went wrong. Please try again.',
|
||||
'profile_create_new_token' => '새로운 토큰 만들기',
|
||||
'profile_create_token' => '토큰 생성',
|
||||
'profile_create' => '생성',
|
||||
'profile_save_changes' => '변경사항 저장',
|
||||
'profile_whoops' => '이런!',
|
||||
'profile_something_wrong' => '문제가 발생했습니다!',
|
||||
'profile_try_again' => '문제가 발생했습니다. 다시 시도해주세요.',
|
||||
'amounts' => '금액',
|
||||
'multi_account_warning_unknown' => 'Depending on the type of transaction you create, the source and/or destination account of subsequent splits may be overruled by whatever is defined in the first split of the transaction.',
|
||||
'multi_account_warning_withdrawal' => 'Keep in mind that the source account of subsequent splits will be overruled by whatever is defined in the first split of the withdrawal.',
|
||||
@ -1530,17 +1530,17 @@ return [
|
||||
|
||||
|
||||
// export data:
|
||||
'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_title' => 'Firefly III에서 데이터 내보내기',
|
||||
'export_data_menu' => '데이터 내보내기',
|
||||
'export_data_bc' => 'Firefly III에서 데이터 내보내기',
|
||||
'export_data_main_title' => '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_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>.',
|
||||
|
||||
// attachments
|
||||
'nr_of_attachments' => 'One attachment|:count attachments',
|
||||
'attachments' => 'Attachments',
|
||||
'attachments' => '첨부 파일',
|
||||
'edit_attachment' => 'Edit attachment ":name"',
|
||||
'update_attachment' => 'Update attachment',
|
||||
'delete_attachment' => 'Delete attachment ":name"',
|
||||
@ -1551,20 +1551,20 @@ return [
|
||||
'list_all_attachments' => 'List of all attachments',
|
||||
|
||||
// transaction index
|
||||
'title_expenses' => 'Expenses',
|
||||
'title_withdrawal' => 'Expenses',
|
||||
'title_revenue' => 'Revenue / income',
|
||||
'title_deposit' => 'Revenue / income',
|
||||
'title_transfer' => 'Transfers',
|
||||
'title_transfers' => 'Transfers',
|
||||
'submission_options' => 'Submission options',
|
||||
'apply_rules_checkbox' => 'Apply rules',
|
||||
'title_expenses' => '지출',
|
||||
'title_withdrawal' => '지출',
|
||||
'title_revenue' => '수익 / 수입',
|
||||
'title_deposit' => '수익 / 수입',
|
||||
'title_transfer' => '이체',
|
||||
'title_transfers' => '이체',
|
||||
'submission_options' => '제출 옵션',
|
||||
'apply_rules_checkbox' => '규칙 적용',
|
||||
'fire_webhooks_checkbox' => 'Fire webhooks',
|
||||
|
||||
// convert stuff:
|
||||
'convert_is_already_type_Withdrawal' => 'This transaction is already a withdrawal',
|
||||
'convert_is_already_type_Deposit' => 'This transaction is already a deposit',
|
||||
'convert_is_already_type_Transfer' => 'This transaction is already a transfer',
|
||||
'convert_is_already_type_Withdrawal' => '이 거래는 이미 출금되었습니다',
|
||||
'convert_is_already_type_Deposit' => '이 거래는 이미 입금되었습니다',
|
||||
'convert_is_already_type_Transfer' => '이 거래는 이미 이체되었습니다',
|
||||
'convert_to_Withdrawal' => 'Convert ":description" to a withdrawal',
|
||||
'convert_to_Deposit' => 'Convert ":description" to a deposit',
|
||||
'convert_to_Transfer' => 'Convert ":description" to a transfer',
|
||||
@ -1596,29 +1596,29 @@ return [
|
||||
'converted_to_Deposit' => 'The transaction has been converted to a deposit',
|
||||
'converted_to_Transfer' => 'The transaction has been converted to a transfer',
|
||||
'invalid_convert_selection' => 'The account you have selected is already used in this transaction or does not exist.',
|
||||
'source_or_dest_invalid' => 'Cannot find the correct transaction details. Conversion is not possible.',
|
||||
'convert_to_withdrawal' => 'Convert to a withdrawal',
|
||||
'convert_to_deposit' => 'Convert to a deposit',
|
||||
'convert_to_transfer' => 'Convert to a transfer',
|
||||
'source_or_dest_invalid' => '올바른 거래 세부정보를 찾을 수 없습니다. 변환할 수 없습니다.',
|
||||
'convert_to_withdrawal' => '출금으로 전환',
|
||||
'convert_to_deposit' => '입금으로 전환',
|
||||
'convert_to_transfer' => '이체로 전환',
|
||||
|
||||
// create new stuff:
|
||||
'create_new_withdrawal' => 'Create new withdrawal',
|
||||
'create_new_deposit' => 'Create new deposit',
|
||||
'create_new_transfer' => 'Create new transfer',
|
||||
'create_new_asset' => 'Create new asset account',
|
||||
'create_new_liabilities' => 'Create new liability',
|
||||
'create_new_expense' => 'Create new expense account',
|
||||
'create_new_revenue' => 'Create new revenue account',
|
||||
'create_new_withdrawal' => '새로운 출금 생성',
|
||||
'create_new_deposit' => '새로운 입금 생성',
|
||||
'create_new_transfer' => '새로운 이체 생성',
|
||||
'create_new_asset' => '새 자산 계정 생성',
|
||||
'create_new_liabilities' => '새 부채 생성',
|
||||
'create_new_expense' => '새 지출 계정 생성',
|
||||
'create_new_revenue' => '새 수익 계정 생성',
|
||||
'create_new_piggy_bank' => '새 저금통 만들기',
|
||||
'create_new_bill' => 'Create new bill',
|
||||
'create_new_bill' => '새 청구서 생성',
|
||||
|
||||
// currencies:
|
||||
'create_currency' => 'Create a new currency',
|
||||
'store_currency' => 'Store new currency',
|
||||
'update_currency' => 'Update currency',
|
||||
'new_default_currency' => ':name is now the default currency.',
|
||||
'cannot_delete_currency' => 'Cannot delete :name because it is still in use.',
|
||||
'cannot_delete_fallback_currency' => ':name is the system fallback currency and can\'t be deleted.',
|
||||
'create_currency' => '새로운 통화 생성',
|
||||
'store_currency' => '새 통화 저장',
|
||||
'update_currency' => '통화 업데이트',
|
||||
'new_default_currency' => '기본 통화는 이제 :name 입니다.',
|
||||
'cannot_delete_currency' => ':name을(를) 아직 사용 중이므로 삭제할 수 없습니다.',
|
||||
'cannot_delete_fallback_currency' => ':name은 시스템 대체 통화이며 삭제할 수 없습니다.',
|
||||
'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.',
|
||||
@ -1635,12 +1635,12 @@ return [
|
||||
'updated_currency' => 'Currency :name updated',
|
||||
'ask_site_owner' => 'Please ask :owner to add, remove or edit currencies.',
|
||||
'currencies_intro' => 'Firefly III supports various currencies which you can set and enable here.',
|
||||
'make_default_currency' => 'Make default',
|
||||
'default_currency' => 'default',
|
||||
'currency_is_disabled' => 'Disabled',
|
||||
'enable_currency' => 'Enable',
|
||||
'disable_currency' => 'Disable',
|
||||
'currencies_default_disabled' => 'Most of these currencies are disabled by default. To use them, you must enable them first.',
|
||||
'make_default_currency' => '기본값으로 설정',
|
||||
'default_currency' => '기본값',
|
||||
'currency_is_disabled' => '비활성화됨',
|
||||
'enable_currency' => '활성화',
|
||||
'disable_currency' => '비활성화',
|
||||
'currencies_default_disabled' => '이러한 통화는 대부분 기본적으로 비활성화되어 있습니다. 사용하려면 먼저 활성화해야 합니다.',
|
||||
'currency_is_now_enabled' => 'Currency ":name" has been enabled',
|
||||
'currency_is_now_disabled' => 'Currency ":name" has been disabled',
|
||||
|
||||
@ -1650,13 +1650,13 @@ return [
|
||||
'options' => '옵션',
|
||||
|
||||
// budgets:
|
||||
'daily_budgets' => 'Daily budgets',
|
||||
'weekly_budgets' => 'Weekly budgets',
|
||||
'monthly_budgets' => 'Monthly budgets',
|
||||
'quarterly_budgets' => 'Quarterly budgets',
|
||||
'half_year_budgets' => 'Half-yearly budgets',
|
||||
'yearly_budgets' => 'Yearly budgets',
|
||||
'other_budgets' => 'Custom timed budgets',
|
||||
'daily_budgets' => '일일 예산',
|
||||
'weekly_budgets' => '주간 예산',
|
||||
'monthly_budgets' => '월간 예산',
|
||||
'quarterly_budgets' => '분기별 예산',
|
||||
'half_year_budgets' => '반기 예산',
|
||||
'yearly_budgets' => '연간 예산',
|
||||
'other_budgets' => '사용자 정의 시간 예산',
|
||||
'budget_limit_not_in_range' => 'This amount applies from :start to :end:',
|
||||
'total_available_budget' => 'Total available budget (between :start and :end)',
|
||||
'total_available_budget_in_currency' => 'Total available budget in :currency',
|
||||
@ -1690,7 +1690,7 @@ return [
|
||||
'update_budget' => 'Update budget',
|
||||
'update_budget_amount_range' => 'Update (expected) available amount between :start and :end',
|
||||
'set_budget_limit_title' => 'Set budgeted amount for budget :budget between :start and :end',
|
||||
'set_budget_limit' => 'Set budgeted amount',
|
||||
'set_budget_limit' => '예산 금액 설정',
|
||||
'budget_period_navigator' => '기간 탐색기',
|
||||
'info_on_available_amount' => 'What do I have available?',
|
||||
'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.',
|
||||
|
@ -105,57 +105,57 @@ return [
|
||||
'verification' => '인증',
|
||||
'api_key' => 'API 키',
|
||||
'remember_me' => '기억하기',
|
||||
'liability_type_id' => 'Liability type',
|
||||
'liability_type' => 'Liability type',
|
||||
'interest' => 'Interest',
|
||||
'interest_period' => 'Interest period',
|
||||
'extension_date' => 'Extension date',
|
||||
'type' => 'Type',
|
||||
'convert_Withdrawal' => 'Convert withdrawal',
|
||||
'convert_Deposit' => 'Convert deposit',
|
||||
'convert_Transfer' => 'Convert transfer',
|
||||
'amount' => 'Amount',
|
||||
'liability_type_id' => '부채 유형',
|
||||
'liability_type' => '부채 유형',
|
||||
'interest' => '이자',
|
||||
'interest_period' => '이자 기간',
|
||||
'extension_date' => '연장일',
|
||||
'type' => '유형',
|
||||
'convert_Withdrawal' => '출금 전환',
|
||||
'convert_Deposit' => '입금 전환',
|
||||
'convert_Transfer' => '이체 전환',
|
||||
'amount' => '금액',
|
||||
'foreign_amount' => '외화 금액',
|
||||
'date' => 'Date',
|
||||
'interest_date' => 'Interest date',
|
||||
'book_date' => 'Book date',
|
||||
'process_date' => 'Processing date',
|
||||
'category' => 'Category',
|
||||
'tags' => 'Tags',
|
||||
'deletePermanently' => 'Delete permanently',
|
||||
'cancel' => 'Cancel',
|
||||
'targetdate' => 'Target date',
|
||||
'startdate' => 'Start date',
|
||||
'tag' => 'Tag',
|
||||
'under' => 'Under',
|
||||
'symbol' => 'Symbol',
|
||||
'code' => 'Code',
|
||||
'date' => '날짜',
|
||||
'interest_date' => '이자 날짜',
|
||||
'book_date' => '예약일',
|
||||
'process_date' => '처리일',
|
||||
'category' => '카테고리',
|
||||
'tags' => '태그',
|
||||
'deletePermanently' => '영구 삭제',
|
||||
'cancel' => '취소',
|
||||
'targetdate' => '목표일',
|
||||
'startdate' => '시작일',
|
||||
'tag' => '태그',
|
||||
'under' => '아래',
|
||||
'symbol' => '심볼',
|
||||
'code' => '코드',
|
||||
'iban' => 'IBAN',
|
||||
'account_number' => 'Account number',
|
||||
'creditCardNumber' => 'Credit card number',
|
||||
'has_headers' => 'Headers',
|
||||
'date_format' => 'Date format',
|
||||
'specifix' => 'Bank- or file specific fixes',
|
||||
'attachments[]' => 'Attachments',
|
||||
'title' => 'Title',
|
||||
'notes' => 'Notes',
|
||||
'filename' => 'File name',
|
||||
'mime' => 'Mime type',
|
||||
'size' => 'Size',
|
||||
'trigger' => 'Trigger',
|
||||
'stop_processing' => 'Stop processing',
|
||||
'start_date' => 'Start of range',
|
||||
'end_date' => 'End of range',
|
||||
'enddate' => 'End date',
|
||||
'start' => 'Start of range',
|
||||
'end' => 'End of range',
|
||||
'delete_account' => 'Delete account ":name"',
|
||||
'delete_webhook' => 'Delete webhook ":title"',
|
||||
'delete_bill' => 'Delete bill ":name"',
|
||||
'delete_budget' => 'Delete budget ":name"',
|
||||
'delete_category' => 'Delete category ":name"',
|
||||
'delete_currency' => 'Delete currency ":name"',
|
||||
'delete_journal' => 'Delete transaction with description ":description"',
|
||||
'account_number' => '계좌 번호',
|
||||
'creditCardNumber' => '카드 번호',
|
||||
'has_headers' => '헤더',
|
||||
'date_format' => '날짜 형식',
|
||||
'specifix' => '은행 또는 파일별 수정사항',
|
||||
'attachments[]' => '첨부 파일',
|
||||
'title' => '제목',
|
||||
'notes' => '메모',
|
||||
'filename' => '파일명',
|
||||
'mime' => 'Mime 형식',
|
||||
'size' => '크기',
|
||||
'trigger' => '트리거',
|
||||
'stop_processing' => '처리 중단',
|
||||
'start_date' => '범위의 시작',
|
||||
'end_date' => '범위의 끝',
|
||||
'enddate' => '종료 날짜',
|
||||
'start' => '범위의 시작',
|
||||
'end' => '범위의 끝',
|
||||
'delete_account' => '":name" 계정 삭제',
|
||||
'delete_webhook' => '":title" 웹훅 삭제',
|
||||
'delete_bill' => '":name" 청구서 삭제',
|
||||
'delete_budget' => '":name" 예산 삭제',
|
||||
'delete_category' => '":name" 카테고리 삭제',
|
||||
'delete_currency' => '":name" 통화 삭제',
|
||||
'delete_journal' => '설명이 ":description"인 거래 삭제',
|
||||
'delete_attachment' => '":name" 첨부파일 삭제',
|
||||
'delete_rule' => '":title" 규칙 삭제',
|
||||
'delete_rule_group' => '":title" 규칙 그룹 삭제',
|
||||
@ -176,8 +176,8 @@ return [
|
||||
'recurring_areYouSure' => '":title" 반복 거래를 삭제하시겠습니까?',
|
||||
'currency_areYouSure' => '":name" 통화를 삭제하시겠습니까?',
|
||||
'piggyBank_areYouSure' => '":name" 저금통을 삭제하시겠습니까?',
|
||||
'journal_areYouSure' => 'Are you sure you want to delete the transaction described ":description"?',
|
||||
'mass_journal_are_you_sure' => 'Are you sure you want to delete these transactions?',
|
||||
'journal_areYouSure' => '":description"으로 설명된 거래를 정말 삭제하시겠습니까?',
|
||||
'mass_journal_are_you_sure' => '이 거래를 정말로 삭제할까요?',
|
||||
|
||||
/*
|
||||
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.
|
||||
@ -191,13 +191,13 @@ return [
|
||||
*/
|
||||
|
||||
|
||||
'tag_areYouSure' => 'Are you sure you want to delete the tag ":tag"?',
|
||||
'journal_link_areYouSure' => 'Are you sure you want to delete the link between <a href=":source_link">:source</a> and <a href=":destination_link">:destination</a>?',
|
||||
'linkType_areYouSure' => 'Are you sure you want to delete the link type ":name" (":inward" / ":outward")?',
|
||||
'permDeleteWarning' => 'Deleting stuff from Firefly III is permanent and cannot be undone.',
|
||||
'mass_make_selection' => 'You can still prevent items from being deleted by removing the checkbox.',
|
||||
'delete_all_permanently' => 'Delete selected permanently',
|
||||
'update_all_journals' => 'Update these transactions',
|
||||
'tag_areYouSure' => '":tag" 태그를 정말 삭제하시겠습니까?',
|
||||
'journal_link_areYouSure' => '<a href=":source_link">:source</a>와 <a href=":destination_link">:destination</a> 사이의 링크를 정말로 삭제하시겠습니까?',
|
||||
'linkType_areYouSure' => '":name" (":inward" / ":outward")인 링크 유형을 정말로 삭제하시겠습니까?',
|
||||
'permDeleteWarning' => 'Firefly III에서 삭제한 항목은 다시 되돌릴 수 없습니다.',
|
||||
'mass_make_selection' => '체크박스을 해제하여 항목이 삭제되지 않도록 할 수 있습니다.',
|
||||
'delete_all_permanently' => '선택한 항목을 영구적으로 삭제',
|
||||
'update_all_journals' => '이 거래 업데이트',
|
||||
'also_delete_transactions' => 'The only transaction connected to this account will be deleted as well.|All :count transactions connected to this account will be deleted as well.',
|
||||
'also_delete_transactions_js' => 'No transactions|The only transaction connected to this account will be deleted as well.|All {count} transactions connected to this account will be deleted as well.',
|
||||
'also_delete_connections' => 'The only transaction linked with this link type will lose this connection.|All :count transactions linked with this link type will lose their connection.',
|
||||
@ -248,12 +248,12 @@ return [
|
||||
'country_code' => 'Country code',
|
||||
'provider_code' => 'Bank or data-provider',
|
||||
'fints_url' => 'FinTS API URL',
|
||||
'fints_port' => 'Port',
|
||||
'fints_bank_code' => 'Bank code',
|
||||
'fints_username' => 'Username',
|
||||
'fints_password' => 'PIN / Password',
|
||||
'fints_account' => 'FinTS account',
|
||||
'local_account' => 'Firefly III account',
|
||||
'fints_port' => '포트',
|
||||
'fints_bank_code' => '은행 코드',
|
||||
'fints_username' => '사용자명',
|
||||
'fints_password' => 'PIN / 비밀번호',
|
||||
'fints_account' => 'FinTS 계정',
|
||||
'local_account' => 'Firefly III 계정',
|
||||
|
||||
/*
|
||||
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.
|
||||
@ -267,41 +267,41 @@ return [
|
||||
*/
|
||||
|
||||
|
||||
'from_date' => 'Date from',
|
||||
'to_date' => 'Date to',
|
||||
'due_date' => 'Due date',
|
||||
'payment_date' => 'Payment date',
|
||||
'invoice_date' => 'Invoice date',
|
||||
'internal_reference' => 'Internal reference',
|
||||
'inward' => 'Inward description',
|
||||
'outward' => 'Outward description',
|
||||
'rule_group_id' => 'Rule group',
|
||||
'transaction_description' => 'Transaction description',
|
||||
'first_date' => 'First date',
|
||||
'transaction_type' => 'Transaction type',
|
||||
'repeat_until' => 'Repeat until',
|
||||
'recurring_description' => 'Recurring transaction description',
|
||||
'repetition_type' => 'Type of repetition',
|
||||
'foreign_currency_id' => 'Foreign currency',
|
||||
'repetition_end' => 'Repetition ends',
|
||||
'repetitions' => 'Repetitions',
|
||||
'calendar' => 'Calendar',
|
||||
'weekend' => 'Weekend',
|
||||
'client_secret' => 'Client secret',
|
||||
'withdrawal_destination_id' => 'Destination account',
|
||||
'deposit_source_id' => 'Source account',
|
||||
'expected_on' => 'Expected on',
|
||||
'paid' => 'Paid',
|
||||
'auto_budget_type' => 'Auto-budget',
|
||||
'auto_budget_amount' => 'Auto-budget amount',
|
||||
'auto_budget_period' => 'Auto-budget period',
|
||||
'collected' => 'Collected',
|
||||
'submitted' => 'Submitted',
|
||||
'key' => 'Key',
|
||||
'value' => 'Content of record',
|
||||
'webhook_delivery' => 'Delivery',
|
||||
'webhook_response' => 'Response',
|
||||
'webhook_trigger' => 'Trigger',
|
||||
'from_date' => '시작 날짜',
|
||||
'to_date' => '종료 날짜',
|
||||
'due_date' => '기한',
|
||||
'payment_date' => '결제일',
|
||||
'invoice_date' => '청구서 날짜',
|
||||
'internal_reference' => '내부 참조',
|
||||
'inward' => '내부 설명',
|
||||
'outward' => '외부 설명',
|
||||
'rule_group_id' => '규칙 그룹',
|
||||
'transaction_description' => '거래 상세내역',
|
||||
'first_date' => '최초 일자',
|
||||
'transaction_type' => '거래 유형',
|
||||
'repeat_until' => '반복 기한',
|
||||
'recurring_description' => '반복 거래 설명',
|
||||
'repetition_type' => '반복 유형',
|
||||
'foreign_currency_id' => '외화',
|
||||
'repetition_end' => '반복 종료',
|
||||
'repetitions' => '반복',
|
||||
'calendar' => '달력',
|
||||
'weekend' => '주말',
|
||||
'client_secret' => '클라이언트 시크릿',
|
||||
'withdrawal_destination_id' => '대상 계정',
|
||||
'deposit_source_id' => '소스 계정',
|
||||
'expected_on' => '예상 일자',
|
||||
'paid' => '지불됨',
|
||||
'auto_budget_type' => '자동 예산',
|
||||
'auto_budget_amount' => '자동 예산 금액',
|
||||
'auto_budget_period' => '자동 예산 기간',
|
||||
'collected' => '획득함',
|
||||
'submitted' => '제출됨',
|
||||
'key' => '키',
|
||||
'value' => '기록 내용',
|
||||
'webhook_delivery' => '전달',
|
||||
'webhook_response' => '응답',
|
||||
'webhook_trigger' => '트리거',
|
||||
];
|
||||
/*
|
||||
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.
|
||||
|
@ -51,10 +51,10 @@ return [
|
||||
'transactions_create_split' => '거래를 분할하려면 이 버튼을 사용하여 분할을 더 추가하세요',
|
||||
|
||||
// create account:
|
||||
'accounts_create_iban' => 'Give your accounts a valid IBAN. This could make a data import very easy in the future.',
|
||||
'accounts_create_asset_opening_balance' => 'Assets accounts may have an "opening balance", indicating the start of this account\'s history in Firefly III.',
|
||||
'accounts_create_asset_currency' => 'Firefly III supports multiple currencies. Asset accounts have one main currency, which you must set here.',
|
||||
'accounts_create_asset_virtual' => 'It can sometimes help to give your account a virtual balance: an extra amount always added to or removed from the actual balance.',
|
||||
'accounts_create_iban' => '계정에 유효한 IBAN을 부여하세요. 이렇게 하면 향후 데이터 가져오기가 매우 쉬워질 수 있습니다.',
|
||||
'accounts_create_asset_opening_balance' => '자산 계정에 "초기 잔고"가 있을 수 있으며, 이는 Firefly III에서 이 계정의 기록이 시작되었음을 나타냅니다.',
|
||||
'accounts_create_asset_currency' => 'Firefly III는 여러 통화를 지원합니다. 자산 계정에는 하나의 기본 통화가 있으며 여기에서 설정해야 합니다.',
|
||||
'accounts_create_asset_virtual' => '계정에 가상 잔고를 제공하는 것이 도움이 될 수 있습니다. 즉, 실제 잔액에서 항상 추가되거나 제거되는 추가 금액입니다.',
|
||||
|
||||
// budgets index
|
||||
'budgets_index_intro' => 'Budgets are used to manage your finances and form one of the core functions of Firefly III.',
|
||||
|
@ -40,56 +40,56 @@ return [
|
||||
'invalid_where_key' => 'JSON의 "where" 절에 유효하지 않은 키가 포함되어 있습니다',
|
||||
'invalid_update_key' => 'JSON의 "update" 절에 유효하지 않은 키가 포함되어 있습니다',
|
||||
'invalid_query_data' => '쿼리의 %s:%s 항목에 잘못된 데이터가 있습니다.',
|
||||
'invalid_query_account_type' => 'Your query contains accounts of different types, which is not allowed.',
|
||||
'invalid_query_currency' => 'Your query contains accounts that have different currency settings, which is not allowed.',
|
||||
'iban' => 'This is not a valid IBAN.',
|
||||
'zero_or_more' => 'The value cannot be negative.',
|
||||
'date_or_time' => 'The value must be a valid date or time value (ISO 8601).',
|
||||
'source_equals_destination' => 'The source account equals the destination account.',
|
||||
'unique_account_number_for_user' => 'It looks like this account number is already in use.',
|
||||
'unique_iban_for_user' => 'It looks like this IBAN is already in use.',
|
||||
'deleted_user' => 'Due to security constraints, you cannot register using this email address.',
|
||||
'rule_trigger_value' => 'This value is invalid for the selected trigger.',
|
||||
'rule_action_value' => 'This value is invalid for the selected action.',
|
||||
'file_already_attached' => 'Uploaded file ":name" is already attached to this object.',
|
||||
'file_attached' => 'Successfully uploaded file ":name".',
|
||||
'must_exist' => 'The ID in field :attribute does not exist in the database.',
|
||||
'all_accounts_equal' => 'All accounts in this field must be equal.',
|
||||
'group_title_mandatory' => 'A group title is mandatory when there is more than one transaction.',
|
||||
'transaction_types_equal' => 'All splits must be of the same type.',
|
||||
'invalid_transaction_type' => 'Invalid transaction type.',
|
||||
'invalid_selection' => 'Your selection is invalid.',
|
||||
'belongs_user' => 'This value is invalid for this field.',
|
||||
'at_least_one_transaction' => 'Need at least one transaction.',
|
||||
'at_least_one_repetition' => 'Need at least one repetition.',
|
||||
'require_repeat_until' => 'Require either a number of repetitions, or an end date (repeat_until). Not both.',
|
||||
'require_currency_info' => 'The content of this field is invalid without currency information.',
|
||||
'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.',
|
||||
'equal_description' => 'Transaction description should not equal global description.',
|
||||
'file_invalid_mime' => 'File ":name" is of type ":mime" which is not accepted as a new upload.',
|
||||
'file_too_large' => 'File ":name" is too large.',
|
||||
'belongs_to_user' => 'The value of :attribute is unknown.',
|
||||
'accepted' => 'The :attribute must be accepted.',
|
||||
'bic' => 'This is not a valid BIC.',
|
||||
'at_least_one_trigger' => 'Rule must have at least one trigger.',
|
||||
'at_least_one_active_trigger' => 'Rule must have at least one active trigger.',
|
||||
'at_least_one_action' => 'Rule must have at least one action.',
|
||||
'at_least_one_active_action' => 'Rule must have at least one active action.',
|
||||
'base64' => 'This is not valid base64 encoded data.',
|
||||
'model_id_invalid' => 'The given ID seems invalid for this model.',
|
||||
'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.',
|
||||
'date_after' => 'The start date must be before the end date.',
|
||||
'alpha' => 'The :attribute may only contain letters.',
|
||||
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
|
||||
'alpha_num' => 'The :attribute may only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'unique_for_user' => 'There already is an entry with this :attribute.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'unique_object_for_user' => 'This name is already in use.',
|
||||
'unique_account_for_user' => 'This account name is already in use.',
|
||||
'invalid_query_account_type' => '쿼리에 허용되지 않는 다른 유형의 계정이 포함되어 있습니다.',
|
||||
'invalid_query_currency' => '쿼리에 허용되지 않는 다른 통화 설정이 있는 계정이 포함되어 있습니다.',
|
||||
'iban' => '유효한 IBAN이 아닙니다.',
|
||||
'zero_or_more' => '값은 음수가 될 수 없습니다.',
|
||||
'date_or_time' => '유효한 날짜 또는 시간 값(ISO 8601) 이어야 합니다.',
|
||||
'source_equals_destination' => '소스 계정이 대상 계정과 같습니다.',
|
||||
'unique_account_number_for_user' => '이 계좌 번호는 이미 사용 중인 것 같습니다.',
|
||||
'unique_iban_for_user' => '이 IBAN은 이미 사용 중인 것 같습니다.',
|
||||
'deleted_user' => '보안 제약으로 인해 이 이메일 주소를 사용하여 등록할 수 없습니다.',
|
||||
'rule_trigger_value' => '선택한 트리거에 대해 이 값은 유효하지 않습니다.',
|
||||
'rule_action_value' => '선택한 액션에 대해 이 값은 유효하지 않습니다.',
|
||||
'file_already_attached' => '업로드된 파일 ":name"이 이 개체에 이미 첨부되어 있습니다.',
|
||||
'file_attached' => '":name" 파일을 성공적으로 업로드했습니다.',
|
||||
'must_exist' => ':attribute 필드의 ID가 데이터베이스에 존재하지 않습니다.',
|
||||
'all_accounts_equal' => '이 필드의 모든 계정은 동일해야 합니다.',
|
||||
'group_title_mandatory' => '거래가 두 개 이상일 경우 그룹 제목은 필수입니다.',
|
||||
'transaction_types_equal' => '모든 분할은 동일한 유형이어야 합니다.',
|
||||
'invalid_transaction_type' => '잘못된 거래 유형입니다.',
|
||||
'invalid_selection' => '선택이 잘못되었습니다.',
|
||||
'belongs_user' => '이 값은 이 필드에 유효하지 않습니다.',
|
||||
'at_least_one_transaction' => '하나 이상의 거래가 필요합니다.',
|
||||
'at_least_one_repetition' => '하나 이상의 반복이 필요합니다.',
|
||||
'require_repeat_until' => '반복 횟수 또는 종료 날짜(repeat_until) 가 필요합니다. 둘 다 없습니다.',
|
||||
'require_currency_info' => '이 필드의 내용은 통화 정보가 없으면 유효하지 않습니다.',
|
||||
'not_transfer_account' => '이 계정은 이체에 사용할 수 있는 계정이 아닙니다.',
|
||||
'require_currency_amount' => '이 필드의 내용은 외화 수량 정보가 없으면 유효하지 않습니다.',
|
||||
'equal_description' => '거래 설명은 전역 설명과 같지 않아야 합니다.',
|
||||
'file_invalid_mime' => '":name" 파일은 새로운 업로드를 허용하지 않는 ":mime" 타입입니다.',
|
||||
'file_too_large' => '":name" 파일이 너무 큽니다.',
|
||||
'belongs_to_user' => '":attribute" 의 값을 알 수 없습니다.',
|
||||
'accepted' => '":attribute" 을(를) 수락해야 합니다.',
|
||||
'bic' => '유효한 BIC가 아닙니다.',
|
||||
'at_least_one_trigger' => '규칙은 적어도 하나의 트리거를 가져야 합니다.',
|
||||
'at_least_one_active_trigger' => '규칙은 적어도 하나의 활성화된 트리거를 가져야 합니다.',
|
||||
'at_least_one_action' => '규칙은 적어도 하나의 액션을 가져야 합니다.',
|
||||
'at_least_one_active_action' => '규칙은 적어도 하나의 활성화된 액션을 가져야 합니다.',
|
||||
'base64' => '유효한 base64 인코딩 데이터가 아닙니다.',
|
||||
'model_id_invalid' => '제공된 ID가 이 모델에 유효하지 않은 것 같습니다.',
|
||||
'less' => ':attribute 은(는) 10,000,000 보다 작아야 합니다.',
|
||||
'active_url' => ':attribute 은(는) 유효한 URL이 아닙니다.',
|
||||
'after' => ':attribute는 :date 이후의 날짜여야 합니다.',
|
||||
'date_after' => '시작 날짜는 종료 날짜 이전이어야 합니다.',
|
||||
'alpha' => ':attribute은(는) 문자만 포함할 수 있습니다.',
|
||||
'alpha_dash' => ':attribute은(는) 문자, 숫자, 대쉬(-)만 포함할 수 있습니다.',
|
||||
'alpha_num' => ':attribute은(는) 문자와 숫자만 포함할 수 있습니다.',
|
||||
'array' => ':attribute은(는) 배열이어야 합니다.',
|
||||
'unique_for_user' => '이 :attribute은(는) 이미 항목에 있습니다.',
|
||||
'before' => ':attribute은(는) :date 이전의 날짜여야 합니다.',
|
||||
'unique_object_for_user' => '이 이름은 이미 사용 중입니다.',
|
||||
'unique_account_for_user' => '이 계정명은 이미 사용중입니다.',
|
||||
|
||||
/*
|
||||
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.
|
||||
@ -103,73 +103,73 @@ return [
|
||||
*/
|
||||
|
||||
|
||||
'between.numeric' => 'The :attribute must be between :min and :max.',
|
||||
'between.file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'between.string' => 'The :attribute must be between :min and :max characters.',
|
||||
'between.array' => 'The :attribute must have between :min and :max items.',
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'filled' => 'The :attribute field is required.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'max.numeric' => 'The :attribute may not be greater than :max.',
|
||||
'max.file' => 'The :attribute may not be greater than :max kilobytes.',
|
||||
'max.string' => 'The :attribute may not be greater than :max characters.',
|
||||
'max.array' => 'The :attribute may not have more than :max items.',
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'min.numeric' => 'The :attribute must be at least :min.',
|
||||
'lte.numeric' => 'The :attribute must be less than or equal :value.',
|
||||
'min.file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'min.string' => 'The :attribute must be at least :min characters.',
|
||||
'min.array' => 'The :attribute must have at least :min items.',
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'numeric_native' => 'The native amount must be a number.',
|
||||
'numeric_destination' => 'The destination amount must be a number.',
|
||||
'numeric_source' => 'The source amount must be a number.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values is present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size.numeric' => 'The :attribute must be :size.',
|
||||
'amount_min_over_max' => 'The minimum amount cannot be larger than the maximum amount.',
|
||||
'size.file' => 'The :attribute must be :size kilobytes.',
|
||||
'size.string' => 'The :attribute must be :size characters.',
|
||||
'size.array' => 'The :attribute must contain :size items.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'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.',
|
||||
'unique_object_group' => 'The group name must be unique',
|
||||
'starts_with' => 'The value must start with :values.',
|
||||
'unique_webhook' => 'You already have a webhook with this combination of URL, trigger, response and delivery.',
|
||||
'unique_existing_webhook' => 'You already have another webhook with this combination of URL, trigger, response and delivery.',
|
||||
'same_account_type' => 'Both accounts must be of the same account type',
|
||||
'same_account_currency' => 'Both accounts must have the same currency setting',
|
||||
'between.numeric' => ':attribute은(는) :min과 :max 사이의 값이어야 합니다.',
|
||||
'between.file' => ':attribute은(는) :min에서 :max 킬로바이트 사이여야 합니다.',
|
||||
'between.string' => ':attribute은(는) 최소 :min 최대 :max 자 여야 합니다.',
|
||||
'between.array' => ':attribute은(는) :min에서 :max 개의 항목이 있어야 합니다.',
|
||||
'boolean' => ':attribute은(는) true 혹은 false 여야 합니다.',
|
||||
'confirmed' => ':attribute 확인이 일치하지 않습니다.',
|
||||
'date' => ':attribute이(가) 유효한 날짜가 아닙니다.',
|
||||
'date_format' => ':attribute이(가) :format 형식과 일치하지 않습니다.',
|
||||
'different' => ':attribute와(과) :other을(를) 다르게 구성하세요.',
|
||||
'digits' => ':attribute은(는) :digits 자리 숫자여야 합니다.',
|
||||
'digits_between' => ':attribute은(는) :min에서 :max 자리 숫자여야 합니다.',
|
||||
'email' => ':attribute은(는) 유효한 이메일 주소여야 합니다.',
|
||||
'filled' => ':attribute 항목은 필수입니다.',
|
||||
'exists' => '선택한 :attribute이(가) 올바르지 않습니다.',
|
||||
'image' => ':attribute은(는) 이미지여야 합니다.',
|
||||
'in' => '선택한 :attribute이(가) 올바르지 않습니다.',
|
||||
'integer' => ':attribute은(는) 정수여야 합니다.',
|
||||
'ip' => ':attribute은(는) 유효한 IP 주소여야 합니다.',
|
||||
'json' => ':attribute은(는) 올바른 JSON 값이어야 합니다.',
|
||||
'max.numeric' => ':attribute은(는) :max 보다 클 수 없습니다.',
|
||||
'max.file' => ':attribute은(는) :max 킬로바이트 보다 작아야 합니다.',
|
||||
'max.string' => ':attribute 는 :max 자보다 작아야 합니다.',
|
||||
'max.array' => ':attribute은(는) :max 개보다 작아야 합니다.',
|
||||
'mimes' => ':attribute은(는) :values 파일 타입이어야 합니다.',
|
||||
'min.numeric' => ':attribute은(는) :min 보다 커야 합니다.',
|
||||
'lte.numeric' => ':attribute은(는) :value보다 작거나 같아야 합니다.',
|
||||
'min.file' => ':attribute은(는) :min 킬로바이트 이상이어야 합니다.',
|
||||
'min.string' => ':attribute은(는) :min 자 이상이어야 합니다.',
|
||||
'min.array' => ':attribute은(는) :min 개 이상이어야 합니다.',
|
||||
'not_in' => '선택한 :attribute이(가) 올바르지 않습니다.',
|
||||
'numeric' => ':attribute은(는) 숫자여야 합니다.',
|
||||
'numeric_native' => '기본 금액은 숫자여야 합니다.',
|
||||
'numeric_destination' => '대상 금액은 숫자여야 합니다.',
|
||||
'numeric_source' => '소스 금액은 숫자여야 합니다.',
|
||||
'regex' => ':attribute의 형식이 올바르지 않습니다.',
|
||||
'required' => ':attribute 항목은 필수입니다.',
|
||||
'required_if' => ':other이(가) :value 일때 :attribute 항목은 필수입니다.',
|
||||
'required_unless' => ':other이(가) :values가 없는 경우 :attribute 항목은 필수입니다.',
|
||||
'required_with' => ':values이(가) 있을 경우 :attribute 항목은 필수입니다.',
|
||||
'required_with_all' => ':values이(가) 있을 경우 :attribute 항목은 필수입니다.',
|
||||
'required_without' => ':values가 없는 경우 :attribute 필드는 필수입니다.',
|
||||
'required_without_all' => ':values(이)가 모두 없을 때 :attribute 항목은 필수입니다.',
|
||||
'same' => ':attribute와(과) :other은(는) 일치해야 합니다.',
|
||||
'size.numeric' => ':attribute은(는) :size 크기여야 합니다.',
|
||||
'amount_min_over_max' => '최소 금액은 최대 금액보다 클 수 없습니다.',
|
||||
'size.file' => ':attribute은(는) :size 킬로바이트여야 합니다.',
|
||||
'size.string' => ':attribute은(는) :size 자여야 합니다.',
|
||||
'size.array' => ':attribute은(는) :size 개의 항목을 포함해야 합니다.',
|
||||
'unique' => ':attribute은(는) 이미 사용중 입니다.',
|
||||
'string' => ':attribute은(는) 문자열이어야 합니다.',
|
||||
'url' => ':attribute의 형식이 올바르지 않습니다.',
|
||||
'timezone' => ':attribute은(는) 유효한 시간대이어야 합니다.',
|
||||
'2fa_code' => ':attribute 항목이 올바르지 않습니다.',
|
||||
'dimensions' => ':attribute의 이미지 크기가 올바르지 않습니다.',
|
||||
'distinct' => ':attribute 항목이 중복된 값을 갖고있습니다.',
|
||||
'file' => ':attribute은(는) 파일이어야 합니다.',
|
||||
'in_array' => ':other 에 :attribute 항목이 존재하지 않습니다.',
|
||||
'present' => ':attribute 항목은 필수입니다.',
|
||||
'amount_zero' => '총합은 0이 될 수 없습니다.',
|
||||
'current_target_amount' => '현재 금액은 목표 금액보다 적어야 합니다.',
|
||||
'unique_piggy_bank_for_user' => '저금통의 이름은 고유해야 합니다.',
|
||||
'unique_object_group' => '그룸명은 고유해야 합니다',
|
||||
'starts_with' => '값은 :values로 시작해야 합니다.',
|
||||
'unique_webhook' => 'URL, 트리거, 응답 및 전달의 조합으로 구성된 웹훅이 이미 존재합니다.',
|
||||
'unique_existing_webhook' => 'URL, 트리거, 응답 및 전달의 조합으로 구성된 다른 웹훅이 이미 존재합니다.',
|
||||
'same_account_type' => '두 계정은 동일한 계정 유형이어야 합니다.',
|
||||
'same_account_currency' => '두 계정의 통화 설정이 동일해야 합니다.',
|
||||
|
||||
/*
|
||||
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.
|
||||
@ -183,63 +183,63 @@ return [
|
||||
*/
|
||||
|
||||
|
||||
'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.',
|
||||
'secure_password' => '안전한 비밀번호가 아닙니다. 다시 시도해 주세요. 자세한 내용은 https://bit.ly/FF3-password-security 를 방문하세요.',
|
||||
'valid_recurrence_rep_type' => '반복 거래에 대한 반복 유형이 잘못되었습니다.',
|
||||
'valid_recurrence_rep_moment' => '이 유형의 반복에 대한 반복 시점이 잘못되었습니다.',
|
||||
'invalid_account_info' => '잘못된 계정 정보입니다.',
|
||||
'attributes' => [
|
||||
'email' => 'email address',
|
||||
'description' => 'description',
|
||||
'amount' => 'amount',
|
||||
'transactions.*.amount' => 'transaction amount',
|
||||
'name' => 'name',
|
||||
'piggy_bank_id' => 'piggy bank ID',
|
||||
'targetamount' => 'target amount',
|
||||
'opening_balance_date' => 'opening balance date',
|
||||
'opening_balance' => 'opening balance',
|
||||
'match' => 'match',
|
||||
'amount_min' => 'minimum amount',
|
||||
'amount_max' => 'maximum amount',
|
||||
'title' => 'title',
|
||||
'tag' => 'tag',
|
||||
'transaction_description' => 'transaction description',
|
||||
'rule-action-value.1' => 'rule action value #1',
|
||||
'rule-action-value.2' => 'rule action value #2',
|
||||
'rule-action-value.3' => 'rule action value #3',
|
||||
'rule-action-value.4' => 'rule action value #4',
|
||||
'rule-action-value.5' => 'rule action value #5',
|
||||
'rule-action.1' => 'rule action #1',
|
||||
'rule-action.2' => 'rule action #2',
|
||||
'rule-action.3' => 'rule action #3',
|
||||
'rule-action.4' => 'rule action #4',
|
||||
'rule-action.5' => 'rule action #5',
|
||||
'rule-trigger-value.1' => 'rule trigger value #1',
|
||||
'rule-trigger-value.2' => 'rule trigger value #2',
|
||||
'rule-trigger-value.3' => 'rule trigger value #3',
|
||||
'rule-trigger-value.4' => 'rule trigger value #4',
|
||||
'rule-trigger-value.5' => 'rule trigger value #5',
|
||||
'rule-trigger.1' => 'rule trigger #1',
|
||||
'rule-trigger.2' => 'rule trigger #2',
|
||||
'rule-trigger.3' => 'rule trigger #3',
|
||||
'rule-trigger.4' => 'rule trigger #4',
|
||||
'rule-trigger.5' => 'rule trigger #5',
|
||||
'email' => '이메일 주소',
|
||||
'description' => '상세정보',
|
||||
'amount' => '금액',
|
||||
'transactions.*.amount' => '거래 금액',
|
||||
'name' => '이름',
|
||||
'piggy_bank_id' => '저금통 ID',
|
||||
'targetamount' => '목표 금액',
|
||||
'opening_balance_date' => '개설일',
|
||||
'opening_balance' => '초기 잔고',
|
||||
'match' => '매치',
|
||||
'amount_min' => '최소 금액',
|
||||
'amount_max' => '최대 금액',
|
||||
'title' => '제목',
|
||||
'tag' => '태그',
|
||||
'transaction_description' => '거래 상세내역',
|
||||
'rule-action-value.1' => '규칙 액션 값 #1',
|
||||
'rule-action-value.2' => '규칙 액션 값 #2',
|
||||
'rule-action-value.3' => '규칙 액션 값 #3',
|
||||
'rule-action-value.4' => '규칙 액션 값 #4',
|
||||
'rule-action-value.5' => '규칙 액션 값 #5',
|
||||
'rule-action.1' => '규칙 액션 #1',
|
||||
'rule-action.2' => '규칙 액션 #2',
|
||||
'rule-action.3' => '규칙 액션 #3',
|
||||
'rule-action.4' => '규칙 액션 #4',
|
||||
'rule-action.5' => '규칙 액션 #5',
|
||||
'rule-trigger-value.1' => '규칙 트리거 값 #1',
|
||||
'rule-trigger-value.2' => '규칙 트리거 값 #2',
|
||||
'rule-trigger-value.3' => '규칙 트리거 값 #3',
|
||||
'rule-trigger-value.4' => '규칙 트리거 값 #4',
|
||||
'rule-trigger-value.5' => '규칙 트리거 값 #5',
|
||||
'rule-trigger.1' => '규칙 트리거 #1',
|
||||
'rule-trigger.2' => '규칙 트리거 #2',
|
||||
'rule-trigger.3' => '규칙 트리거 #3',
|
||||
'rule-trigger.4' => '규칙 트리거 #4',
|
||||
'rule-trigger.5' => '규칙 트리거 #5',
|
||||
],
|
||||
|
||||
// validation of accounts:
|
||||
'withdrawal_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
||||
'withdrawal_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
|
||||
'withdrawal_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
|
||||
'withdrawal_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
|
||||
'withdrawal_source_need_data' => '계속하려면 유효한 소스 계정 ID 및/또는 유효한 소스 계정 이름이 필요합니다.',
|
||||
'withdrawal_source_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 소스 계정을 찾을 수 없습니다.',
|
||||
'withdrawal_dest_need_data' => '계속하려면 유효한 대상 계정 ID 및/또는 유효한 대상 계정 이름이 필요합니다.',
|
||||
'withdrawal_dest_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 대상 계정을 찾을 수 없습니다.',
|
||||
|
||||
'reconciliation_source_bad_data' => 'Could not find a valid reconciliation account when searching for ID ":id" or name ":name".',
|
||||
'reconciliation_source_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 조정 계정을 찾을 수 없습니다.',
|
||||
|
||||
'generic_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
|
||||
'generic_source_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 소스 계정을 찾을 수 없습니다.',
|
||||
|
||||
'deposit_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
||||
'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_source_need_data' => '계속하려면 유효한 소스 계정 ID 및/또는 유효한 소스 계정 이름이 필요합니다.',
|
||||
'deposit_source_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 소스 계정을 찾을 수 없습니다.',
|
||||
'deposit_dest_need_data' => '계속하려면 유효한 대상 계정 ID 및/또는 유효한 대상 계정 이름이 필요합니다.',
|
||||
'deposit_dest_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 대상 계정을 찾을 수 없습니다.',
|
||||
'deposit_dest_wrong_type' => '제출된 대상 계정이 올바른 유형이 아닙니다.',
|
||||
|
||||
/*
|
||||
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.
|
||||
@ -253,36 +253,36 @@ return [
|
||||
*/
|
||||
|
||||
|
||||
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
||||
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
|
||||
'transfer_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
|
||||
'transfer_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
|
||||
'need_id_in_edit' => 'Each split must have transaction_journal_id (either valid ID or 0).',
|
||||
'transfer_source_need_data' => '계속하려면 유효한 소스 계정 ID 및/또는 유효한 소스 계정 이름이 필요합니다.',
|
||||
'transfer_source_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 소스 계정을 찾을 수 없습니다.',
|
||||
'transfer_dest_need_data' => '계속하려면 유효한 대상 계정 ID 및/또는 유효한 대상 계정 이름이 필요합니다.',
|
||||
'transfer_dest_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 대상 계정을 찾을 수 없습니다.',
|
||||
'need_id_in_edit' => '각 분할에는 transaction_journal_id(유효한 ID 또는 0) 가 있어야 합니다.',
|
||||
|
||||
'ob_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
||||
'lc_source_need_data' => 'Need to get a valid source account ID 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".',
|
||||
'reconciliation_either_account' => 'To submit a reconciliation, you must submit either a source or a destination account. Not both, not neither.',
|
||||
'ob_source_need_data' => '계속하려면 유효한 소스 계정 ID 및/또는 유효한 소스 계정 이름이 필요합니다.',
|
||||
'lc_source_need_data' => '계속하려면 유효한 소스 계정 ID가 필요합니다.',
|
||||
'ob_dest_need_data' => '계속하려면 유효한 대상 계정 ID 및/또는 유효한 대상 계정 이름이 필요합니다.',
|
||||
'ob_dest_bad_data' => 'ID ":id" 또는 이름 ":name"을 검색할 때 유효한 대상 계정을 찾을 수 없습니다.',
|
||||
'reconciliation_either_account' => '조정을 제출하려면 소스 계정 또는 대상 계정 중 하나를 제출해야 합니다.',
|
||||
|
||||
'generic_invalid_source' => 'You can\'t use this account as the source account.',
|
||||
'generic_invalid_destination' => 'You can\'t use this account as the destination account.',
|
||||
'generic_invalid_source' => '이 계정을 소스 계정으로 사용할 수 없습니다.',
|
||||
'generic_invalid_destination' => '이 계정을 대상 계정으로 사용할 수 없습니다.',
|
||||
|
||||
'generic_no_source' => 'You must submit source account information.',
|
||||
'generic_no_destination' => 'You must submit destination account information.',
|
||||
'generic_no_source' => '소스 계정 정보를 제출해야 합니다.',
|
||||
'generic_no_destination' => '대상 계정 정보를 제출해야 합니다.',
|
||||
|
||||
'gte.numeric' => 'The :attribute must be greater than or equal to :value.',
|
||||
'gt.numeric' => 'The :attribute must be greater than :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.',
|
||||
'gte.numeric' => ':attribute의 값은 :value 이상이어야 합니다.',
|
||||
'gt.numeric' => ':attribute의 값은 :value보다 커야 합니다.',
|
||||
'gte.file' => ':attribute의 크기는 :value 킬로바이트 이상이어야 합니다.',
|
||||
'gte.string' => ':attribute은(는) :value 자 이상이어야 합니다.',
|
||||
'gte.array' => ':attribute은(는) :value개 이상이어야합니다.',
|
||||
|
||||
'amount_required_for_auto_budget' => 'The amount is required.',
|
||||
'auto_budget_amount_positive' => 'The amount must be more than zero.',
|
||||
'auto_budget_period_mandatory' => 'The auto budget period is a mandatory field.',
|
||||
'amount_required_for_auto_budget' => '금액을 입력하세요.',
|
||||
'auto_budget_amount_positive' => '금액은 0보다 커야 합니다.',
|
||||
'auto_budget_period_mandatory' => '자동 예산 기간은 필수 항목입니다.',
|
||||
|
||||
// no access to administration:
|
||||
'no_access_user_group' => 'You do not have the correct access rights for this administration.',
|
||||
'no_access_user_group' => '이 관리에 대한 올바른 액세스 권한이 없습니다.',
|
||||
];
|
||||
|
||||
/*
|
||||
|
@ -279,8 +279,8 @@ return [
|
||||
'response' => 'Odpowiedź',
|
||||
'visit_webhook_url' => 'Odwiedź adres URL webhooka',
|
||||
'reset_webhook_secret' => 'Resetuj sekret webhooka',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> has been stored.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") has been updated.',
|
||||
'webhook_stored_link' => '<a href="webhooks/show/{ID}">Webhook #{ID} ("{title}")</a> został zapisany.',
|
||||
'webhook_updated_link' => '<a href="webhooks/show/{ID}">Webhook #{ID}</a> ("{title}") został zaktualizowany.',
|
||||
|
||||
// API access
|
||||
'authorization_request' => 'Żądanie autoryzacji Firefly III v:version',
|
||||
@ -509,17 +509,17 @@ return [
|
||||
'search_modifier_category_starts' => 'Kategoria zaczyna się od ":value"',
|
||||
'search_modifier_not_category_starts' => 'Kategoria zaczyna się na ":value"',
|
||||
'search_modifier_budget_contains' => 'Budżet zawiera ":value"',
|
||||
'search_modifier_not_budget_contains' => 'Budget does not contain ":value"',
|
||||
'search_modifier_not_budget_contains' => 'Budżet nie zawiera ":value"',
|
||||
'search_modifier_budget_ends' => 'Budżet kończy się na ":value"',
|
||||
'search_modifier_not_budget_ends' => 'Budget does not end on ":value"',
|
||||
'search_modifier_not_budget_ends' => 'Budżet nie kończy się na ":value"',
|
||||
'search_modifier_budget_starts' => 'Budżet zaczyna się od ":value"',
|
||||
'search_modifier_not_budget_starts' => 'Budget does not start with ":value"',
|
||||
'search_modifier_not_budget_starts' => 'Budżet nie zaczyna się od ":value"',
|
||||
'search_modifier_bill_contains' => 'Rachunek zawiera ":value"',
|
||||
'search_modifier_not_bill_contains' => 'Bill does not contain ":value"',
|
||||
'search_modifier_not_bill_contains' => 'Rachunek nie zawiera ":value"',
|
||||
'search_modifier_bill_ends' => 'Rachunek kończy się na ":value"',
|
||||
'search_modifier_not_bill_ends' => 'Bill does not end on ":value"',
|
||||
'search_modifier_not_bill_ends' => 'Rachunek nie kończy się na ":value"',
|
||||
'search_modifier_bill_starts' => 'Rachunek zaczyna się od ":value"',
|
||||
'search_modifier_not_bill_starts' => 'Bill does not start with ":value"',
|
||||
'search_modifier_not_bill_starts' => 'Rachunek nie zaczyna się od ":value"',
|
||||
'search_modifier_external_id_contains' => 'Zewnętrzne ID zawiera ":value"',
|
||||
'search_modifier_not_external_id_contains' => 'External ID does not contain ":value"',
|
||||
'search_modifier_external_id_ends' => 'Zewnętrzne ID kończy się na ":value"',
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user