Compare commits

...

39 Commits

Author SHA1 Message Date
github-actions
a184548912 Auto commit for release 'develop' on 2024-05-27 2024-05-27 05:08:44 +02:00
James Cole
c987191212 Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop
# Conflicts:
#	app/Console/Commands/Upgrade/CorrectAccountBalance.php
2024-05-26 15:37:20 +02:00
James Cole
7009b444d9 Skip creation using if statement. 2024-05-26 15:36:30 +02:00
github-actions
06551d5367 Auto commit for release 'develop' on 2024-05-25 2024-05-25 20:18:23 +02:00
James Cole
a20622ac0c Fix https://github.com/firefly-iii/firefly-iii/issues/8911 2024-05-25 11:28:32 +02:00
James Cole
ca38117fca Fix https://github.com/firefly-iii/firefly-iii/issues/8907 2024-05-25 08:10:23 +02:00
James Cole
9478f78d4f Merge branch 'main' into develop 2024-05-25 08:05:45 +02:00
James Cole
5c2397bbae Remove unused workflows. 2024-05-25 08:05:32 +02:00
James Cole
92fefef816 Merge branch 'main' into develop 2024-05-24 05:30:29 +02:00
James Cole
d3ced65524 Remove 2024-05-24 05:30:17 +02:00
James Cole
29eb748831 Merge branch 'main' into develop 2024-05-24 05:22:57 +02:00
github-actions
76df3d5f33 Auto commit for release 'develop' on 2024-05-23 2024-05-23 05:10:54 +02:00
James Cole
252076ec1f Add to cleanup 2024-05-22 06:12:19 +02:00
James Cole
bbec28591f Add workflow that responds to PRs 2024-05-22 06:02:49 +02:00
James Cole
075a360ba6 Add new workflow for issue thing. 2024-05-21 20:20:06 +02:00
James Cole
477524a8ae You could've just asked... 2024-05-21 17:48:54 +02:00
James Cole
dfe055732d Fix https://github.com/firefly-iii/firefly-iii/issues/8907 2024-05-21 17:36:05 +02:00
James Cole
78b611a18d Update .gitignore 2024-05-21 17:28:43 +02:00
James Cole
367bdf65e6 Remove auto-generated language files 2024-05-21 17:25:29 +02:00
James Cole
3fc9caa31a Add git ignore, remove .gitkeep. 2024-05-21 17:24:25 +02:00
James Cole
95a41fcab7 Remove auto-generated language files. 2024-05-21 17:23:07 +02:00
James Cole
58b409fc00 Restore confirmation for data removal. 2024-05-20 20:19:23 +02:00
James Cole
3eaaac09ad Clean up balance chart. 2024-05-20 07:30:41 +02:00
James Cole
bcb672920c Fix chart, uses new filter. 2024-05-20 06:55:36 +02:00
James Cole
79b91e25c2 Expand chart api 2024-05-20 06:49:42 +02:00
github-actions
7170931464 Auto commit for release 'develop' on 2024-05-20 2024-05-20 05:09:44 +02:00
github-actions
c1b5a1a13e Auto commit for release 'develop' on 2024-05-19 2024-05-19 10:37:08 +02:00
James Cole
a6265ce8ab Fix line in job. 2024-05-19 10:28:01 +02:00
github-actions
90109917df Auto commit for release 'v6.1.16' on 2024-05-19 2024-05-19 10:26:25 +02:00
James Cole
0acd54c2b7 Update changelog. 2024-05-19 10:21:03 +02:00
James Cole
c96226b9b4 Add final API changes 2024-05-19 10:17:21 +02:00
James Cole
6d143f1624 Clean up API 2024-05-19 06:36:31 +02:00
James Cole
93324d1154 Remove unused variables 2024-05-18 06:57:38 +02:00
github-actions
a39f0e1891 Auto commit for release 'develop' on 2024-05-18 2024-05-18 06:49:29 +02:00
James Cole
822f609a22 Fix ibans 2024-05-18 06:44:18 +02:00
James Cole
cd7ddd1c61 Add more IBAN filters 2024-05-18 06:42:09 +02:00
James Cole
0b63ba26bb Fix autocomplete entries. 2024-05-18 05:51:02 +02:00
James Cole
94d70cdb62 Fix missing parameters 2024-05-17 20:45:16 +02:00
James Cole
acb3831c8b Add parallel thing 2024-05-16 07:30:07 +02:00
678 changed files with 1779 additions and 156600 deletions

View File

@@ -19,6 +19,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
$current = __DIR__;
$paths = [
@@ -35,6 +37,7 @@ $finder = PhpCsFixer\Finder::create()
$config = new PhpCsFixer\Config();
$config->setParallelConfig(ParallelConfigFactory::detect());
return $config->setRules(
[
// rule sets

View File

@@ -398,16 +398,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
"version": "v3.57.1",
"version": "v3.57.2",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
"reference": "3f7efe667a8c9818aacceee478add7c0fc24cb21"
"reference": "22f7f3145606df92b02fb1bd22c30abfce956d3c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/3f7efe667a8c9818aacceee478add7c0fc24cb21",
"reference": "3f7efe667a8c9818aacceee478add7c0fc24cb21",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/22f7f3145606df92b02fb1bd22c30abfce956d3c",
"reference": "22f7f3145606df92b02fb1bd22c30abfce956d3c",
"shasum": ""
},
"require": {
@@ -486,7 +486,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.57.1"
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.57.2"
},
"funding": [
{
@@ -494,7 +494,7 @@
"type": "github"
}
],
"time": "2024-05-15T22:01:07+00:00"
"time": "2024-05-20T20:41:57+00:00"
},
{
"name": "psr/container",
@@ -950,16 +950,16 @@
},
{
"name": "react/promise",
"version": "v3.1.0",
"version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/promise.git",
"reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c"
"reference": "8a164643313c71354582dc850b42b33fa12a4b63"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c",
"reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c",
"url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63",
"reference": "8a164643313c71354582dc850b42b33fa12a4b63",
"shasum": ""
},
"require": {
@@ -1011,7 +1011,7 @@
],
"support": {
"issues": "https://github.com/reactphp/promise/issues",
"source": "https://github.com/reactphp/promise/tree/v3.1.0"
"source": "https://github.com/reactphp/promise/tree/v3.2.0"
},
"funding": [
{
@@ -1019,7 +1019,7 @@
"type": "open_collective"
}
],
"time": "2023-11-16T16:21:57+00:00"
"time": "2024-05-24T10:39:05+00:00"
},
{
"name": "react/socket",

View File

@@ -299,27 +299,6 @@ DKR_BUILD_LOCALE=false
# Won't significantly speed up things.
DKR_CHECK_SQLITE=true
# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists
# and is up to date.
DKR_RUN_MIGRATION=true
# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date
# with the latest fixes (outside of migrations!)
DKR_RUN_UPGRADE=true
# Verify database integrity. Includes all data checks and verifications.
# Disabling this makes Firefly III assume your DB is intact.
DKR_RUN_VERIFY=true
# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state.
# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues.
DKR_RUN_REPORT=true
# Generate OAuth2 keys.
# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if)
# you had previously generated keys already and they're stored in your database for restoration.
DKR_RUN_PASSPORT_INSTALL=true
# Leave the following configuration vars as is.
# Unless you like to tinker and know what you're doing.
APP_NAME=FireflyIII

View File

@@ -254,7 +254,7 @@ jobs:
echo '' >> output.txt
echo "* Installation instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/), [Portainer](https://docs.firefly-iii.org/how-to/firefly-iii/installation/portainer/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/installation/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/installation/self-managed/)" >> output.txt
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
echo "* The releases are signed, and you can verify them using the [Firefly III releases PGP key](https://docs.firefly-iii.org/explanation/more-information/signatures/)."
echo "* The releases are signed, and you can verify them using the [Firefly III releases PGP key](https://docs.firefly-iii.org/explanation/more-information/signatures/)." >> output.txt
echo "Create default release."
git tag -a $releaseName -m "Here be changelog"

View File

@@ -63,7 +63,7 @@ class StoreRequest extends FormRequest
'order' => $this->convertInteger('order'),
'currency_code' => $this->convertString('currency_code'),
'virtual_balance' => $this->convertString('virtual_balance'),
'iban' => $this->convertString('iban'),
'iban' => $this->convertIban('iban'),
'BIC' => $this->convertString('bic'),
'account_number' => $this->convertString('account_number'),
'account_role' => $this->convertString('account_role'),

View File

@@ -51,7 +51,7 @@ class UpdateRequest extends FormRequest
'include_net_worth' => ['include_net_worth', 'boolean'],
'account_type_name' => ['type', 'convertString'],
'virtual_balance' => ['virtual_balance', 'convertString'],
'iban' => ['iban', 'convertString'],
'iban' => ['iban', 'convertIban'],
'BIC' => ['bic', 'convertString'],
'account_number' => ['account_number', 'convertString'],
'account_role' => ['account_role', 'convertString'],

View File

@@ -103,14 +103,14 @@ class StoreRequest extends FormRequest
// source of transaction. If everything is null, assume cash account.
'source_id' => $this->integerFromValue((string)$object['source_id']),
'source_name' => $this->clearString((string)$object['source_name']),
'source_iban' => $this->clearString((string)$object['source_iban']),
'source_iban' => $this->clearIban((string)$object['source_iban']),
'source_number' => $this->clearString((string)$object['source_number']),
'source_bic' => $this->clearString((string)$object['source_bic']),
// destination of transaction. If everything is null, assume cash account.
'destination_id' => $this->integerFromValue((string)$object['destination_id']),
'destination_name' => $this->clearString((string)$object['destination_name']),
'destination_iban' => $this->clearString((string)$object['destination_iban']),
'destination_iban' => $this->clearIban((string)$object['destination_iban']),
'destination_number' => $this->clearString((string)$object['destination_number']),
'destination_bic' => $this->clearString((string)$object['destination_bic']),

View File

@@ -29,24 +29,20 @@ use FireflyIII\Api\V2\Request\Autocomplete\AutocompleteRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountBalance;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface as AdminAccountRepositoryInterface;
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface;
use FireflyIII\Support\Http\Api\ExchangeRateConverter;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Log;
/**
* Class AccountController
*/
class AccountController extends Controller
{
// use AccountFilter;
private AdminAccountRepositoryInterface $adminRepository;
private TransactionCurrency $default;
private ExchangeRateConverter $converter;
// private array $balanceTypes;
// private AccountRepositoryInterface $repository;
private AccountRepositoryInterface $repository;
private TransactionCurrency $default;
private ExchangeRateConverter $converter;
/**
* AccountController constructor.
@@ -56,37 +52,24 @@ class AccountController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
// new way of user group validation
$userGroup = $this->validateUserGroup($request);
$this->adminRepository = app(AdminAccountRepositoryInterface::class);
$this->adminRepository->setUserGroup($userGroup);
$this->default = app('amount')->getDefaultCurrency();
$this->converter = app(ExchangeRateConverter::class);
// $this->repository = app(AccountRepositoryInterface::class);
// $this->adminRepository->setUserGroup($this->validateUserGroup($request));
$userGroup = $this->validateUserGroup($request);
$this->repository = app(AccountRepositoryInterface::class);
$this->repository->setUserGroup($userGroup);
$this->default = app('amount')->getDefaultCurrency();
$this->converter = app(ExchangeRateConverter::class);
return $next($request);
}
);
// $this->balanceTypes = [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE];
}
/**
* Documentation for this endpoint:
* TODO list of checks
* 1. use dates from ParameterBag
* 2. Request validates dates
* 3. Request includes user_group_id
* 4. Endpoint is documented.
* 5. Collector uses user_group_id
*
* @throws FireflyException
* Documentation: https://api-docs.firefly-iii.org/?urls.primaryName=2.1.0%20(v2)#/autocomplete/getAccountsAC
*/
public function accounts(AutocompleteRequest $request): JsonResponse
{
$queryParameters = $request->getParameters();
$result = $this->adminRepository->searchAccount((string) $queryParameters['query'], $queryParameters['account_types'], $queryParameters['size']);
$result = $this->repository->searchAccount($queryParameters['query'], $queryParameters['account_types'], $queryParameters['size']);
$return = [];
/** @var Account $account */
@@ -99,18 +82,18 @@ class AccountController extends Controller
private function parseAccount(Account $account): array
{
$currency = $this->adminRepository->getAccountCurrency($account);
$currency = $this->repository->getAccountCurrency($account);
return [
'id' => (string) $account->id,
'title' => $account->name,
'meta' => [
'type' => $account->accountType->type,
'currency_id' => null === $currency ? null : (string) $currency->id,
'currency_code' => $currency?->code,
'currency_symbol' => $currency?->symbol,
'currency_decimal' => $currency?->decimal_places,
'account_balances' => $this->getAccountBalances($account),
'type' => $account->accountType->type,
'currency_id' => null === $currency ? null : (string) $currency->id,
'currency_code' => $currency?->code,
'currency_symbol' => $currency?->symbol,
'currency_decimal_places' => $currency?->decimal_places,
'account_balances' => $this->getAccountBalances($account),
],
];
}
@@ -118,32 +101,39 @@ class AccountController extends Controller
private function getAccountBalances(Account $account): array
{
$return = [];
$balances = $this->adminRepository->getAccountBalances($account);
$balances = $this->repository->getAccountBalances($account);
/** @var AccountBalance $balance */
foreach ($balances as $balance) {
$return[] = $this->parseAccountBalance($balance);
try {
$return[] = $this->parseAccountBalance($balance);
} catch (FireflyException $e) {
Log::error(sprintf('Could not parse convert account balance: %s', $e->getMessage()));
}
}
return $return;
}
/**
* @throws FireflyException
*/
private function parseAccountBalance(AccountBalance $balance): array
{
$currency = $balance->transactionCurrency;
return [
'title' => $balance->title,
'native_amount' => $this->converter->convert($currency, $this->default, today(), $balance->balance),
'amount' => app('steam')->bcround($balance->balance, $currency->decimal_places),
'currency_id' => (string) $currency->id,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
'native_currency_id' => (string) $this->default->id,
'native_currency_code' => $this->default->code,
'native_currency_symbol' => $this->default->symbol,
'native_currency_decimal' => $this->default->decimal_places,
'title' => $balance->title,
'native_amount' => $this->converter->convert($currency, $this->default, today(), $balance->balance),
'amount' => app('steam')->bcround($balance->balance, $currency->decimal_places),
'currency_id' => (string) $currency->id,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
'native_currency_id' => (string) $this->default->id,
'native_currency_code' => $this->default->code,
'native_currency_symbol' => $this->default->symbol,
'native_currency_decimal_places' => $this->default->decimal_places,
];
}
}

View File

@@ -53,23 +53,18 @@ class CategoryController extends Controller
}
/**
* Documentation for this endpoint:
* TODO list of checks
* 1. use dates from ParameterBag
* 2. Request validates dates
* 3. Request includes user_group_id
* 4. Endpoint is documented.
* 5. Collector uses user_group_id
* Documentation: https://api-docs.firefly-iii.org/?urls.primaryName=2.1.0%20(v2)#/autocomplete/getCategoriesAC
*/
public function categories(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$result = $this->repository->searchCategory($data['query'], $this->parameters->get('limit'));
$filtered = $result->map(
$queryParameters = $request->getParameters();
$result = $this->repository->searchCategory($queryParameters['query'], $queryParameters['size']);
$filtered = $result->map(
static function (Category $item) {
return [
'id' => (string)$item->id,
'name' => $item->name,
'id' => (string)$item->id,
'title' => $item->name,
'meta' => [],
];
}
);

View File

@@ -53,25 +53,20 @@ class TagController extends Controller
}
/**
* Documentation for this endpoint:
* TODO list of checks
* 1. use dates from ParameterBag
* 2. Request validates dates
* 3. Request includes user_group_id
* 4. Endpoint is documented.
* 5. Collector uses user_group_id
* Documentation: https://api-docs.firefly-iii.org/?urls.primaryName=2.1.0%20(v2)#/autocomplete/getTagsAC
*/
public function tags(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$result = $this->repository->searchTag($data['query'], $data['limit']);
$filtered = $result->map(
$queryParameters = $request->getParameters();
$result = $this->repository->searchTag($queryParameters['query'], $queryParameters['size']);
$filtered = $result->map(
static function (Tag $item) {
return [
'id' => (string)$item->id,
'name' => $item->tag,
'value' => (string)$item->id,
'id' => (string) $item->id,
'title' => $item->tag,
'value' => (string) $item->id,
'label' => $item->tag,
'meta' => [],
];
}
);

View File

@@ -53,30 +53,25 @@ class TransactionController extends Controller
}
/**
* Documentation for this endpoint:
* TODO list of checks
* 1. use dates from ParameterBag
* 2. Request validates dates
* 3. Request includes user_group_id
* 4. Endpoint is documented.
* 5. Collector uses user_group_id
* Documentation: https://api-docs.firefly-iii.org/?urls.primaryName=2.1.0%20(v2)#/autocomplete/getTransactionsAC
*/
public function transactionDescriptions(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$result = $this->repository->searchJournalDescriptions($data['query'], $data['limit']);
$queryParameters = $request->getParameters();
$result = $this->repository->searchJournalDescriptions($queryParameters['query'], $queryParameters['size']);
// limit and unique
$filtered = $result->unique('description');
$array = [];
$filtered = $result->unique('description');
$array = [];
/** @var TransactionJournal $journal */
foreach ($filtered as $journal) {
$array[] = [
'id' => (string)$journal->id,
'transaction_group_id' => (string)$journal->transaction_group_id,
'name' => $journal->description,
'description' => $journal->description,
'id' => (string) $journal->id,
'title' => $journal->description,
'meta' => [
'transaction_group_id' => (string) $journal->transaction_group_id,
],
];
}

View File

@@ -24,19 +24,17 @@ declare(strict_types=1);
namespace FireflyIII\Api\V2\Controllers\Chart;
use Carbon\Carbon;
use FireflyIII\Api\V2\Controllers\Controller;
use FireflyIII\Api\V2\Request\Chart\DashboardChartRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Api\V2\Request\Chart\ChartRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface;
use FireflyIII\Support\Chart\ChartData;
use FireflyIII\Support\Http\Api\CleansChartData;
use FireflyIII\Support\Http\Api\CollectsAccountsFromFilter;
use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
/**
* Class AccountController
@@ -44,10 +42,12 @@ use Illuminate\Support\Collection;
class AccountController extends Controller
{
use CleansChartData;
use CollectsAccountsFromFilter;
use ValidatesUserGroupTrait;
private AccountRepositoryInterface $repository;
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
private ChartData $chartData;
private TransactionCurrency $default;
public function __construct()
{
@@ -56,6 +56,8 @@ class AccountController extends Controller
function ($request, $next) {
$this->repository = app(AccountRepositoryInterface::class);
$this->repository->setUserGroup($this->validateUserGroup($request));
$this->chartData = new ChartData();
$this->default = app('amount')->getDefaultCurrency();
return $next($request);
}
@@ -63,107 +65,76 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v2)#/charts/getChartAccountOverview
*
* The native currency is the preferred currency on the page /currencies.
*
* If a transaction has foreign currency = native currency, the foreign amount will be used, no conversion
* will take place.
*
* TODO validate and set user_group_id from request
* TODO fix documentation
*
* @throws FireflyException
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function dashboard(DashboardChartRequest $request): JsonResponse
public function dashboard(ChartRequest $request): JsonResponse
{
/** @var Carbon $start */
$start = $this->parameters->get('start');
$queryParameters = $request->getParameters();
$accounts = $this->getAccountList($queryParameters);
/** @var Carbon $end */
$end = $this->parameters->get('end');
$end->endOfDay();
/** @var TransactionCurrency $default */
$default = app('amount')->getDefaultCurrency();
$params = $request->getAll();
/** @var Collection $accounts */
$accounts = $params['accounts'];
$chartData = [];
// user's preferences
if (0 === $accounts->count()) {
$defaultSet = $this->repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT])->pluck('id')->toArray();
$frontpage = app('preferences')->get('frontpageAccounts', $defaultSet);
if (!(is_array($frontpage->data) && count($frontpage->data) > 0)) {
$frontpage->data = $defaultSet;
$frontpage->save();
}
$accounts = $this->repository->getAccountsById($frontpage->data);
}
// both options are overruled by "preselected"
if ('all' === $params['preselected']) {
$accounts = $this->repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE]);
}
if ('assets' === $params['preselected']) {
$accounts = $this->repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT]);
}
if ('liabilities' === $params['preselected']) {
$accounts = $this->repository->getAccountsByType([AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE]);
}
// move date to end of day
$queryParameters['start']->startOfDay();
$queryParameters['end']->endOfDay();
// loop each account, and collect info:
/** @var Account $account */
foreach ($accounts as $account) {
$currency = $this->repository->getAccountCurrency($account);
if (null === $currency) {
$currency = $default;
}
$currentSet = [
'label' => $account->name,
// the currency that belongs to the account.
'currency_id' => (string)$currency->id,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
// the default currency of the user (could be the same!)
'native_currency_id' => (string)$default->id,
'native_currency_code' => $default->code,
'native_currency_symbol' => $default->symbol,
'native_currency_decimal_places' => $default->decimal_places,
'start' => $start->toAtomString(),
'end' => $end->toAtomString(),
'period' => '1D',
'entries' => [],
'native_entries' => [],
];
$currentStart = clone $start;
$range = app('steam')->balanceInRange($account, $start, clone $end, $currency);
$rangeConverted = app('steam')->balanceInRangeConverted($account, $start, clone $end, $default);
$previous = array_values($range)[0];
$previousConverted = array_values($rangeConverted)[0];
while ($currentStart <= $end) {
$format = $currentStart->format('Y-m-d');
$label = $currentStart->toAtomString();
$balance = array_key_exists($format, $range) ? $range[$format] : $previous;
$balanceConverted = array_key_exists($format, $rangeConverted) ? $rangeConverted[$format] : $previousConverted;
$previous = $balance;
$previousConverted = $balanceConverted;
$currentStart->addDay();
$currentSet['entries'][$label] = $balance;
$currentSet['native_entries'][$label] = $balanceConverted;
}
$chartData[] = $currentSet;
$this->renderAccountData($queryParameters, $account);
}
return response()->json($this->clean($chartData));
return response()->json($this->chartData->render());
}
/**
* @throws FireflyException
*/
private function renderAccountData(array $params, Account $account): void
{
$currency = $this->repository->getAccountCurrency($account);
if (null === $currency) {
$currency = $this->default;
}
$currentSet = [
'label' => $account->name,
// the currency that belongs to the account.
'currency_id' => (string) $currency->id,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
// the default currency of the user (could be the same!)
'native_currency_id' => (string) $this->default->id,
'native_currency_code' => $this->default->code,
'native_currency_symbol' => $this->default->symbol,
'native_currency_decimal_places' => $this->default->decimal_places,
'date' => $params['start']->toAtomString(),
'start' => $params['start']->toAtomString(),
'end' => $params['end']->toAtomString(),
'period' => '1D',
'entries' => [],
'native_entries' => [],
];
$currentStart = clone $params['start'];
$range = app('steam')->balanceInRange($account, $params['start'], clone $params['end'], $currency);
$rangeConverted = app('steam')->balanceInRangeConverted($account, $params['start'], clone $params['end'], $this->default);
$previous = array_values($range)[0];
$previousConverted = array_values($rangeConverted)[0];
while ($currentStart <= $params['end']) {
$format = $currentStart->format('Y-m-d');
$label = $currentStart->toAtomString();
$balance = array_key_exists($format, $range) ? $range[$format] : $previous;
$balanceConverted = array_key_exists($format, $rangeConverted) ? $rangeConverted[$format] : $previousConverted;
$previous = $balance;
$previousConverted = $balanceConverted;
$currentStart->addDay();
$currentSet['entries'][$label] = $balance;
$currentSet['native_entries'][$label] = $balanceConverted;
}
$this->chartData->add($currentSet);
}
}

View File

