mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-08-29 17:25:20 +00:00
Compare commits
39 Commits
develop-20
...
develop-20
Author | SHA1 | Date | |
---|---|---|---|
|
a184548912 | ||
|
c987191212 | ||
|
7009b444d9 | ||
|
06551d5367 | ||
|
a20622ac0c | ||
|
ca38117fca | ||
|
9478f78d4f | ||
|
5c2397bbae | ||
|
92fefef816 | ||
|
d3ced65524 | ||
|
29eb748831 | ||
|
76df3d5f33 | ||
|
252076ec1f | ||
|
bbec28591f | ||
|
075a360ba6 | ||
|
477524a8ae | ||
|
dfe055732d | ||
|
78b611a18d | ||
|
367bdf65e6 | ||
|
3fc9caa31a | ||
|
95a41fcab7 | ||
|
58b409fc00 | ||
|
3eaaac09ad | ||
|
bcb672920c | ||
|
79b91e25c2 | ||
|
7170931464 | ||
|
c1b5a1a13e | ||
|
a6265ce8ab | ||
|
90109917df | ||
|
0acd54c2b7 | ||
|
c96226b9b4 | ||
|
6d143f1624 | ||
|
93324d1154 | ||
|
a39f0e1891 | ||
|
822f609a22 | ||
|
cd7ddd1c61 | ||
|
0b63ba26bb | ||
|
94d70cdb62 | ||
|
acb3831c8b |
@@ -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
|
||||
|
24
.ci/php-cs-fixer/composer.lock
generated
24
.ci/php-cs-fixer/composer.lock
generated
@@ -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",
|
||||
|
21
.env.example
21
.env.example
@@ -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
|
||||
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -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"
|
||||
|
@@ -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'),
|
||||
|
@@ -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'],
|
||||
|
@@ -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']),
|
||||
|
||||
|
@@ -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,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@@ -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' => [],
|
||||
];
|
||||
}
|
||||
);
|
||||
|
@@ -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' => [],
|
||||
];
|
||||
}
|
||||
);
|
||||
|
@@ -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,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
@@ -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')),
|
||||
];
|
||||
}
|
||||
|
||||
|
118
app/Api/V2/Request/Chart/ChartRequest.php
Normal file
118
app/Api/V2/Request/Chart/ChartRequest.php
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
@@ -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));
|
||||
|
@@ -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;
|
||||
}
|
||||
|
69
app/Console/Commands/Upgrade/CorrectAccountBalance.php
Normal file
69
app/Console/Commands/Upgrade/CorrectAccountBalance.php
Normal 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);
|
||||
}
|
||||
}
|
@@ -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',
|
||||
|
@@ -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 {
|
||||
|
@@ -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'));
|
||||
}
|
||||
}
|
||||
|
@@ -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'),
|
||||
|
@@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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)) {
|
||||
|
@@ -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');
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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.*']);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
60
app/Rules/IsFilterValueIn.php
Normal file
60
app/Rules/IsFilterValueIn.php
Normal 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]);
|
||||
}
|
||||
}
|
@@ -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) {
|
||||
|
66
app/Support/Chart/ChartData.php
Normal file
66
app/Support/Chart/ChartData.php
Normal 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;
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
76
app/Support/Http/Api/CollectsAccountsFromFilter.php
Normal file
76
app/Support/Http/Api/CollectsAccountsFromFilter.php
Normal 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;
|
||||
}
|
||||
}
|
68
app/Support/Http/Api/ParsesQueryFilters.php
Normal file
68
app/Support/Http/Api/ParsesQueryFilters.php
Normal 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);
|
||||
}
|
||||
}
|
@@ -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
|
||||
*/
|
||||
|
@@ -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);
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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
|
||||
' ',
|
||||
'-',
|
||||
'?',
|
||||
];
|
||||
|
22
changelog.md
22
changelog.md
@@ -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
|
||||
|
@@ -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
205
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "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",
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
1235
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
1
public/v2/i18n/.gitignore
vendored
Normal file
1
public/v2/i18n/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.json
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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"
|
||||
}
|
||||
}
|
@@ -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
Reference in New Issue
Block a user