@@ -24,18 +24,18 @@ declare(strict_types=1);
namespace FireflyIII\Api\V2\Controllers\Chart;
use Carbon\Carbon;
use FireflyIII\Api\V2\Controllers\Controller;
use FireflyIII\Api\V2\Request\Chart\BalanceChartRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Api\V2\Request\Chart\ChartRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface;
use FireflyIII\Support\Chart\ChartData;
use FireflyIII\Support\Http\Api\AccountBalanceGrouped;
use FireflyIII\Support\Http\Api\CleansChartData;
use FireflyIII\Support\Http\Api\CollectsAccountsFromFilter;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
/**
* Class BalanceController
@@ -43,7 +43,30 @@ use Illuminate\Support\Collection;
class BalanceController extends Controller
{
use CleansChartData;
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
use CollectsAccountsFromFilter;
private AccountRepositoryInterface $repository;
private GroupCollectorInterface $collector;
private ChartData $chartData;
private TransactionCurrency $default;
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
$this->repository = app(AccountRepositoryInterface::class);
$this->collector = app(GroupCollectorInterface::class);
$userGroup = $this->validateUserGroup($request);
$this->repository->setUserGroup($userGroup);
$this->collector->setUserGroup($userGroup);
$this->chartData = new ChartData();
$this->default = app('amount')->getDefaultCurrency();
return $next($request);
}
);
}
/**
* The code is practically a duplicate of ReportController::operations.
@@ -54,50 +77,43 @@ class BalanceController extends Controller
* If the transaction being processed is already in native currency OR if the
* foreign amount is in the native currency, the amount will not be converted.
*
* TODO validate and set user_group_id
* TODO collector set group, not user
*
* @throws FireflyException
*/
public function balance(BalanceChartRequest $request): JsonResponse
public function balance(ChartRequest $request): JsonResponse
{
$params = $request->getAll();
$queryParameters = $request->getParameters();
$accounts = $this->getAccountList($queryParameters);
/** @var Carbon $start */
$start = $this->parameters->get('start');
/** @var Carbon $end */
$end = $this->parameters->get('end');
$end->endOfDay();
/** @var Collection $accounts */
$accounts = $params['accounts'];
/** @var string $preferredRange */
$preferredRange = $params['period'];
// move date to end of day
$queryParameters['start']->startOfDay();
$queryParameters['end']->endOfDay();
// prepare for currency conversion and data collection:
/** @var TransactionCurrency $default */
$default = app('amount')->getDefaultCurrency();
$default = app('amount')->getDefaultCurrency();
// get journals for entire period:
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setRange($start, $end)->withAccountInformation();
$collector->setXorAccounts($accounts);
$collector->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::RECONCILIATION, TransactionType::TRANSFER]);
$journals = $collector->getExtractedJournals();
$object = new AccountBalanceGrouped();
$object->setPreferredRange($preferredRange);
$this->collector->setRange($queryParameters['start'], $queryParameters['end'])
->withAccountInformation()
->setXorAccounts($accounts)
->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::RECONCILIATION, TransactionType::TRANSFER])
;
$journals = $this->collector->getExtractedJournals();
$object = new AccountBalanceGrouped();
$object->setPreferredRange($queryParameters['period']);
$object->setDefault($default);
$object->setAccounts($accounts);
$object->setJournals($journals);
$object->setStart($start);
$object->setEnd($end);
$object->setStart($queryParameters['start']);
$object->setEnd($queryParameters['end']);
$object->groupByCurrencyAndPeriod();
$chartData = $object->convertToChartData();
$data = $object->convertToChartData();
foreach ($data as $entry) {
$this->chartData->add($entry);
}
return response()->json($this->clean($chartData));
return response()->json($this->chartData->render());
}
}

View File

@@ -23,18 +23,15 @@ declare(strict_types=1);
namespace FireflyIII\Api\V2\Request\Autocomplete;
use Carbon\Carbon;
use Carbon\Exceptions\InvalidFormatException;
use FireflyIII\JsonApi\Rules\IsValidFilter;
use FireflyIII\JsonApi\Rules\IsValidPage;
use FireflyIII\Models\AccountType;
use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\Support\Http\Api\ParsesQueryFilters;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
use LaravelJsonApi\Core\Query\QueryParameters;
use LaravelJsonApi\Validation\Rule as JsonApiRule;
use Illuminate\Support\Facades\Log;
/**
* Class AutocompleteRequest
@@ -44,6 +41,7 @@ class AutocompleteRequest extends FormRequest
use AccountFilter;
use ChecksLogin;
use ConvertsDataTypes;
use ParsesQueryFilters;
/**
* Loops over all possible query parameters (these are shared over ALL auto complete requests)
@@ -55,43 +53,11 @@ class AutocompleteRequest extends FormRequest
{
$queryParameters = QueryParameters::cast($this->all());
try {
$date = Carbon::createFromFormat('Y-m-d', $queryParameters->filter()?->value('date', date('Y-m-d')), config('app.timezone'));
} catch (InvalidFormatException $e) {
Log::debug(sprintf('Invalid date format in autocomplete request. Using today: %s', $e->getMessage()));
$date = today();
}
$query = $queryParameters->filter()?->value('query', '') ?? '';
$size = (int) ($queryParameters->page()['size'] ?? 50);
$accountTypes = $this->getAccountTypeParameter($queryParameters->filter()?->value('account_types', '') ?? '');
return [
'date' => $date,
'query' => $query,
'size' => $size,
'account_types' => $accountTypes,
];
}
public function getData(): array
{
return [];
$types = $this->convertString('types');
$array = [];
if ('' !== $types) {
$array = explode(',', $types);
}
$limit = $this->convertInteger('limit');
$limit = 0 === $limit ? 10 : $limit;
// remove 'initial balance' and another from allowed types. its internal
$array = array_diff($array, [AccountType::INITIAL_BALANCE, AccountType::RECONCILIATION]);
return [
'types' => $array,
'query' => $this->convertString('query'),
'date' => $this->getCarbonDate('date'),
'limit' => $limit,
'date' => $this->dateOrToday($queryParameters, 'date'),
'query' => $this->arrayOfStrings($queryParameters, 'query'),
'size' => $this->integerFromQueryParams($queryParameters, 'size', 50),
'account_types' => $this->getAccountTypeParameter($this->arrayOfStrings($queryParameters, 'account_types')),
];
}

View File

@@ -0,0 +1,118 @@
<?php
/*
* DashboardChartRequest.php
* Copyright (c) 2023 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V2\Request\Chart;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\JsonApi\Rules\IsValidFilter;
use FireflyIII\Rules\IsFilterValueIn;
use FireflyIII\Support\Http\Api\ParsesQueryFilters;
use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Log;
use Illuminate\Validation\Validator;
use LaravelJsonApi\Core\Query\QueryParameters;
use LaravelJsonApi\Validation\Rule as JsonApiRule;
/**
* Class ChartRequest
*/
class ChartRequest extends FormRequest
{
use ChecksLogin;
use ConvertsDataTypes;
use ParsesQueryFilters;
use ValidatesUserGroupTrait;
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
public function getParameters(): array
{
$queryParameters = QueryParameters::cast($this->all());
return [
'start' => $this->dateOrToday($queryParameters, 'start'),
'end' => $this->dateOrToday($queryParameters, 'end'),
'preselected' => $this->stringFromQueryParams($queryParameters, 'preselected', 'empty'),
'period' => $this->stringFromQueryParams($queryParameters, 'period', '1M'),
'accounts' => $this->arrayOfStrings($queryParameters, 'accounts'),
// preselected heeft maar een paar toegestane waardes, dat moet ook goed gaan.
// 'query' => $this->arrayOfStrings($queryParameters, 'query'),
// 'size' => $this->integerFromQueryParams($queryParameters,'size', 50),
// 'account_types' => $this->getAccountTypeParameter($this->arrayOfStrings($queryParameters, 'account_types')),
];
// collect accounts based on this list?
}
// return [
// 'accounts' => $this->getAccountList(),
// 'preselected' => $this->convertString('preselected'),
// ];
// }
/**
* The rules that the incoming request must be matched against.
*/
public function rules(): array
{
return [
'fields' => JsonApiRule::notSupported(),
'filter' => ['nullable', 'array',
new IsValidFilter(['start', 'end', 'preselected', 'accounts']),
new IsFilterValueIn('preselected', config('firefly.preselected_accounts')),
],
'include' => JsonApiRule::notSupported(),
'page' => JsonApiRule::notSupported(),
'sort' => JsonApiRule::notSupported(),
];
// return [
// 'start' => 'required|date|after:1900-01-01|before:2099-12-31',
// 'end' => 'required|date|after_or_equal:start|before:2099-12-31|after:1900-01-01',
// 'preselected' => sprintf('in:%s', implode(',', config('firefly.preselected_accounts'))),
// 'accounts.*' => 'exists:accounts,id',
// ];
}
public function withValidator(Validator $validator): void
{
$validator->after(
static function (Validator $validator): void {
// validate transaction query data.
$data = $validator->getData();
if (!array_key_exists('accounts', $data)) {
// $validator->errors()->add('accounts', trans('validation.filled', ['attribute' => 'accounts']));
return;
}
if (!is_array($data['accounts'])) {
$validator->errors()->add('accounts', trans('validation.filled', ['attribute' => 'accounts']));
}
}
);
if ($validator->fails()) {
Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray());
}
}
}

View File

@@ -1,32 +0,0 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
use FireflyIII\Support\Models\AccountBalanceCalculator;
use Illuminate\Console\Command;
/**
* Class CorrectionSkeleton
*/
class CorrectAccountBalance extends Command
{
use ShowsFriendlyMessages;
protected $description = 'Recalculate all account balance amounts';
protected $signature = 'firefly-iii:correct-account-balance';
public function handle(): int
{
$this->correctBalanceAmounts();
return 0;
}
private function correctBalanceAmounts(): void
{
AccountBalanceCalculator::recalculateAll();
}
}

View File

@@ -74,7 +74,6 @@ class CorrectDatabase extends Command
'firefly-iii:unify-group-accounts',
'firefly-iii:trigger-credit-recalculation',
'firefly-iii:migrate-preferences',
'firefly-iii:correct-account-balance',
];
foreach ($commands as $command) {
$this->friendlyLine(sprintf('Now executing command "%s"', $command));

View File

@@ -60,15 +60,13 @@ class FixIbans extends Command
{
/** @var Account $account */
foreach ($accounts as $account) {
$iban = $account->iban;
if (str_contains($iban, ' ')) {
$iban = app('steam')->filterSpaces((string)$account->iban);
if ('' !== $iban) {
$account->iban = $iban;
$account->save();
$this->friendlyInfo(sprintf('Removed spaces from IBAN of account #%d', $account->id));
++$this->count;
}
$iban = (string) $account->iban;
$newIban = app('steam')->filterSpaces($iban);
if ('' !== $iban && $iban !== $newIban) {
$account->iban = $newIban;
$account->save();
$this->friendlyInfo(sprintf('Removed spaces from IBAN of account #%d', $account->id));
++$this->count;
}
}
}
@@ -81,7 +79,7 @@ class FixIbans extends Command
foreach ($accounts as $account) {
$userId = $account->user_id;
$set[$userId] ??= [];
$iban = (string)$account->iban;
$iban = (string) $account->iban;
if ('' === $iban) {
continue;
}

View File

@@ -0,0 +1,69 @@
<?php
/*
* CorrectAccountBalance.php
* Copyright (c) 2024 james@firefly-iii.org.
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
declare(strict_types=1);
namespace FireflyIII\Console\Commands\Upgrade;
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
use FireflyIII\Support\Models\AccountBalanceCalculator;
use Illuminate\Console\Command;
/**
* Class CorrectionSkeleton
*/
class CorrectAccountBalance extends Command
{
use ShowsFriendlyMessages;
public const string CONFIG_NAME = '610_correct_balances';
protected $description = 'Recalculate all account balance amounts';
protected $signature = 'firefly-iii:correct-account-balance {--F|force : Force the execution of this command.}';
public function handle(): int
{
if ($this->isExecuted() && true !== $this->option('force')) {
$this->friendlyInfo('This command has already been executed.');
return 0;
}
$this->correctBalanceAmounts();
$this->markAsExecuted();
return 0;
}
private function correctBalanceAmounts(): void
{
AccountBalanceCalculator::recalculateAll();
}
private function isExecuted(): bool
{
$configVar = app('fireflyconfig')->get(self::CONFIG_NAME, false);
return (bool)$configVar?->data;
}
private function markAsExecuted(): void
{
app('fireflyconfig')->set(self::CONFIG_NAME, true);
}
}

View File

@@ -65,6 +65,7 @@ class UpgradeDatabase extends Command
'firefly-iii:budget-limit-periods',
'firefly-iii:migrate-rule-actions',
'firefly-iii:restore-oauth-keys',
'firefly-iii:correct-account-balance',
// also just in case, some integrity commands:
'firefly-iii:create-group-memberships',
'firefly-iii:upgrade-group-information',

View File

@@ -93,7 +93,6 @@ class DebugController extends Controller
Artisan::call('view:clear');
// also do some recalculations.
Artisan::call('firefly-iii:correct-account-balance');
Artisan::call('firefly-iii:trigger-credit-recalculation');
try {

View File

@@ -65,7 +65,7 @@ class HomeController extends Controller
$stringEnd = '';
try {
$stringStart = e((string)$request->get('start'));
$stringStart = e((string) $request->get('start'));
$start = Carbon::createFromFormat('Y-m-d', $stringStart);
} catch (InvalidFormatException $e) {
app('log')->error(sprintf('Start: could not parse date string "%s" so ignore it.', $stringStart));
@@ -73,7 +73,7 @@ class HomeController extends Controller
}
try {
$stringEnd = e((string)$request->get('end'));
$stringEnd = e((string) $request->get('end'));
$end = Carbon::createFromFormat('Y-m-d', $stringEnd);
} catch (InvalidFormatException $e) {
app('log')->error(sprintf('End could not parse date string "%s" so ignore it.', $stringEnd));
@@ -92,7 +92,7 @@ class HomeController extends Controller
app('log')->debug('dateRange: Received dateRange', ['start' => $stringStart, 'end' => $stringEnd, 'label' => $request->get('label')]);
// check if the label is "everything" or "Custom range" which will betray
// a possible problem with the budgets.
if ($label === (string)trans('firefly.everything') || $label === (string)trans('firefly.customRange')) {
if ($label === (string) trans('firefly.everything') || $label === (string) trans('firefly.customRange')) {
$isCustomRange = true;
app('log')->debug('Range is now marked as "custom".');
}
@@ -100,7 +100,7 @@ class HomeController extends Controller
$diff = $start->diffInDays($end, true) + 1;
if ($diff > 366) {
$request->session()->flash('warning', (string)trans('firefly.warning_much_data', ['days' => (int)$diff]));
$request->session()->flash('warning', (string) trans('firefly.warning_much_data', ['days' => (int) $diff]));
}
$request->session()->put('is_custom_range', $isCustomRange);
@@ -128,10 +128,10 @@ class HomeController extends Controller
return redirect(route('new-user.index'));
}
if ('v1' === (string)config('view.layout')) {
if ('v1' === (string) config('view.layout')) {
return $this->indexV1($repository);
}
if ('v2' === (string)config('view.layout')) {
if ('v2' === (string) config('view.layout')) {
return $this->indexV2();
}
@@ -141,8 +141,9 @@ class HomeController extends Controller
private function indexV1(AccountRepositoryInterface $repository): mixed
{
$types = config('firefly.accountTypesByIdentifier.asset');
$pageTitle = (string) trans('firefly.main_dashboard_page_title');
$count = $repository->count($types);
$subTitle = (string)trans('firefly.welcome_back');
$subTitle = (string) trans('firefly.welcome_back');
$transactions = [];
$frontpage = app('preferences')->getFresh('frontpageAccounts', $repository->getAccountsByType([AccountType::ASSET])->pluck('id')->toArray());
$frontpageArray = $frontpage->data;
@@ -177,20 +178,21 @@ class HomeController extends Controller
$user = auth()->user();
event(new RequestedVersionCheckStatus($user));
return view('index', compact('count', 'subTitle', 'transactions', 'billCount', 'start', 'end', 'today'));
return view('index', compact('count', 'subTitle', 'transactions', 'billCount', 'start', 'end', 'today', 'pageTitle'));
}
private function indexV2(): mixed
{
$subTitle = (string)trans('firefly.welcome_back');
$subTitle = (string) trans('firefly.welcome_back');
$pageTitle = (string) trans('firefly.main_dashboard_page_title');
$start = session('start', today(config('app.timezone'))->startOfMonth());
$end = session('end', today(config('app.timezone'))->endOfMonth());
$start = session('start', today(config('app.timezone'))->startOfMonth());
$end = session('end', today(config('app.timezone'))->endOfMonth());
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
event(new RequestedVersionCheckStatus($user));
return view('index', compact('subTitle', 'start', 'end'));
return view('index', compact('subTitle', 'start', 'end', 'pageTitle'));
}
}

View File

@@ -57,7 +57,7 @@ class AccountFormRequest extends FormRequest
'account_type_name' => $this->convertString('objectType'),
'currency_id' => $this->convertInteger('currency_id'),
'virtual_balance' => $this->convertString('virtual_balance'),
'iban' => $this->convertString('iban'),
'iban' => $this->convertIban('iban'),
'BIC' => $this->convertString('BIC'),
'account_number' => $this->convertString('account_number'),
'account_role' => $this->convertString('account_role'),

View File

@@ -31,7 +31,8 @@ class IsValidFilter implements ValidationRule
public function __construct(array $keys)
{
$this->allowed = $keys;
$this->allowed = $keys;
$this->allowed[] = 'user_group_id';
}
#[\Override]
@@ -45,7 +46,7 @@ class IsValidFilter implements ValidationRule
}
foreach ($value as $key => $val) {
if (!in_array($key, $this->allowed, true)) {
$fail('validation.bad_api_filter')->translate();
$fail('validation.bad_api_filter')->translate(['filter' => $key]);
}
}
}

View File

@@ -37,6 +37,7 @@ use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
use FireflyIII\Services\Internal\Destroy\AccountDestroyService;
use FireflyIII\Services\Internal\Update\AccountUpdateService;
use FireflyIII\Support\Facades\Steam;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
@@ -123,6 +124,7 @@ class AccountRepository implements AccountRepositoryInterface
public function findByIbanNull(string $iban, array $types): ?Account
{
$iban = Steam::filterSpaces($iban);
$query = $this->user->accounts()->where('iban', '!=', '')->whereNotNull('iban');
if (0 !== count($types)) {

View File

@@ -31,6 +31,7 @@ use FireflyIII\Models\ObjectGroup;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Services\Internal\Update\AccountUpdateService;
use FireflyIII\Support\Facades\Steam;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Support\Collection;
@@ -80,6 +81,7 @@ class AccountRepository implements AccountRepositoryInterface
public function findByIbanNull(string $iban, array $types): ?Account
{
$iban = Steam::filterSpaces($iban);
$query = $this->userGroup->accounts()->where('iban', '!=', '')->whereNotNull('iban');
if (0 !== count($types)) {
@@ -290,7 +292,7 @@ class AccountRepository implements AccountRepositoryInterface
return $query->get(['accounts.*']);
}
public function searchAccount(string $query, array $types, int $limit): Collection
public function searchAccount(array $query, array $types, int $limit): Collection
{
// search by group, not by user
$dbQuery = $this->userGroup->accounts()
@@ -300,14 +302,17 @@ class AccountRepository implements AccountRepositoryInterface
->orderBy('accounts.name', 'ASC')
->with(['accountType'])
;
if ('' !== $query) {
if (count($query) > 0) {
// split query on spaces just in case:
// TODO this will always fail because it searches for AND.
$parts = explode(' ', $query);
foreach ($parts as $part) {
$search = sprintf('%%%s%%', $part);
$dbQuery->where('name', 'LIKE', $search);
}
$dbQuery->where(function (EloquentBuilder $q) use ($query): void {
foreach ($query as $line) {
$parts = explode(' ', $line);
foreach ($parts as $part) {
$search = sprintf('%%%s%%', $part);
$q->orWhere('name', 'LIKE', $search);
}
}
});
}
if (0 !== count($types)) {
$dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');

View File

@@ -80,7 +80,7 @@ interface AccountRepositoryInterface
*/
public function resetAccountOrder(): void;
public function searchAccount(string $query, array $types, int $limit): Collection;
public function searchAccount(array $query, array $types, int $limit): Collection;
public function setUser(User $user): void;

View File

@@ -24,17 +24,27 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\UserGroups\Category;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Support\Collection;
class CategoryRepository implements CategoryRepositoryInterface
{
use UserGroupTrait;
public function searchCategory(string $query, int $limit): Collection
public function searchCategory(array $query, int $limit): Collection
{
$search = $this->userGroup->categories();
if ('' !== $query) {
$search->where('name', 'LIKE', sprintf('%%%s%%', $query));
if (count($query) > 0) {
// split query on spaces just in case:
$search->where(function (EloquentBuilder $q) use ($query): void {
foreach ($query as $line) {
$parts = explode(' ', $line);
foreach ($parts as $part) {
$search = sprintf('%%%s%%', $part);
$q->orWhere('name', 'LIKE', $search);
}
}
});
}
return $search->take($limit)->get();

View File

@@ -30,5 +30,5 @@ interface CategoryRepositoryInterface
/**
* Search for a category using wild cards. Uses the database, so case sensitive.
*/
public function searchCategory(string $query, int $limit): Collection;
public function searchCategory(array $query, int $limit): Collection;
}

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\UserGroups\Journal;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Support\Collection;
/**
@@ -33,15 +34,24 @@ class JournalRepository implements JournalRepositoryInterface
{
use UserGroupTrait;
public function searchJournalDescriptions(string $search, int $limit): Collection
public function searchJournalDescriptions(array $query, int $limit): Collection
{
$query = $this->userGroup->transactionJournals()
$search = $this->userGroup->transactionJournals()
->orderBy('date', 'DESC')
;
if ('' !== $search) {
$query->where('description', 'LIKE', sprintf('%%%s%%', $search));
if (count($query) > 0) {
// split query on spaces just in case:
$search->where(function (EloquentBuilder $q) use ($query): void {
foreach ($query as $line) {
$parts = explode(' ', $line);
foreach ($parts as $part) {
$search = sprintf('%%%s%%', $part);
$q->orWhere('description', 'LIKE', $search);
}
}
});
}
return $query->take($limit)->get();
return $search->take($limit)->get();
}
}

View File

@@ -34,7 +34,7 @@ interface JournalRepositoryInterface
/**
* Search in journal descriptions.
*/
public function searchJournalDescriptions(string $search, int $limit): Collection;
public function searchJournalDescriptions(array $query, int $limit): Collection;
public function setUser(User $user): void;
}

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\UserGroups\Tag;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Support\Collection;
/**
@@ -33,11 +34,20 @@ class TagRepository implements TagRepositoryInterface
{
use UserGroupTrait;
public function searchTag(string $query, int $limit): Collection
public function searchTag(array $query, int $limit): Collection
{
$search = $this->user->tags();
if ('' !== $query) {
$search->where('tag', 'LIKE', sprintf('%%%s%%', $query));
$search = $this->userGroup->tags();
if (count($query) > 0) {
// split query on spaces just in case:
$search->where(function (EloquentBuilder $q) use ($query): void {
foreach ($query as $line) {
$parts = explode(' ', $line);
foreach ($parts as $part) {
$search = sprintf('%%%s%%', $part);
$q->orWhere('tag', 'LIKE', $search);
}
}
});
}
return $search->take($limit)->get(['tags.*']);

View File

@@ -30,5 +30,5 @@ interface TagRepositoryInterface
/**
* Find one or more tags based on the query.
*/
public function searchTag(string $query, int $limit): Collection;
public function searchTag(array $query, int $limit): Collection;
}

View File

@@ -0,0 +1,60 @@
<?php
/*
* IsFilterValueIn.php
* Copyright (c) 2024 james@firefly-iii.org.
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
declare(strict_types=1);
namespace FireflyIII\Rules;
use Illuminate\Contracts\Validation\ValidationRule;
class IsFilterValueIn implements ValidationRule
{
private string $key;
private array $values;
public function __construct(string $key, array $values)
{
$this->key = $key;
$this->values = $values;
}
/**
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function validate(string $attribute, mixed $value, \Closure $fail): void
{
if (!is_array($value)) {
return;
}
if (!array_key_exists($this->key, $value)) {
return;
}
$value = $value[$this->key] ?? null;
if (!is_string($value) && null !== $value) {
$fail('validation.filter_not_string')->translate(['filter' => $this->key]);
}
if (!in_array($value, $this->values, true)) {
$fail('validation.filter_must_be_in')->translate(['filter' => $this->key, 'values' => implode(', ', $this->values)]);
}
// $fail('validation.filter_not_string')->translate(['filter' => $this->key]);
}
}

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Rules;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Support\Facades\Steam;
use Illuminate\Contracts\Validation\ValidationRule;
/**
@@ -95,6 +96,9 @@ class UniqueIban implements ValidationRule
$maxCounts = $this->getMaxOccurrences();
foreach ($maxCounts as $type => $max) {
// make sure to trim the value of $value so all spaces are removed.
$value = Steam::filterSpaces($value);
$count = $this->countHits($type, $value);
app('log')->debug(sprintf('Count for "%s" and IBAN "%s" is %d', $type, $value, $count));
if ($count > $max) {

View File

@@ -0,0 +1,66 @@
<?php
/*
* ChartData.php
* Copyright (c) 2024 james@firefly-iii.org.
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Chart;
use FireflyIII\Exceptions\FireflyException;
class ChartData
{
private array $series;
public function __construct()
{
$this->series = [];
}
public function render(): array
{
if (0 === count($this->series)) {
throw new FireflyException('No series added to chart');
}
return $this->series;
}
/**
* @throws FireflyException
*/
public function add(array $data): void
{
if (array_key_exists('currency_id', $data)) {
$data['currency_id'] = (string) $data['currency_id'];
}
if (array_key_exists('native_currency_id', $data)) {
$data['native_currency_id'] = (string) $data['native_currency_id'];
}
$required = ['start', 'date', 'end', 'entries', 'native_entries'];
foreach ($required as $field) {
if (!array_key_exists($field, $data)) {
throw new FireflyException(sprintf('Data-set is missing the "%s"-variable.', $field));
}
}
$this->series[] = $data;
}
}

View File

@@ -35,15 +35,22 @@ use Illuminate\Support\Facades\Log;
*/
class AccountBalanceGrouped
{
private array $accountIds;
private string $carbonFormat;
private array $currencies = [];
private array $data = [];
private TransactionCurrency $default;
private Carbon $end;
private array $journals = [];
private string $preferredRange;
private Carbon $start;
private array $accountIds;
private string $carbonFormat;
private array $currencies = [];
private array $data = [];
private TransactionCurrency $default;
private Carbon $end;
private array $journals = [];
private string $preferredRange;
private Carbon $start;
private ExchangeRateConverter $converter;
public function __construct()
{
$this->accountIds = [];
$this->converter = app(ExchangeRateConverter::class);
}
/**
* Convert the given input to a chart compatible array.
@@ -58,14 +65,15 @@ class AccountBalanceGrouped
// income and expense array prepped:
$income = [
'label' => 'earned',
'currency_id' => (string)$currency['currency_id'],
'currency_id' => (string) $currency['currency_id'],
'currency_symbol' => $currency['currency_symbol'],
'currency_code' => $currency['currency_code'],
'currency_decimal_places' => $currency['currency_decimal_places'],
'native_currency_id' => (string)$currency['native_currency_id'],
'native_currency_id' => (string) $currency['native_currency_id'],
'native_currency_symbol' => $currency['native_currency_symbol'],
'native_currency_code' => $currency['native_currency_code'],
'native_currency_decimal_places' => $currency['native_currency_decimal_places'],
'date' => $this->start->toAtomString(),
'start' => $this->start->toAtomString(),
'end' => $this->end->toAtomString(),
'period' => $this->preferredRange,
@@ -74,14 +82,15 @@ class AccountBalanceGrouped
];
$expense = [
'label' => 'spent',
'currency_id' => (string)$currency['currency_id'],
'currency_id' => (string) $currency['currency_id'],
'currency_symbol' => $currency['currency_symbol'],
'currency_code' => $currency['currency_code'],
'currency_decimal_places' => $currency['currency_decimal_places'],
'native_currency_id' => (string)$currency['native_currency_id'],
'native_currency_id' => (string) $currency['native_currency_id'],
'native_currency_symbol' => $currency['native_currency_symbol'],
'native_currency_code' => $currency['native_currency_code'],
'native_currency_decimal_places' => $currency['native_currency_decimal_places'],
'date' => $this->start->toAtomString(),
'start' => $this->start->toAtomString(),
'end' => $this->end->toAtomString(),
'period' => $this->preferredRange,
@@ -124,76 +133,7 @@ class AccountBalanceGrouped
// loop. group by currency and by period.
/** @var array $journal */
foreach ($this->journals as $journal) {
// format the date according to the period
$period = $journal['date']->format($this->carbonFormat);
$currencyId = (int)$journal['currency_id'];
$currency = $this->currencies[$currencyId] ?? TransactionCurrency::find($currencyId);
$this->currencies[$currencyId] = $currency; // may just re-assign itself, don't mind.
// set the array with monetary info, if it does not exist.
$this->data[$currencyId] ??= [
'currency_id' => (string)$currencyId,
'currency_symbol' => $journal['currency_symbol'],
'currency_code' => $journal['currency_code'],
'currency_name' => $journal['currency_name'],
'currency_decimal_places' => $journal['currency_decimal_places'],
// native currency info (could be the same)
'native_currency_id' => (string)$this->default->id,
'native_currency_code' => $this->default->code,
'native_currency_symbol' => $this->default->symbol,
'native_currency_decimal_places' => $this->default->decimal_places,
];
// set the array (in monetary info) with spent/earned in this $period, if it does not exist.
$this->data[$currencyId][$period] ??= [
'period' => $period,
'spent' => '0',
'earned' => '0',
'native_spent' => '0',
'native_earned' => '0',
];
// is this journal's amount in- our outgoing?
$key = 'spent';
$amount = app('steam')->negative($journal['amount']);
// deposit = incoming
// transfer or reconcile or opening balance, and these accounts are the destination.
if (
TransactionType::DEPOSIT === $journal['transaction_type_type']
|| (
(
TransactionType::TRANSFER === $journal['transaction_type_type']
|| TransactionType::RECONCILIATION === $journal['transaction_type_type']
|| TransactionType::OPENING_BALANCE === $journal['transaction_type_type']
)
&& in_array($journal['destination_account_id'], $this->accountIds, true)
)
) {
$key = 'earned';
$amount = app('steam')->positive($journal['amount']);
}
// get conversion rate
try {
$rate = $converter->getCurrencyRate($currency, $this->default, $journal['date']);
} catch (FireflyException $e) {
app('log')->error($e->getMessage());
$rate = '1';
}
$amountConverted = bcmul($amount, $rate);
// perhaps transaction already has the foreign amount in the native currency.
if ((int)$journal['foreign_currency_id'] === $this->default->id) {
$amountConverted = $journal['foreign_amount'] ?? '0';
$amountConverted = 'earned' === $key ? app('steam')->positive($amountConverted) : app('steam')->negative($amountConverted);
}
// add normal entry
$this->data[$currencyId][$period][$key] = bcadd($this->data[$currencyId][$period][$key], $amount);
// add converted entry
$convertedKey = sprintf('native_%s', $key);
$this->data[$currencyId][$period][$convertedKey] = bcadd($this->data[$currencyId][$period][$convertedKey], $amountConverted);
$this->processJournal($journal);
}
$converter->summarize();
}
@@ -209,12 +149,12 @@ class AccountBalanceGrouped
$defaultCurrencyId = $default->id;
$this->currencies = [$default->id => $default]; // currency cache
$this->data[$defaultCurrencyId] = [
'currency_id' => (string)$defaultCurrencyId,
'currency_id' => (string) $defaultCurrencyId,
'currency_symbol' => $default->symbol,
'currency_code' => $default->code,
'currency_name' => $default->name,
'currency_decimal_places' => $default->decimal_places,
'native_currency_id' => (string)$defaultCurrencyId,
'native_currency_id' => (string) $defaultCurrencyId,
'native_currency_symbol' => $default->symbol,
'native_currency_code' => $default->code,
'native_currency_name' => $default->name,
@@ -242,4 +182,113 @@ class AccountBalanceGrouped
{
$this->start = $start;
}
private function processJournal(array $journal): void
{
// format the date according to the period
$period = $journal['date']->format($this->carbonFormat);
$currencyId = (int) $journal['currency_id'];
$currency = $this->findCurrency($currencyId);
// set the array with monetary info, if it does not exist.
$this->createDefaultDataEntry($journal);
// set the array (in monetary info) with spent/earned in this $period, if it does not exist.
$this->createDefaultPeriodEntry($journal);
// is this journal's amount in- our outgoing?
$key = $this->getDataKey($journal);
$amount = 'spent' === $key ? app('steam')->negative($journal['amount']) : app('steam')->positive($journal['amount']);
// get conversion rate
$rate = $this->getRate($currency, $journal['date']);
$amountConverted = bcmul($amount, $rate);
// perhaps transaction already has the foreign amount in the native currency.
if ((int) $journal['foreign_currency_id'] === $this->default->id) {
$amountConverted = $journal['foreign_amount'] ?? '0';
$amountConverted = 'earned' === $key ? app('steam')->positive($amountConverted) : app('steam')->negative($amountConverted);
}
// add normal entry
$this->data[$currencyId][$period][$key] = bcadd($this->data[$currencyId][$period][$key], $amount);
// add converted entry
$convertedKey = sprintf('native_%s', $key);
$this->data[$currencyId][$period][$convertedKey] = bcadd($this->data[$currencyId][$period][$convertedKey], $amountConverted);
}
private function findCurrency(int $currencyId): TransactionCurrency
{
if (array_key_exists($currencyId, $this->currencies)) {
return $this->currencies[$currencyId];
}
$this->currencies[$currencyId] = TransactionCurrency::find($currencyId);
return $this->currencies[$currencyId];
}
private function createDefaultDataEntry(array $journal): void
{
$currencyId = (int) $journal['currency_id'];
$this->data[$currencyId] ??= [
'currency_id' => (string) $currencyId,
'currency_symbol' => $journal['currency_symbol'],
'currency_code' => $journal['currency_code'],
'currency_name' => $journal['currency_name'],
'currency_decimal_places' => $journal['currency_decimal_places'],
// native currency info (could be the same)
'native_currency_id' => (string) $this->default->id,
'native_currency_code' => $this->default->code,
'native_currency_symbol' => $this->default->symbol,
'native_currency_decimal_places' => $this->default->decimal_places,
];
}
private function createDefaultPeriodEntry(array $journal): void
{
$currencyId = (int) $journal['currency_id'];
$period = $journal['date']->format($this->carbonFormat);
$this->data[$currencyId][$period] ??= [
'period' => $period,
'spent' => '0',
'earned' => '0',
'native_spent' => '0',
'native_earned' => '0',
];
}
private function getDataKey(array $journal): string
{
$key = 'spent';
// deposit = incoming
// transfer or reconcile or opening balance, and these accounts are the destination.
if (
TransactionType::DEPOSIT === $journal['transaction_type_type']
|| (
(
TransactionType::TRANSFER === $journal['transaction_type_type']
|| TransactionType::RECONCILIATION === $journal['transaction_type_type']
|| TransactionType::OPENING_BALANCE === $journal['transaction_type_type']
)
&& in_array($journal['destination_account_id'], $this->accountIds, true)
)
) {
$key = 'earned';
}
return $key;
}
private function getRate(TransactionCurrency $currency, Carbon $date): string
{
try {
$rate = $this->converter->getCurrencyRate($currency, $this->default, $date);
} catch (FireflyException $e) {
app('log')->error($e->getMessage());
$rate = '1';
}
return $rate;
}
}

View File

@@ -0,0 +1,76 @@
<?php
/*
* CollectsAccountsFromFilter.php
* Copyright (c) 2024 james@firefly-iii.org.
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Http\Api;
use FireflyIII\Models\AccountType;
use Illuminate\Support\Collection;
trait CollectsAccountsFromFilter
{
/**
* TODO Duplicate function but I think it belongs here or in a separate trait
*/
private function getAccountList(array $queryParameters): Collection
{
$collection = new Collection();
// always collect from the query parameter, even when it's empty.
foreach ($queryParameters['accounts'] as $accountId) {
$account = $this->repository->find((int) $accountId);
if (null !== $account) {
$collection->push($account);
}
}
// if no "preselected", and found accounts
if ('empty' === $queryParameters['preselected'] && $collection->count() > 0) {
return $collection;
}
// if no preselected, but no accounts:
if ('empty' === $queryParameters['preselected'] && 0 === $collection->count()) {
$defaultSet = $this->repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT])->pluck('id')->toArray();
$frontpage = app('preferences')->get('frontpageAccounts', $defaultSet);
if (!(is_array($frontpage->data) && count($frontpage->data) > 0)) {
$frontpage->data = $defaultSet;
$frontpage->save();
}
return $this->repository->getAccountsById($frontpage->data);
}
// both options are overruled by "preselected"
if ('all' === $queryParameters['preselected']) {
return $this->repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE]);
}
if ('assets' === $queryParameters['preselected']) {
return $this->repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT]);
}
if ('liabilities' === $queryParameters['preselected']) {
return $this->repository->getAccountsByType([AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE]);
}
return $collection;
}
}

View File

@@ -0,0 +1,68 @@
<?php
/*
* ParsesQueryFilters.php
* Copyright (c) 2024 james@firefly-iii.org.
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Http\Api;
use Carbon\Carbon;
use Carbon\Exceptions\InvalidFormatException;
use Illuminate\Support\Facades\Log;
use LaravelJsonApi\Core\Query\QueryParameters;
trait ParsesQueryFilters
{
private function dateOrToday(QueryParameters $parameters, string $field): Carbon
{
$date = today();
$value = $parameters->filter()?->value($field, date('Y-m-d'));
if (is_array($value)) {
Log::error(sprintf('Multiple values for date field "%s". Using first value.', $field));
$value = $value[0];
}
try {
$date = Carbon::createFromFormat('Y-m-d', $value, config('app.timezone'));
} catch (InvalidFormatException $e) {
Log::debug(sprintf('Invalid date format in request. Using today: %s', $e->getMessage()));
}
return $date;
}
private function arrayOfStrings(QueryParameters $parameters, string $field): array
{
$array = $parameters->filter()?->value($field, []) ?? [];
return is_string($array) ? [$array] : $array;
}
private function integerFromQueryParams(QueryParameters $parameters, string $field, int $default): int
{
return (int) ($parameters->page()[$field] ?? $default);
}
private function stringFromQueryParams(QueryParameters $parameters, string $field, string $default): string
{
return (string) ($parameters->page()[$field] ?? $default);
}
}

View File

@@ -38,6 +38,10 @@ use Illuminate\Support\Facades\Log;
trait ValidatesUserGroupTrait
{
/**
* An "undocumented" filter
*
* TODO add this filter to the API docs.
*
* @throws AuthorizationException
* @throws AuthenticationException
*/

View File

@@ -115,18 +115,18 @@ class AccountBalanceCalculator
$account = (int) $row->account_id;
$transactionCurrency = (int) $row->transaction_currency_id;
$foreignCurrency = (int) $row->foreign_currency_id;
$sumAmount = $row->sum_amount;
$sumForeignAmount = $row->sum_foreign_amount;
$sumAmount = (string) $row->sum_amount;
$sumForeignAmount = (string) $row->sum_foreign_amount;
// first create for normal currency:
$entry = $this->getAccountBalanceByAccount($account, $transactionCurrency);
$entry->balance = bcadd($entry->balance, $sumAmount);
$entry->balance = bcadd((string) $entry->balance, $sumAmount);
$entry->save();
// then do foreign amount, if present:
if ($foreignCurrency > 0) {
$entry = $this->getAccountBalanceByAccount($account, $foreignCurrency);
$entry->balance = bcadd($entry->balance, $sumForeignAmount);
$entry->balance = bcadd((string) $entry->balance, $sumForeignAmount);
$entry->save();
}
}
@@ -146,8 +146,8 @@ class AccountBalanceCalculator
}
/**
* Als je alles opnieuw doet, verzamel je alle transactions en het bedrag en zet je dat neer als "balance after journal".
* Dat betekent, netjes op volgorde van datum en doorrekenen.
* Als je alles opnieuw doet, verzamel je alle transactions en het bedrag en zet je dat neer als "balance after
* journal". Dat betekent, netjes op volgorde van datum en doorrekenen.
*
* Zodra je een transaction journal verplaatst (datum) moet je dat journal en alle latere journals opnieuw doen.
* Maar dan moet je van de account wel een beginnetje hebben, namelijk de balance tot en met dat moment.
@@ -176,13 +176,17 @@ class AccountBalanceCalculator
$account = (int) $row->account_id;
$transactionCurrency = (int) $row->transaction_currency_id;
$foreignCurrency = (int) $row->foreign_currency_id;
$sumAmount = $row->sum_amount;
$sumForeignAmount = $row->sum_foreign_amount;
$sumAmount = (string) $row->sum_amount;
$sumForeignAmount = (string) $row->sum_foreign_amount;
$journalId = (int) $row->id;
// check for empty strings
$sumAmount = '' === $sumAmount ? '0' : $sumAmount;
$sumForeignAmount = '' === $sumForeignAmount ? '0' : $sumForeignAmount;
// new amounts:
$amounts[$account][$transactionCurrency] = bcadd($amounts[$account][$transactionCurrency] ?? '0', $sumAmount ?? '0');
$amounts[$account][$foreignCurrency] = bcadd($amounts[$account][$foreignCurrency] ?? '0', $sumForeignAmount ?? '0');
$amounts[$account][$transactionCurrency] = bcadd($amounts[$account][$transactionCurrency] ?? '0', $sumAmount);
$amounts[$account][$foreignCurrency] = bcadd($amounts[$account][$foreignCurrency] ?? '0', $sumForeignAmount);
// first create for normal currency:
$entry = self::getAccountBalanceByJournal('balance_after_journal', $account, $journalId, $transactionCurrency);

View File

@@ -27,6 +27,7 @@ use Carbon\Carbon;
use Carbon\Exceptions\InvalidDateException;
use Carbon\Exceptions\InvalidFormatException;
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface;
use FireflyIII\Support\Facades\Steam;
use Illuminate\Support\Collection;
/**
@@ -114,6 +115,11 @@ trait ConvertsDataTypes
return (string)$this->clearString((string)$entry);
}
public function convertIban(string $field): string
{
return Steam::filterSpaces($this->convertString($field));
}
public function clearString(?string $string): ?string
{
$string = $this->clearStringKeepNewlines($string);
@@ -131,6 +137,13 @@ trait ConvertsDataTypes
return trim($string);
}
public function clearIban(?string $string): ?string
{
$string = $this->clearString($string);
return Steam::filterSpaces($string);
}
public function clearStringKeepNewlines(?string $string): ?string
{
if (null === $string) {

View File

@@ -681,11 +681,13 @@ class Steam
"\u{202F}", // narrow no-break space
"\u{3000}", // ideographic space
"\u{FEFF}", // zero width no -break space
"\x20", // plain old normal space
"\x20", // plain old normal space,
' ',
];
// clear zalgo text
$string = preg_replace('/(\pM{2})\pM+/u', '\1', $string);
$string = preg_replace('/\s+/', '', $string);
return str_replace($search, '', $string);
}

View File

@@ -170,6 +170,7 @@ class FireflyValidator extends Validator
"\u{202F}", // narrow no-break space
"\u{3000}", // ideographic space
"\u{FEFF}", // zero width no -break space
' ',
'-',
'?',
];

View File

@@ -3,6 +3,28 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## 6.1.16 - 2024-05-20
### Added
- Added [THANKS.md] to give credit to all developers who help with the development of Firefly III.
### Changed
- New data model for "account balance" makes it easier to calculate and use multi-currency accounts. Not yet in use.
### Fixed
- [Issue 8840](https://github.com/firefly-iii/firefly-iii/issues/8840) (Budget page crash) reported by @JcMinarro
- [Issue 8863](https://github.com/firefly-iii/firefly-iii/issues/8863) (Empty webhooks page) reported by @mrahmadt
- [Issue 8867](https://github.com/firefly-iii/firefly-iii/issues/8867) (SQL Integrity constraint violation when inserting into budget_limits) reported by @HedgehogRidingAnOwl
- [Issue 8858](https://github.com/firefly-iii/firefly-iii/issues/8858) (A single Account constantly loses its Account NUmber / IBAN ) reported by @ypsilonkah
### API
- New filters for the v2 autocomplete endpoints.
- Various attempts to make a better v2 accounts endpoint.
## 6.1.15 - 2024-04-24
### Fixed

View File

@@ -108,8 +108,7 @@
"spatie/period": "^2.4",
"symfony/expression-language": "^7.0",
"symfony/http-client": "^7.0",
"symfony/mailgun-mailer": "^7.0",
"twig/twig": "3.8.0"
"symfony/mailgun-mailer": "^7.0"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.9",

205
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "64e54540b9a552493f83b9a46ac22b4e",
"content-hash": "a3648ab093343dd83bf7e728034ab46c",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -874,26 +874,26 @@
},
{
"name": "firebase/php-jwt",
"version": "v6.10.0",
"version": "v6.10.1",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
"reference": "a49db6f0a5033aef5143295342f1c95521b075ff"
"reference": "500501c2ce893c824c801da135d02661199f60c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/a49db6f0a5033aef5143295342f1c95521b075ff",
"reference": "a49db6f0a5033aef5143295342f1c95521b075ff",
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5",
"reference": "500501c2ce893c824c801da135d02661199f60c5",
"shasum": ""
},
"require": {
"php": "^7.4||^8.0"
"php": "^8.0"
},
"require-dev": {
"guzzlehttp/guzzle": "^6.5||^7.4",
"guzzlehttp/guzzle": "^7.4",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
"psr/cache": "^1.0||^2.0",
"psr/cache": "^2.0||^3.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0"
},
@@ -931,9 +931,9 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
"source": "https://github.com/firebase/php-jwt/tree/v6.10.0"
"source": "https://github.com/firebase/php-jwt/tree/v6.10.1"
},
"time": "2023-12-01T16:26:39+00:00"
"time": "2024-05-18T18:05:11+00:00"
},
{
"name": "fruitcake/php-cors",
@@ -2286,16 +2286,16 @@
},
{
"name": "laravel/framework",
"version": "v11.7.0",
"version": "v11.8.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93"
"reference": "ceb892a25817c888ef3df4d1a2af9cac53978300"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/e5ac72f513f635f208024aa76b8a04efc1b47f93",
"reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93",
"url": "https://api.github.com/repos/laravel/framework/zipball/ceb892a25817c888ef3df4d1a2af9cac53978300",
"reference": "ceb892a25817c888ef3df4d1a2af9cac53978300",
"shasum": ""
},
"require": {
@@ -2420,7 +2420,7 @@
"ext-pcntl": "Required to use all features of the queue worker and console signal trapping.",
"ext-pdo": "Required to use all database features.",
"ext-posix": "Required to use all features of the queue worker.",
"ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
"ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
@@ -2487,7 +2487,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-05-07T13:41:51+00:00"
"time": "2024-05-21T17:57:45+00:00"
},
{
"name": "laravel/passport",
@@ -2567,16 +2567,16 @@
},
{
"name": "laravel/prompts",
"version": "v0.1.21",
"version": "v0.1.22",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
"reference": "23ea808e8a145653e0ab29e30d4385e49f40a920"
"reference": "37f94de71758dbfbccc9d299b0e5eb76e02a40f5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/23ea808e8a145653e0ab29e30d4385e49f40a920",
"reference": "23ea808e8a145653e0ab29e30d4385e49f40a920",
"url": "https://api.github.com/repos/laravel/prompts/zipball/37f94de71758dbfbccc9d299b0e5eb76e02a40f5",
"reference": "37f94de71758dbfbccc9d299b0e5eb76e02a40f5",
"shasum": ""
},
"require": {
@@ -2619,9 +2619,9 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.1.21"
"source": "https://github.com/laravel/prompts/tree/v0.1.22"
},
"time": "2024-04-30T12:46:16+00:00"
"time": "2024-05-10T19:22:18+00:00"
},
{
"name": "laravel/sanctum",
@@ -2814,16 +2814,16 @@
},
{
"name": "laravel/ui",
"version": "v4.5.1",
"version": "v4.5.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
"reference": "a3562953123946996a503159199d6742d5534e61"
"reference": "c75396f63268c95b053c8e4814eb70e0875e9628"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/ui/zipball/a3562953123946996a503159199d6742d5534e61",
"reference": "a3562953123946996a503159199d6742d5534e61",
"url": "https://api.github.com/repos/laravel/ui/zipball/c75396f63268c95b053c8e4814eb70e0875e9628",
"reference": "c75396f63268c95b053c8e4814eb70e0875e9628",
"shasum": ""
},
"require": {
@@ -2871,9 +2871,9 @@
"ui"
],
"support": {
"source": "https://github.com/laravel/ui/tree/v4.5.1"
"source": "https://github.com/laravel/ui/tree/v4.5.2"
},
"time": "2024-03-21T18:12:29+00:00"
"time": "2024-05-08T18:07:10+00:00"
},
{
"name": "lcobucci/clock",
@@ -3202,40 +3202,39 @@
},
{
"name": "league/csv",
"version": "9.15.0",
"version": "9.16.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/csv.git",
"reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435"
"reference": "998280c6c34bd67d8125fdc8b45bae28d761b440"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/csv/zipball/fa7e2441c0bc9b2360f4314fd6c954f7ff40d435",
"reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435",
"url": "https://api.github.com/repos/thephpleague/csv/zipball/998280c6c34bd67d8125fdc8b45bae28d761b440",
"reference": "998280c6c34bd67d8125fdc8b45bae28d761b440",
"shasum": ""
},
"require": {
"ext-filter": "*",
"ext-json": "*",
"ext-mbstring": "*",
"php": "^8.1.2"
},
"require-dev": {
"doctrine/collections": "^2.1.4",
"doctrine/collections": "^2.2.2",
"ext-dom": "*",
"ext-xdebug": "*",
"friendsofphp/php-cs-fixer": "^v3.22.0",
"friendsofphp/php-cs-fixer": "^3.57.1",
"phpbench/phpbench": "^1.2.15",
"phpstan/phpstan": "^1.10.57",
"phpstan/phpstan-deprecation-rules": "^1.1.4",
"phpstan/phpstan-phpunit": "^1.3.15",
"phpstan/phpstan-strict-rules": "^1.5.2",
"phpunit/phpunit": "^10.5.9",
"symfony/var-dumper": "^6.4.2"
"phpstan/phpstan": "^1.11.1",
"phpstan/phpstan-deprecation-rules": "^1.2.0",
"phpstan/phpstan-phpunit": "^1.4.0",
"phpstan/phpstan-strict-rules": "^1.6.0",
"phpunit/phpunit": "^10.5.16 || ^11.1.3",
"symfony/var-dumper": "^6.4.6 || ^7.0.7"
},
"suggest": {
"ext-dom": "Required to use the XMLConverter and the HTMLConverter classes",
"ext-iconv": "Needed to ease transcoding CSV using iconv stream filters"
"ext-iconv": "Needed to ease transcoding CSV using iconv stream filters",
"ext-mbstring": "Needed to ease transcoding CSV using mb stream filters"
},
"type": "library",
"extra": {
@@ -3287,7 +3286,7 @@
"type": "github"
}
],
"time": "2024-02-20T20:00:00+00:00"
"time": "2024-05-24T11:04:54+00:00"
},
{
"name": "league/event",
@@ -3345,16 +3344,16 @@
},
{
"name": "league/flysystem",
"version": "3.27.0",
"version": "3.28.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "4729745b1ab737908c7d055148c9a6b3e959832f"
"reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4729745b1ab737908c7d055148c9a6b3e959832f",
"reference": "4729745b1ab737908c7d055148c9a6b3e959832f",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c",
"reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c",
"shasum": ""
},
"require": {
@@ -3378,10 +3377,13 @@
"composer/semver": "^3.0",
"ext-fileinfo": "*",
"ext-ftp": "*",
"ext-mongodb": "^1.3",
"ext-zip": "*",
"friendsofphp/php-cs-fixer": "^3.5",
"google/cloud-storage": "^1.23",
"guzzlehttp/psr7": "^2.6",
"microsoft/azure-storage-blob": "^1.1",
"mongodb/mongodb": "^1.2",
"phpseclib/phpseclib": "^3.0.36",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.5.11|^10.0",
@@ -3419,32 +3421,22 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.27.0"
"source": "https://github.com/thephpleague/flysystem/tree/3.28.0"
},
"funding": [
{
"url": "https://ecologi.com/frankdejonge",
"type": "custom"
},
{
"url": "https://github.com/frankdejonge",
"type": "github"
}
],
"time": "2024-04-07T19:17:50+00:00"
"time": "2024-05-22T10:09:12+00:00"
},
{
"name": "league/flysystem-local",
"version": "3.25.1",
"version": "3.28.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-local.git",
"reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92"
"reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/61a6a90d6e999e4ddd9ce5adb356de0939060b92",
"reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92",
"url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40",
"reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40",
"shasum": ""
},
"require": {
@@ -3478,19 +3470,9 @@
"local"
],
"support": {
"source": "https://github.com/thephpleague/flysystem-local/tree/3.25.1"
"source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0"
},
"funding": [
{
"url": "https://ecologi.com/frankdejonge",
"type": "custom"
},
{
"url": "https://github.com/frankdejonge",
"type": "github"
}
],
"time": "2024-03-15T19:58:44+00:00"
"time": "2024-05-06T20:05:52+00:00"
},
{
"name": "league/fractal",
@@ -3983,16 +3965,16 @@
},
{
"name": "nesbot/carbon",
"version": "3.3.1",
"version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "8ff64b92c1b1ec84fcde9f8bb9ff2ca34cb8a77a"
"reference": "8eab8983c83c30e0bacbef8d311e3f3b8172727f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8ff64b92c1b1ec84fcde9f8bb9ff2ca34cb8a77a",
"reference": "8ff64b92c1b1ec84fcde9f8bb9ff2ca34cb8a77a",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8eab8983c83c30e0bacbef8d311e3f3b8172727f",
"reference": "8eab8983c83c30e0bacbef8d311e3f3b8172727f",
"shasum": ""
},
"require": {
@@ -4085,7 +4067,7 @@
"type": "tidelift"
}
],
"time": "2024-05-01T06:54:22+00:00"
"time": "2024-05-24T14:26:34+00:00"
},
{
"name": "nette/schema",
@@ -5730,23 +5712,23 @@
},
{
"name": "rcrowe/twigbridge",
"version": "v0.14.2",
"version": "v0.14.3",
"source": {
"type": "git",
"url": "https://github.com/rcrowe/TwigBridge.git",
"reference": "6bf5a8fa48eb5d45de0bd5027936796947acfcbc"
"reference": "b8a5591ad79e53adab08841ec06ca11e814b51b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rcrowe/TwigBridge/zipball/6bf5a8fa48eb5d45de0bd5027936796947acfcbc",
"reference": "6bf5a8fa48eb5d45de0bd5027936796947acfcbc",
"url": "https://api.github.com/repos/rcrowe/TwigBridge/zipball/b8a5591ad79e53adab08841ec06ca11e814b51b4",
"reference": "b8a5591ad79e53adab08841ec06ca11e814b51b4",
"shasum": ""
},
"require": {
"illuminate/support": "^9|^10|^11",
"illuminate/view": "^9|^10|^11",
"php": "^8.1",
"twig/twig": "~3.0"
"twig/twig": "~3.9"
},
"require-dev": {
"ext-json": "*",
@@ -5755,10 +5737,6 @@
"phpunit/phpunit": "^8.5.8 || ^9.3.7",
"squizlabs/php_codesniffer": "^3.6"
},
"suggest": {
"laravelcollective/html": "For bringing back html/form in Laravel",
"twig/extensions": "~1.0"
},
"type": "library",
"extra": {
"branch-alias": {
@@ -5800,9 +5778,9 @@
],
"support": {
"issues": "https://github.com/rcrowe/TwigBridge/issues",
"source": "https://github.com/rcrowe/TwigBridge/tree/v0.14.2"
"source": "https://github.com/rcrowe/TwigBridge/tree/v0.14.3"
},
"time": "2024-03-09T19:41:32+00:00"
"time": "2024-04-24T08:52:10+00:00"
},
{
"name": "spatie/backtrace",
@@ -5869,16 +5847,16 @@
},
{
"name": "spatie/flare-client-php",
"version": "1.5.1",
"version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
"reference": "e27977d534eefe04c154c6fd8460217024054c05"
"reference": "220a7c8745e9fa427d54099f47147c4b97fe6462"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/e27977d534eefe04c154c6fd8460217024054c05",
"reference": "e27977d534eefe04c154c6fd8460217024054c05",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/220a7c8745e9fa427d54099f47147c4b97fe6462",
"reference": "220a7c8745e9fa427d54099f47147c4b97fe6462",
"shasum": ""
},
"require": {
@@ -5926,7 +5904,7 @@
],
"support": {
"issues": "https://github.com/spatie/flare-client-php/issues",
"source": "https://github.com/spatie/flare-client-php/tree/1.5.1"
"source": "https://github.com/spatie/flare-client-php/tree/1.6.0"
},
"funding": [
{
@@ -5934,7 +5912,7 @@
"type": "github"
}
],
"time": "2024-05-03T15:43:14+00:00"
"time": "2024-05-22T09:45:39+00:00"
},
{
"name": "spatie/ignition",
@@ -9230,30 +9208,37 @@
},
{
"name": "twig/twig",
"version": "v3.8.0",
"version": "v3.10.3",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
"reference": "67f29781ffafa520b0bbfbd8384674b42db04572"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572",
"reference": "67f29781ffafa520b0bbfbd8384674b42db04572",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3",
"symfony/polyfill-php80": "^1.22"
},
"require-dev": {
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
"type": "library",
"autoload": {
"files": [
"src/Resources/core.php",
"src/Resources/debug.php",
"src/Resources/escaper.php",
"src/Resources/string_loader.php"
],
"psr-4": {
"Twig\\": "src/"
}
@@ -9286,7 +9271,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.8.0"
"source": "https://github.com/twigphp/Twig/tree/v3.10.3"
},
"funding": [
{
@@ -9298,7 +9283,7 @@
"type": "tidelift"
}
],
"time": "2023-11-21T18:54:41+00:00"
"time": "2024-05-16T10:04:27+00:00"
},
{
"name": "vlucas/phpdotenv",
@@ -11028,16 +11013,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.11.1",
"version": "1.11.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b"
"reference": "0d5d4294a70deb7547db655c47685d680e39cfec"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e524358f930e41a2b4cca1320e3b04fc26b39e0b",
"reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d5d4294a70deb7547db655c47685d680e39cfec",
"reference": "0d5d4294a70deb7547db655c47685d680e39cfec",
"shasum": ""
},
"require": {
@@ -11082,7 +11067,7 @@
"type": "github"
}
],
"time": "2024-05-15T08:00:59+00:00"
"time": "2024-05-24T13:23:04+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",

View File

@@ -117,8 +117,8 @@ return [
'expression_engine' => false,
// see cer.php for exchange rates feature flag.
],
'version' => 'develop/2024-05-16',
'api_version' => '2.0.14',
'version' => 'develop/2024-05-27',
'api_version' => '2.1.0',
'db_version' => 24,
// generic settings

View File

@@ -49,10 +49,12 @@ class AccountTypeSeeder extends Seeder
AccountType::LIABILITY_CREDIT,
];
foreach ($types as $type) {
try {
AccountType::create(['type' => $type]);
} catch (\PDOException $e) {
// @ignoreException
if (null === AccountType::where('type', $type)->first()) {
try {
AccountType::create(['type' => $type]);
} catch (\PDOException $e) {
// @ignoreException
}
}
}
}

View File

@@ -36,7 +36,7 @@ class ConfigSeeder extends Seeder
*/
public function run(): void
{
$entry = Configuration::where('name', 'db_version')->first();
$entry = Configuration::where('name', 'db_version')->first();
if (null === $entry) {
Configuration::create(
[
@@ -44,11 +44,11 @@ class ConfigSeeder extends Seeder
'data' => 1,
]
);
return;
}
if (null !== $entry) {
$version = (int)config('firefly.db_version');
$entry->data = $version;
$entry->save();
}
$version = (int) config('firefly.db_version');
$entry->data = $version;
$entry->save();
}
}

View File

@@ -60,10 +60,12 @@ class LinkTypeSeeder extends Seeder
],
];
foreach ($types as $type) {
try {
LinkType::create($type);
} catch (\PDOException $e) {
// @ignoreException
if (null === LinkType::where('name', $type['name'])->first()) {
try {
LinkType::create($type);
} catch (\PDOException $e) {
// @ignoreException
}
}
}
}

View File

@@ -46,10 +46,12 @@ class PermissionSeeder extends Seeder
],
];
foreach ($roles as $role) {
try {
Role::create($role);
} catch (\PDOException $e) {
// @ignoreException
if (null === Role::where('name', $role['name'])->first()) {
try {
Role::create($role);
} catch (\PDOException $e) {
// @ignoreException
}
}
}
}

View File

@@ -71,10 +71,12 @@ class TransactionCurrencySeeder extends Seeder
$currencies[] = ['code' => 'HRK', 'name' => 'Croatian kuna', 'symbol' => 'kn', 'decimal_places' => 2];
foreach ($currencies as $currency) {
try {
TransactionCurrency::create($currency);
} catch (\PDOException $e) {
// @ignoreException
if (null === TransactionCurrency::where('code', $currency['code'])->first()) {
try {
TransactionCurrency::create($currency);
} catch (\PDOException $e) {
// @ignoreException
}
}
}
}

View File

@@ -44,10 +44,12 @@ class TransactionTypeSeeder extends Seeder
];
foreach ($types as $type) {
try {
TransactionType::create(['type' => $type]);
} catch (\PDOException $e) {
// @ignoreException
if (null === TransactionType::where('type', $type)->first()) {
try {
TransactionType::create(['type' => $type]);
} catch (\PDOException $e) {
// @ignoreException
}
}
}
}

View File

@@ -45,10 +45,12 @@ class UserRoleSeeder extends Seeder
/** @var string $role */
foreach ($roles as $role) {
try {
UserRole::create(['title' => $role]);
} catch (\PDOException $e) {
// @ignoreException
if (null === UserRole::where('title', $role)->first()) {
try {
UserRole::create(['title' => $role]);
} catch (\PDOException $e) {
// @ignoreException
}
}
}
}

1235
package-lock.json generated

File diff suppressed because it is too large Load Diff

1
public/v2/i18n/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*.json

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "bg",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d \u043b\u0438 \u0435?",
"name": "\u0418\u043c\u0435",
"type": "\u0412\u0438\u0434",
"number": "Account number",
"liability_type": "\u0412\u0438\u0434 \u043d\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0435\u043d\u0438\u0435\u0442\u043e",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "\u0414\u044a\u043b\u0436\u0430 \u0434\u044a\u043b\u0433",
"liability_direction_credit_short": "\u0414\u044a\u043b\u0436\u044a\u0442 \u043c\u0438 \u0434\u044a\u043b\u0433",
"interest_calc_yearly": "\u0413\u043e\u0434\u0438\u0448\u043d\u043e",
"interest_calc_": "\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430",
"interest_calc_daily": "\u041d\u0430 \u0434\u0435\u043d",
"interest_calc_monthly": "\u041d\u0430 \u043c\u0435\u0441\u0435\u0446",
"interest_calc_weekly": "\u0421\u0435\u0434\u043c\u0438\u0447\u043d\u043e",
"interest_calc_half-year": "\u0417\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d \u0433\u043e\u0434\u0438\u043d\u0430",
"interest_calc_quarterly": "\u0417\u0430 \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
"spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438",
"paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\u041d\u0435\u043f\u043b\u0430\u0442\u0435\u043d\u0438",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Suscripciones en el grupo \"%{title}\"",
"subscr_expected_x_times": "Se debe pagar %{amount} %{times} veces este periodo",
"overspent": "\u041f\u0440\u0435\u0440\u0430\u0437\u0445\u043e\u0434",
"money_flowing_in": "\u0412\u0445\u043e\u0434\u044f\u0449\u0438",
"money_flowing_out": "\u0418\u0437\u0445\u043e\u0434\u044f\u0449\u0438",
"category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\u041f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435",
"Withdrawal": "\u0422\u0435\u0433\u043b\u0435\u043d\u0435",
"Deposit": "\u0414\u0435\u043f\u043e\u0437\u0438\u0442",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "\u0411\u044e\u0434\u0436\u0435\u0442",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "\u0414\u044a\u043b\u0433",
"account_type_Loan": "\u0417\u0430\u0435\u043c",
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
"account_role_defaultAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435",
"account_role_sharedAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0430\u043a\u0442\u0438\u0432\u0438",
"account_role_savingAsset": "\u0421\u043f\u0435\u0441\u0442\u043e\u0432\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
"account_role_ccAsset": "\u041a\u0440\u0435\u0434\u0438\u0442\u043d\u0430 \u043a\u0430\u0440\u0442\u0430",
"account_role_cashWalletAsset": "\u041f\u0430\u0440\u0438\u0447\u0435\u043d \u043f\u043e\u0440\u0442\u0444\u0435\u0439\u043b"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "bg",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d \u043b\u0438 \u0435?",
"name": "\u0418\u043c\u0435",
"type": "\u0412\u0438\u0434",
"number": "Account number",
"liability_type": "\u0412\u0438\u0434 \u043d\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0435\u043d\u0438\u0435\u0442\u043e",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "\u0414\u044a\u043b\u0436\u0430 \u0434\u044a\u043b\u0433",
"liability_direction_credit_short": "\u0414\u044a\u043b\u0436\u044a\u0442 \u043c\u0438 \u0434\u044a\u043b\u0433",
"interest_calc_yearly": "\u0413\u043e\u0434\u0438\u0448\u043d\u043e",
"interest_calc_": "\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430",
"interest_calc_daily": "\u041d\u0430 \u0434\u0435\u043d",
"interest_calc_monthly": "\u041d\u0430 \u043c\u0435\u0441\u0435\u0446",
"interest_calc_weekly": "\u0421\u0435\u0434\u043c\u0438\u0447\u043d\u043e",
"interest_calc_half-year": "\u0417\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d \u0433\u043e\u0434\u0438\u043d\u0430",
"interest_calc_quarterly": "\u0417\u0430 \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
"spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438",
"paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\u041d\u0435\u043f\u043b\u0430\u0442\u0435\u043d\u0438",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Suscripciones en el grupo \"%{title}\"",
"subscr_expected_x_times": "Se debe pagar %{amount} %{times} veces este periodo",
"overspent": "\u041f\u0440\u0435\u0440\u0430\u0437\u0445\u043e\u0434",
"money_flowing_in": "\u0412\u0445\u043e\u0434\u044f\u0449\u0438",
"money_flowing_out": "\u0418\u0437\u0445\u043e\u0434\u044f\u0449\u0438",
"category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\u041f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435",
"Withdrawal": "\u0422\u0435\u0433\u043b\u0435\u043d\u0435",
"Deposit": "\u0414\u0435\u043f\u043e\u0437\u0438\u0442",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "\u0411\u044e\u0434\u0436\u0435\u0442",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "\u0414\u044a\u043b\u0433",
"account_type_Loan": "\u0417\u0430\u0435\u043c",
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
"account_role_defaultAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435",
"account_role_sharedAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0430\u043a\u0442\u0438\u0432\u0438",
"account_role_savingAsset": "\u0421\u043f\u0435\u0441\u0442\u043e\u0432\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
"account_role_ccAsset": "\u041a\u0440\u0435\u0434\u0438\u0442\u043d\u0430 \u043a\u0430\u0440\u0442\u0430",
"account_role_cashWalletAsset": "\u041f\u0430\u0440\u0438\u0447\u0435\u043d \u043f\u043e\u0440\u0442\u0444\u0435\u0439\u043b"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "ca",
"date_time_fns": "D [de\/d'] MMMM yyyy [a les] HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "T\u00edtol"
},
"list": {
"drag_and_drop": "Arrossega i deixa anar",
"active": "Est\u00e0 actiu?",
"name": "Nom",
"type": "Tipus",
"number": "N\u00famero de compte",
"liability_type": "Tipus de passiu",
"current_balance": "Balan\u00e7 actual",
"last_activity": "Darrera activitat",
"amount_due": "Import pendent",
"balance_difference": "Difer\u00e8ncia de saldo",
"menu": "Men\u00fa"
},
"validation": {
"bad_type_source": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte font.",
"bad_type_destination": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte de dest\u00ed."
},
"firefly": {
"liability_direction_debit_short": "Ho dec",
"liability_direction_credit_short": "Se'm deu",
"interest_calc_yearly": "Per any",
"interest_calc_": "desconegut",
"interest_calc_daily": "Per dia",
"interest_calc_monthly": "Per mes",
"interest_calc_weekly": "Per setmana",
"interest_calc_half-year": "Cada mig any",
"interest_calc_quarterly": "Per quadrimestre",
"spent": "Gastat",
"administration_owner": "Propietari de l'administraci\u00f3: {{email}}",
"administration_you": "El teu rol: {{role}}",
"administration_role_owner": "Propietari",
"administration_role_ro": "Nom\u00e9s de lectura",
"administration_role_mng_trx": "Gestionar transaccions",
"administration_role_mng_meta": "Gestionar classificaci\u00f3 i meta-dades",
"administration_role_mng_budgets": "Gestionar pressupostos",
"administration_role_mng_piggies": "Administra guardioles",
"administration_role_mng_subscriptions": "Gestionar subscripcions",
"administration_role_mng_rules": "Gestionar normes",
"administration_role_mng_recurring": "Gestionar transaccions recurrents ",
"administration_role_mng_webhooks": "Gestionar Webhooks",
"administration_role_mng_currencies": "Gestionar divises",
"administration_role_view_reports": "Veure informes",
"administration_role_full": "Acc\u00e9s total",
"new_administration_created": "S'ha creat una nova administraci\u00f3 financera \"{{title}}\"",
"left": "Queda",
"paid": "Pagat",
"errors_submission_v2": "Hi ha hagut un error amb el teu enviament. Per favor, comprova els seg\u00fcents errors: {{errorMessage}}",
"unpaid": "Pendent de pagament",
"default_group_title_name_plain": "no agrupades",
"subscriptions_in_group": "Subscripcions al grup \"%{title}\"",
"subscr_expected_x_times": "S'espera que pagues %{amount} %{times} vegades aquest per\u00edode",
"overspent": "Gastat de m\u00e9s",
"money_flowing_in": "Entrant",
"money_flowing_out": "Eixint",
"category": "Categoria",
"unknown_category_plain": "Sense categoria",
"all_money": "Tots els teus diners",
"unknown_source_plain": "Compte font desconegut",
"unknown_dest_plain": "Compte de dest\u00ed desconegut",
"unknown_any_plain": "Compte desconegut",
"unknown_budget_plain": "Cap pressupost",
"stored_journal_js": "S'ha creat la transacci\u00f3 \"{{description}}\" correctament",
"wait_loading_transaction": "Per favor, espera que carregui el formulari",
"nothing_found": "(no s'ha trobat res)",
"wait_loading_data": "Per favor, espera que carregui la teva informaci\u00f3...",
"Transfer": "Transfer\u00e8ncia",
"Withdrawal": "Retirada",
"Deposit": "Ingr\u00e9s",
"expense_account": "Compte de despeses",
"revenue_account": "Compte d'ingressos",
"budget": "Pressupost",
"account_type_Asset account": "Compte d'actius",
"account_type_Expense account": "Compte de despeses",
"account_type_Revenue account": "Compte d'ingressos",
"account_type_Debt": "Deute",
"account_type_Loan": "Cr\u00e8dit",
"account_type_Mortgage": "Hipoteca",
"account_role_defaultAsset": "Compte d'actius per defecte",
"account_role_sharedAsset": "Compte d'actius compartit",
"account_role_savingAsset": "Compte d'estalvis",
"account_role_ccAsset": "Targeta de cr\u00e8dit",
"account_role_cashWalletAsset": "Cartera d'efectiu"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "ca",
"date_time_fns": "D [de\/d'] MMMM yyyy [a les] HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "T\u00edtol"
},
"list": {
"drag_and_drop": "Arrossega i deixa anar",
"active": "Est\u00e0 actiu?",
"name": "Nom",
"type": "Tipus",
"number": "N\u00famero de compte",
"liability_type": "Tipus de passiu",
"current_balance": "Balan\u00e7 actual",
"last_activity": "Darrera activitat",
"amount_due": "Import pendent",
"balance_difference": "Difer\u00e8ncia de saldo",
"menu": "Men\u00fa"
},
"validation": {
"bad_type_source": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte font.",
"bad_type_destination": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte de dest\u00ed."
},
"firefly": {
"liability_direction_debit_short": "Ho dec",
"liability_direction_credit_short": "Se'm deu",
"interest_calc_yearly": "Per any",
"interest_calc_": "desconegut",
"interest_calc_daily": "Per dia",
"interest_calc_monthly": "Per mes",
"interest_calc_weekly": "Per setmana",
"interest_calc_half-year": "Cada mig any",
"interest_calc_quarterly": "Per quadrimestre",
"spent": "Gastat",
"administration_owner": "Propietari de l'administraci\u00f3: {{email}}",
"administration_you": "El teu rol: {{role}}",
"administration_role_owner": "Propietari",
"administration_role_ro": "Nom\u00e9s de lectura",
"administration_role_mng_trx": "Gestionar transaccions",
"administration_role_mng_meta": "Gestionar classificaci\u00f3 i meta-dades",
"administration_role_mng_budgets": "Gestionar pressupostos",
"administration_role_mng_piggies": "Administra guardioles",
"administration_role_mng_subscriptions": "Gestionar subscripcions",
"administration_role_mng_rules": "Gestionar normes",
"administration_role_mng_recurring": "Gestionar transaccions recurrents ",
"administration_role_mng_webhooks": "Gestionar Webhooks",
"administration_role_mng_currencies": "Gestionar divises",
"administration_role_view_reports": "Veure informes",
"administration_role_full": "Acc\u00e9s total",
"new_administration_created": "S'ha creat una nova administraci\u00f3 financera \"{{title}}\"",
"left": "Queda",
"paid": "Pagat",
"errors_submission_v2": "Hi ha hagut un error amb el teu enviament. Per favor, comprova els seg\u00fcents errors: {{errorMessage}}",
"unpaid": "Pendent de pagament",
"default_group_title_name_plain": "no agrupades",
"subscriptions_in_group": "Subscripcions al grup \"%{title}\"",
"subscr_expected_x_times": "S'espera que pagues %{amount} %{times} vegades aquest per\u00edode",
"overspent": "Gastat de m\u00e9s",
"money_flowing_in": "Entrant",
"money_flowing_out": "Eixint",
"category": "Categoria",
"unknown_category_plain": "Sense categoria",
"all_money": "Tots els teus diners",
"unknown_source_plain": "Compte font desconegut",
"unknown_dest_plain": "Compte de dest\u00ed desconegut",
"unknown_any_plain": "Compte desconegut",
"unknown_budget_plain": "Cap pressupost",
"stored_journal_js": "S'ha creat la transacci\u00f3 \"{{description}}\" correctament",
"wait_loading_transaction": "Per favor, espera que carregui el formulari",
"nothing_found": "(no s'ha trobat res)",
"wait_loading_data": "Per favor, espera que carregui la teva informaci\u00f3...",
"Transfer": "Transfer\u00e8ncia",
"Withdrawal": "Retirada",
"Deposit": "Ingr\u00e9s",
"expense_account": "Compte de despeses",
"revenue_account": "Compte d'ingressos",
"budget": "Pressupost",
"account_type_Asset account": "Compte d'actius",
"account_type_Expense account": "Compte de despeses",
"account_type_Revenue account": "Compte d'ingressos",
"account_type_Debt": "Deute",
"account_type_Loan": "Cr\u00e8dit",
"account_type_Mortgage": "Hipoteca",
"account_role_defaultAsset": "Compte d'actius per defecte",
"account_role_sharedAsset": "Compte d'actius compartit",
"account_role_savingAsset": "Compte d'estalvis",
"account_role_ccAsset": "Targeta de cr\u00e8dit",
"account_role_cashWalletAsset": "Cartera d'efectiu"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "cs",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "N\u00e1zev"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktivn\u00ed?",
"name": "Jm\u00e9no",
"type": "Typ",
"number": "Account number",
"liability_type": "Typ z\u00e1vazku",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Za rok",
"interest_calc_": "nezn\u00e1m\u00e9",
"interest_calc_daily": "Za den",
"interest_calc_monthly": "Za m\u011bs\u00edc",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Utraceno",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Zb\u00fdv\u00e1",
"paid": "Zaplaceno",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Nezaplaceno",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "P\u0159ekro\u010deny v\u00fddaje",
"money_flowing_in": "Vstup",
"money_flowing_out": "V\u00fdstup",
"category": "Kategorie",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "P\u0159evod",
"Withdrawal": "V\u00fdb\u011br",
"Deposit": "Vklad",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Rozpo\u010det",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Dluh",
"account_type_Loan": "P\u016fj\u010dka",
"account_type_Mortgage": "Hypot\u00e9ka",
"account_role_defaultAsset": "V\u00fdchoz\u00ed \u00fa\u010det aktiv",
"account_role_sharedAsset": "Sd\u00edlen\u00fd \u00fa\u010det aktiv",
"account_role_savingAsset": "Spo\u0159ic\u00ed \u00fa\u010det",
"account_role_ccAsset": "Kreditn\u00ed karta",
"account_role_cashWalletAsset": "Pen\u011b\u017eenka"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "cs",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "N\u00e1zev"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktivn\u00ed?",
"name": "Jm\u00e9no",
"type": "Typ",
"number": "Account number",
"liability_type": "Typ z\u00e1vazku",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Za rok",
"interest_calc_": "nezn\u00e1m\u00e9",
"interest_calc_daily": "Za den",
"interest_calc_monthly": "Za m\u011bs\u00edc",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Utraceno",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Zb\u00fdv\u00e1",
"paid": "Zaplaceno",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Nezaplaceno",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "P\u0159ekro\u010deny v\u00fddaje",
"money_flowing_in": "Vstup",
"money_flowing_out": "V\u00fdstup",
"category": "Kategorie",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "P\u0159evod",
"Withdrawal": "V\u00fdb\u011br",
"Deposit": "Vklad",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Rozpo\u010det",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Dluh",
"account_type_Loan": "P\u016fj\u010dka",
"account_type_Mortgage": "Hypot\u00e9ka",
"account_role_defaultAsset": "V\u00fdchoz\u00ed \u00fa\u010det aktiv",
"account_role_sharedAsset": "Sd\u00edlen\u00fd \u00fa\u010det aktiv",
"account_role_savingAsset": "Spo\u0159ic\u00ed \u00fa\u010det",
"account_role_ccAsset": "Kreditn\u00ed karta",
"account_role_cashWalletAsset": "Pen\u011b\u017eenka"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "da",
"date_time_fns": "MMMM g\u00f8r, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Titel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktiv?",
"name": "Navn",
"type": "Type",
"number": "Account number",
"liability_type": "G\u00e6ldstype",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne kildekonto.",
"bad_type_destination": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne destinationskonto."
},
"firefly": {
"liability_direction_debit_short": "Ejer denne g\u00e6ld",
"liability_direction_credit_short": "Ejer denne g\u00e6ld",
"interest_calc_yearly": "Pr. \u00e5r",
"interest_calc_": "ukendt",
"interest_calc_daily": "Pr. dag",
"interest_calc_monthly": "Pr. m\u00e5ned",
"interest_calc_weekly": "Pr. uge",
"interest_calc_half-year": "Hvert halve \u00e5r",
"interest_calc_quarterly": "Pr. kvartal",
"spent": "Spent",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Left",
"paid": "Paid",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Ubetalt",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "In",
"money_flowing_out": "Ud",
"category": "Kategori",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Overf\u00f8rsel",
"Withdrawal": "H\u00e6vet",
"Deposit": "Indbetaling",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budget",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "G\u00e6ld",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Pant",
"account_role_defaultAsset": "Default asset account",
"account_role_sharedAsset": "Shared asset account",
"account_role_savingAsset": "Savings account",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "da",
"date_time_fns": "MMMM g\u00f8r, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Titel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktiv?",
"name": "Navn",
"type": "Type",
"number": "Account number",
"liability_type": "G\u00e6ldstype",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne kildekonto.",
"bad_type_destination": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne destinationskonto."
},
"firefly": {
"liability_direction_debit_short": "Ejer denne g\u00e6ld",
"liability_direction_credit_short": "Ejer denne g\u00e6ld",
"interest_calc_yearly": "Pr. \u00e5r",
"interest_calc_": "ukendt",
"interest_calc_daily": "Pr. dag",
"interest_calc_monthly": "Pr. m\u00e5ned",
"interest_calc_weekly": "Pr. uge",
"interest_calc_half-year": "Hvert halve \u00e5r",
"interest_calc_quarterly": "Pr. kvartal",
"spent": "Spent",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Left",
"paid": "Paid",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Ubetalt",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "In",
"money_flowing_out": "Ud",
"category": "Kategori",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Overf\u00f8rsel",
"Withdrawal": "H\u00e6vet",
"Deposit": "Indbetaling",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budget",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "G\u00e6ld",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Pant",
"account_role_defaultAsset": "Default asset account",
"account_role_sharedAsset": "Shared asset account",
"account_role_savingAsset": "Savings account",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "de",
"date_time_fns": "dd. MMM. yyyy um HH:mm:ss",
"month_and_day_fns": "D. MMMM Y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "dd. MMM. yyyy um HH:mm"
},
"form": {
"title": "Titel"
},
"list": {
"drag_and_drop": "Ziehen und Ablegen",
"active": "Aktiv?",
"name": "Name",
"type": "Typ",
"number": "Kontonummer",
"liability_type": "Verbindlichkeitsart",
"current_balance": "Aktueller Kontostand",
"last_activity": "Letzte Aktivit\u00e4t",
"amount_due": "F\u00e4lliger Betrag",
"balance_difference": "Saldendifferenz",
"menu": "Men\u00fc"
},
"validation": {
"bad_type_source": "Firefly III kann die Buchungsart anhand dieses Quellkontos nicht ermitteln.",
"bad_type_destination": "Firefly III kann die Buchungsart anhand dieses Zielkontos nicht ermitteln."
},
"firefly": {
"liability_direction_debit_short": "Schuldiger Betrag",
"liability_direction_credit_short": "Geschuldeter Betrag",
"interest_calc_yearly": "J\u00e4hrlich",
"interest_calc_": "Unbekannt",
"interest_calc_daily": "T\u00e4glich",
"interest_calc_monthly": "Monatlich",
"interest_calc_weekly": "Pro Woche",
"interest_calc_half-year": "Halbj\u00e4hrlich",
"interest_calc_quarterly": "Viertelj\u00e4hrlich",
"spent": "Ausgegeben",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Ihre Funktion: {{role}}",
"administration_role_owner": "Inhaber",
"administration_role_ro": "Schreibgesch\u00fctzt",
"administration_role_mng_trx": "Buchungen verwalten",
"administration_role_mng_meta": "Klassifizierungs- und Metadaten verwalten",
"administration_role_mng_budgets": "Budgets verwalten",
"administration_role_mng_piggies": "Sparschweine verwalten",
"administration_role_mng_subscriptions": "Abonnements verwalten",
"administration_role_mng_rules": "Regeln verwalten",
"administration_role_mng_recurring": "Dauerauftr\u00e4ge verwalten ",
"administration_role_mng_webhooks": "Webhooks verwalten",
"administration_role_mng_currencies": "W\u00e4hrungen verwalten",
"administration_role_view_reports": "Berichte anzeigen",
"administration_role_full": "Vollst\u00e4ndiger Zugriff",
"new_administration_created": "Neue Finanzverwaltung \u201e{{title}}\u201d wurde erstellt",
"left": "\u00dcbrig",
"paid": "Bezahlt",
"errors_submission_v2": "Bei Ihrer \u00dcbermittlung ist ein Fehler aufgetreten. Bitte \u00fcberpr\u00fcfen Sie die unten stehenden Fehler: {{errorMessage}}",
"unpaid": "Unbezahlt",
"default_group_title_name_plain": "ungruppiert",
"subscriptions_in_group": "Abonnements in Gruppe \"%{title}\"",
"subscr_expected_x_times": "Die Zahlung von %{amount} wird in diesem Zeitraum %{times}-mal erwartet",
"overspent": "Zuviel ausgegeben",
"money_flowing_in": "Eingehend",
"money_flowing_out": "Ausgehend",
"category": "Kategorie",
"unknown_category_plain": "Keine Kategorie",
"all_money": "All Ihr Geld",
"unknown_source_plain": "Unbekanntes Quellkonto",
"unknown_dest_plain": "Unbekanntes Zielkonto",
"unknown_any_plain": "Unbekanntes Konto",
"unknown_budget_plain": "Kein Budget",
"stored_journal_js": "Neue Buchung \u201e{{description}}\u201d erfolgreich erstellt",
"wait_loading_transaction": "Bitte warten Sie, bis das Formular geladen wurde",
"nothing_found": "(nichts gefunden)",
"wait_loading_data": "Bitte warten Sie, bis Ihre Informationen geladen wurden \u2026",
"Transfer": "Umbuchung",
"Withdrawal": "Ausgabe",
"Deposit": "Einnahme",
"expense_account": "Ausgabenkonto",
"revenue_account": "Einnahmekonto",
"budget": "Budget",
"account_type_Asset account": "Bestandskonto",
"account_type_Expense account": "Ausgabenkonto",
"account_type_Revenue account": "Einnahmenkonto",
"account_type_Debt": "Schuld",
"account_type_Loan": "Darlehen",
"account_type_Mortgage": "Hypothek",
"account_role_defaultAsset": "Standard-Bestandskonto",
"account_role_sharedAsset": "Gemeinsames Bestandskonto",
"account_role_savingAsset": "Sparkonto",
"account_role_ccAsset": "Kreditkarte",
"account_role_cashWalletAsset": "Geldb\u00f6rse"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "de",
"date_time_fns": "dd. MMM. yyyy um HH:mm:ss",
"month_and_day_fns": "D. MMMM Y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "dd. MMM. yyyy um HH:mm"
},
"form": {
"title": "Titel"
},
"list": {
"drag_and_drop": "Ziehen und Ablegen",
"active": "Aktiv?",
"name": "Name",
"type": "Typ",
"number": "Kontonummer",
"liability_type": "Verbindlichkeitsart",
"current_balance": "Aktueller Kontostand",
"last_activity": "Letzte Aktivit\u00e4t",
"amount_due": "F\u00e4lliger Betrag",
"balance_difference": "Saldendifferenz",
"menu": "Men\u00fc"
},
"validation": {
"bad_type_source": "Firefly III kann die Buchungsart anhand dieses Quellkontos nicht ermitteln.",
"bad_type_destination": "Firefly III kann die Buchungsart anhand dieses Zielkontos nicht ermitteln."
},
"firefly": {
"liability_direction_debit_short": "Schuldiger Betrag",
"liability_direction_credit_short": "Geschuldeter Betrag",
"interest_calc_yearly": "J\u00e4hrlich",
"interest_calc_": "Unbekannt",
"interest_calc_daily": "T\u00e4glich",
"interest_calc_monthly": "Monatlich",
"interest_calc_weekly": "Pro Woche",
"interest_calc_half-year": "Halbj\u00e4hrlich",
"interest_calc_quarterly": "Viertelj\u00e4hrlich",
"spent": "Ausgegeben",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Ihre Funktion: {{role}}",
"administration_role_owner": "Inhaber",
"administration_role_ro": "Schreibgesch\u00fctzt",
"administration_role_mng_trx": "Buchungen verwalten",
"administration_role_mng_meta": "Klassifizierungs- und Metadaten verwalten",
"administration_role_mng_budgets": "Budgets verwalten",
"administration_role_mng_piggies": "Sparschweine verwalten",
"administration_role_mng_subscriptions": "Abonnements verwalten",
"administration_role_mng_rules": "Regeln verwalten",
"administration_role_mng_recurring": "Dauerauftr\u00e4ge verwalten ",
"administration_role_mng_webhooks": "Webhooks verwalten",
"administration_role_mng_currencies": "W\u00e4hrungen verwalten",
"administration_role_view_reports": "Berichte anzeigen",
"administration_role_full": "Vollst\u00e4ndiger Zugriff",
"new_administration_created": "Neue Finanzverwaltung \u201e{{title}}\u201d wurde erstellt",
"left": "\u00dcbrig",
"paid": "Bezahlt",
"errors_submission_v2": "Bei Ihrer \u00dcbermittlung ist ein Fehler aufgetreten. Bitte \u00fcberpr\u00fcfen Sie die unten stehenden Fehler: {{errorMessage}}",
"unpaid": "Unbezahlt",
"default_group_title_name_plain": "ungruppiert",
"subscriptions_in_group": "Abonnements in Gruppe \"%{title}\"",
"subscr_expected_x_times": "Die Zahlung von %{amount} wird in diesem Zeitraum %{times}-mal erwartet",
"overspent": "Zuviel ausgegeben",
"money_flowing_in": "Eingehend",
"money_flowing_out": "Ausgehend",
"category": "Kategorie",
"unknown_category_plain": "Keine Kategorie",
"all_money": "All Ihr Geld",
"unknown_source_plain": "Unbekanntes Quellkonto",
"unknown_dest_plain": "Unbekanntes Zielkonto",
"unknown_any_plain": "Unbekanntes Konto",
"unknown_budget_plain": "Kein Budget",
"stored_journal_js": "Neue Buchung \u201e{{description}}\u201d erfolgreich erstellt",
"wait_loading_transaction": "Bitte warten Sie, bis das Formular geladen wurde",
"nothing_found": "(nichts gefunden)",
"wait_loading_data": "Bitte warten Sie, bis Ihre Informationen geladen wurden \u2026",
"Transfer": "Umbuchung",
"Withdrawal": "Ausgabe",
"Deposit": "Einnahme",
"expense_account": "Ausgabenkonto",
"revenue_account": "Einnahmekonto",
"budget": "Budget",
"account_type_Asset account": "Bestandskonto",
"account_type_Expense account": "Ausgabenkonto",
"account_type_Revenue account": "Einnahmenkonto",
"account_type_Debt": "Schuld",
"account_type_Loan": "Darlehen",
"account_type_Mortgage": "Hypothek",
"account_role_defaultAsset": "Standard-Bestandskonto",
"account_role_sharedAsset": "Gemeinsames Bestandskonto",
"account_role_savingAsset": "Sparkonto",
"account_role_ccAsset": "Kreditkarte",
"account_role_cashWalletAsset": "Geldb\u00f6rse"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "el",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u0395\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03cc;",
"name": "\u038c\u03bd\u03bf\u03bc\u03b1",
"type": "\u03a4\u03cd\u03c0\u03bf\u03c2",
"number": "Account number",
"liability_type": "\u03a4\u03cd\u03c0\u03bf\u03c2 \u03c5\u03c0\u03bf\u03c7\u03c1\u03ad\u03c9\u03c3\u03b7\u03c2",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2.",
"bad_type_destination": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd."
},
"firefly": {
"liability_direction_debit_short": "\u039f\u03c6\u03b5\u03af\u03bb\u03c9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c7\u03c1\u03ad\u03bf\u03c2",
"liability_direction_credit_short": "\u039c\u03bf\u03c5 \u03bf\u03c6\u03b5\u03af\u03bb\u03bf\u03c5\u03bd \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c7\u03c1\u03ad\u03bf\u03c2",
"interest_calc_yearly": "\u0391\u03bd\u03ac \u03ad\u03c4\u03bf\u03c2",
"interest_calc_": "\u03ac\u03b3\u03bd\u03c9\u03c3\u03c4\u03bf",
"interest_calc_daily": "\u0391\u03bd\u03ac \u03b7\u03bc\u03ad\u03c1\u03b1",
"interest_calc_monthly": "\u0391\u03bd\u03ac \u03bc\u03ae\u03bd\u03b1",
"interest_calc_weekly": "\u0391\u03bd\u03ac \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1",
"interest_calc_half-year": "\u0391\u03bd\u03ac \u03b5\u03be\u03ac\u03bc\u03b7\u03bd\u03bf",
"interest_calc_quarterly": "\u0391\u03bd\u03ac \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf",
"spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\u0391\u03c0\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5\u03bd",
"paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03bf",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\u0391\u03c0\u03bb\u03ae\u03c1\u03c9\u03c4\u03bf",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "\u03a5\u03c0\u03ad\u03c1\u03b2\u03b1\u03c3\u03b7 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ce\u03bd",
"money_flowing_in": "\u0395\u03b9\u03c3\u03c1\u03bf\u03ad\u03c2",
"money_flowing_out": "\u0395\u03ba\u03c1\u03bf\u03ad\u03c2",
"category": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\u039c\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac",
"Withdrawal": "\u0391\u03bd\u03ac\u03bb\u03b7\u03c8\u03b7",
"Deposit": "\u039a\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "\u03a0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc\u03c2",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "\u03a7\u03c1\u03ad\u03bf\u03c2",
"account_type_Loan": "\u0394\u03ac\u03bd\u03b5\u03b9\u03bf",
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7",
"account_role_defaultAsset": "\u0392\u03b1\u03c3\u03b9\u03ba\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
"account_role_sharedAsset": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
"account_role_savingAsset": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c0\u03bf\u03c4\u03b1\u03bc\u03af\u03b5\u03c5\u03c3\u03b7\u03c2",
"account_role_ccAsset": "\u03a0\u03b9\u03c3\u03c4\u03c9\u03c4\u03b9\u03ba\u03ae \u03ba\u03ac\u03c1\u03c4\u03b1",
"account_role_cashWalletAsset": "\u03a0\u03bf\u03c1\u03c4\u03bf\u03c6\u03cc\u03bb\u03b9 \u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ce\u03bd"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "el",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u0395\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03cc;",
"name": "\u038c\u03bd\u03bf\u03bc\u03b1",
"type": "\u03a4\u03cd\u03c0\u03bf\u03c2",
"number": "Account number",
"liability_type": "\u03a4\u03cd\u03c0\u03bf\u03c2 \u03c5\u03c0\u03bf\u03c7\u03c1\u03ad\u03c9\u03c3\u03b7\u03c2",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2.",
"bad_type_destination": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd."
},
"firefly": {
"liability_direction_debit_short": "\u039f\u03c6\u03b5\u03af\u03bb\u03c9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c7\u03c1\u03ad\u03bf\u03c2",
"liability_direction_credit_short": "\u039c\u03bf\u03c5 \u03bf\u03c6\u03b5\u03af\u03bb\u03bf\u03c5\u03bd \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c7\u03c1\u03ad\u03bf\u03c2",
"interest_calc_yearly": "\u0391\u03bd\u03ac \u03ad\u03c4\u03bf\u03c2",
"interest_calc_": "\u03ac\u03b3\u03bd\u03c9\u03c3\u03c4\u03bf",
"interest_calc_daily": "\u0391\u03bd\u03ac \u03b7\u03bc\u03ad\u03c1\u03b1",
"interest_calc_monthly": "\u0391\u03bd\u03ac \u03bc\u03ae\u03bd\u03b1",
"interest_calc_weekly": "\u0391\u03bd\u03ac \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1",
"interest_calc_half-year": "\u0391\u03bd\u03ac \u03b5\u03be\u03ac\u03bc\u03b7\u03bd\u03bf",
"interest_calc_quarterly": "\u0391\u03bd\u03ac \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf",
"spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\u0391\u03c0\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5\u03bd",
"paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03bf",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\u0391\u03c0\u03bb\u03ae\u03c1\u03c9\u03c4\u03bf",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "\u03a5\u03c0\u03ad\u03c1\u03b2\u03b1\u03c3\u03b7 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ce\u03bd",
"money_flowing_in": "\u0395\u03b9\u03c3\u03c1\u03bf\u03ad\u03c2",
"money_flowing_out": "\u0395\u03ba\u03c1\u03bf\u03ad\u03c2",
"category": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\u039c\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac",
"Withdrawal": "\u0391\u03bd\u03ac\u03bb\u03b7\u03c8\u03b7",
"Deposit": "\u039a\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "\u03a0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc\u03c2",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "\u03a7\u03c1\u03ad\u03bf\u03c2",
"account_type_Loan": "\u0394\u03ac\u03bd\u03b5\u03b9\u03bf",
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7",
"account_role_defaultAsset": "\u0392\u03b1\u03c3\u03b9\u03ba\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
"account_role_sharedAsset": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
"account_role_savingAsset": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c0\u03bf\u03c4\u03b1\u03bc\u03af\u03b5\u03c5\u03c3\u03b7\u03c2",
"account_role_ccAsset": "\u03a0\u03b9\u03c3\u03c4\u03c9\u03c4\u03b9\u03ba\u03ae \u03ba\u03ac\u03c1\u03c4\u03b1",
"account_role_cashWalletAsset": "\u03a0\u03bf\u03c1\u03c4\u03bf\u03c6\u03cc\u03bb\u03b9 \u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ce\u03bd"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "en-gb",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Title"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Is active?",
"name": "Name",
"type": "Type",
"number": "Account number",
"liability_type": "Type of liability",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Per year",
"interest_calc_": "unknown",
"interest_calc_daily": "Per day",
"interest_calc_monthly": "Per month",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Spent",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Left",
"paid": "Paid",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Unpaid",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "In",
"money_flowing_out": "Out",
"category": "Category",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Transfer",
"Withdrawal": "Withdrawal",
"Deposit": "Deposit",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budget",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Debt",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"account_role_defaultAsset": "Default asset account",
"account_role_sharedAsset": "Shared asset account",
"account_role_savingAsset": "Savings account",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "en",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Title"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Is active?",
"name": "Name",
"type": "Type",
"number": "Account number",
"liability_type": "Type of liability",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Per year",
"interest_calc_": "unknown",
"interest_calc_daily": "Per day",
"interest_calc_monthly": "Per month",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Spent",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Left",
"paid": "Paid",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Unpaid",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "In",
"money_flowing_out": "Out",
"category": "Category",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Transfer",
"Withdrawal": "Withdrawal",
"Deposit": "Deposit",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budget",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Debt",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"account_role_defaultAsset": "Default asset account",
"account_role_sharedAsset": "Shared asset account",
"account_role_savingAsset": "Savings account",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "en-gb",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Title"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Is active?",
"name": "Name",
"type": "Type",
"number": "Account number",
"liability_type": "Type of liability",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Per year",
"interest_calc_": "unknown",
"interest_calc_daily": "Per day",
"interest_calc_monthly": "Per month",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Spent",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Left",
"paid": "Paid",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Unpaid",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "In",
"money_flowing_out": "Out",
"category": "Category",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Transfer",
"Withdrawal": "Withdrawal",
"Deposit": "Deposit",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budget",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Debt",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"account_role_defaultAsset": "Default asset account",
"account_role_sharedAsset": "Shared asset account",
"account_role_savingAsset": "Savings account",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "en",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Title"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Is active?",
"name": "Name",
"type": "Type",
"number": "Account number",
"liability_type": "Type of liability",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Per year",
"interest_calc_": "unknown",
"interest_calc_daily": "Per day",
"interest_calc_monthly": "Per month",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Spent",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Left",
"paid": "Paid",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Unpaid",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "In",
"money_flowing_out": "Out",
"category": "Category",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Transfer",
"Withdrawal": "Withdrawal",
"Deposit": "Deposit",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budget",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Debt",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"account_role_defaultAsset": "Default asset account",
"account_role_sharedAsset": "Shared asset account",
"account_role_savingAsset": "Savings account",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "es",
"date_time_fns": "El MMMM hacer, yyyy a las HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "T\u00edtulo"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u00bfEst\u00e1 Activo?",
"name": "Nombre",
"type": "Tipo",
"number": "Account number",
"liability_type": "Tipo de pasivo",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III no puede determinar el tipo de transacci\u00f3n basado en esta cuenta de origen.",
"bad_type_destination": "Firefly III no puede determinar el tipo de transacci\u00f3n basado en esta cuenta de destino."
},
"firefly": {
"liability_direction_debit_short": "Tiene esta deuda",
"liability_direction_credit_short": "Ten\u00eda esta deuda",
"interest_calc_yearly": "Por a\u00f1o",
"interest_calc_": "desconocido",
"interest_calc_daily": "Por dia",
"interest_calc_monthly": "Por mes",
"interest_calc_weekly": "Por semana",
"interest_calc_half-year": "Por semestre",
"interest_calc_quarterly": "Por trimestre",
"spent": "Gastado",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Disponible",
"paid": "Pagado",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "No pagado",
"default_group_title_name_plain": "sin agrupar",
"subscriptions_in_group": "Suscripciones en el grupo \"%{title}\"",
"subscr_expected_x_times": "Se espera pagar %{amount} %{times} veces este periodo",
"overspent": "Sobrepasadas",
"money_flowing_in": "Entrada",
"money_flowing_out": "Salida",
"category": "Categoria",
"unknown_category_plain": "Sin categor\u00eda",
"all_money": "Todo tu dinero",
"unknown_source_plain": "Cuenta origen desconocida",
"unknown_dest_plain": "Direcci\u00f3n de destino desconocida",
"unknown_any_plain": "Cuenta desconocida",
"unknown_budget_plain": "Sin presupuesto",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Por favor, espere a que se cargue el formulario",
"nothing_found": "(no se encontr\u00f3 nada)",
"wait_loading_data": "Por favor, espere a que su informaci\u00f3n se cargue...",
"Transfer": "Transferencia",
"Withdrawal": "Gasto",
"Deposit": "Ingreso",
"expense_account": "Cuenta de gastos",
"revenue_account": "Cuenta de ingresos",
"budget": "Presupuesto",
"account_type_Asset account": "Cuenta de activos",
"account_type_Expense account": "Cuenta de gastos",
"account_type_Revenue account": "Cuenta de ingresos",
"account_type_Debt": "Deuda",
"account_type_Loan": "Pr\u00e9stamo",
"account_type_Mortgage": "Hipoteca",
"account_role_defaultAsset": "Cuentas de ingresos por defecto",
"account_role_sharedAsset": "Cuenta de ingresos compartida",
"account_role_savingAsset": "Cuentas de ahorros",
"account_role_ccAsset": "Tarjeta de Cr\u00e9dito",
"account_role_cashWalletAsset": "Billetera de efectivo"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "es",
"date_time_fns": "El MMMM hacer, yyyy a las HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "T\u00edtulo"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u00bfEst\u00e1 Activo?",
"name": "Nombre",
"type": "Tipo",
"number": "Account number",
"liability_type": "Tipo de pasivo",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III no puede determinar el tipo de transacci\u00f3n basado en esta cuenta de origen.",
"bad_type_destination": "Firefly III no puede determinar el tipo de transacci\u00f3n basado en esta cuenta de destino."
},
"firefly": {
"liability_direction_debit_short": "Tiene esta deuda",
"liability_direction_credit_short": "Ten\u00eda esta deuda",
"interest_calc_yearly": "Por a\u00f1o",
"interest_calc_": "desconocido",
"interest_calc_daily": "Por dia",
"interest_calc_monthly": "Por mes",
"interest_calc_weekly": "Por semana",
"interest_calc_half-year": "Por semestre",
"interest_calc_quarterly": "Por trimestre",
"spent": "Gastado",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Disponible",
"paid": "Pagado",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "No pagado",
"default_group_title_name_plain": "sin agrupar",
"subscriptions_in_group": "Suscripciones en el grupo \"%{title}\"",
"subscr_expected_x_times": "Se espera pagar %{amount} %{times} veces este periodo",
"overspent": "Sobrepasadas",
"money_flowing_in": "Entrada",
"money_flowing_out": "Salida",
"category": "Categoria",
"unknown_category_plain": "Sin categor\u00eda",
"all_money": "Todo tu dinero",
"unknown_source_plain": "Cuenta origen desconocida",
"unknown_dest_plain": "Direcci\u00f3n de destino desconocida",
"unknown_any_plain": "Cuenta desconocida",
"unknown_budget_plain": "Sin presupuesto",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Por favor, espere a que se cargue el formulario",
"nothing_found": "(no se encontr\u00f3 nada)",
"wait_loading_data": "Por favor, espere a que su informaci\u00f3n se cargue...",
"Transfer": "Transferencia",
"Withdrawal": "Gasto",
"Deposit": "Ingreso",
"expense_account": "Cuenta de gastos",
"revenue_account": "Cuenta de ingresos",
"budget": "Presupuesto",
"account_type_Asset account": "Cuenta de activos",
"account_type_Expense account": "Cuenta de gastos",
"account_type_Revenue account": "Cuenta de ingresos",
"account_type_Debt": "Deuda",
"account_type_Loan": "Pr\u00e9stamo",
"account_type_Mortgage": "Hipoteca",
"account_role_defaultAsset": "Cuentas de ingresos por defecto",
"account_role_sharedAsset": "Cuenta de ingresos compartida",
"account_role_savingAsset": "Cuentas de ahorros",
"account_role_ccAsset": "Tarjeta de Cr\u00e9dito",
"account_role_cashWalletAsset": "Billetera de efectivo"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "fi",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Otsikko"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktiivinen?",
"name": "Nimi",
"type": "Tyyppi",
"number": "Account number",
"liability_type": "Lainatyyppi",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Olen velkaa",
"liability_direction_credit_short": "Minulle ollaan velkaa",
"interest_calc_yearly": "Vuodessa",
"interest_calc_": "tuntematon",
"interest_calc_daily": "P\u00e4iv\u00e4ss\u00e4",
"interest_calc_monthly": "Kuukaudessa",
"interest_calc_weekly": "Viikossa",
"interest_calc_half-year": "Puolessa vuodessa",
"interest_calc_quarterly": "Nelj\u00e4nnest\u00e4 kohden",
"spent": "K\u00e4ytetty",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "J\u00e4ljell\u00e4",
"paid": "Maksettu",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Maksamatta",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Varojen ylitys",
"money_flowing_in": "Sis\u00e4\u00e4n",
"money_flowing_out": "Ulos",
"category": "Kategoria",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Siirto",
"Withdrawal": "Nosto",
"Deposit": "Talletus",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budjetti",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Velka",
"account_type_Loan": "Laina",
"account_type_Mortgage": "Kiinnelaina",
"account_role_defaultAsset": "Oletusk\u00e4ytt\u00f6tili",
"account_role_sharedAsset": "Jaettu k\u00e4ytt\u00f6tili",
"account_role_savingAsset": "S\u00e4\u00e4st\u00f6tili",
"account_role_ccAsset": "Luottokortti",
"account_role_cashWalletAsset": "K\u00e4teinen"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "fi",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Otsikko"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktiivinen?",
"name": "Nimi",
"type": "Tyyppi",
"number": "Account number",
"liability_type": "Lainatyyppi",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Olen velkaa",
"liability_direction_credit_short": "Minulle ollaan velkaa",
"interest_calc_yearly": "Vuodessa",
"interest_calc_": "tuntematon",
"interest_calc_daily": "P\u00e4iv\u00e4ss\u00e4",
"interest_calc_monthly": "Kuukaudessa",
"interest_calc_weekly": "Viikossa",
"interest_calc_half-year": "Puolessa vuodessa",
"interest_calc_quarterly": "Nelj\u00e4nnest\u00e4 kohden",
"spent": "K\u00e4ytetty",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "J\u00e4ljell\u00e4",
"paid": "Maksettu",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Maksamatta",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Varojen ylitys",
"money_flowing_in": "Sis\u00e4\u00e4n",
"money_flowing_out": "Ulos",
"category": "Kategoria",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Siirto",
"Withdrawal": "Nosto",
"Deposit": "Talletus",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budjetti",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Velka",
"account_type_Loan": "Laina",
"account_type_Mortgage": "Kiinnelaina",
"account_role_defaultAsset": "Oletusk\u00e4ytt\u00f6tili",
"account_role_sharedAsset": "Jaettu k\u00e4ytt\u00f6tili",
"account_role_savingAsset": "S\u00e4\u00e4st\u00f6tili",
"account_role_ccAsset": "Luottokortti",
"account_role_cashWalletAsset": "K\u00e4teinen"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "fr",
"date_time_fns": "do MMMM, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "do MMMM, yyyy @ HH:mm"
},
"form": {
"title": "Titre"
},
"list": {
"drag_and_drop": "Glisser-d\u00e9poser",
"active": "Actif ?",
"name": "Nom",
"type": "Type",
"number": "N\u00b0 de compte",
"liability_type": "Type de passif",
"current_balance": "Solde actuel",
"last_activity": "Activit\u00e9 r\u00e9cente",
"amount_due": "Montant d\u00fb",
"balance_difference": "Diff\u00e9rence de solde",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III ne peut pas d\u00e9terminer le type de transaction bas\u00e9 sur ce compte source.",
"bad_type_destination": "Firefly III ne peut pas d\u00e9terminer le type de transaction bas\u00e9 sur ce compte de destination."
},
"firefly": {
"liability_direction_debit_short": "Pr\u00eateur",
"liability_direction_credit_short": "Emprunteur",
"interest_calc_yearly": "Par an",
"interest_calc_": "inconnu",
"interest_calc_daily": "Par jour",
"interest_calc_monthly": "Par mois",
"interest_calc_weekly": "Par semaine",
"interest_calc_half-year": "Par semestre",
"interest_calc_quarterly": "Par trimestre",
"spent": "D\u00e9pens\u00e9",
"administration_owner": "Propri\u00e9taire de l'administration : {{email}}",
"administration_you": "Votre r\u00f4le : {{role}}",
"administration_role_owner": "Propri\u00e9taire",
"administration_role_ro": "Lecture seule",
"administration_role_mng_trx": "G\u00e9rer les op\u00e9rations",
"administration_role_mng_meta": "G\u00e9rer la classification et les m\u00e9tadonn\u00e9es",
"administration_role_mng_budgets": "G\u00e9rer les budgets",
"administration_role_mng_piggies": "G\u00e9rer les tirelires",
"administration_role_mng_subscriptions": "G\u00e9rer les abonnements",
"administration_role_mng_rules": "G\u00e9rer les r\u00e8gles",
"administration_role_mng_recurring": "G\u00e9rer les op\u00e9rations p\u00e9riodiques ",
"administration_role_mng_webhooks": "G\u00e9rer les webhooks",
"administration_role_mng_currencies": "G\u00e9rer les devises",
"administration_role_view_reports": "Afficher les rapports",
"administration_role_full": "Acc\u00e8s complet",
"new_administration_created": "La nouvelle administration financi\u00e8re \"{{title}}\" a \u00e9t\u00e9 cr\u00e9\u00e9e",
"left": "Reste",
"paid": "Pay\u00e9",
"errors_submission_v2": "Certaines informations ne sont pas correctes dans votre formulaire. Veuillez v\u00e9rifier les erreurs ci-dessous : {{errorMessage}}",
"unpaid": "Impay\u00e9",
"default_group_title_name_plain": "non group\u00e9",
"subscriptions_in_group": "Abonnements dans le groupe \"%{title}\"",
"subscr_expected_x_times": "%{amount} \u00e0 payer %{times} fois cette p\u00e9riode",
"overspent": "Trop d\u00e9pens\u00e9",
"money_flowing_in": "Entr\u00e9e",
"money_flowing_out": "Sortie",
"category": "Cat\u00e9gorie",
"unknown_category_plain": "Sans cat\u00e9gorie",
"all_money": "Tout votre argent",
"unknown_source_plain": "Compte source inconnu",
"unknown_dest_plain": "Compte de destination inconnu",
"unknown_any_plain": "Compte inconnu",
"unknown_budget_plain": "Pas de budget",
"stored_journal_js": "Op\u00e9ration \"{{description}}\" cr\u00e9\u00e9e avec succ\u00e8s",
"wait_loading_transaction": "Veuillez patienter pendant le chargement du formulaire",
"nothing_found": "(aucun r\u00e9sultat)",
"wait_loading_data": "Veuillez attendre que vos informations soient charg\u00e9es...",
"Transfer": "Transfert",
"Withdrawal": "D\u00e9pense",
"Deposit": "D\u00e9p\u00f4t",
"expense_account": "Compte de d\u00e9penses",
"revenue_account": "Compte de recettes",
"budget": "Budget",
"account_type_Asset account": "Compte d\u2019actif",
"account_type_Expense account": "Compte de d\u00e9penses",
"account_type_Revenue account": "Compte de recettes",
"account_type_Debt": "Dette",
"account_type_Loan": "Pr\u00eat",
"account_type_Mortgage": "Pr\u00eat hypoth\u00e9caire",
"account_role_defaultAsset": "Compte d'actif par d\u00e9faut",
"account_role_sharedAsset": "Compte d'actif partag\u00e9",
"account_role_savingAsset": "Compte d\u2019\u00e9pargne",
"account_role_ccAsset": "Carte de cr\u00e9dit",
"account_role_cashWalletAsset": "Porte-monnaie"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "fr",
"date_time_fns": "do MMMM, yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "do MMMM, yyyy @ HH:mm"
},
"form": {
"title": "Titre"
},
"list": {
"drag_and_drop": "Glisser-d\u00e9poser",
"active": "Actif ?",
"name": "Nom",
"type": "Type",
"number": "N\u00b0 de compte",
"liability_type": "Type de passif",
"current_balance": "Solde actuel",
"last_activity": "Activit\u00e9 r\u00e9cente",
"amount_due": "Montant d\u00fb",
"balance_difference": "Diff\u00e9rence de solde",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III ne peut pas d\u00e9terminer le type de transaction bas\u00e9 sur ce compte source.",
"bad_type_destination": "Firefly III ne peut pas d\u00e9terminer le type de transaction bas\u00e9 sur ce compte de destination."
},
"firefly": {
"liability_direction_debit_short": "Pr\u00eateur",
"liability_direction_credit_short": "Emprunteur",
"interest_calc_yearly": "Par an",
"interest_calc_": "inconnu",
"interest_calc_daily": "Par jour",
"interest_calc_monthly": "Par mois",
"interest_calc_weekly": "Par semaine",
"interest_calc_half-year": "Par semestre",
"interest_calc_quarterly": "Par trimestre",
"spent": "D\u00e9pens\u00e9",
"administration_owner": "Propri\u00e9taire de l'administration : {{email}}",
"administration_you": "Votre r\u00f4le : {{role}}",
"administration_role_owner": "Propri\u00e9taire",
"administration_role_ro": "Lecture seule",
"administration_role_mng_trx": "G\u00e9rer les op\u00e9rations",
"administration_role_mng_meta": "G\u00e9rer la classification et les m\u00e9tadonn\u00e9es",
"administration_role_mng_budgets": "G\u00e9rer les budgets",
"administration_role_mng_piggies": "G\u00e9rer les tirelires",
"administration_role_mng_subscriptions": "G\u00e9rer les abonnements",
"administration_role_mng_rules": "G\u00e9rer les r\u00e8gles",
"administration_role_mng_recurring": "G\u00e9rer les op\u00e9rations p\u00e9riodiques ",
"administration_role_mng_webhooks": "G\u00e9rer les webhooks",
"administration_role_mng_currencies": "G\u00e9rer les devises",
"administration_role_view_reports": "Afficher les rapports",
"administration_role_full": "Acc\u00e8s complet",
"new_administration_created": "La nouvelle administration financi\u00e8re \"{{title}}\" a \u00e9t\u00e9 cr\u00e9\u00e9e",
"left": "Reste",
"paid": "Pay\u00e9",
"errors_submission_v2": "Certaines informations ne sont pas correctes dans votre formulaire. Veuillez v\u00e9rifier les erreurs ci-dessous : {{errorMessage}}",
"unpaid": "Impay\u00e9",
"default_group_title_name_plain": "non group\u00e9",
"subscriptions_in_group": "Abonnements dans le groupe \"%{title}\"",
"subscr_expected_x_times": "%{amount} \u00e0 payer %{times} fois cette p\u00e9riode",
"overspent": "Trop d\u00e9pens\u00e9",
"money_flowing_in": "Entr\u00e9e",
"money_flowing_out": "Sortie",
"category": "Cat\u00e9gorie",
"unknown_category_plain": "Sans cat\u00e9gorie",
"all_money": "Tout votre argent",
"unknown_source_plain": "Compte source inconnu",
"unknown_dest_plain": "Compte de destination inconnu",
"unknown_any_plain": "Compte inconnu",
"unknown_budget_plain": "Pas de budget",
"stored_journal_js": "Op\u00e9ration \"{{description}}\" cr\u00e9\u00e9e avec succ\u00e8s",
"wait_loading_transaction": "Veuillez patienter pendant le chargement du formulaire",
"nothing_found": "(aucun r\u00e9sultat)",
"wait_loading_data": "Veuillez attendre que vos informations soient charg\u00e9es...",
"Transfer": "Transfert",
"Withdrawal": "D\u00e9pense",
"Deposit": "D\u00e9p\u00f4t",
"expense_account": "Compte de d\u00e9penses",
"revenue_account": "Compte de recettes",
"budget": "Budget",
"account_type_Asset account": "Compte d\u2019actif",
"account_type_Expense account": "Compte de d\u00e9penses",
"account_type_Revenue account": "Compte de recettes",
"account_type_Debt": "Dette",
"account_type_Loan": "Pr\u00eat",
"account_type_Mortgage": "Pr\u00eat hypoth\u00e9caire",
"account_role_defaultAsset": "Compte d'actif par d\u00e9faut",
"account_role_sharedAsset": "Compte d'actif partag\u00e9",
"account_role_savingAsset": "Compte d\u2019\u00e9pargne",
"account_role_ccAsset": "Carte de cr\u00e9dit",
"account_role_cashWalletAsset": "Porte-monnaie"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "hu",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "HHHH n, \u00e9",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "C\u00edm"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Akt\u00edv?",
"name": "N\u00e9v",
"type": "T\u00edpus",
"number": "Account number",
"liability_type": "A k\u00f6telezetts\u00e9g t\u00edpusa",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "A Firefly III nem tudja eld\u00f6nteni a tranzakci\u00f3 t\u00edpus\u00e1t a forr\u00e1ssz\u00e1mla alapj\u00e1n.",
"bad_type_destination": "A Firefly III nem tudja eld\u00f6nteni a tranzakci\u00f3 t\u00edpus\u00e1t a c\u00e9lsz\u00e1mla alapj\u00e1n."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "\u00c9vente",
"interest_calc_": "ismeretlen",
"interest_calc_daily": "Naponta",
"interest_calc_monthly": "Havonta",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Elk\u00f6lt\u00f6tt",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Maradv\u00e1ny",
"paid": "Kifizetve",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Nincs fizetve",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "T\u00falk\u00f6lt\u00f6tt",
"money_flowing_in": "Be",
"money_flowing_out": "Ki",
"category": "Kateg\u00f3ria",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "\"{{description}}\" \u00faj tranzakci\u00f3 sikeresen l\u00e9trehozva",
"wait_loading_transaction": "K\u00e9rlek v\u00e1rj az \u0171rlap bet\u00f6lt\u00e9s\u00e9ig",
"nothing_found": "(nincs tal\u00e1lat)",
"wait_loading_data": "K\u00e9rlek v\u00e1rj am\u00edg bet\u00f6ltj\u00fck az adatokat...",
"Transfer": "\u00c1tvezet\u00e9s",
"Withdrawal": "K\u00f6lts\u00e9g",
"Deposit": "Bev\u00e9tel",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "K\u00f6lts\u00e9gkeret",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Ad\u00f3ss\u00e1g",
"account_type_Loan": "Hitel",
"account_type_Mortgage": "Jelz\u00e1log",
"account_role_defaultAsset": "Alap\u00e9rtelmezett eszk\u00f6zsz\u00e1mla",
"account_role_sharedAsset": "Megosztott eszk\u00f6zsz\u00e1mla",
"account_role_savingAsset": "Megtakar\u00edt\u00e1si sz\u00e1mla",
"account_role_ccAsset": "Hitelk\u00e1rtya",
"account_role_cashWalletAsset": "K\u00e9szp\u00e9nz"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "hu",
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
"month_and_day_fns": "HHHH n, \u00e9",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "C\u00edm"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Akt\u00edv?",
"name": "N\u00e9v",
"type": "T\u00edpus",
"number": "Account number",
"liability_type": "A k\u00f6telezetts\u00e9g t\u00edpusa",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "A Firefly III nem tudja eld\u00f6nteni a tranzakci\u00f3 t\u00edpus\u00e1t a forr\u00e1ssz\u00e1mla alapj\u00e1n.",
"bad_type_destination": "A Firefly III nem tudja eld\u00f6nteni a tranzakci\u00f3 t\u00edpus\u00e1t a c\u00e9lsz\u00e1mla alapj\u00e1n."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "\u00c9vente",
"interest_calc_": "ismeretlen",
"interest_calc_daily": "Naponta",
"interest_calc_monthly": "Havonta",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Elk\u00f6lt\u00f6tt",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Maradv\u00e1ny",
"paid": "Kifizetve",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Nincs fizetve",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "T\u00falk\u00f6lt\u00f6tt",
"money_flowing_in": "Be",
"money_flowing_out": "Ki",
"category": "Kateg\u00f3ria",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "\"{{description}}\" \u00faj tranzakci\u00f3 sikeresen l\u00e9trehozva",
"wait_loading_transaction": "K\u00e9rlek v\u00e1rj az \u0171rlap bet\u00f6lt\u00e9s\u00e9ig",
"nothing_found": "(nincs tal\u00e1lat)",
"wait_loading_data": "K\u00e9rlek v\u00e1rj am\u00edg bet\u00f6ltj\u00fck az adatokat...",
"Transfer": "\u00c1tvezet\u00e9s",
"Withdrawal": "K\u00f6lts\u00e9g",
"Deposit": "Bev\u00e9tel",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "K\u00f6lts\u00e9gkeret",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Ad\u00f3ss\u00e1g",
"account_type_Loan": "Hitel",
"account_type_Mortgage": "Jelz\u00e1log",
"account_role_defaultAsset": "Alap\u00e9rtelmezett eszk\u00f6zsz\u00e1mla",
"account_role_sharedAsset": "Megosztott eszk\u00f6zsz\u00e1mla",
"account_role_savingAsset": "Megtakar\u00edt\u00e1si sz\u00e1mla",
"account_role_ccAsset": "Hitelk\u00e1rtya",
"account_role_cashWalletAsset": "K\u00e9szp\u00e9nz"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "id",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Judul"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktif?",
"name": "Nama",
"type": "Jenis",
"number": "Account number",
"liability_type": "Jenis kewajiban",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Per year",
"interest_calc_": "unknown",
"interest_calc_daily": "Per day",
"interest_calc_monthly": "Per month",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Menghabiskan",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Kiri",
"paid": "Dibayar",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Tidak dibayar",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "Dalam",
"money_flowing_out": "Keluar",
"category": "Kategori",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Transfer",
"Withdrawal": "Penarikan",
"Deposit": "Deposit",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Anggaran",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Debt",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"account_role_defaultAsset": "Akun aset standar",
"account_role_sharedAsset": "Akun aset bersama",
"account_role_savingAsset": "Rekening tabungan",
"account_role_ccAsset": "Kartu kredit",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "id",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Judul"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Aktif?",
"name": "Nama",
"type": "Jenis",
"number": "Account number",
"liability_type": "Jenis kewajiban",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Owed this debt",
"interest_calc_yearly": "Per year",
"interest_calc_": "unknown",
"interest_calc_daily": "Per day",
"interest_calc_monthly": "Per month",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Per quarter",
"spent": "Menghabiskan",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Kiri",
"paid": "Dibayar",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Tidak dibayar",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "Overspent",
"money_flowing_in": "Dalam",
"money_flowing_out": "Keluar",
"category": "Kategori",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Transfer",
"Withdrawal": "Penarikan",
"Deposit": "Deposit",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Anggaran",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Debt",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"account_role_defaultAsset": "Akun aset standar",
"account_role_sharedAsset": "Akun aset bersama",
"account_role_savingAsset": "Rekening tabungan",
"account_role_ccAsset": "Kartu kredit",
"account_role_cashWalletAsset": "Cash wallet"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "it",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "do MMMM yyyy @ HH:mm"
},
"form": {
"title": "Titolo"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Attivo",
"name": "Nome",
"type": "Tipo",
"number": "Account number",
"liability_type": "Tipo di passivit\u00e0",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III non pu\u00f2 determinare il tipo di transazione in base a questo account sorgente.",
"bad_type_destination": "Firefly III non pu\u00f2 determinare il tipo di transazione in base a questo account di destinazione."
},
"firefly": {
"liability_direction_debit_short": "Devo questo debito",
"liability_direction_credit_short": "Mi devono questo debito",
"interest_calc_yearly": "All'anno",
"interest_calc_": "sconosciuto",
"interest_calc_daily": "Al giorno",
"interest_calc_monthly": "Al mese",
"interest_calc_weekly": "Settimanale",
"interest_calc_half-year": "Semestrale",
"interest_calc_quarterly": "Trimestrale",
"spent": "Speso",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Proprietario",
"administration_role_ro": "Sola lettura",
"administration_role_mng_trx": "Gestisci le transazioni",
"administration_role_mng_meta": "Gestisci classificazione e meta-dati",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Resto",
"paid": "Pagati",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Da pagare",
"default_group_title_name_plain": "non raggruppato",
"subscriptions_in_group": "Abbonamenti nel gruppo \"%{title}\"",
"subscr_expected_x_times": "Prevedi di pagare %{amount} %{times} volte in questo periodo",
"overspent": "Speso troppo",
"money_flowing_in": "Entrate",
"money_flowing_out": "Uscite",
"category": "Categoria",
"unknown_category_plain": "Nessuna categoria",
"all_money": "Tutto il tuo denaro",
"unknown_source_plain": "Conto d'origine sconosciuto",
"unknown_dest_plain": "Conto di destinazione sconosciuto",
"unknown_any_plain": "Conto sconosciuto",
"unknown_budget_plain": "Nessun budget",
"stored_journal_js": "Nuova transazione \"{{description}} \" creata con successo",
"wait_loading_transaction": "Attendi il caricamento del modello",
"nothing_found": "(nessun risultato)",
"wait_loading_data": "Ti preghiamo di attendere il caricamento delle tue informazioni...",
"Transfer": "Trasferimento",
"Withdrawal": "Prelievo",
"Deposit": "Entrata",
"expense_account": "Conto di spese",
"revenue_account": "Conto di entrate",
"budget": "Budget",
"account_type_Asset account": "Conto di risorse",
"account_type_Expense account": "Conto di spesa",
"account_type_Revenue account": "Conto di entrate",
"account_type_Debt": "Debito",
"account_type_Loan": "Prestito",
"account_type_Mortgage": "Mutuo",
"account_role_defaultAsset": "Conto attivit\u00e0 predefinito",
"account_role_sharedAsset": "Conto attivit\u00e0 condiviso",
"account_role_savingAsset": "Conto risparmio",
"account_role_ccAsset": "Carta di credito",
"account_role_cashWalletAsset": "Portafoglio"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "it",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "do MMMM yyyy @ HH:mm"
},
"form": {
"title": "Titolo"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Attivo",
"name": "Nome",
"type": "Tipo",
"number": "Account number",
"liability_type": "Tipo di passivit\u00e0",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III non pu\u00f2 determinare il tipo di transazione in base a questo account sorgente.",
"bad_type_destination": "Firefly III non pu\u00f2 determinare il tipo di transazione in base a questo account di destinazione."
},
"firefly": {
"liability_direction_debit_short": "Devo questo debito",
"liability_direction_credit_short": "Mi devono questo debito",
"interest_calc_yearly": "All'anno",
"interest_calc_": "sconosciuto",
"interest_calc_daily": "Al giorno",
"interest_calc_monthly": "Al mese",
"interest_calc_weekly": "Settimanale",
"interest_calc_half-year": "Semestrale",
"interest_calc_quarterly": "Trimestrale",
"spent": "Speso",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Proprietario",
"administration_role_ro": "Sola lettura",
"administration_role_mng_trx": "Gestisci le transazioni",
"administration_role_mng_meta": "Gestisci classificazione e meta-dati",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Resto",
"paid": "Pagati",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Da pagare",
"default_group_title_name_plain": "non raggruppato",
"subscriptions_in_group": "Abbonamenti nel gruppo \"%{title}\"",
"subscr_expected_x_times": "Prevedi di pagare %{amount} %{times} volte in questo periodo",
"overspent": "Speso troppo",
"money_flowing_in": "Entrate",
"money_flowing_out": "Uscite",
"category": "Categoria",
"unknown_category_plain": "Nessuna categoria",
"all_money": "Tutto il tuo denaro",
"unknown_source_plain": "Conto d'origine sconosciuto",
"unknown_dest_plain": "Conto di destinazione sconosciuto",
"unknown_any_plain": "Conto sconosciuto",
"unknown_budget_plain": "Nessun budget",
"stored_journal_js": "Nuova transazione \"{{description}} \" creata con successo",
"wait_loading_transaction": "Attendi il caricamento del modello",
"nothing_found": "(nessun risultato)",
"wait_loading_data": "Ti preghiamo di attendere il caricamento delle tue informazioni...",
"Transfer": "Trasferimento",
"Withdrawal": "Prelievo",
"Deposit": "Entrata",
"expense_account": "Conto di spese",
"revenue_account": "Conto di entrate",
"budget": "Budget",
"account_type_Asset account": "Conto di risorse",
"account_type_Expense account": "Conto di spesa",
"account_type_Revenue account": "Conto di entrate",
"account_type_Debt": "Debito",
"account_type_Loan": "Prestito",
"account_type_Mortgage": "Mutuo",
"account_role_defaultAsset": "Conto attivit\u00e0 predefinito",
"account_role_sharedAsset": "Conto attivit\u00e0 condiviso",
"account_role_savingAsset": "Conto risparmio",
"account_role_ccAsset": "Carta di credito",
"account_role_cashWalletAsset": "Portafoglio"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "ja",
"date_time_fns": "yyyy\u5e74MMMM\u6708do\u65e5 HH:mm:ss",
"month_and_day_fns": "y\u5e74 MMMM d\u65e5",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\u30bf\u30a4\u30c8\u30eb"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u6709\u52b9",
"name": "\u540d\u79f0",
"type": "\u7a2e\u5225",
"number": "Account number",
"liability_type": "\u50b5\u52d9\u7a2e\u5225",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "\u3053\u306e\u8ca0\u50b5\u3092\u8ca0\u3046",
"liability_direction_credit_short": "\u3053\u306e\u8ca0\u50b5\u3092\u8ca0\u3063\u3066\u3044\u308b",
"interest_calc_yearly": "1\u5e74\u3042\u305f\u308a",
"interest_calc_": "\u4e0d\u660e",
"interest_calc_daily": "1\u65e5\u3042\u305f\u308a",
"interest_calc_monthly": "1\u30f6\u6708\u3042\u305f\u308a",
"interest_calc_weekly": "1\u9031\u3042\u305f\u308a",
"interest_calc_half-year": "\u534a\u5e74\u3042\u305f\u308a",
"interest_calc_quarterly": "\u56db\u534a\u671f\u3042\u305f\u308a",
"spent": "\u652f\u51fa",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\u6b8b\u308a",
"paid": "\u652f\u6255\u3044\u6e08\u307f",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\u672a\u6255\u3044",
"default_group_title_name_plain": "\u30b0\u30eb\u30fc\u30d7\u89e3\u9664",
"subscriptions_in_group": "\u30b0\u30eb\u30fc\u30d7\u300c%{title}\u300d\u306e\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3",
"subscr_expected_x_times": "\u3053\u306e\u671f\u9593\u306b %{amount} %{times} \u56de\u306e\u652f\u6255\u3044\u3092\u4e88\u5b9a",
"overspent": "\u4f7f\u3044\u3059\u304e",
"money_flowing_in": "\u5165",
"money_flowing_out": "\u51fa",
"category": "\u30ab\u30c6\u30b4\u30ea",
"unknown_category_plain": "\u30ab\u30c6\u30b4\u30ea\u306a\u3057",
"all_money": "\u3059\u3079\u3066\u306e\u304a\u91d1",
"unknown_source_plain": "\u4e0d\u660e\u306a\u5f15\u304d\u51fa\u3057\u53e3\u5ea7",
"unknown_dest_plain": "\u4e0d\u660e\u306a\u9810\u3051\u5165\u308c\u53e3\u5ea7",
"unknown_any_plain": "\u4e0d\u660e\u306a\u53e3\u5ea7",
"unknown_budget_plain": "\u4e88\u7b97\u306a\u3057",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\u9001\u91d1",
"Withdrawal": "\u51fa\u91d1",
"Deposit": "\u9810\u91d1",
"expense_account": "\u652f\u51fa\u53e3\u5ea7",
"revenue_account": "\u53ce\u5165\u53e3\u5ea7",
"budget": "\u4e88\u7b97",
"account_type_Asset account": "\u8cc7\u7523\u53e3\u5ea7",
"account_type_Expense account": "\u652f\u51fa\u53e3\u5ea7",
"account_type_Revenue account": "\u53ce\u5165\u53e3\u5ea7",
"account_type_Debt": "\u501f\u91d1",
"account_type_Loan": "\u30ed\u30fc\u30f3",
"account_type_Mortgage": "\u4f4f\u5b85\u30ed\u30fc\u30f3",
"account_role_defaultAsset": "\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8cc7\u7523\u53e3\u5ea7",
"account_role_sharedAsset": "\u5171\u6709\u8cc7\u7523\u53e3\u5ea7",
"account_role_savingAsset": "\u8caf\u84c4\u53e3\u5ea7",
"account_role_ccAsset": "\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9",
"account_role_cashWalletAsset": "\u73fe\u91d1"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "ja",
"date_time_fns": "yyyy\u5e74MMMM\u6708do\u65e5 HH:mm:ss",
"month_and_day_fns": "y\u5e74 MMMM d\u65e5",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\u30bf\u30a4\u30c8\u30eb"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\u6709\u52b9",
"name": "\u540d\u79f0",
"type": "\u7a2e\u5225",
"number": "Account number",
"liability_type": "\u50b5\u52d9\u7a2e\u5225",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "\u3053\u306e\u8ca0\u50b5\u3092\u8ca0\u3046",
"liability_direction_credit_short": "\u3053\u306e\u8ca0\u50b5\u3092\u8ca0\u3063\u3066\u3044\u308b",
"interest_calc_yearly": "1\u5e74\u3042\u305f\u308a",
"interest_calc_": "\u4e0d\u660e",
"interest_calc_daily": "1\u65e5\u3042\u305f\u308a",
"interest_calc_monthly": "1\u30f6\u6708\u3042\u305f\u308a",
"interest_calc_weekly": "1\u9031\u3042\u305f\u308a",
"interest_calc_half-year": "\u534a\u5e74\u3042\u305f\u308a",
"interest_calc_quarterly": "\u56db\u534a\u671f\u3042\u305f\u308a",
"spent": "\u652f\u51fa",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\u6b8b\u308a",
"paid": "\u652f\u6255\u3044\u6e08\u307f",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\u672a\u6255\u3044",
"default_group_title_name_plain": "\u30b0\u30eb\u30fc\u30d7\u89e3\u9664",
"subscriptions_in_group": "\u30b0\u30eb\u30fc\u30d7\u300c%{title}\u300d\u306e\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3",
"subscr_expected_x_times": "\u3053\u306e\u671f\u9593\u306b %{amount} %{times} \u56de\u306e\u652f\u6255\u3044\u3092\u4e88\u5b9a",
"overspent": "\u4f7f\u3044\u3059\u304e",
"money_flowing_in": "\u5165",
"money_flowing_out": "\u51fa",
"category": "\u30ab\u30c6\u30b4\u30ea",
"unknown_category_plain": "\u30ab\u30c6\u30b4\u30ea\u306a\u3057",
"all_money": "\u3059\u3079\u3066\u306e\u304a\u91d1",
"unknown_source_plain": "\u4e0d\u660e\u306a\u5f15\u304d\u51fa\u3057\u53e3\u5ea7",
"unknown_dest_plain": "\u4e0d\u660e\u306a\u9810\u3051\u5165\u308c\u53e3\u5ea7",
"unknown_any_plain": "\u4e0d\u660e\u306a\u53e3\u5ea7",
"unknown_budget_plain": "\u4e88\u7b97\u306a\u3057",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\u9001\u91d1",
"Withdrawal": "\u51fa\u91d1",
"Deposit": "\u9810\u91d1",
"expense_account": "\u652f\u51fa\u53e3\u5ea7",
"revenue_account": "\u53ce\u5165\u53e3\u5ea7",
"budget": "\u4e88\u7b97",
"account_type_Asset account": "\u8cc7\u7523\u53e3\u5ea7",
"account_type_Expense account": "\u652f\u51fa\u53e3\u5ea7",
"account_type_Revenue account": "\u53ce\u5165\u53e3\u5ea7",
"account_type_Debt": "\u501f\u91d1",
"account_type_Loan": "\u30ed\u30fc\u30f3",
"account_type_Mortgage": "\u4f4f\u5b85\u30ed\u30fc\u30f3",
"account_role_defaultAsset": "\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8cc7\u7523\u53e3\u5ea7",
"account_role_sharedAsset": "\u5171\u6709\u8cc7\u7523\u53e3\u5ea7",
"account_role_savingAsset": "\u8caf\u84c4\u53e3\u5ea7",
"account_role_ccAsset": "\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9",
"account_role_cashWalletAsset": "\u73fe\u91d1"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "ko",
"date_time_fns": "YYYY\ub144 M\uc6d4 D\uc77c HH:mm:ss",
"month_and_day_fns": "y\ub144 MMMM d\uc77c",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\uc81c\ubaa9"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\ud65c\uc131 \uc0c1\ud0dc\uc785\ub2c8\uae4c?",
"name": "\uc774\ub984",
"type": "\uc720\ud615",
"number": "Account number",
"liability_type": "\ubd80\ucc44 \uc720\ud615",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "\uc774 \ube5a\uc744 \uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4",
"liability_direction_credit_short": "\uc774 \ube5a\uc744 \uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4",
"interest_calc_yearly": "\uc5f0\uac04",
"interest_calc_": "\uc54c \uc218 \uc5c6\uc74c",
"interest_calc_daily": "\uc77c\ubcc4",
"interest_calc_monthly": "\uc6d4\ubcc4",
"interest_calc_weekly": "\uc8fc\ub2f9",
"interest_calc_half-year": "\ubc18\uae30\ub2f9",
"interest_calc_quarterly": "\ubd84\uae30\ub2f9",
"spent": "\uc9c0\ucd9c",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\ub0a8\uc74c",
"paid": "\uc9c0\ubd88\ub428",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\ubbf8\uc9c0\ubd88",
"default_group_title_name_plain": "\uadf8\ub8f9 \ud574\uc81c\ub428",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "\ucd08\uacfc \uc9c0\ucd9c",
"money_flowing_in": "\ub4e4\uc5b4\uc634",
"money_flowing_out": "\ub098\uac10",
"category": "\uce74\ud14c\uace0\ub9ac",
"unknown_category_plain": "\uce74\ud14c\uace0\ub9ac \uc5c6\uc74c",
"all_money": "\ubaa8\ub4e0 \ub3c8",
"unknown_source_plain": "\uc54c \uc218 \uc5c6\ub294 \uc18c\uc2a4 \uacc4\uc815",
"unknown_dest_plain": "\uc54c \uc218 \uc5c6\ub294 \ub300\uc0c1 \uacc4\uc815",
"unknown_any_plain": "\uc54c \uc218 \uc5c6\ub294 \uacc4\uc815",
"unknown_budget_plain": "\uc608\uc0b0 \uc5c6\uc74c",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\uc774\uccb4",
"Withdrawal": "\ucd9c\uae08",
"Deposit": "\uc785\uae08",
"expense_account": "\uc9c0\ucd9c \uacc4\uc815",
"revenue_account": "\uc218\uc775 \uacc4\uc815",
"budget": "\uc608\uc0b0",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "\ub300\ucd9c",
"account_type_Loan": "\ube5a",
"account_type_Mortgage": "\ubaa8\uae30\uc9c0",
"account_role_defaultAsset": "\uae30\ubcf8 \uc790\uc0b0 \uacc4\uc815",
"account_role_sharedAsset": "\uacf5\uc720 \uc790\uc0b0 \uacc4\uc815",
"account_role_savingAsset": "\uc608\uae08 \uacc4\uc88c",
"account_role_ccAsset": "\uc2e0\uc6a9\uce74\ub4dc",
"account_role_cashWalletAsset": "\ud604\uae08 \uc9c0\uac11"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "ko",
"date_time_fns": "YYYY\ub144 M\uc6d4 D\uc77c HH:mm:ss",
"month_and_day_fns": "y\ub144 MMMM d\uc77c",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "\uc81c\ubaa9"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "\ud65c\uc131 \uc0c1\ud0dc\uc785\ub2c8\uae4c?",
"name": "\uc774\ub984",
"type": "\uc720\ud615",
"number": "Account number",
"liability_type": "\ubd80\ucc44 \uc720\ud615",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "\uc774 \ube5a\uc744 \uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4",
"liability_direction_credit_short": "\uc774 \ube5a\uc744 \uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4",
"interest_calc_yearly": "\uc5f0\uac04",
"interest_calc_": "\uc54c \uc218 \uc5c6\uc74c",
"interest_calc_daily": "\uc77c\ubcc4",
"interest_calc_monthly": "\uc6d4\ubcc4",
"interest_calc_weekly": "\uc8fc\ub2f9",
"interest_calc_half-year": "\ubc18\uae30\ub2f9",
"interest_calc_quarterly": "\ubd84\uae30\ub2f9",
"spent": "\uc9c0\ucd9c",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "\ub0a8\uc74c",
"paid": "\uc9c0\ubd88\ub428",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "\ubbf8\uc9c0\ubd88",
"default_group_title_name_plain": "\uadf8\ub8f9 \ud574\uc81c\ub428",
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
"subscr_expected_x_times": "Expect to pay %{amount} %{times} times this period",
"overspent": "\ucd08\uacfc \uc9c0\ucd9c",
"money_flowing_in": "\ub4e4\uc5b4\uc634",
"money_flowing_out": "\ub098\uac10",
"category": "\uce74\ud14c\uace0\ub9ac",
"unknown_category_plain": "\uce74\ud14c\uace0\ub9ac \uc5c6\uc74c",
"all_money": "\ubaa8\ub4e0 \ub3c8",
"unknown_source_plain": "\uc54c \uc218 \uc5c6\ub294 \uc18c\uc2a4 \uacc4\uc815",
"unknown_dest_plain": "\uc54c \uc218 \uc5c6\ub294 \ub300\uc0c1 \uacc4\uc815",
"unknown_any_plain": "\uc54c \uc218 \uc5c6\ub294 \uacc4\uc815",
"unknown_budget_plain": "\uc608\uc0b0 \uc5c6\uc74c",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "\uc774\uccb4",
"Withdrawal": "\ucd9c\uae08",
"Deposit": "\uc785\uae08",
"expense_account": "\uc9c0\ucd9c \uacc4\uc815",
"revenue_account": "\uc218\uc775 \uacc4\uc815",
"budget": "\uc608\uc0b0",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "\ub300\ucd9c",
"account_type_Loan": "\ube5a",
"account_type_Mortgage": "\ubaa8\uae30\uc9c0",
"account_role_defaultAsset": "\uae30\ubcf8 \uc790\uc0b0 \uacc4\uc815",
"account_role_sharedAsset": "\uacf5\uc720 \uc790\uc0b0 \uacc4\uc815",
"account_role_savingAsset": "\uc608\uae08 \uacc4\uc88c",
"account_role_ccAsset": "\uc2e0\uc6a9\uce74\ub4dc",
"account_role_cashWalletAsset": "\ud604\uae08 \uc9c0\uac11"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "nb",
"date_time_fns": "do MMMM, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Tittel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Er aktiv?",
"name": "Navn",
"type": "Type",
"number": "Account number",
"liability_type": "Type gjeld",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Skylder denne gjelden",
"liability_direction_credit_short": "Jeg skuldet denne gjelden",
"interest_calc_yearly": "Per \u00e5r",
"interest_calc_": "ukjent",
"interest_calc_daily": "Per dag",
"interest_calc_monthly": "Per m\u00e5ned",
"interest_calc_weekly": "Per uke",
"interest_calc_half-year": "Per halv\u00e5r",
"interest_calc_quarterly": "Per kvartal",
"spent": "Brukt",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Gjenv\u00e6rende",
"paid": "Betalt",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Ikke betalt",
"default_group_title_name_plain": "ikke gruppert",
"subscriptions_in_group": "Abonnementer i gruppe \"%{title}\"",
"subscr_expected_x_times": "Forvent \u00e5 betale %{amount}, %{times} ganger denne perioden",
"overspent": "Overforbruk",
"money_flowing_in": "Inn",
"money_flowing_out": "Ut",
"category": "Kategori",
"unknown_category_plain": "Ingen kategori",
"all_money": "Alle pengene dine",
"unknown_source_plain": "Ukjent kilde-konto",
"unknown_dest_plain": "Ukjent destinasjonskonto",
"unknown_any_plain": "Ukjent konto",
"unknown_budget_plain": "Mangler budsjett",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Overf\u00f8ring",
"Withdrawal": "Uttak",
"Deposit": "Innskudd",
"expense_account": "Utgiftskonto",
"revenue_account": "Inntektskonto",
"budget": "Budsjett",
"account_type_Asset account": "Aktivakonto",
"account_type_Expense account": "Utgiftskonto",
"account_type_Revenue account": "Inntektskonto",
"account_type_Debt": "Gjeld",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Boligl\u00e5n",
"account_role_defaultAsset": "Standard aktivakonto",
"account_role_sharedAsset": "Delt aktivakonto",
"account_role_savingAsset": "Sparekonto",
"account_role_ccAsset": "Kredittkort",
"account_role_cashWalletAsset": "Kontant lommebok"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "nb",
"date_time_fns": "do MMMM, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Tittel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Er aktiv?",
"name": "Navn",
"type": "Type",
"number": "Account number",
"liability_type": "Type gjeld",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Skylder denne gjelden",
"liability_direction_credit_short": "Jeg skuldet denne gjelden",
"interest_calc_yearly": "Per \u00e5r",
"interest_calc_": "ukjent",
"interest_calc_daily": "Per dag",
"interest_calc_monthly": "Per m\u00e5ned",
"interest_calc_weekly": "Per uke",
"interest_calc_half-year": "Per halv\u00e5r",
"interest_calc_quarterly": "Per kvartal",
"spent": "Brukt",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Gjenv\u00e6rende",
"paid": "Betalt",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Ikke betalt",
"default_group_title_name_plain": "ikke gruppert",
"subscriptions_in_group": "Abonnementer i gruppe \"%{title}\"",
"subscr_expected_x_times": "Forvent \u00e5 betale %{amount}, %{times} ganger denne perioden",
"overspent": "Overforbruk",
"money_flowing_in": "Inn",
"money_flowing_out": "Ut",
"category": "Kategori",
"unknown_category_plain": "Ingen kategori",
"all_money": "Alle pengene dine",
"unknown_source_plain": "Ukjent kilde-konto",
"unknown_dest_plain": "Ukjent destinasjonskonto",
"unknown_any_plain": "Ukjent konto",
"unknown_budget_plain": "Mangler budsjett",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Overf\u00f8ring",
"Withdrawal": "Uttak",
"Deposit": "Innskudd",
"expense_account": "Utgiftskonto",
"revenue_account": "Inntektskonto",
"budget": "Budsjett",
"account_type_Asset account": "Aktivakonto",
"account_type_Expense account": "Utgiftskonto",
"account_type_Revenue account": "Inntektskonto",
"account_type_Debt": "Gjeld",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Boligl\u00e5n",
"account_role_defaultAsset": "Standard aktivakonto",
"account_role_sharedAsset": "Delt aktivakonto",
"account_role_savingAsset": "Sparekonto",
"account_role_ccAsset": "Kredittkort",
"account_role_cashWalletAsset": "Kontant lommebok"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "nl",
"date_time_fns": "d MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "d MMMM yyyy @ HH:mm"
},
"form": {
"title": "Titel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Actief?",
"name": "Naam",
"type": "Type",
"number": "Account number",
"liability_type": "Type passiva",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III kan het transactietype niet bepalen op basis van deze bronrekening.",
"bad_type_destination": "Firefly III kan het transactietype niet bepalen op basis van deze doelrekening."
},
"firefly": {
"liability_direction_debit_short": "Schuldenaar",
"liability_direction_credit_short": "Schuldeiser",
"interest_calc_yearly": "Per jaar",
"interest_calc_": "onbekend",
"interest_calc_daily": "Per dag",
"interest_calc_monthly": "Per maand",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half jaar",
"interest_calc_quarterly": "Per kwartaal",
"spent": "Uitgegeven",
"administration_owner": "Grootboekeigenaar: {{email}}",
"administration_you": "Jouw rol: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Over",
"paid": "Betaald",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Niet betaald",
"default_group_title_name_plain": "ongegroepeerd",
"subscriptions_in_group": "Abonnementen in groep \"%{title}\"",
"subscr_expected_x_times": "Verwacht %{amount} %{times} keer te betalen in deze periode",
"overspent": "Teveel uitgegeven",
"money_flowing_in": "In",
"money_flowing_out": "Uit",
"category": "Categorie",
"unknown_category_plain": "Geen categorie",
"all_money": "Al je geld",
"unknown_source_plain": "Onbekend bronrekening",
"unknown_dest_plain": "Onbekende doelrekening",
"unknown_any_plain": "Onbekende rekening",
"unknown_budget_plain": "Geen budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Wacht even tot het formulier geladen is",
"nothing_found": "(niets gevonden)",
"wait_loading_data": "Wacht even tot de gegevens er zijn...",
"Transfer": "Overschrijving",
"Withdrawal": "Uitgave",
"Deposit": "Inkomsten",
"expense_account": "Crediteur",
"revenue_account": "Debiteur",
"budget": "Budget",
"account_type_Asset account": "Betaalrekening",
"account_type_Expense account": "Crediteur",
"account_type_Revenue account": "Debiteur",
"account_type_Debt": "Schuld",
"account_type_Loan": "Lening",
"account_type_Mortgage": "Hypotheek",
"account_role_defaultAsset": "Standaard betaalrekening",
"account_role_sharedAsset": "Gedeelde betaalrekening",
"account_role_savingAsset": "Spaarrekening",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "nl",
"date_time_fns": "d MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "d MMMM yyyy @ HH:mm"
},
"form": {
"title": "Titel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Actief?",
"name": "Naam",
"type": "Type",
"number": "Account number",
"liability_type": "Type passiva",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III kan het transactietype niet bepalen op basis van deze bronrekening.",
"bad_type_destination": "Firefly III kan het transactietype niet bepalen op basis van deze doelrekening."
},
"firefly": {
"liability_direction_debit_short": "Schuldenaar",
"liability_direction_credit_short": "Schuldeiser",
"interest_calc_yearly": "Per jaar",
"interest_calc_": "onbekend",
"interest_calc_daily": "Per dag",
"interest_calc_monthly": "Per maand",
"interest_calc_weekly": "Per week",
"interest_calc_half-year": "Per half jaar",
"interest_calc_quarterly": "Per kwartaal",
"spent": "Uitgegeven",
"administration_owner": "Grootboekeigenaar: {{email}}",
"administration_you": "Jouw rol: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Over",
"paid": "Betaald",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Niet betaald",
"default_group_title_name_plain": "ongegroepeerd",
"subscriptions_in_group": "Abonnementen in groep \"%{title}\"",
"subscr_expected_x_times": "Verwacht %{amount} %{times} keer te betalen in deze periode",
"overspent": "Teveel uitgegeven",
"money_flowing_in": "In",
"money_flowing_out": "Uit",
"category": "Categorie",
"unknown_category_plain": "Geen categorie",
"all_money": "Al je geld",
"unknown_source_plain": "Onbekend bronrekening",
"unknown_dest_plain": "Onbekende doelrekening",
"unknown_any_plain": "Onbekende rekening",
"unknown_budget_plain": "Geen budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Wacht even tot het formulier geladen is",
"nothing_found": "(niets gevonden)",
"wait_loading_data": "Wacht even tot de gegevens er zijn...",
"Transfer": "Overschrijving",
"Withdrawal": "Uitgave",
"Deposit": "Inkomsten",
"expense_account": "Crediteur",
"revenue_account": "Debiteur",
"budget": "Budget",
"account_type_Asset account": "Betaalrekening",
"account_type_Expense account": "Crediteur",
"account_type_Revenue account": "Debiteur",
"account_type_Debt": "Schuld",
"account_type_Loan": "Lening",
"account_type_Mortgage": "Hypotheek",
"account_role_defaultAsset": "Standaard betaalrekening",
"account_role_sharedAsset": "Gedeelde betaalrekening",
"account_role_savingAsset": "Spaarrekening",
"account_role_ccAsset": "Credit card",
"account_role_cashWalletAsset": "Cash"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "nn",
"date_time_fns": "do MMMM, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Tittel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Er aktiv?",
"name": "Namn",
"type": "Type",
"number": "Account number",
"liability_type": "Type gjeld",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Jeg skuldet denne gjelda",
"interest_calc_yearly": "Per \u00e5r",
"interest_calc_": "ukjent",
"interest_calc_daily": "Per dag",
"interest_calc_monthly": "Per m\u00e5nad",
"interest_calc_weekly": "Per veke",
"interest_calc_half-year": "Per halv\u00e5r",
"interest_calc_quarterly": "Per kvartal",
"spent": "Brukt",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Att",
"paid": "Betalt",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Ikke betalt",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Abonnement i gruppa \u00ab%{title}\u00bb",
"subscr_expected_x_times": "Forvent \u00e5 betal %{amount} %{times} gonger denne perioden",
"overspent": "Overforbruk",
"money_flowing_in": "Inn",
"money_flowing_out": "Ut",
"category": "Kategori",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Overf\u00f8ring",
"Withdrawal": "Uttak",
"Deposit": "Innskudd",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budsjett",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Gjeld",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Boligl\u00e5n",
"account_role_defaultAsset": "Standard aktivakonto",
"account_role_sharedAsset": "Delt aktivakonto",
"account_role_savingAsset": "Sparekonto",
"account_role_ccAsset": "Kredittkort",
"account_role_cashWalletAsset": "Kontant lommebok"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "nn",
"date_time_fns": "do MMMM, yyyy @ HH:mm:ss",
"month_and_day_fns": "MMMM d, y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
},
"form": {
"title": "Tittel"
},
"list": {
"drag_and_drop": "Drag and drop",
"active": "Er aktiv?",
"name": "Namn",
"type": "Type",
"number": "Account number",
"liability_type": "Type gjeld",
"current_balance": "Current balance",
"last_activity": "Last activity",
"amount_due": "Amount due",
"balance_difference": "Balance difference",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Owe this debt",
"liability_direction_credit_short": "Jeg skuldet denne gjelda",
"interest_calc_yearly": "Per \u00e5r",
"interest_calc_": "ukjent",
"interest_calc_daily": "Per dag",
"interest_calc_monthly": "Per m\u00e5nad",
"interest_calc_weekly": "Per veke",
"interest_calc_half-year": "Per halv\u00e5r",
"interest_calc_quarterly": "Per kvartal",
"spent": "Brukt",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Att",
"paid": "Betalt",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Ikke betalt",
"default_group_title_name_plain": "ungrouped",
"subscriptions_in_group": "Abonnement i gruppa \u00ab%{title}\u00bb",
"subscr_expected_x_times": "Forvent \u00e5 betal %{amount} %{times} gonger denne perioden",
"overspent": "Overforbruk",
"money_flowing_in": "Inn",
"money_flowing_out": "Ut",
"category": "Kategori",
"unknown_category_plain": "No category",
"all_money": "All your money",
"unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account",
"unknown_any_plain": "Unknown account",
"unknown_budget_plain": "No budget",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Please wait for the form to load",
"nothing_found": "(nothing found)",
"wait_loading_data": "Please wait for your information to load...",
"Transfer": "Overf\u00f8ring",
"Withdrawal": "Uttak",
"Deposit": "Innskudd",
"expense_account": "Expense account",
"revenue_account": "Revenue account",
"budget": "Budsjett",
"account_type_Asset account": "Asset account",
"account_type_Expense account": "Expense account",
"account_type_Revenue account": "Revenue account",
"account_type_Debt": "Gjeld",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Boligl\u00e5n",
"account_role_defaultAsset": "Standard aktivakonto",
"account_role_sharedAsset": "Delt aktivakonto",
"account_role_savingAsset": "Sparekonto",
"account_role_ccAsset": "Kredittkort",
"account_role_cashWalletAsset": "Kontant lommebok"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "pl",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "D MMMM yyyy [o] HH:mm"
},
"form": {
"title": "Tytu\u0142"
},
"list": {
"drag_and_drop": "Przeci\u0105gnij i upu\u015b\u0107",
"active": "Jest aktywny?",
"name": "Nazwa",
"type": "Typ",
"number": "Numer konta",
"liability_type": "Rodzaj zobowi\u0105zania",
"current_balance": "Bie\u017c\u0105ce saldo",
"last_activity": "Ostatnia aktywno\u015b\u0107",
"amount_due": "Do zap\u0142aty",
"balance_difference": "R\u00f3\u017cnica salda",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Jeste\u015b d\u0142u\u017cny",
"liability_direction_credit_short": "D\u0142ug wobec Ciebie",
"interest_calc_yearly": "Co rok",
"interest_calc_": "nieznany",
"interest_calc_daily": "Co dzie\u0144",
"interest_calc_monthly": "Co miesi\u0105c",
"interest_calc_weekly": "Tygodniowo",
"interest_calc_half-year": "Co p\u00f3\u0142 roku",
"interest_calc_quarterly": "Kwartalnie",
"spent": "Wydano",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Twoja rola: {{role}}",
"administration_role_owner": "W\u0142a\u015bciciel",
"administration_role_ro": "Tylko odczyt",
"administration_role_mng_trx": "Zarz\u0105dzanie transakcjami",
"administration_role_mng_meta": "Zarz\u0105dzanie klasyfikacj\u0105 i meta-danymi",
"administration_role_mng_budgets": "Zarz\u0105dzanie bud\u017cetami",
"administration_role_mng_piggies": "Zarz\u0105dzanie skarbonkami",
"administration_role_mng_subscriptions": "Zarz\u0105dzanie subskrypcjami",
"administration_role_mng_rules": "Zarz\u0105dzanie regu\u0142ami",
"administration_role_mng_recurring": "Zarz\u0105dzanie transakcjami cyklicznymi ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Zarz\u0105dzanie walutami",
"administration_role_view_reports": "Przegl\u0105danie raport\u00f3w",
"administration_role_full": "Pe\u0142ny dost\u0119p",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Pozosta\u0142o",
"paid": "Zap\u0142acone",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Niezap\u0142acone",
"default_group_title_name_plain": "bez grupy",
"subscriptions_in_group": "Subskrypcje w grupie \"%{title}\"",
"subscr_expected_x_times": "Oczekuje zap\u0142aty %{amount} %{times} razy w tym okresie",
"overspent": "Przep\u0142acono",
"money_flowing_in": "Przychodz\u0105ce",
"money_flowing_out": "Wychodz\u0105ce",
"category": "Kategoria",
"unknown_category_plain": "Brak kategorii",
"all_money": "Wszystkie Twoje pieni\u0105dze",
"unknown_source_plain": "Nieznane konto \u017ar\u00f3d\u0142owe",
"unknown_dest_plain": "Nieznane konto docelowe",
"unknown_any_plain": "Nieznane konto",
"unknown_budget_plain": "Brak bud\u017cetu",
"stored_journal_js": "Pomy\u015blnie utworzono now\u0105 transakcj\u0119 \"{{description}}\"",
"wait_loading_transaction": "Poczekaj na za\u0142adowanie formularza",
"nothing_found": "(nic nie znaleziono)",
"wait_loading_data": "Prosz\u0119 poczeka\u0107 na za\u0142adowanie informacji...",
"Transfer": "Transfer",
"Withdrawal": "Wyp\u0142ata",
"Deposit": "Wp\u0142ata",
"expense_account": "Konto wydatk\u00f3w",
"revenue_account": "Konto przychod\u00f3w",
"budget": "Bud\u017cet",
"account_type_Asset account": "Konto aktyw\u00f3w",
"account_type_Expense account": "Konto wydatk\u00f3w",
"account_type_Revenue account": "Konto przychod\u00f3w",
"account_type_Debt": "D\u0142ug",
"account_type_Loan": "Po\u017cyczka",
"account_type_Mortgage": "Hipoteka",
"account_role_defaultAsset": "Domy\u015blne konto aktyw\u00f3w",
"account_role_sharedAsset": "Wsp\u00f3\u0142dzielone konto aktyw\u00f3w",
"account_role_savingAsset": "Konto oszcz\u0119dno\u015bciowe",
"account_role_ccAsset": "Karta kredytowa",
"account_role_cashWalletAsset": "Portfel got\u00f3wkowy"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "pl",
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "D MMMM yyyy [o] HH:mm"
},
"form": {
"title": "Tytu\u0142"
},
"list": {
"drag_and_drop": "Przeci\u0105gnij i upu\u015b\u0107",
"active": "Jest aktywny?",
"name": "Nazwa",
"type": "Typ",
"number": "Numer konta",
"liability_type": "Rodzaj zobowi\u0105zania",
"current_balance": "Bie\u017c\u0105ce saldo",
"last_activity": "Ostatnia aktywno\u015b\u0107",
"amount_due": "Do zap\u0142aty",
"balance_difference": "R\u00f3\u017cnica salda",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
},
"firefly": {
"liability_direction_debit_short": "Jeste\u015b d\u0142u\u017cny",
"liability_direction_credit_short": "D\u0142ug wobec Ciebie",
"interest_calc_yearly": "Co rok",
"interest_calc_": "nieznany",
"interest_calc_daily": "Co dzie\u0144",
"interest_calc_monthly": "Co miesi\u0105c",
"interest_calc_weekly": "Tygodniowo",
"interest_calc_half-year": "Co p\u00f3\u0142 roku",
"interest_calc_quarterly": "Kwartalnie",
"spent": "Wydano",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Twoja rola: {{role}}",
"administration_role_owner": "W\u0142a\u015bciciel",
"administration_role_ro": "Tylko odczyt",
"administration_role_mng_trx": "Zarz\u0105dzanie transakcjami",
"administration_role_mng_meta": "Zarz\u0105dzanie klasyfikacj\u0105 i meta-danymi",
"administration_role_mng_budgets": "Zarz\u0105dzanie bud\u017cetami",
"administration_role_mng_piggies": "Zarz\u0105dzanie skarbonkami",
"administration_role_mng_subscriptions": "Zarz\u0105dzanie subskrypcjami",
"administration_role_mng_rules": "Zarz\u0105dzanie regu\u0142ami",
"administration_role_mng_recurring": "Zarz\u0105dzanie transakcjami cyklicznymi ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Zarz\u0105dzanie walutami",
"administration_role_view_reports": "Przegl\u0105danie raport\u00f3w",
"administration_role_full": "Pe\u0142ny dost\u0119p",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Pozosta\u0142o",
"paid": "Zap\u0142acone",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Niezap\u0142acone",
"default_group_title_name_plain": "bez grupy",
"subscriptions_in_group": "Subskrypcje w grupie \"%{title}\"",
"subscr_expected_x_times": "Oczekuje zap\u0142aty %{amount} %{times} razy w tym okresie",
"overspent": "Przep\u0142acono",
"money_flowing_in": "Przychodz\u0105ce",
"money_flowing_out": "Wychodz\u0105ce",
"category": "Kategoria",
"unknown_category_plain": "Brak kategorii",
"all_money": "Wszystkie Twoje pieni\u0105dze",
"unknown_source_plain": "Nieznane konto \u017ar\u00f3d\u0142owe",
"unknown_dest_plain": "Nieznane konto docelowe",
"unknown_any_plain": "Nieznane konto",
"unknown_budget_plain": "Brak bud\u017cetu",
"stored_journal_js": "Pomy\u015blnie utworzono now\u0105 transakcj\u0119 \"{{description}}\"",
"wait_loading_transaction": "Poczekaj na za\u0142adowanie formularza",
"nothing_found": "(nic nie znaleziono)",
"wait_loading_data": "Prosz\u0119 poczeka\u0107 na za\u0142adowanie informacji...",
"Transfer": "Transfer",
"Withdrawal": "Wyp\u0142ata",
"Deposit": "Wp\u0142ata",
"expense_account": "Konto wydatk\u00f3w",
"revenue_account": "Konto przychod\u00f3w",
"budget": "Bud\u017cet",
"account_type_Asset account": "Konto aktyw\u00f3w",
"account_type_Expense account": "Konto wydatk\u00f3w",
"account_type_Revenue account": "Konto przychod\u00f3w",
"account_type_Debt": "D\u0142ug",
"account_type_Loan": "Po\u017cyczka",
"account_type_Mortgage": "Hipoteka",
"account_role_defaultAsset": "Domy\u015blne konto aktyw\u00f3w",
"account_role_sharedAsset": "Wsp\u00f3\u0142dzielone konto aktyw\u00f3w",
"account_role_savingAsset": "Konto oszcz\u0119dno\u015bciowe",
"account_role_ccAsset": "Karta kredytowa",
"account_role_cashWalletAsset": "Portfel got\u00f3wkowy"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "pt-br",
"date_time_fns": "dd 'de' MMMM 'de' yyyy, '\u00e0s' HH:mm:ss",
"month_and_day_fns": "d [de] MMMM [de] y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "dd\/MMM\/yyyy HH:mm"
},
"form": {
"title": "T\u00edtulo"
},
"list": {
"drag_and_drop": "Arrastar e soltar",
"active": "Est\u00e1 ativo?",
"name": "Nome",
"type": "Tipo",
"number": "N\u00famero da conta",
"liability_type": "Tipo de passivo",
"current_balance": "Saldo atual",
"last_activity": "\u00daltima atividade",
"amount_due": "Valor devido",
"balance_difference": "Diferen\u00e7a de saldo",
"menu": "Menu"
},
"validation": {
"bad_type_source": "Firefly III n\u00e3o conseguiu determinar o tipo de transa\u00e7\u00e3o baseado nesta conta de origem.",
"bad_type_destination": "Firefly III n\u00e3o conseguiu determinar o tipo de transa\u00e7\u00e3o baseado nesta conta destino."
},
"firefly": {
"liability_direction_debit_short": "Devo essa d\u00edvida",
"liability_direction_credit_short": "Devo receber essa d\u00edvida",
"interest_calc_yearly": "Por ano",
"interest_calc_": "desconhecido",
"interest_calc_daily": "Por dia",
"interest_calc_monthly": "Por m\u00eas",
"interest_calc_weekly": "Por semana",
"interest_calc_half-year": "Por semestre",
"interest_calc_quarterly": "Por trimestre",
"spent": "Gasto",
"administration_owner": "Propriet\u00e1rio da administra\u00e7\u00e3o: {{email}}",
"administration_you": "Sua fun\u00e7\u00e3o: {{role}}",
"administration_role_owner": "Propriet\u00e1rio",
"administration_role_ro": "Somente leitura",
"administration_role_mng_trx": "Gerenciar transa\u00e7\u00f5es",
"administration_role_mng_meta": "Gerenciar classifica\u00e7\u00e3o e metadados",
"administration_role_mng_budgets": "Gerenciar or\u00e7amentos",
"administration_role_mng_piggies": "Gerenciar cofrinhos",
"administration_role_mng_subscriptions": "Gerenciar assinaturas",
"administration_role_mng_rules": "Gerenciar regras",
"administration_role_mng_recurring": "Gerenciar transa\u00e7\u00f5es recorrentes ",
"administration_role_mng_webhooks": "Gerenciar webhooks",
"administration_role_mng_currencies": "Gerenciar moedas",
"administration_role_view_reports": "Ver relat\u00f3rios",
"administration_role_full": "Acesso completo",
"new_administration_created": "Nova administra\u00e7\u00e3o financeira \"{{title}}\" foi criada",
"left": "Restante",
"paid": "Pago",
"errors_submission_v2": "Algo deu errado com seu envio. Por favor, verifique os erros abaixo: {{errorMessage}}",
"unpaid": "N\u00e3o pago",
"default_group_title_name_plain": "sem grupo",
"subscriptions_in_group": "Assinaturas no grupo \"%{title}\"",
"subscr_expected_x_times": "Espera-se pagar %{amount} %{times} vezes neste per\u00edodo",
"overspent": "Gasto excedido",
"money_flowing_in": "Entrada",
"money_flowing_out": "Sa\u00edda",
"category": "Categoria",
"unknown_category_plain": "Sem categoria",
"all_money": "Todo o seu dinheiro",
"unknown_source_plain": "Conta de origem desconhecida",
"unknown_dest_plain": "Conta de destino desconhecida",
"unknown_any_plain": "Conta desconhecida",
"unknown_budget_plain": "Nenhum or\u00e7amento",
"stored_journal_js": "Transa\u00e7\u00e3o \"{{description}}\" criada com sucesso",
"wait_loading_transaction": "Por favor, aguarde o formul\u00e1rio carregar",
"nothing_found": "(nada encontrado)",
"wait_loading_data": "Por favor, aguarde suas informa\u00e7\u00f5es serem carregadas...",
"Transfer": "Transfer\u00eancia",
"Withdrawal": "Retirada",
"Deposit": "Dep\u00f3sito",
"expense_account": "Conta de despesas",
"revenue_account": "Conta de Receitas",
"budget": "Or\u00e7amento",
"account_type_Asset account": "Conta de ativos",
"account_type_Expense account": "Conta de despesas",
"account_type_Revenue account": "Conta de receitas",
"account_type_Debt": "D\u00edvida",
"account_type_Loan": "Empr\u00e9stimo",
"account_type_Mortgage": "Hipoteca",
"account_role_defaultAsset": "Conta padr\u00e3o",
"account_role_sharedAsset": "Contas de ativos compartilhadas",
"account_role_savingAsset": "Conta poupan\u00e7a",
"account_role_ccAsset": "Cart\u00e3o de cr\u00e9dito",
"account_role_cashWalletAsset": "Carteira de dinheiro"
}
}

View File

@@ -1,95 +0,0 @@
{
"config": {
"html_language": "pt",
"date_time_fns": "DO [de] MMMM YYYY, @ HH:mm:ss",
"month_and_day_fns": "d MMMM y",
"does_not_exist": "(config.does_not_exist)",
"date_time_fns_short": "do MMMM yyyy @ HH:mm"
},
"form": {
"title": "T\u00edtulo"
},
"list": {
"drag_and_drop": "Arrastar e soltar",
"active": "Esta ativo?",
"name": "Nome",
"type": "Tipo",
"number": "N\u00famero de conta",
"liability_type": "Tipo de responsabilidade",
"current_balance": "Saldo atual",
"last_activity": "\u00daltima atividade",
"amount_due": "Valor a pagar",
"balance_difference": "Diferen\u00e7a de saldo",
"menu": "Menu"
},
"validation": {
"bad_type_source": "O Firefly III n\u00e3o consegue determinar o tipo de transa\u00e7\u00e3o baseado nesta conta de origem.",
"bad_type_destination": "O Firefly III n\u00e3o consegue determinar o tipo de transa\u00e7\u00e3o baseado nesta conta de destino."
},
"firefly": {
"liability_direction_debit_short": "Devo esta d\u00edvida",
"liability_direction_credit_short": "Devem-me esta d\u00edvida",
"interest_calc_yearly": "Por ano",
"interest_calc_": "desconhecido",
"interest_calc_daily": "Por dia",
"interest_calc_monthly": "Por m\u00eas",
"interest_calc_weekly": "Por semana",
"interest_calc_half-year": "Por semestre",
"interest_calc_quarterly": "Por trimestre",
"spent": "Gasto",
"administration_owner": "Administration owner: {{email}}",
"administration_you": "Your role: {{role}}",
"administration_role_owner": "Owner",
"administration_role_ro": "Read-only",
"administration_role_mng_trx": "Manage transactions",
"administration_role_mng_meta": "Manage classification and meta-data",
"administration_role_mng_budgets": "Manage budgets",
"administration_role_mng_piggies": "Manage piggy banks",
"administration_role_mng_subscriptions": "Manage subscriptions",
"administration_role_mng_rules": "Manage rules",
"administration_role_mng_recurring": "Manage recurring transactions ",
"administration_role_mng_webhooks": "Manage webhooks",
"administration_role_mng_currencies": "Manage currencies",
"administration_role_view_reports": "View reports",
"administration_role_full": "Full access",
"new_administration_created": "New financial administration \"{{title}}\" has been created",
"left": "Em falta",
"paid": "Pago",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
"unpaid": "Por pagar",
"default_group_title_name_plain": "sem grupo",
"subscriptions_in_group": "Subscri\u00e7\u00e3o no grupo \"%{title}\"",
"subscr_expected_x_times": "Espere pagar %{amount} %{times} neste per\u00edodo",
"overspent": "Gasto excedido",
"money_flowing_in": "Dentro",
"money_flowing_out": "Fora",
"category": "Categoria",
"unknown_category_plain": "Sem categoria",
"all_money": "Todo o seu dinheiro",
"unknown_source_plain": "Conta de origem desconhecida",
"unknown_dest_plain": "Conta de destino desconhecida",
"unknown_any_plain": "Conta desconhecida",
"unknown_budget_plain": "Sem or\u00e7amento",
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
"wait_loading_transaction": "Por favor, aguarde o formul\u00e1rio carregar",
"nothing_found": "(sem resultados)",
"wait_loading_data": "Por favor, aguarde enquanto carregamos a sua informa\u00e7\u00e3o...",
"Transfer": "Transfer\u00eancia",
"Withdrawal": "Levantamento",
"Deposit": "Dep\u00f3sito",
"expense_account": "Conta de despesas",
"revenue_account": "Conta de receitas",
"budget": "Or\u00e7amento",
"account_type_Asset account": "Conta de ativos",
"account_type_Expense account": "Conta de gastos \/ passivos",
"account_type_Revenue account": "Conta de receitas",
"account_type_Debt": "D\u00edvida",
"account_type_Loan": "Empr\u00e9stimo",
"account_type_Mortgage": "Hipoteca",
"account_role_defaultAsset": "Conta de ativos predefinida",
"account_role_sharedAsset": "Conta de ativos partilhados",
"account_role_savingAsset": "Conta poupan\u00e7a",
"account_role_ccAsset": "Cart\u00e3o de cr\u00e9dito",
"account_role_cashWalletAsset": "Carteira de dinheiro"
}
}

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