Auto commit for release 'develop' on 2025-01-19

This commit is contained in:
github-actions
2025-01-19 11:46:08 +01:00
parent 9d2f57e40a
commit 04d1e8fd59
64 changed files with 3222 additions and 2932 deletions

View File

@@ -406,16 +406,16 @@
}, },
{ {
"name": "friendsofphp/php-cs-fixer", "name": "friendsofphp/php-cs-fixer",
"version": "v3.68.0", "version": "v3.68.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
"reference": "73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c" "reference": "b9db2b2ea3cdba7201067acee46f984ef2397cff"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c", "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/b9db2b2ea3cdba7201067acee46f984ef2397cff",
"reference": "73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c", "reference": "b9db2b2ea3cdba7201067acee46f984ef2397cff",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -497,7 +497,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.68.0" "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.68.1"
}, },
"funding": [ "funding": [
{ {
@@ -505,7 +505,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-01-13T17:01:01+00:00" "time": "2025-01-17T09:20:36+00:00"
}, },
{ {
"name": "psr/container", "name": "psr/container",

View File

@@ -234,7 +234,7 @@ abstract class Controller extends BaseController
final protected function jsonApiList(string $key, LengthAwarePaginator $paginator, AbstractTransformer $transformer): array final protected function jsonApiList(string $key, LengthAwarePaginator $paginator, AbstractTransformer $transformer): array
{ {
$manager = new Manager(); $manager = new Manager();
$baseUrl = sprintf('%s/api/v1/',request()->getSchemeAndHttpHost()); $baseUrl = sprintf('%s/api/v1/', request()->getSchemeAndHttpHost());
// TODO add stuff to path? // TODO add stuff to path?

View File

@@ -58,6 +58,7 @@ class ShowController extends Controller
return response() return response()
->api($this->jsonApiObject(self::RESOURCE_KEY, $userGroup, $transformer)) ->api($this->jsonApiObject(self::RESOURCE_KEY, $userGroup, $transformer))
->header('Content-Type', self::CONTENT_TYPE); ->header('Content-Type', self::CONTENT_TYPE)
;
} }
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/* /*
* UpdateController.php * UpdateController.php
* Copyright (c) 2025 james@firefly-iii.org. * Copyright (c) 2025 james@firefly-iii.org.
@@ -51,20 +52,20 @@ class UpdateController extends Controller
); );
} }
public function update(UpdateRequest $request, UserGroup $userGroup): JsonResponse { public function update(UpdateRequest $request, UserGroup $userGroup): JsonResponse
{
app('log')->debug(sprintf('Now in %s', __METHOD__)); app('log')->debug(sprintf('Now in %s', __METHOD__));
$data = $request->getData(); $data = $request->getData();
$userGroup = $this->repository->update($userGroup, $data); $userGroup = $this->repository->update($userGroup, $data);
$userGroup->refresh(); $userGroup->refresh();
app('preferences')->mark(); app('preferences')->mark();
$transformer = new UserGroupTransformer(); $transformer = new UserGroupTransformer();
$transformer->setParameters($this->parameters); $transformer->setParameters($this->parameters);
return response() return response()
->api($this->jsonApiObject(self::RESOURCE_KEY, $userGroup, $transformer)) ->api($this->jsonApiObject(self::RESOURCE_KEY, $userGroup, $transformer))
->header('Content-Type', self::CONTENT_TYPE) ->header('Content-Type', self::CONTENT_TYPE)
; ;
} }
} }

View File

@@ -55,7 +55,7 @@ class DateRequest extends FormRequest
return [ return [
'start' => $start, 'start' => $start,
'end' => $end, 'end' => $end,
'date' => $this->getCarbonDate('date'), 'date' => $this->getCarbonDate('date'),
]; ];
} }

View File

@@ -25,7 +25,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Requests\Models\UserGroup; namespace FireflyIII\Api\V1\Requests\Models\UserGroup;
use FireflyIII\Models\UserGroup; use FireflyIII\Models\UserGroup;
use FireflyIII\Rules\UserGroup\UniqueTitle;
use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
@@ -41,7 +40,7 @@ class UpdateRequest extends FormRequest
public function getData(): array public function getData(): array
{ {
$fields = [ $fields = [
'title' => ['title', 'convertString'], 'title' => ['title', 'convertString'],
'native_currency_id' => ['native_currency_id', 'convertInteger'], 'native_currency_id' => ['native_currency_id', 'convertInteger'],
'native_currency_code' => ['native_currency_code', 'convertString'], 'native_currency_code' => ['native_currency_code', 'convertString'],
]; ];
@@ -58,7 +57,7 @@ class UpdateRequest extends FormRequest
$userGroup = $this->route()->parameter('userGroup'); $userGroup = $this->route()->parameter('userGroup');
return [ return [
'title' => ['required','min:1','max:255'], 'title' => ['required', 'min:1', 'max:255'],
'native_currency_id' => 'exists:transaction_currencies,id', 'native_currency_id' => 'exists:transaction_currencies,id',
'native_currency_code' => 'exists:transaction_currencies,code', 'native_currency_code' => 'exists:transaction_currencies,code',
]; ];

View File

@@ -66,7 +66,7 @@ class ShowController extends Controller
$default = 1 === $group->pivot->group_default; $default = 1 === $group->pivot->group_default;
} }
$currency->userGroupEnabled = $enabled; $currency->userGroupEnabled = $enabled;
$currency->userGroupNative = $default; $currency->userGroupNative = $default;
$transformer = new CurrencyTransformer(); $transformer = new CurrencyTransformer();

View File

@@ -74,7 +74,7 @@ class IndexController extends Controller
// order so default and enabled are on top: // order so default and enabled are on top:
$collection = $collection->sortBy( $collection = $collection->sortBy(
static function (TransactionCurrency $currency) { static function (TransactionCurrency $currency) {
$native = true === $currency->userGroupNative ? 0 : 1; $native = true === $currency->userGroupNative ? 0 : 1;
$enabled = true === $currency->userGroupEnabled ? 0 : 1; $enabled = true === $currency->userGroupEnabled ? 0 : 1;
return sprintf('%s-%s-%s', $native, $enabled, $currency->code); return sprintf('%s-%s-%s', $native, $enabled, $currency->code);

View File

@@ -93,6 +93,7 @@ class InterestingMessage
return null !== $transactionGroupId && null !== $message; return null !== $transactionGroupId && null !== $message;
} }
private function userGroupMessage(Request $request): bool private function userGroupMessage(Request $request): bool
{ {
// get parameters from request. // get parameters from request.
@@ -153,23 +154,24 @@ class InterestingMessage
{ {
// get parameters from request. // get parameters from request.
$userGroupId = $request->get('user_group_id'); $userGroupId = $request->get('user_group_id');
$message = $request->get('message'); $message = $request->get('message');
/** @var User $user */ /** @var User $user */
$user = auth()->user(); $user = auth()->user();
$userGroup = UserGroup::find($userGroupId); $userGroup = UserGroup::find($userGroupId);
$valid = false; $valid = false;
$memberships = $user->groupMemberships()->get(); $memberships = $user->groupMemberships()->get();
/** @var GroupMembership $membership */ /** @var GroupMembership $membership */
foreach($memberships as $membership) { foreach ($memberships as $membership) {
if($membership->userGroup->id === $userGroup->id) { if ($membership->userGroup->id === $userGroup->id) {
$valid = true; $valid = true;
break; break;
} }
} }
if(false === $valid) { if (false === $valid) {
return; return;
} }

View File

@@ -37,7 +37,7 @@ class TransactionCurrency extends Model
use ReturnsIntegerIdTrait; use ReturnsIntegerIdTrait;
use SoftDeletes; use SoftDeletes;
public ?bool $userGroupNative = null; public ?bool $userGroupNative = null;
public ?bool $userGroupEnabled = null; public ?bool $userGroupEnabled = null;
protected $casts protected $casts
= [ = [
@@ -73,8 +73,8 @@ class TransactionCurrency extends Model
public function refreshForUser(User $user): void public function refreshForUser(User $user): void
{ {
$current = $user->userGroup->currencies()->where('transaction_currencies.id', $this->id)->first(); $current = $user->userGroup->currencies()->where('transaction_currencies.id', $this->id)->first();
$native = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup); $native = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
$this->userGroupNative = $native->id === $this->id; $this->userGroupNative = $native->id === $this->id;
$this->userGroupEnabled = null !== $current; $this->userGroupEnabled = null !== $current;
} }

View File

@@ -50,7 +50,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
/** @var GroupMembership $membership */ /** @var GroupMembership $membership */
foreach ($memberships as $membership) { foreach ($memberships as $membership) {
/** @var null|User $user */ /** @var null|User $user */
$user = $membership->user()->first(); $user = $membership->user()->first();
if (null === $user) { if (null === $user) {
continue; continue;
} }
@@ -79,8 +79,8 @@ class UserGroupRepository implements UserGroupRepositoryInterface
// all users are now moved away from user group. // all users are now moved away from user group.
// time to DESTROY all objects. // time to DESTROY all objects.
// we have to do this one by one to trigger the necessary observers :( // we have to do this one by one to trigger the necessary observers :(
$objects = ['availableBudgets', 'bills', 'budgets', 'categories', 'currencyExchangeRates', 'objectGroups', $objects = ['availableBudgets', 'bills', 'budgets', 'categories', 'currencyExchangeRates', 'objectGroups',
'recurrences', 'rules', 'ruleGroups', 'tags', 'transactionGroups', 'transactionJournals', 'piggyBanks', 'accounts', 'webhooks', 'recurrences', 'rules', 'ruleGroups', 'tags', 'transactionGroups', 'transactionJournals', 'piggyBanks', 'accounts', 'webhooks',
]; ];
foreach ($objects as $object) { foreach ($objects as $object) {
foreach ($userGroup->{$object}()->get() as $item) { // @phpstan-ignore-line foreach ($userGroup->{$object}()->get() as $item) { // @phpstan-ignore-line
@@ -107,7 +107,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
/** @var null|UserGroup $group */ /** @var null|UserGroup $group */
$group = $membership->userGroup()->first(); $group = $membership->userGroup()->first();
if (null !== $group) { if (null !== $group) {
$groupId = $group->id; $groupId = $group->id;
if (in_array($groupId, array_keys($set), true)) { if (in_array($groupId, array_keys($set), true)) {
continue; continue;
} }
@@ -132,14 +132,14 @@ class UserGroupRepository implements UserGroupRepositoryInterface
while ($exists && $loop < 10) { while ($exists && $loop < 10) {
$existingGroup = $this->findByName($groupName); $existingGroup = $this->findByName($groupName);
if (null === $existingGroup) { if (null === $existingGroup) {
$exists = false; $exists = false;
/** @var null|UserGroup $existingGroup */ /** @var null|UserGroup $existingGroup */
$existingGroup = $this->store(['user' => $user, 'title' => $groupName]); $existingGroup = $this->store(['user' => $user, 'title' => $groupName]);
} }
if (null !== $existingGroup) { if (null !== $existingGroup) {
// group already exists // group already exists
$groupName = sprintf('%s-%s', $user->email, substr(sha1(rand(1000, 9999) . microtime()), 0, 4)); $groupName = sprintf('%s-%s', $user->email, substr(sha1(rand(1000, 9999).microtime()), 0, 4));
} }
++$loop; ++$loop;
} }
@@ -160,7 +160,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
$data['user'] = $this->user; $data['user'] = $this->user;
/** @var UserGroupFactory $factory */ /** @var UserGroupFactory $factory */
$factory = app(UserGroupFactory::class); $factory = app(UserGroupFactory::class);
return $factory->create($data); return $factory->create($data);
} }
@@ -187,7 +187,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
return $this->user->groupMemberships()->where('user_group_id', $groupId)->get(); return $this->user->groupMemberships()->where('user_group_id', $groupId)->get();
} }
public function setUser(null | Authenticatable | User $user): void public function setUser(null|Authenticatable|User $user): void
{ {
app('log')->debug(sprintf('Now in %s', __METHOD__)); app('log')->debug(sprintf('Now in %s', __METHOD__));
if ($user instanceof User) { if ($user instanceof User) {
@@ -199,9 +199,10 @@ class UserGroupRepository implements UserGroupRepositoryInterface
{ {
$userGroup->title = $data['title']; $userGroup->title = $data['title'];
$userGroup->save(); $userGroup->save();
$currency = null; $currency = null;
/** @var CurrencyRepositoryInterface $repository */ /** @var CurrencyRepositoryInterface $repository */
$repository = app(CurrencyRepositoryInterface::class); $repository = app(CurrencyRepositoryInterface::class);
if (array_key_exists('native_currency_code', $data)) { if (array_key_exists('native_currency_code', $data)) {
$repository->setUser($this->user); $repository->setUser($this->user);
@@ -227,11 +228,11 @@ class UserGroupRepository implements UserGroupRepositoryInterface
*/ */
public function updateMembership(UserGroup $userGroup, array $data): UserGroup public function updateMembership(UserGroup $userGroup, array $data): UserGroup
{ {
$owner = UserRole::whereTitle(UserRoleEnum::OWNER)->first(); $owner = UserRole::whereTitle(UserRoleEnum::OWNER)->first();
app('log')->debug('in update membership'); app('log')->debug('in update membership');
/** @var null|User $user */ /** @var null|User $user */
$user = null; $user = null;
if (array_key_exists('id', $data)) { if (array_key_exists('id', $data)) {
/** @var null|User $user */ /** @var null|User $user */
$user = User::find($data['id']); $user = User::find($data['id']);
@@ -270,8 +271,9 @@ class UserGroupRepository implements UserGroupRepositoryInterface
if ($membershipCount > 1) { if ($membershipCount > 1) {
// group has multiple members. How many are owner, except the user we're editing now? // group has multiple members. How many are owner, except the user we're editing now?
$ownerCount = $userGroup->groupMemberships() $ownerCount = $userGroup->groupMemberships()
->where('user_role_id', $owner->id) ->where('user_role_id', $owner->id)
->where('user_id', '!=', $user->id)->count(); ->where('user_id', '!=', $user->id)->count()
;
// if there are no other owners and the current users does not get or keep the owner role, refuse. // if there are no other owners and the current users does not get or keep the owner role, refuse.
if ( if (
0 === $ownerCount 0 === $ownerCount

View File

@@ -180,11 +180,11 @@ class CurrencyRepository implements CurrencyRepositoryInterface
$hasId = $local->contains(static function (TransactionCurrency $entry) use ($current) { $hasId = $local->contains(static function (TransactionCurrency $entry) use ($current) {
return $entry->id === $current->id; return $entry->id === $current->id;
}); });
$isNative = $local->contains(static function (TransactionCurrency $entry) use ($current) { $isNative = $local->contains(static function (TransactionCurrency $entry) use ($current) {
return 1 === (int) $entry->pivot->group_default && $entry->id === $current->id; return 1 === (int) $entry->pivot->group_default && $entry->id === $current->id;
}); });
$current->userGroupEnabled = $hasId; $current->userGroupEnabled = $hasId;
$current->userGroupNative = $isNative; $current->userGroupNative = $isNative;
return $current; return $current;
}); });
@@ -195,7 +195,7 @@ class CurrencyRepository implements CurrencyRepositoryInterface
$all = $this->userGroup->currencies()->orderBy('code', 'ASC')->withPivot(['group_default'])->get(); $all = $this->userGroup->currencies()->orderBy('code', 'ASC')->withPivot(['group_default'])->get();
$all->map(static function (TransactionCurrency $current) { // @phpstan-ignore-line $all->map(static function (TransactionCurrency $current) { // @phpstan-ignore-line
$current->userGroupEnabled = true; $current->userGroupEnabled = true;
$current->userGroupNative = 1 === (int) $current->pivot->group_default; $current->userGroupNative = 1 === (int) $current->pivot->group_default;
return $current; return $current;
}); });

View File

@@ -51,7 +51,7 @@ class CurrencyUpdateService
$currency->decimal_places = $data['decimal_places']; $currency->decimal_places = $data['decimal_places'];
} }
$currency->userGroupEnabled = null; $currency->userGroupEnabled = null;
$currency->userGroupNative = null; $currency->userGroupNative = null;
$currency->save(); $currency->save();
return $currency; return $currency;

View File

@@ -175,9 +175,10 @@ class Amount
{ {
return $this->getNativeCurrencyByUserGroup($userGroup); return $this->getNativeCurrencyByUserGroup($userGroup);
} }
public function getNativeCurrencyByUserGroup(UserGroup $userGroup): TransactionCurrency public function getNativeCurrencyByUserGroup(UserGroup $userGroup): TransactionCurrency
{ {
$cache = new CacheProperties(); $cache = new CacheProperties();
$cache->addProperty('getNativeCurrencyByGroup'); $cache->addProperty('getNativeCurrencyByGroup');
$cache->addProperty($userGroup->id); $cache->addProperty($userGroup->id);
if ($cache->has()) { if ($cache->has()) {

View File

@@ -86,8 +86,8 @@ class ExportDataGenerator
public function __construct() public function __construct()
{ {
$this->accounts = new Collection(); $this->accounts = new Collection();
$this->start = today(config('app.timezone')); $this->start = today(config('app.timezone'));
$this->start->subYear(); $this->start->subYear();
$this->end = today(config('app.timezone')); $this->end = today(config('app.timezone'));
$this->exportTransactions = false; $this->exportTransactions = false;
@@ -145,7 +145,7 @@ class ExportDataGenerator
*/ */
private function exportAccounts(): string private function exportAccounts(): string
{ {
$header = [ $header = [
'user_id', 'user_id',
'account_id', 'account_id',
'created_at', 'created_at',
@@ -166,7 +166,7 @@ class ExportDataGenerator
]; ];
/** @var AccountRepositoryInterface $repository */ /** @var AccountRepositoryInterface $repository */
$repository = app(AccountRepositoryInterface::class); $repository = app(AccountRepositoryInterface::class);
$repository->setUser($this->user); $repository->setUser($this->user);
$allAccounts = $repository->getAccountsByType([]); $allAccounts = $repository->getAccountsByType([]);
$records = []; $records = [];
@@ -196,7 +196,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -234,8 +234,8 @@ class ExportDataGenerator
/** @var BillRepositoryInterface $repository */ /** @var BillRepositoryInterface $repository */
$repository = app(BillRepositoryInterface::class); $repository = app(BillRepositoryInterface::class);
$repository->setUser($this->user); $repository->setUser($this->user);
$bills = $repository->getBills(); $bills = $repository->getBills();
$header = [ $header = [
'user_id', 'user_id',
'bill_id', 'bill_id',
'created_at', 'created_at',
@@ -249,7 +249,7 @@ class ExportDataGenerator
'skip', 'skip',
'active', 'active',
]; ];
$records = []; $records = [];
/** @var Bill $bill */ /** @var Bill $bill */
foreach ($bills as $bill) { foreach ($bills as $bill) {
@@ -270,7 +270,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -300,7 +300,7 @@ class ExportDataGenerator
*/ */
private function exportBudgets(): string private function exportBudgets(): string
{ {
$header = [ $header = [
'user_id', 'user_id',
'budget_id', 'budget_id',
'name', 'name',
@@ -314,9 +314,9 @@ class ExportDataGenerator
$budgetRepos = app(BudgetRepositoryInterface::class); $budgetRepos = app(BudgetRepositoryInterface::class);
$budgetRepos->setUser($this->user); $budgetRepos->setUser($this->user);
$limitRepos = app(BudgetLimitRepositoryInterface::class); $limitRepos = app(BudgetLimitRepositoryInterface::class);
$budgets = $budgetRepos->getBudgets(); $budgets = $budgetRepos->getBudgets();
$records = []; $records = [];
/** @var Budget $budget */ /** @var Budget $budget */
foreach ($budgets as $budget) { foreach ($budgets as $budget) {
@@ -339,7 +339,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -369,10 +369,10 @@ class ExportDataGenerator
*/ */
private function exportCategories(): string private function exportCategories(): string
{ {
$header = ['user_id', 'category_id', 'created_at', 'updated_at', 'name']; $header = ['user_id', 'category_id', 'created_at', 'updated_at', 'name'];
/** @var CategoryRepositoryInterface $catRepos */ /** @var CategoryRepositoryInterface $catRepos */
$catRepos = app(CategoryRepositoryInterface::class); $catRepos = app(CategoryRepositoryInterface::class);
$catRepos->setUser($this->user); $catRepos->setUser($this->user);
$records = []; $records = [];
@@ -390,7 +390,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -421,14 +421,14 @@ class ExportDataGenerator
private function exportPiggies(): string private function exportPiggies(): string
{ {
/** @var PiggyBankRepositoryInterface $piggyRepos */ /** @var PiggyBankRepositoryInterface $piggyRepos */
$piggyRepos = app(PiggyBankRepositoryInterface::class); $piggyRepos = app(PiggyBankRepositoryInterface::class);
$piggyRepos->setUser($this->user); $piggyRepos->setUser($this->user);
/** @var AccountRepositoryInterface $accountRepos */ /** @var AccountRepositoryInterface $accountRepos */
$accountRepos = app(AccountRepositoryInterface::class); $accountRepos = app(AccountRepositoryInterface::class);
$accountRepos->setUser($this->user); $accountRepos->setUser($this->user);
$header = [ $header = [
'user_id', 'user_id',
'piggy_bank_id', 'piggy_bank_id',
'created_at', 'created_at',
@@ -444,8 +444,8 @@ class ExportDataGenerator
'order', 'order',
'active', 'active',
]; ];
$records = []; $records = [];
$piggies = $piggyRepos->getPiggyBanks(); $piggies = $piggyRepos->getPiggyBanks();
/** @var PiggyBank $piggy */ /** @var PiggyBank $piggy */
foreach ($piggies as $piggy) { foreach ($piggies as $piggy) {
@@ -470,7 +470,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -503,7 +503,7 @@ class ExportDataGenerator
/** @var RecurringRepositoryInterface $recurringRepos */ /** @var RecurringRepositoryInterface $recurringRepos */
$recurringRepos = app(RecurringRepositoryInterface::class); $recurringRepos = app(RecurringRepositoryInterface::class);
$recurringRepos->setUser($this->user); $recurringRepos->setUser($this->user);
$header = [ $header = [
// recurrence: // recurrence:
'user_id', 'recurrence_id', 'row_contains', 'created_at', 'updated_at', 'type', 'title', 'description', 'first_date', 'repeat_until', 'latest_date', 'repetitions', 'apply_rules', 'active', 'user_id', 'recurrence_id', 'row_contains', 'created_at', 'updated_at', 'type', 'title', 'description', 'first_date', 'repeat_until', 'latest_date', 'repetitions', 'apply_rules', 'active',
@@ -512,8 +512,8 @@ class ExportDataGenerator
// transactions + meta: // transactions + meta:
'currency_code', 'foreign_currency_code', 'source_name', 'source_type', 'destination_name', 'destination_type', 'amount', 'foreign_amount', 'category', 'budget', 'piggy_bank', 'tags', 'currency_code', 'foreign_currency_code', 'source_name', 'source_type', 'destination_name', 'destination_type', 'amount', 'foreign_amount', 'category', 'budget', 'piggy_bank', 'tags',
]; ];
$records = []; $records = [];
$recurrences = $recurringRepos->getAll(); $recurrences = $recurringRepos->getAll();
/** @var Recurrence $recurrence */ /** @var Recurrence $recurrence */
foreach ($recurrences as $recurrence) { foreach ($recurrences as $recurrence) {
@@ -546,7 +546,7 @@ class ExportDataGenerator
$piggyBankId = $recurringRepos->getPiggyBank($transaction); $piggyBankId = $recurringRepos->getPiggyBank($transaction);
$tags = $recurringRepos->getTags($transaction); $tags = $recurringRepos->getTags($transaction);
$records[] = [ $records[] = [
// recurrence // recurrence
$this->user->id, $this->user->id,
$recurrence->id, $recurrence->id,
@@ -562,7 +562,7 @@ class ExportDataGenerator
} }
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -599,8 +599,8 @@ class ExportDataGenerator
'action_type', 'action_value', 'action_order', 'action_active', 'action_stop_processing']; 'action_type', 'action_value', 'action_order', 'action_active', 'action_stop_processing'];
$ruleRepos = app(RuleRepositoryInterface::class); $ruleRepos = app(RuleRepositoryInterface::class);
$ruleRepos->setUser($this->user); $ruleRepos->setUser($this->user);
$rules = $ruleRepos->getAll(); $rules = $ruleRepos->getAll();
$records = []; $records = [];
/** @var Rule $rule */ /** @var Rule $rule */
foreach ($rules as $rule) { foreach ($rules as $rule) {
@@ -639,7 +639,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -669,12 +669,12 @@ class ExportDataGenerator
*/ */
private function exportTags(): string private function exportTags(): string
{ {
$header = ['user_id', 'tag_id', 'created_at', 'updated_at', 'tag', 'date', 'description', 'latitude', 'longitude', 'zoom_level']; $header = ['user_id', 'tag_id', 'created_at', 'updated_at', 'tag', 'date', 'description', 'latitude', 'longitude', 'zoom_level'];
$tagRepos = app(TagRepositoryInterface::class); $tagRepos = app(TagRepositoryInterface::class);
$tagRepos->setUser($this->user); $tagRepos->setUser($this->user);
$tags = $tagRepos->get(); $tags = $tagRepos->get();
$records = []; $records = [];
/** @var Tag $tag */ /** @var Tag $tag */
foreach ($tags as $tag) { foreach ($tags as $tag) {
@@ -693,7 +693,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {
@@ -732,26 +732,26 @@ class ExportDataGenerator
private function exportTransactions(): string private function exportTransactions(): string
{ {
// TODO better place for keys? // TODO better place for keys?
$header = ['user_id', 'group_id', 'journal_id', 'created_at', 'updated_at', 'group_title', 'type', 'currency_code', 'amount', 'foreign_currency_code', 'foreign_amount', 'native_currency_code', 'native_amount', 'native_foreign_amount', 'description', 'date', 'source_name', 'source_iban', 'source_type', 'destination_name', 'destination_iban', 'destination_type', 'reconciled', 'category', 'budget', 'bill', 'tags', 'notes']; $header = ['user_id', 'group_id', 'journal_id', 'created_at', 'updated_at', 'group_title', 'type', 'currency_code', 'amount', 'foreign_currency_code', 'foreign_amount', 'native_currency_code', 'native_amount', 'native_foreign_amount', 'description', 'date', 'source_name', 'source_iban', 'source_type', 'destination_name', 'destination_iban', 'destination_type', 'reconciled', 'category', 'budget', 'bill', 'tags', 'notes'];
$metaFields = config('firefly.journal_meta_fields'); $metaFields = config('firefly.journal_meta_fields');
$header = array_merge($header, $metaFields); $header = array_merge($header, $metaFields);
$default = Amount::getDefaultCurrency(); $default = Amount::getDefaultCurrency();
$collector = app(GroupCollectorInterface::class); $collector = app(GroupCollectorInterface::class);
$collector->setUser($this->user); $collector->setUser($this->user);
$collector->setRange($this->start, $this->end)->withAccountInformation()->withCategoryInformation()->withBillInformation()->withBudgetInformation()->withTagInformation()->withNotes(); $collector->setRange($this->start, $this->end)->withAccountInformation()->withCategoryInformation()->withBillInformation()->withBudgetInformation()->withTagInformation()->withNotes();
if (0 !== $this->accounts->count()) { if (0 !== $this->accounts->count()) {
$collector->setAccounts($this->accounts); $collector->setAccounts($this->accounts);
} }
$journals = $collector->getExtractedJournals(); $journals = $collector->getExtractedJournals();
// get repository for meta data: // get repository for meta data:
$repository = app(TransactionGroupRepositoryInterface::class); $repository = app(TransactionGroupRepositoryInterface::class);
$repository->setUser($this->user); $repository->setUser($this->user);
$records = []; $records = [];
/** @var array $journal */ /** @var array $journal */
foreach ($journals as $journal) { foreach ($journals as $journal) {
@@ -776,7 +776,7 @@ class ExportDataGenerator
$nativeForeignAmount = null === $journal['native_foreign_amount'] ? null : Steam::bcround(Steam::negative($journal['native_foreign_amount'], $default->decimal_places)); $nativeForeignAmount = null === $journal['native_foreign_amount'] ? null : Steam::bcround(Steam::negative($journal['native_foreign_amount'], $default->decimal_places));
} }
$records[] = [ $records[] = [
$journal['user_id'], $journal['transaction_group_id'], $journal['transaction_journal_id'], $journal['created_at']->toAtomString(), $journal['updated_at']->toAtomString(), $journal['transaction_group_title'], $journal['transaction_type_type'], $journal['user_id'], $journal['transaction_group_id'], $journal['transaction_journal_id'], $journal['created_at']->toAtomString(), $journal['updated_at']->toAtomString(), $journal['transaction_group_title'], $journal['transaction_type_type'],
// amounts and currencies // amounts and currencies
$journal['currency_code'], $amount, $journal['foreign_currency_code'], $foreignAmount, $default->code, $nativeAmount, $nativeForeignAmount, $journal['currency_code'], $amount, $journal['foreign_currency_code'], $foreignAmount, $default->code, $nativeAmount, $nativeForeignAmount,
@@ -801,7 +801,7 @@ class ExportDataGenerator
} }
// load the CSV document from a string // load the CSV document from a string
$csv = Writer::createFromString(); $csv = Writer::createFromString();
// insert the header // insert the header
try { try {

View File

@@ -82,7 +82,7 @@ class AccountTransformer extends AbstractTransformer
[$openingBalance, $nativeOpeningBalance, $openingBalanceDate] = $this->getOpeningBalance($account, $accountType, $convertToNative); [$openingBalance, $nativeOpeningBalance, $openingBalanceDate] = $this->getOpeningBalance($account, $accountType, $convertToNative);
[$interest, $interestPeriod] = $this->getInterest($account, $accountType); [$interest, $interestPeriod] = $this->getInterest($account, $accountType);
$default = $this->default; $default = $this->default;
if (!$this->convertToNative) { if (!$this->convertToNative) {
// reset default currency to NULL, not interesting. // reset default currency to NULL, not interesting.
$default = null; $default = null;

View File

@@ -62,8 +62,8 @@ class AvailableBudgetTransformer extends AbstractTransformer
$this->repository->setUser($availableBudget->user); $this->repository->setUser($availableBudget->user);
$currency = $availableBudget->transactionCurrency; $currency = $availableBudget->transactionCurrency;
$default = $this->default; $default = $this->default;
if(!$this->convertToNative) { if (!$this->convertToNative) {
$default = null; $default = null;
} }
$data = [ $data = [
@@ -87,7 +87,7 @@ class AvailableBudgetTransformer extends AbstractTransformer
'links' => [ 'links' => [
[ [
'rel' => 'self', 'rel' => 'self',
'uri' => '/available_budgets/' . $availableBudget->id, 'uri' => '/available_budgets/'.$availableBudget->id,
], ],
], ],
]; ];

View File

@@ -64,23 +64,23 @@ class BillTransformer extends AbstractTransformer
*/ */
public function transform(Bill $bill): array public function transform(Bill $bill): array
{ {
$default = $this->parameters->get('defaultCurrency') ?? $this->default; $default = $this->parameters->get('defaultCurrency') ?? $this->default;
$paidData = $this->paidData($bill); $paidData = $this->paidData($bill);
$lastPaidDate = $this->getLastPaidDate($paidData); $lastPaidDate = $this->getLastPaidDate($paidData);
$start = $this->parameters->get('start') ?? today()->subYears(10); $start = $this->parameters->get('start') ?? today()->subYears(10);
$end = $this->parameters->get('end') ?? today()->addYears(10); $end = $this->parameters->get('end') ?? today()->addYears(10);
$payDates = $this->calculator->getPayDates($start, $end, $bill->date, $bill->repeat_freq, $bill->skip, $lastPaidDate); $payDates = $this->calculator->getPayDates($start, $end, $bill->date, $bill->repeat_freq, $bill->skip, $lastPaidDate);
$currency = $bill->transactionCurrency; $currency = $bill->transactionCurrency;
$notes = $this->repository->getNoteText($bill); $notes = $this->repository->getNoteText($bill);
$notes = '' === $notes ? null : $notes; $notes = '' === $notes ? null : $notes;
$objectGroupId = null; $objectGroupId = null;
$objectGroupOrder = null; $objectGroupOrder = null;
$objectGroupTitle = null; $objectGroupTitle = null;
$this->repository->setUser($bill->user); $this->repository->setUser($bill->user);
/** @var null|ObjectGroup $objectGroup */ /** @var null|ObjectGroup $objectGroup */
$objectGroup = $bill->objectGroups->first(); $objectGroup = $bill->objectGroups->first();
if (null !== $objectGroup) { if (null !== $objectGroup) {
$objectGroupId = $objectGroup->id; $objectGroupId = $objectGroup->id;
$objectGroupOrder = $objectGroup->order; $objectGroupOrder = $objectGroup->order;
@@ -90,7 +90,7 @@ class BillTransformer extends AbstractTransformer
$paidDataFormatted = []; $paidDataFormatted = [];
$payDatesFormatted = []; $payDatesFormatted = [];
foreach ($paidData as $object) { foreach ($paidData as $object) {
$date = Carbon::createFromFormat('!Y-m-d', $object['date'], config('app.timezone')); $date = Carbon::createFromFormat('!Y-m-d', $object['date'], config('app.timezone'));
if (null === $date) { if (null === $date) {
$date = today(config('app.timezone')); $date = today(config('app.timezone'));
} }
@@ -99,24 +99,24 @@ class BillTransformer extends AbstractTransformer
} }
foreach ($payDates as $string) { foreach ($payDates as $string) {
$date = Carbon::createFromFormat('!Y-m-d', $string, config('app.timezone')); $date = Carbon::createFromFormat('!Y-m-d', $string, config('app.timezone'));
if (null === $date) { if (null === $date) {
$date = today(config('app.timezone')); $date = today(config('app.timezone'));
} }
$payDatesFormatted[] = $date->toAtomString(); $payDatesFormatted[] = $date->toAtomString();
} }
// next expected match // next expected match
$nem = null; $nem = null;
$nemDate = null; $nemDate = null;
$nemDiff = trans('firefly.not_expected_period'); $nemDiff = trans('firefly.not_expected_period');
$firstPayDate = $payDates[0] ?? null; $firstPayDate = $payDates[0] ?? null;
if (null !== $firstPayDate) { if (null !== $firstPayDate) {
$nemDate = Carbon::createFromFormat('!Y-m-d', $firstPayDate, config('app.timezone')); $nemDate = Carbon::createFromFormat('!Y-m-d', $firstPayDate, config('app.timezone'));
if (null === $nemDate) { if (null === $nemDate) {
$nemDate = today(config('app.timezone')); $nemDate = today(config('app.timezone'));
} }
$nem = $nemDate->toAtomString(); $nem = $nemDate->toAtomString();
// nullify again when it's outside the current view range. // nullify again when it's outside the current view range.
if ( if (
@@ -137,7 +137,7 @@ class BillTransformer extends AbstractTransformer
$current = $payDatesFormatted[0] ?? null; $current = $payDatesFormatted[0] ?? null;
if (null !== $current && !$nemDate->isToday()) { if (null !== $current && !$nemDate->isToday()) {
$temp2 = Carbon::createFromFormat('Y-m-d\TH:i:sP', $current); $temp2 = Carbon::createFromFormat('Y-m-d\TH:i:sP', $current);
if (null === $temp2) { if (null === $temp2) {
$temp2 = today(config('app.timezone')); $temp2 = today(config('app.timezone'));
} }
@@ -158,32 +158,32 @@ class BillTransformer extends AbstractTransformer
'native_currency_code' => $default?->code, 'native_currency_code' => $default?->code,
'native_currency_symbol' => $default?->symbol, 'native_currency_symbol' => $default?->symbol,
'native_currency_decimal_places' => $default?->decimal_places, 'native_currency_decimal_places' => $default?->decimal_places,
'name' => $bill->name, 'name' => $bill->name,
'amount_min' => app('steam')->bcround($bill->amount_min, $currency->decimal_places), 'amount_min' => app('steam')->bcround($bill->amount_min, $currency->decimal_places),
'amount_max' => app('steam')->bcround($bill->amount_max, $currency->decimal_places), 'amount_max' => app('steam')->bcround($bill->amount_max, $currency->decimal_places),
'native_amount_min' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_min, $default->decimal_places) : null, 'native_amount_min' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_min, $default->decimal_places) : null,
'native_amount_max' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_max, $default->decimal_places) : null, 'native_amount_max' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_max, $default->decimal_places) : null,
'date' => $bill->date->toAtomString(), 'date' => $bill->date->toAtomString(),
'end_date' => $bill->end_date?->toAtomString(), 'end_date' => $bill->end_date?->toAtomString(),
'extension_date' => $bill->extension_date?->toAtomString(), 'extension_date' => $bill->extension_date?->toAtomString(),
'repeat_freq' => $bill->repeat_freq, 'repeat_freq' => $bill->repeat_freq,
'skip' => $bill->skip, 'skip' => $bill->skip,
'active' => $bill->active, 'active' => $bill->active,
'order' => $bill->order, 'order' => $bill->order,
'notes' => $notes, 'notes' => $notes,
'object_group_id' => null !== $objectGroupId ? (string) $objectGroupId : null, 'object_group_id' => null !== $objectGroupId ? (string) $objectGroupId : null,
'object_group_order' => $objectGroupOrder, 'object_group_order' => $objectGroupOrder,
'object_group_title' => $objectGroupTitle, 'object_group_title' => $objectGroupTitle,
// these fields need work: // these fields need work:
'next_expected_match' => $nem, 'next_expected_match' => $nem,
'next_expected_match_diff' => $nemDiff, 'next_expected_match_diff' => $nemDiff,
'pay_dates' => $payDatesFormatted, 'pay_dates' => $payDatesFormatted,
'paid_dates' => $paidDataFormatted, 'paid_dates' => $paidDataFormatted,
'links' => [ 'links' => [
[ [
'rel' => 'self', 'rel' => 'self',
'uri' => '/bills/' . $bill->id, 'uri' => '/bills/'.$bill->id,
], ],
], ],
]; ];
@@ -205,13 +205,13 @@ class BillTransformer extends AbstractTransformer
// 2023-07-18 this particular date is used to search for the last paid date. // 2023-07-18 this particular date is used to search for the last paid date.
// 2023-07-18 the cloned $searchDate is used to grab the correct transactions. // 2023-07-18 the cloned $searchDate is used to grab the correct transactions.
/** @var Carbon $start */ /** @var Carbon $start */
$start = clone $this->parameters->get('start'); $start = clone $this->parameters->get('start');
$searchStart = clone $start; $searchStart = clone $start;
$start->subDay(); $start->subDay();
/** @var Carbon $end */ /** @var Carbon $end */
$end = clone $this->parameters->get('end'); $end = clone $this->parameters->get('end');
$searchEnd = clone $end; $searchEnd = clone $end;
// move the search dates to the start of the day. // move the search dates to the start of the day.
$searchStart->startOfDay(); $searchStart->startOfDay();
@@ -221,7 +221,7 @@ class BillTransformer extends AbstractTransformer
app('log')->debug(sprintf('Search parameters are: start: %s', $searchStart->format('Y-m-d'))); app('log')->debug(sprintf('Search parameters are: start: %s', $searchStart->format('Y-m-d')));
// Get from database when bill was paid. // Get from database when bill was paid.
$set = $this->repository->getPaidDatesInRange($bill, $searchStart, $searchEnd); $set = $this->repository->getPaidDatesInRange($bill, $searchStart, $searchEnd);
app('log')->debug(sprintf('Count %d entries in getPaidDatesInRange()', $set->count())); app('log')->debug(sprintf('Count %d entries in getPaidDatesInRange()', $set->count()));
// Grab from array the most recent payment. If none exist, fall back to the start date and pretend *that* was the last paid date. // Grab from array the most recent payment. If none exist, fall back to the start date and pretend *that* was the last paid date.
@@ -230,7 +230,7 @@ class BillTransformer extends AbstractTransformer
app('log')->debug(sprintf('Result of lastPaidDate is %s', $lastPaidDate->format('Y-m-d'))); app('log')->debug(sprintf('Result of lastPaidDate is %s', $lastPaidDate->format('Y-m-d')));
// At this point the "next match" is exactly after the last time the bill was paid. // At this point the "next match" is exactly after the last time the bill was paid.
$result = []; $result = [];
foreach ($set as $entry) { foreach ($set as $entry) {
$result[] = [ $result[] = [
'transaction_group_id' => (string) $entry->transaction_group_id, 'transaction_group_id' => (string) $entry->transaction_group_id,

View File

@@ -66,8 +66,8 @@ class BudgetLimitTransformer extends AbstractTransformer
*/ */
public function transform(BudgetLimit $budgetLimit): array public function transform(BudgetLimit $budgetLimit): array
{ {
$repository = app(OperationsRepository::class); $repository = app(OperationsRepository::class);
$limitRepos = app(BudgetLimitRepositoryInterface::class); $limitRepos = app(BudgetLimitRepositoryInterface::class);
$repository->setUser($budgetLimit->budget->user); $repository->setUser($budgetLimit->budget->user);
$limitRepos->setUser($budgetLimit->budget->user); $limitRepos->setUser($budgetLimit->budget->user);
$expenses = $repository->sumExpenses( $expenses = $repository->sumExpenses(
@@ -93,8 +93,8 @@ class BudgetLimitTransformer extends AbstractTransformer
$currencySymbol = $currency->symbol; $currencySymbol = $currency->symbol;
$currencyDecimalPlaces = $currency->decimal_places; $currencyDecimalPlaces = $currency->decimal_places;
} }
$amount = app('steam')->bcround($amount, $currencyDecimalPlaces); $amount = app('steam')->bcround($amount, $currencyDecimalPlaces);
$default = $this->default; $default = $this->default;
if (!$this->convertToNative) { if (!$this->convertToNative) {
$default = null; $default = null;
} }
@@ -124,7 +124,7 @@ class BudgetLimitTransformer extends AbstractTransformer
'links' => [ 'links' => [
[ [
'rel' => 'self', 'rel' => 'self',
'uri' => '/budgets/limits/' . $budgetLimit->id, 'uri' => '/budgets/limits/'.$budgetLimit->id,
], ],
], ],
]; ];

View File

@@ -70,23 +70,23 @@ class BudgetTransformer extends AbstractTransformer
} }
// info for auto budget. // info for auto budget.
$abType = null; $abType = null;
$abAmount = null; $abAmount = null;
$abNative = null; $abNative = null;
$abPeriod = null; $abPeriod = null;
$notes = $this->repository->getNoteText($budget); $notes = $this->repository->getNoteText($budget);
$types = [ $types = [
AutoBudgetType::AUTO_BUDGET_RESET->value => 'reset', AutoBudgetType::AUTO_BUDGET_RESET->value => 'reset',
AutoBudgetType::AUTO_BUDGET_ROLLOVER->value => 'rollover', AutoBudgetType::AUTO_BUDGET_ROLLOVER->value => 'rollover',
AutoBudgetType::AUTO_BUDGET_ADJUSTED->value => 'adjusted', AutoBudgetType::AUTO_BUDGET_ADJUSTED->value => 'adjusted',
]; ];
$currency = $autoBudget?->transactionCurrency; $currency = $autoBudget?->transactionCurrency;
$default = $this->default; $default = $this->default;
if (!$this->convertToNative) { if (!$this->convertToNative) {
$default = null; $default = null;
} }
if(null === $autoBudget) { if (null === $autoBudget) {
$currency = $default; $currency = $default;
} }
if (null !== $autoBudget) { if (null !== $autoBudget) {
@@ -97,15 +97,15 @@ class BudgetTransformer extends AbstractTransformer
} }
return [ return [
'id' => (string) $budget->id, 'id' => (string) $budget->id,
'created_at' => $budget->created_at->toAtomString(), 'created_at' => $budget->created_at->toAtomString(),
'updated_at' => $budget->updated_at->toAtomString(), 'updated_at' => $budget->updated_at->toAtomString(),
'active' => $budget->active, 'active' => $budget->active,
'name' => $budget->name, 'name' => $budget->name,
'order' => $budget->order, 'order' => $budget->order,
'notes' => $notes, 'notes' => $notes,
'auto_budget_type' => $abType, 'auto_budget_type' => $abType,
'auto_budget_period' => $abPeriod, 'auto_budget_period' => $abPeriod,
'currency_id' => null === $autoBudget ? null : (string) $autoBudget->transactionCurrency->id, 'currency_id' => null === $autoBudget ? null : (string) $autoBudget->transactionCurrency->id,
'currency_code' => $autoBudget?->transactionCurrency->code, 'currency_code' => $autoBudget?->transactionCurrency->code,
@@ -125,7 +125,7 @@ class BudgetTransformer extends AbstractTransformer
'links' => [ 'links' => [
[ [
'rel' => 'self', 'rel' => 'self',
'uri' => '/budgets/' . $budget->id, 'uri' => '/budgets/'.$budget->id,
], ],
], ],
]; ];

View File

@@ -60,10 +60,10 @@ class CategoryTransformer extends AbstractTransformer
$this->opsRepository->setUser($category->user); $this->opsRepository->setUser($category->user);
$this->repository->setUser($category->user); $this->repository->setUser($category->user);
$spent = []; $spent = [];
$earned = []; $earned = [];
$start = $this->parameters->get('start'); $start = $this->parameters->get('start');
$end = $this->parameters->get('end'); $end = $this->parameters->get('end');
if (null !== $start && null !== $end) { if (null !== $start && null !== $end) {
$earned = $this->beautify($this->opsRepository->sumIncome($start, $end, null, new Collection([$category]))); $earned = $this->beautify($this->opsRepository->sumIncome($start, $end, null, new Collection([$category])));
$spent = $this->beautify($this->opsRepository->sumExpenses($start, $end, null, new Collection([$category]))); $spent = $this->beautify($this->opsRepository->sumExpenses($start, $end, null, new Collection([$category])));
@@ -72,7 +72,7 @@ class CategoryTransformer extends AbstractTransformer
if (!$this->convertToNative) { if (!$this->convertToNative) {
$default = null; $default = null;
} }
$notes = $this->repository->getNoteText($category); $notes = $this->repository->getNoteText($category);
return [ return [
'id' => $category->id, 'id' => $category->id,
@@ -89,7 +89,7 @@ class CategoryTransformer extends AbstractTransformer
'links' => [ 'links' => [
[ [
'rel' => 'self', 'rel' => 'self',
'uri' => '/categories/' . $category->id, 'uri' => '/categories/'.$category->id,
], ],
], ],
]; ];

View File

@@ -40,7 +40,7 @@ class CurrencyTransformer extends AbstractTransformer
'id' => $currency->id, 'id' => $currency->id,
'created_at' => $currency->created_at->toAtomString(), 'created_at' => $currency->created_at->toAtomString(),
'updated_at' => $currency->updated_at->toAtomString(), 'updated_at' => $currency->updated_at->toAtomString(),
'native' => $currency->userGroupNative, 'native' => $currency->userGroupNative,
'enabled' => $currency->userGroupEnabled, 'enabled' => $currency->userGroupEnabled,
'name' => $currency->name, 'name' => $currency->name,
'code' => $currency->code, 'code' => $currency->code,

View File

@@ -83,13 +83,13 @@ class UserGroupTransformer extends AbstractTransformer
private function mergeMemberships(): void private function mergeMemberships(): void
{ {
$new = []; $new = [];
foreach ($this->memberships as $groupId => $members) { foreach ($this->memberships as $groupId => $members) {
$new[$groupId] ??= []; $new[$groupId] ??= [];
foreach ($members as $member) { foreach ($members as $member) {
$mail = $member['user_email']; $mail = $member['user_email'];
$new[$groupId][$mail] ??= [ $new[$groupId][$mail] ??= [
'user_id' => $member['user_id'], 'user_id' => $member['user_id'],
'user_email' => $member['user_email'], 'user_email' => $member['user_email'],
'you' => $member['you'], 'you' => $member['you'],
@@ -107,6 +107,7 @@ class UserGroupTransformer extends AbstractTransformer
public function transform(UserGroup $userGroup): array public function transform(UserGroup $userGroup): array
{ {
$currency = Amount::getDefaultCurrencyByUserGroup($userGroup); $currency = Amount::getDefaultCurrencyByUserGroup($userGroup);
return [ return [
'id' => $userGroup->id, 'id' => $userGroup->id,
'created_at' => $userGroup->created_at->toAtomString(), 'created_at' => $userGroup->created_at->toAtomString(),

View File

@@ -46,7 +46,7 @@ class CurrencyTransformer extends AbstractTransformer
'id' => $currency->id, 'id' => $currency->id,
'created_at' => $currency->created_at->toAtomString(), 'created_at' => $currency->created_at->toAtomString(),
'updated_at' => $currency->updated_at->toAtomString(), 'updated_at' => $currency->updated_at->toAtomString(),
'native' => $currency->userGroupNative, 'native' => $currency->userGroupNative,
'enabled' => $currency->userGroupEnabled, 'enabled' => $currency->userGroupEnabled,
'name' => $currency->name, 'name' => $currency->name,
'code' => $currency->code, 'code' => $currency->code,

12
composer.lock generated
View File

@@ -10286,16 +10286,16 @@
}, },
{ {
"name": "barryvdh/reflection-docblock", "name": "barryvdh/reflection-docblock",
"version": "v2.3.0", "version": "v2.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/barryvdh/ReflectionDocBlock.git", "url": "https://github.com/barryvdh/ReflectionDocBlock.git",
"reference": "818be8de6af4d16ef3ad51ea9234b3d37026ee5f" "reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/818be8de6af4d16ef3ad51ea9234b3d37026ee5f", "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/b6ff9f93603561f50e53b64310495d20b8dff5d8",
"reference": "818be8de6af4d16ef3ad51ea9234b3d37026ee5f", "reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -10332,9 +10332,9 @@
} }
], ],
"support": { "support": {
"source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.3.0" "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.3.1"
}, },
"time": "2024-12-30T10:35:04+00:00" "time": "2025-01-18T19:26:32+00:00"
}, },
{ {
"name": "cloudcreativity/json-api-testing", "name": "cloudcreativity/json-api-testing",

View File

@@ -81,7 +81,7 @@ return [
'running_balance_column' => env('USE_RUNNING_BALANCE', false), 'running_balance_column' => env('USE_RUNNING_BALANCE', false),
// see cer.php for exchange rates feature flag. // see cer.php for exchange rates feature flag.
], ],
'version' => 'develop/2025-01-15', 'version' => 'develop/2025-01-19',
'api_version' => '2.1.0', // field is no longer used. 'api_version' => '2.1.0', // field is no longer used.
'db_version' => 25, 'db_version' => 25,

24
package-lock.json generated
View File

@@ -3061,9 +3061,9 @@
} }
}, },
"node_modules/@types/imagemin": { "node_modules/@types/imagemin": {
"version": "9.0.0", "version": "9.0.1",
"resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-9.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-9.0.1.tgz",
"integrity": "sha512-4IaT+BdPUAFf/AAy3XlFAbqGk4RawhdidxWO5XTe+PJAYAr4d7m2FHiqyEPXbDpwS+IaLIJq5AIjLE9HcwMGBg==", "integrity": "sha512-xMWpvrUhtYxl6EeW+UhVH3rwUKhCRx21XddcoWByjDAasXZT5pQaCn0YVnXoTijX5hlTrGqV4TGQL/Htpp00+w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3133,9 +3133,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.10.6", "version": "22.10.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
"integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -4448,9 +4448,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001692", "version": "1.0.30001695",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz",
"integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -5663,9 +5663,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.82", "version": "1.5.83",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz",
"integrity": "sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==", "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==",
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },

View File

@@ -13,22 +13,21 @@
"/build/administrations/index.js": "/build/administrations/index.js", "/build/administrations/index.js": "/build/administrations/index.js",
"/build/administrations/edit.js": "/build/administrations/edit.js", "/build/administrations/edit.js": "/build/administrations/edit.js",
"/public/v1/js/administrations/edit.js": "/public/v1/js/administrations/edit.js", "/public/v1/js/administrations/edit.js": "/public/v1/js/administrations/edit.js",
"/public/v1/js/administrations/edit.js.LICENSE.txt": "/public/v1/js/administrations/edit.js.LICENSE.txt",
"/public/v1/js/administrations/index.js": "/public/v1/js/administrations/index.js", "/public/v1/js/administrations/index.js": "/public/v1/js/administrations/index.js",
"/public/v1/js/administrations/index.js.LICENSE.txt": "/public/v1/js/administrations/index.js.LICENSE.txt",
"/public/v1/js/app.js": "/public/v1/js/app.js", "/public/v1/js/app.js": "/public/v1/js/app.js",
"/public/v1/js/app.js.LICENSE.txt": "/public/v1/js/app.js.LICENSE.txt", "/public/v1/js/app.js.LICENSE.txt": "/public/v1/js/app.js.LICENSE.txt",
"/public/v1/js/app_vue.js": "/public/v1/js/app_vue.js", "/public/v1/js/app_vue.js": "/public/v1/js/app_vue.js",
"/public/v1/js/app_vue.js.LICENSE.txt": "/public/v1/js/app_vue.js.LICENSE.txt", "/public/v1/js/app_vue.js.LICENSE.txt": "/public/v1/js/app_vue.js.LICENSE.txt",
"/public/v1/js/create.js": "/public/v1/js/create.js",
"/public/v1/js/create.js.LICENSE.txt": "/public/v1/js/create.js.LICENSE.txt",
"/public/v1/js/create_transaction.js": "/public/v1/js/create_transaction.js", "/public/v1/js/create_transaction.js": "/public/v1/js/create_transaction.js",
"/public/v1/js/create_transaction.js.LICENSE.txt": "/public/v1/js/create_transaction.js.LICENSE.txt", "/public/v1/js/create_transaction.js.LICENSE.txt": "/public/v1/js/create_transaction.js.LICENSE.txt",
"/public/v1/js/edit.js": "/public/v1/js/edit.js",
"/public/v1/js/edit.js.LICENSE.txt": "/public/v1/js/edit.js.LICENSE.txt",
"/public/v1/js/edit_transaction.js": "/public/v1/js/edit_transaction.js", "/public/v1/js/edit_transaction.js": "/public/v1/js/edit_transaction.js",
"/public/v1/js/edit_transaction.js.LICENSE.txt": "/public/v1/js/edit_transaction.js.LICENSE.txt", "/public/v1/js/edit_transaction.js.LICENSE.txt": "/public/v1/js/edit_transaction.js.LICENSE.txt",
"/public/v1/js/exchange-rates/index.js": "/public/v1/js/exchange-rates/index.js", "/public/v1/js/exchange-rates/index.js": "/public/v1/js/exchange-rates/index.js",
"/public/v1/js/exchange-rates/index.js.LICENSE.txt": "/public/v1/js/exchange-rates/index.js.LICENSE.txt", "/public/v1/js/exchange-rates/index.js.LICENSE.txt": "/public/v1/js/exchange-rates/index.js.LICENSE.txt",
"/public/v1/js/exchange-rates/rates.js": "/public/v1/js/exchange-rates/rates.js", "/public/v1/js/exchange-rates/rates.js": "/public/v1/js/exchange-rates/rates.js",
"/public/v1/js/exchange-rates/rates.js.LICENSE.txt": "/public/v1/js/exchange-rates/rates.js.LICENSE.txt",
"/public/v1/js/ff/accounts/create.js": "/public/v1/js/ff/accounts/create.js", "/public/v1/js/ff/accounts/create.js": "/public/v1/js/ff/accounts/create.js",
"/public/v1/js/ff/accounts/edit-reconciliation.js": "/public/v1/js/ff/accounts/edit-reconciliation.js", "/public/v1/js/ff/accounts/edit-reconciliation.js": "/public/v1/js/ff/accounts/edit-reconciliation.js",
"/public/v1/js/ff/accounts/edit.js": "/public/v1/js/ff/accounts/edit.js", "/public/v1/js/ff/accounts/edit.js": "/public/v1/js/ff/accounts/edit.js",
@@ -97,8 +96,6 @@
"/public/v1/js/ff/transactions/mass/edit-bulk.js": "/public/v1/js/ff/transactions/mass/edit-bulk.js", "/public/v1/js/ff/transactions/mass/edit-bulk.js": "/public/v1/js/ff/transactions/mass/edit-bulk.js",
"/public/v1/js/ff/transactions/mass/edit.js": "/public/v1/js/ff/transactions/mass/edit.js", "/public/v1/js/ff/transactions/mass/edit.js": "/public/v1/js/ff/transactions/mass/edit.js",
"/public/v1/js/ff/transactions/show.js": "/public/v1/js/ff/transactions/show.js", "/public/v1/js/ff/transactions/show.js": "/public/v1/js/ff/transactions/show.js",
"/public/v1/js/index.js": "/public/v1/js/index.js",
"/public/v1/js/index.js.LICENSE.txt": "/public/v1/js/index.js.LICENSE.txt",
"/public/v1/js/lib/Chart.bundle.min.js": "/public/v1/js/lib/Chart.bundle.min.js", "/public/v1/js/lib/Chart.bundle.min.js": "/public/v1/js/lib/Chart.bundle.min.js",
"/public/v1/js/lib/accounting.min.js": "/public/v1/js/lib/accounting.min.js", "/public/v1/js/lib/accounting.min.js": "/public/v1/js/lib/accounting.min.js",
"/public/v1/js/lib/bootstrap-multiselect.js": "/public/v1/js/lib/bootstrap-multiselect.js", "/public/v1/js/lib/bootstrap-multiselect.js": "/public/v1/js/lib/bootstrap-multiselect.js",
@@ -157,8 +154,6 @@
"/public/v1/js/lib/vue.js": "/public/v1/js/lib/vue.js", "/public/v1/js/lib/vue.js": "/public/v1/js/lib/vue.js",
"/public/v1/js/profile.js": "/public/v1/js/profile.js", "/public/v1/js/profile.js": "/public/v1/js/profile.js",
"/public/v1/js/profile.js.LICENSE.txt": "/public/v1/js/profile.js.LICENSE.txt", "/public/v1/js/profile.js.LICENSE.txt": "/public/v1/js/profile.js.LICENSE.txt",
"/public/v1/js/show.js": "/public/v1/js/show.js",
"/public/v1/js/show.js.LICENSE.txt": "/public/v1/js/show.js.LICENSE.txt",
"/public/v1/js/webhooks/create.js": "/public/v1/js/webhooks/create.js", "/public/v1/js/webhooks/create.js": "/public/v1/js/webhooks/create.js",
"/public/v1/js/webhooks/create.js.LICENSE.txt": "/public/v1/js/webhooks/create.js.LICENSE.txt", "/public/v1/js/webhooks/create.js.LICENSE.txt": "/public/v1/js/webhooks/create.js.LICENSE.txt",
"/public/v1/js/webhooks/edit.js": "/public/v1/js/webhooks/edit.js", "/public/v1/js/webhooks/edit.js": "/public/v1/js/webhooks/edit.js",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430",
"welcome_back": "\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430?", "welcome_back": "\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430?",
"flash_error": "\u0413\u0440\u0435\u0448\u043a\u0430!", "flash_error": "\u0413\u0440\u0435\u0448\u043a\u0430!",
"flash_warning": "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!", "flash_warning": "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d", "active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d",
"interest_date": "\u041f\u0430\u0434\u0435\u0436 \u043d\u0430 \u043b\u0438\u0445\u0432\u0430", "interest_date": "\u041f\u0430\u0434\u0435\u0436 \u043d\u0430 \u043b\u0438\u0445\u0432\u0430",
"administration_currency": "Native currency",
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435", "title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435",
"date": "\u0414\u0430\u0442\u0430", "date": "\u0414\u0430\u0442\u0430",
"book_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0441\u0447\u0435\u0442\u043e\u0432\u043e\u0434\u044f\u0432\u0430\u043d\u0435", "book_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0441\u0447\u0435\u0442\u043e\u0432\u043e\u0434\u044f\u0432\u0430\u043d\u0435",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435",
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d \u043b\u0438 \u0435?", "active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d \u043b\u0438 \u0435?",
"native_currency": "Native currency",
"trigger": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u043d\u0435", "trigger": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u043d\u0435",
"response": "\u041e\u0442\u0433\u043e\u0432\u043e\u0440", "response": "\u041e\u0442\u0433\u043e\u0432\u043e\u0440",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Taula",
"welcome_back": "Qu\u00e8 est\u00e0 passant?", "welcome_back": "Qu\u00e8 est\u00e0 passant?",
"flash_error": "Error!", "flash_error": "Error!",
"flash_warning": "Atenci\u00f3!", "flash_warning": "Atenci\u00f3!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Actiu", "active": "Actiu",
"interest_date": "Data d'inter\u00e8s", "interest_date": "Data d'inter\u00e8s",
"administration_currency": "Native currency",
"title": "T\u00edtol", "title": "T\u00edtol",
"date": "Data", "date": "Data",
"book_date": "Data de registre", "book_date": "Data de registre",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "T\u00edtol",
"active": "Est\u00e0 actiu?", "active": "Est\u00e0 actiu?",
"native_currency": "Native currency",
"trigger": "Activador", "trigger": "Activador",
"response": "Resposta", "response": "Resposta",
"delivery": "Lliurament", "delivery": "Lliurament",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabulka",
"welcome_back": "Jak to jde?", "welcome_back": "Jak to jde?",
"flash_error": "Chyba!", "flash_error": "Chyba!",
"flash_warning": "Varov\u00e1n\u00ed!", "flash_warning": "Varov\u00e1n\u00ed!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktivn\u00ed", "active": "Aktivn\u00ed",
"interest_date": "\u00darokov\u00e9 datum", "interest_date": "\u00darokov\u00e9 datum",
"administration_currency": "Native currency",
"title": "N\u00e1zev", "title": "N\u00e1zev",
"date": "Datum", "date": "Datum",
"book_date": "Datum rezervace", "book_date": "Datum rezervace",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "N\u00e1zev",
"active": "Aktivn\u00ed?", "active": "Aktivn\u00ed?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabel",
"welcome_back": "Hvad spiller?", "welcome_back": "Hvad spiller?",
"flash_error": "Fejl!", "flash_error": "Fejl!",
"flash_warning": "Advarsel!", "flash_warning": "Advarsel!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktiv", "active": "Aktiv",
"interest_date": "Rentedato", "interest_date": "Rentedato",
"administration_currency": "Native currency",
"title": "Titel", "title": "Titel",
"date": "Dato", "date": "Dato",
"book_date": "Bogf\u00f8ringsdato", "book_date": "Bogf\u00f8ringsdato",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Titel",
"active": "Aktiv?", "active": "Aktiv?",
"native_currency": "Native currency",
"trigger": "Udl\u00f8ser", "trigger": "Udl\u00f8ser",
"response": "Svar", "response": "Svar",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Finanzverwaltungen",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabelle",
"welcome_back": "\u00dcberblick", "welcome_back": "\u00dcberblick",
"flash_error": "Fehler!", "flash_error": "Fehler!",
"flash_warning": "Achtung!", "flash_warning": "Achtung!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktiv", "active": "Aktiv",
"interest_date": "Zinstermin", "interest_date": "Zinstermin",
"administration_currency": "Native currency",
"title": "Titel", "title": "Titel",
"date": "Datum", "date": "Datum",
"book_date": "Buchungsdatum", "book_date": "Buchungsdatum",
@@ -162,7 +169,9 @@
"rate": "Kurs" "rate": "Kurs"
}, },
"list": { "list": {
"title": "Titel",
"active": "Aktiv?", "active": "Aktiv?",
"native_currency": "Native currency",
"trigger": "Ausl\u00f6ser", "trigger": "Ausl\u00f6ser",
"response": "Antwort", "response": "Antwort",
"delivery": "Zustellung", "delivery": "Zustellung",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u03a0\u03af\u03bd\u03b1\u03ba\u03b1\u03c2",
"welcome_back": "\u03a4\u03b9 \u03c0\u03b1\u03af\u03b6\u03b5\u03b9;", "welcome_back": "\u03a4\u03b9 \u03c0\u03b1\u03af\u03b6\u03b5\u03b9;",
"flash_error": "\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1!", "flash_error": "\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1!",
"flash_warning": "\u03a0\u03c1\u03bf\u03c3\u03bf\u03c7\u03ae!", "flash_warning": "\u03a0\u03c1\u03bf\u03c3\u03bf\u03c7\u03ae!",
@@ -145,6 +151,7 @@
"url": "\u0394\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL", "url": "\u0394\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL",
"active": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc", "active": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc",
"interest_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03bf\u03ba\u03b9\u03c3\u03bc\u03bf\u03cd", "interest_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03bf\u03ba\u03b9\u03c3\u03bc\u03bf\u03cd",
"administration_currency": "Native currency",
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2", "title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2",
"date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1", "date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1",
"book_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03b5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2", "book_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03b5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2",
"active": "\u0395\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03cc;", "active": "\u0395\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03cc;",
"native_currency": "Native currency",
"trigger": "\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7", "trigger": "\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
"response": "\u0391\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7", "response": "\u0391\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7",
"delivery": "\u03a0\u03b1\u03c1\u03ac\u03b4\u03bf\u03c3\u03b7", "delivery": "\u03a0\u03b1\u03c1\u03ac\u03b4\u03bf\u03c3\u03b7",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Table",
"welcome_back": "What's playing?", "welcome_back": "What's playing?",
"flash_error": "Error!", "flash_error": "Error!",
"flash_warning": "Warning!", "flash_warning": "Warning!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Active", "active": "Active",
"interest_date": "Interest date", "interest_date": "Interest date",
"administration_currency": "Native currency",
"title": "Title", "title": "Title",
"date": "Date", "date": "Date",
"book_date": "Book date", "book_date": "Book date",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Title",
"active": "Is active?", "active": "Is active?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Table",
"welcome_back": "What's playing?", "welcome_back": "What's playing?",
"flash_error": "Error!", "flash_error": "Error!",
"flash_warning": "Warning!", "flash_warning": "Warning!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Active", "active": "Active",
"interest_date": "Interest date", "interest_date": "Interest date",
"administration_currency": "Native currency",
"title": "Title", "title": "Title",
"date": "Date", "date": "Date",
"book_date": "Book date", "book_date": "Book date",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Title",
"active": "Is active?", "active": "Is active?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Mesa",
"welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?", "welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?",
"flash_error": "\u00a1Error!", "flash_error": "\u00a1Error!",
"flash_warning": "\u00a1Advertencia!", "flash_warning": "\u00a1Advertencia!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Activo", "active": "Activo",
"interest_date": "Fecha de inter\u00e9s", "interest_date": "Fecha de inter\u00e9s",
"administration_currency": "Native currency",
"title": "T\u00edtulo", "title": "T\u00edtulo",
"date": "Fecha", "date": "Fecha",
"book_date": "Fecha de registro", "book_date": "Fecha de registro",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "T\u00edtulo",
"active": "\u00bfEst\u00e1 Activo?", "active": "\u00bfEst\u00e1 Activo?",
"native_currency": "Native currency",
"trigger": "Disparador", "trigger": "Disparador",
"response": "Respuesta", "response": "Respuesta",
"delivery": "Entrega", "delivery": "Entrega",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Taulukko",
"welcome_back": "Mit\u00e4 kuuluu?", "welcome_back": "Mit\u00e4 kuuluu?",
"flash_error": "Virhe!", "flash_error": "Virhe!",
"flash_warning": "Varoitus!", "flash_warning": "Varoitus!",
@@ -145,6 +151,7 @@
"url": "URL-osoite", "url": "URL-osoite",
"active": "Aktiivinen", "active": "Aktiivinen",
"interest_date": "Korkop\u00e4iv\u00e4", "interest_date": "Korkop\u00e4iv\u00e4",
"administration_currency": "Native currency",
"title": "Otsikko", "title": "Otsikko",
"date": "P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4", "date": "P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4",
"book_date": "Kirjausp\u00e4iv\u00e4", "book_date": "Kirjausp\u00e4iv\u00e4",
@@ -162,7 +169,9 @@
"rate": "Kurssi" "rate": "Kurssi"
}, },
"list": { "list": {
"title": "Otsikko",
"active": "Aktiivinen?", "active": "Aktiivinen?",
"native_currency": "Native currency",
"trigger": "Ehto", "trigger": "Ehto",
"response": "Vastaus", "response": "Vastaus",
"delivery": "Toimitus", "delivery": "Toimitus",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Administrations financi\u00e8res",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tableau",
"welcome_back": "Quoi de neuf ?", "welcome_back": "Quoi de neuf ?",
"flash_error": "Erreur !", "flash_error": "Erreur !",
"flash_warning": "Attention !", "flash_warning": "Attention !",
@@ -145,6 +151,7 @@
"url": "Liens", "url": "Liens",
"active": "Actif", "active": "Actif",
"interest_date": "Date de valeur (int\u00e9r\u00eats)", "interest_date": "Date de valeur (int\u00e9r\u00eats)",
"administration_currency": "Native currency",
"title": "Titre", "title": "Titre",
"date": "Date", "date": "Date",
"book_date": "Date d'enregistrement", "book_date": "Date d'enregistrement",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Titre",
"active": "Actif ?", "active": "Actif ?",
"native_currency": "Native currency",
"trigger": "D\u00e9clencheur", "trigger": "D\u00e9clencheur",
"response": "R\u00e9ponse", "response": "R\u00e9ponse",
"delivery": "Distribution", "delivery": "Distribution",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "T\u00e1bl\u00e1zat",
"welcome_back": "Mi a helyzet?", "welcome_back": "Mi a helyzet?",
"flash_error": "Hiba!", "flash_error": "Hiba!",
"flash_warning": "Figyelmeztet\u00e9s!", "flash_warning": "Figyelmeztet\u00e9s!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Akt\u00edv", "active": "Akt\u00edv",
"interest_date": "Kamatfizet\u00e9si id\u0151pont", "interest_date": "Kamatfizet\u00e9si id\u0151pont",
"administration_currency": "Native currency",
"title": "C\u00edm", "title": "C\u00edm",
"date": "D\u00e1tum", "date": "D\u00e1tum",
"book_date": "K\u00f6nyvel\u00e9s d\u00e1tuma", "book_date": "K\u00f6nyvel\u00e9s d\u00e1tuma",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "C\u00edm",
"active": "Akt\u00edv?", "active": "Akt\u00edv?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Meja",
"welcome_back": "Apa yang sedang dimainkan?", "welcome_back": "Apa yang sedang dimainkan?",
"flash_error": "Kesalahan!", "flash_error": "Kesalahan!",
"flash_warning": "PERINGATAN!", "flash_warning": "PERINGATAN!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktif", "active": "Aktif",
"interest_date": "Tanggal bunga", "interest_date": "Tanggal bunga",
"administration_currency": "Native currency",
"title": "Judul", "title": "Judul",
"date": "Tanggal", "date": "Tanggal",
"book_date": "Tanggal buku", "book_date": "Tanggal buku",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Judul",
"active": "Aktif?", "active": "Aktif?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabella",
"welcome_back": "La tua situazione finanziaria", "welcome_back": "La tua situazione finanziaria",
"flash_error": "Errore!", "flash_error": "Errore!",
"flash_warning": "Avviso!", "flash_warning": "Avviso!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Attivo", "active": "Attivo",
"interest_date": "Data di valuta", "interest_date": "Data di valuta",
"administration_currency": "Native currency",
"title": "Titolo", "title": "Titolo",
"date": "Data", "date": "Data",
"book_date": "Data contabile", "book_date": "Data contabile",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Titolo",
"active": "Attivo", "active": "Attivo",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Risposta", "response": "Risposta",
"delivery": "Consegna", "delivery": "Consegna",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u8868",
"welcome_back": "\u6982\u8981", "welcome_back": "\u6982\u8981",
"flash_error": "\u30a8\u30e9\u30fc\uff01", "flash_error": "\u30a8\u30e9\u30fc\uff01",
"flash_warning": "\u8b66\u544a\uff01", "flash_warning": "\u8b66\u544a\uff01",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "\u6709\u52b9", "active": "\u6709\u52b9",
"interest_date": "\u5229\u606f\u65e5", "interest_date": "\u5229\u606f\u65e5",
"administration_currency": "Native currency",
"title": "\u30bf\u30a4\u30c8\u30eb", "title": "\u30bf\u30a4\u30c8\u30eb",
"date": "\u65e5\u4ed8", "date": "\u65e5\u4ed8",
"book_date": "\u8a18\u5e33\u65e5", "book_date": "\u8a18\u5e33\u65e5",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\u30bf\u30a4\u30c8\u30eb",
"active": "\u6709\u52b9", "active": "\u6709\u52b9",
"native_currency": "Native currency",
"trigger": "\u30c8\u30ea\u30ac\u30fc", "trigger": "\u30c8\u30ea\u30ac\u30fc",
"response": "\u30ec\u30b9\u30dd\u30f3\u30b9", "response": "\u30ec\u30b9\u30dd\u30f3\u30b9",
"delivery": "\u914d\u4fe1", "delivery": "\u914d\u4fe1",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\ud45c",
"welcome_back": "\ubb34\uc2a8 \uc77c\uc774\uc8e0?", "welcome_back": "\ubb34\uc2a8 \uc77c\uc774\uc8e0?",
"flash_error": "\uc624\ub958!", "flash_error": "\uc624\ub958!",
"flash_warning": "\uacbd\uace0!", "flash_warning": "\uacbd\uace0!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "\ud65c\uc131", "active": "\ud65c\uc131",
"interest_date": "\uc774\uc790 \ub0a0\uc9dc", "interest_date": "\uc774\uc790 \ub0a0\uc9dc",
"administration_currency": "Native currency",
"title": "\uc81c\ubaa9", "title": "\uc81c\ubaa9",
"date": "\ub0a0\uc9dc", "date": "\ub0a0\uc9dc",
"book_date": "\uc608\uc57d\uc77c", "book_date": "\uc608\uc57d\uc77c",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\uc81c\ubaa9",
"active": "\ud65c\uc131 \uc0c1\ud0dc\uc785\ub2c8\uae4c?", "active": "\ud65c\uc131 \uc0c1\ud0dc\uc785\ub2c8\uae4c?",
"native_currency": "Native currency",
"trigger": "\ud2b8\ub9ac\uac70", "trigger": "\ud2b8\ub9ac\uac70",
"response": "\uc751\ub2f5", "response": "\uc751\ub2f5",
"delivery": "\uc804\ub2ec", "delivery": "\uc804\ub2ec",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabell",
"welcome_back": "Hvordan g\u00e5r det?", "welcome_back": "Hvordan g\u00e5r det?",
"flash_error": "Feil!", "flash_error": "Feil!",
"flash_warning": "Advarsel!", "flash_warning": "Advarsel!",
@@ -145,6 +151,7 @@
"url": "Nettadresse", "url": "Nettadresse",
"active": "Aktiv", "active": "Aktiv",
"interest_date": "Rentedato", "interest_date": "Rentedato",
"administration_currency": "Native currency",
"title": "Tittel", "title": "Tittel",
"date": "Dato", "date": "Dato",
"book_date": "Bokf\u00f8ringsdato", "book_date": "Bokf\u00f8ringsdato",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Tittel",
"active": "Er aktiv?", "active": "Er aktiv?",
"native_currency": "Native currency",
"trigger": "Utl\u00f8ser", "trigger": "Utl\u00f8ser",
"response": "Respons", "response": "Respons",
"delivery": "Levering", "delivery": "Levering",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Grootboeken",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabel",
"welcome_back": "Hoe staat het er voor?", "welcome_back": "Hoe staat het er voor?",
"flash_error": "Fout!", "flash_error": "Fout!",
"flash_warning": "Waarschuwing!", "flash_warning": "Waarschuwing!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Actief", "active": "Actief",
"interest_date": "Rentedatum", "interest_date": "Rentedatum",
"administration_currency": "Native currency",
"title": "Titel", "title": "Titel",
"date": "Datum", "date": "Datum",
"book_date": "Boekdatum", "book_date": "Boekdatum",
@@ -162,7 +169,9 @@
"rate": "Wisselkoers" "rate": "Wisselkoers"
}, },
"list": { "list": {
"title": "Titel",
"active": "Actief?", "active": "Actief?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Reactie", "response": "Reactie",
"delivery": "Bericht", "delivery": "Bericht",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabell",
"welcome_back": "Korleis g\u00e5r det?", "welcome_back": "Korleis g\u00e5r det?",
"flash_error": "Feil!", "flash_error": "Feil!",
"flash_warning": "Advarsel!", "flash_warning": "Advarsel!",
@@ -145,6 +151,7 @@
"url": "Nettadresse", "url": "Nettadresse",
"active": "Aktiv", "active": "Aktiv",
"interest_date": "Rentedato", "interest_date": "Rentedato",
"administration_currency": "Native currency",
"title": "Tittel", "title": "Tittel",
"date": "Dato", "date": "Dato",
"book_date": "Bokf\u00f8ringsdato", "book_date": "Bokf\u00f8ringsdato",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Tittel",
"active": "Er aktiv?", "active": "Er aktiv?",
"native_currency": "Native currency",
"trigger": "Utl\u00f8ser", "trigger": "Utl\u00f8ser",
"response": "Respons", "response": "Respons",
"delivery": "Levering", "delivery": "Levering",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabela",
"welcome_back": "Co jest grane?", "welcome_back": "Co jest grane?",
"flash_error": "B\u0142\u0105d!", "flash_error": "B\u0142\u0105d!",
"flash_warning": "Ostrze\u017cenie!", "flash_warning": "Ostrze\u017cenie!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktywny", "active": "Aktywny",
"interest_date": "Data odsetek", "interest_date": "Data odsetek",
"administration_currency": "Native currency",
"title": "Tytu\u0142", "title": "Tytu\u0142",
"date": "Data", "date": "Data",
"book_date": "Data ksi\u0119gowania", "book_date": "Data ksi\u0119gowania",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Tytu\u0142",
"active": "Jest aktywny?", "active": "Jest aktywny?",
"native_currency": "Native currency",
"trigger": "Wyzwalacz", "trigger": "Wyzwalacz",
"response": "Odpowied\u017a", "response": "Odpowied\u017a",
"delivery": "Dor\u0119czenie", "delivery": "Dor\u0119czenie",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabela",
"welcome_back": "O que est\u00e1 acontecendo?", "welcome_back": "O que est\u00e1 acontecendo?",
"flash_error": "Erro!", "flash_error": "Erro!",
"flash_warning": "Aten\u00e7\u00e3o!", "flash_warning": "Aten\u00e7\u00e3o!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Ativo", "active": "Ativo",
"interest_date": "Data do juros", "interest_date": "Data do juros",
"administration_currency": "Native currency",
"title": "T\u00edtulo", "title": "T\u00edtulo",
"date": "Data", "date": "Data",
"book_date": "Data de lan\u00e7amento", "book_date": "Data de lan\u00e7amento",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "T\u00edtulo",
"active": "Est\u00e1 ativo?", "active": "Est\u00e1 ativo?",
"native_currency": "Native currency",
"trigger": "Gatilho", "trigger": "Gatilho",
"response": "Resposta", "response": "Resposta",
"delivery": "Entrega", "delivery": "Entrega",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabela",
"welcome_back": "Painel de controlo", "welcome_back": "Painel de controlo",
"flash_error": "Erro!", "flash_error": "Erro!",
"flash_warning": "Aviso!", "flash_warning": "Aviso!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Ativo", "active": "Ativo",
"interest_date": "Data de juros", "interest_date": "Data de juros",
"administration_currency": "Native currency",
"title": "T\u00edtulo", "title": "T\u00edtulo",
"date": "Data", "date": "Data",
"book_date": "Data de registo", "book_date": "Data de registo",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "T\u00edtulo",
"active": "Esta ativo?", "active": "Esta ativo?",
"native_currency": "Native currency",
"trigger": "Gatilho", "trigger": "Gatilho",
"response": "Resposta", "response": "Resposta",
"delivery": "Entrega", "delivery": "Entrega",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabel",
"welcome_back": "Ce se red\u0103?", "welcome_back": "Ce se red\u0103?",
"flash_error": "Eroare!", "flash_error": "Eroare!",
"flash_warning": "Avertizare!", "flash_warning": "Avertizare!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Activ", "active": "Activ",
"interest_date": "Data de interes", "interest_date": "Data de interes",
"administration_currency": "Native currency",
"title": "Titlu", "title": "Titlu",
"date": "Dat\u0103", "date": "Dat\u0103",
"book_date": "Rezerv\u0103 dat\u0103", "book_date": "Rezerv\u0103 dat\u0103",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Titlu",
"active": "Este activ?", "active": "Este activ?",
"native_currency": "Native currency",
"trigger": "Declan\u0219ator", "trigger": "Declan\u0219ator",
"response": "R\u0103spuns", "response": "R\u0103spuns",
"delivery": "Livrare", "delivery": "Livrare",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "\u0424\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430",
"welcome_back": "\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043c\u043e\u0438\u043c\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u0430\u043c\u0438?", "welcome_back": "\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043c\u043e\u0438\u043c\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u0430\u043c\u0438?",
"flash_error": "\u041e\u0448\u0438\u0431\u043a\u0430!", "flash_error": "\u041e\u0448\u0438\u0431\u043a\u0430!",
"flash_warning": "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435!", "flash_warning": "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435!",
@@ -145,6 +151,7 @@
"url": "\u0421\u0441\u044b\u043b\u043a\u0430", "url": "\u0421\u0441\u044b\u043b\u043a\u0430",
"active": "\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439", "active": "\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439",
"interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432", "interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432",
"administration_currency": "Native currency",
"title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a",
"date": "\u0414\u0430\u0442\u0430", "date": "\u0414\u0430\u0442\u0430",
"book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f", "book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f",
@@ -162,7 +169,9 @@
"rate": "\u041e\u0446\u0435\u043d\u0438\u0442\u044c" "rate": "\u041e\u0446\u0435\u043d\u0438\u0442\u044c"
}, },
"list": { "list": {
"title": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d?", "active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d?",
"native_currency": "Native currency",
"trigger": "\u0421\u043e\u0431\u044b\u0442\u0438\u0435", "trigger": "\u0421\u043e\u0431\u044b\u0442\u0438\u0435",
"response": "\u041e\u0442\u0432\u0435\u0442", "response": "\u041e\u0442\u0432\u0435\u0442",
"delivery": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430", "delivery": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabu\u013eka",
"welcome_back": "Ako to ide?", "welcome_back": "Ako to ide?",
"flash_error": "Chyba!", "flash_error": "Chyba!",
"flash_warning": "Varovanie!", "flash_warning": "Varovanie!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Akt\u00edvne", "active": "Akt\u00edvne",
"interest_date": "\u00darokov\u00fd d\u00e1tum", "interest_date": "\u00darokov\u00fd d\u00e1tum",
"administration_currency": "Native currency",
"title": "N\u00e1zov", "title": "N\u00e1zov",
"date": "D\u00e1tum", "date": "D\u00e1tum",
"book_date": "D\u00e1tum rezerv\u00e1cie", "book_date": "D\u00e1tum rezerv\u00e1cie",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "N\u00e1zov",
"active": "Akt\u00edvne?", "active": "Akt\u00edvne?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Finan\u010dne administracije",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabela",
"welcome_back": "Kaj vse se dogaja?", "welcome_back": "Kaj vse se dogaja?",
"flash_error": "Napaka!", "flash_error": "Napaka!",
"flash_warning": "Opozorilo!", "flash_warning": "Opozorilo!",
@@ -9,7 +15,7 @@
"select_source_account": "Izberite ali vnesite veljavno ime izvornega ra\u010duna", "select_source_account": "Izberite ali vnesite veljavno ime izvornega ra\u010duna",
"split_transaction_title": "Opis razdeljene transakcije", "split_transaction_title": "Opis razdeljene transakcije",
"errors_submission": "Nekaj je bilo narobe z va\u0161o oddajo. Preverite spodnje napake.", "errors_submission": "Nekaj je bilo narobe z va\u0161o oddajo. Preverite spodnje napake.",
"is_reconciled": "Is reconciled", "is_reconciled": "Je usklajena",
"split": "Razdeli", "split": "Razdeli",
"single_split": "Razdeli", "single_split": "Razdeli",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcija \u0161t. #{ID} (\"{title}\")<\/a> je bila shranjena.", "transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcija \u0161t. #{ID} (\"{title}\")<\/a> je bila shranjena.",
@@ -34,7 +40,7 @@
"submit": "Potrdite", "submit": "Potrdite",
"amount": "Znesek", "amount": "Znesek",
"date": "Datum", "date": "Datum",
"is_reconciled_fields_dropped": "Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s) unless you remove the reconciliation flag.", "is_reconciled_fields_dropped": "Ker je ta transakcija usklajena, ne boste mogli posodobiti ra\u010dunov niti zneskov.",
"tags": "Oznake", "tags": "Oznake",
"no_budget": "(brez prora\u010duna)", "no_budget": "(brez prora\u010duna)",
"no_bill": "(brez naro\u010dnin)", "no_bill": "(brez naro\u010dnin)",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktivno", "active": "Aktivno",
"interest_date": "Datum obresti", "interest_date": "Datum obresti",
"administration_currency": "Native currency",
"title": "Naslov", "title": "Naslov",
"date": "Datum", "date": "Datum",
"book_date": "Datum knji\u017eenja", "book_date": "Datum knji\u017eenja",
@@ -162,7 +169,9 @@
"rate": "Te\u010daj" "rate": "Te\u010daj"
}, },
"list": { "list": {
"title": "Naslov",
"active": "Aktiviran?", "active": "Aktiviran?",
"native_currency": "Native currency",
"trigger": "Spro\u017eilec", "trigger": "Spro\u017eilec",
"response": "Odziv", "response": "Odziv",
"delivery": "Dostava", "delivery": "Dostava",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tabell",
"welcome_back": "Vad spelas?", "welcome_back": "Vad spelas?",
"flash_error": "Fel!", "flash_error": "Fel!",
"flash_warning": "Varning!", "flash_warning": "Varning!",
@@ -145,6 +151,7 @@
"url": "L\u00e4nk", "url": "L\u00e4nk",
"active": "Aktiv", "active": "Aktiv",
"interest_date": "R\u00e4ntedatum", "interest_date": "R\u00e4ntedatum",
"administration_currency": "Native currency",
"title": "Titel", "title": "Titel",
"date": "Datum", "date": "Datum",
"book_date": "Bokf\u00f6ringsdatum", "book_date": "Bokf\u00f6ringsdatum",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Titel",
"active": "\u00c4r aktiv?", "active": "\u00c4r aktiv?",
"native_currency": "Native currency",
"trigger": "Utl\u00f6sare", "trigger": "Utl\u00f6sare",
"response": "Svar", "response": "Svar",
"delivery": "Leverans", "delivery": "Leverans",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "Tablo",
"welcome_back": "Neler oluyor?", "welcome_back": "Neler oluyor?",
"flash_error": "Hata!", "flash_error": "Hata!",
"flash_warning": "Uyar\u0131!", "flash_warning": "Uyar\u0131!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "Aktif", "active": "Aktif",
"interest_date": "Faiz tarihi", "interest_date": "Faiz tarihi",
"administration_currency": "Native currency",
"title": "Ba\u015fl\u0131k", "title": "Ba\u015fl\u0131k",
"date": "Tarih", "date": "Tarih",
"book_date": "Kitap Tarihi", "book_date": "Kitap Tarihi",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Ba\u015fl\u0131k",
"active": "Aktif mi?", "active": "Aktif mi?",
"native_currency": "Native currency",
"trigger": "Trigger", "trigger": "Trigger",
"response": "Response", "response": "Response",
"delivery": "Delivery", "delivery": "Delivery",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u0422\u0430\u0431\u043b\u0438\u0446\u044f",
"welcome_back": "\u0429\u043e \u0432 \u0433\u0430\u043c\u0430\u043d\u0446\u0456?", "welcome_back": "\u0429\u043e \u0432 \u0433\u0430\u043c\u0430\u043d\u0446\u0456?",
"flash_error": "\u041f\u043e\u043c\u0438\u043b\u043a\u0430!", "flash_error": "\u041f\u043e\u043c\u0438\u043b\u043a\u0430!",
"flash_warning": "\u0423\u0432\u0430\u0433\u0430!", "flash_warning": "\u0423\u0432\u0430\u0433\u0430!",
@@ -145,6 +151,7 @@
"url": "URL-\u0430\u0434\u0440\u0435\u0441\u0430", "url": "URL-\u0430\u0434\u0440\u0435\u0441\u0430",
"active": "\u0410\u043a\u0442\u0438\u0432\u043d\u043e", "active": "\u0410\u043a\u0442\u0438\u0432\u043d\u043e",
"interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0440\u0430\u0445\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0456\u0434\u0441\u043e\u0442\u043a\u0456\u0432", "interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0440\u0430\u0445\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0456\u0434\u0441\u043e\u0442\u043a\u0456\u0432",
"administration_currency": "Native currency",
"title": "\u041d\u0430\u0437\u0432\u0430", "title": "\u041d\u0430\u0437\u0432\u0430",
"date": "\u0414\u0430\u0442\u0430", "date": "\u0414\u0430\u0442\u0430",
"book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u044e\u0432\u0430\u043d\u043d\u044f", "book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u044e\u0432\u0430\u043d\u043d\u044f",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\u041d\u0430\u0437\u0432\u0430",
"active": "\u0427\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u0438\u0439?", "active": "\u0427\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u0438\u0439?",
"native_currency": "Native currency",
"trigger": "\u0422\u0440\u0438\u0433\u0435\u0440", "trigger": "\u0422\u0440\u0438\u0433\u0435\u0440",
"response": "\u0412\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c", "response": "\u0412\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c",
"delivery": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430", "delivery": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "B\u00e0n",
"welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?", "welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?",
"flash_error": "L\u1ed7i!", "flash_error": "L\u1ed7i!",
"flash_warning": "C\u1ea3nh b\u00e1o!", "flash_warning": "C\u1ea3nh b\u00e1o!",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "H\u00e0nh \u0111\u1ed9ng", "active": "H\u00e0nh \u0111\u1ed9ng",
"interest_date": "Ng\u00e0y l\u00e3i", "interest_date": "Ng\u00e0y l\u00e3i",
"administration_currency": "Native currency",
"title": "Ti\u00eau \u0111\u1ec1", "title": "Ti\u00eau \u0111\u1ec1",
"date": "Ng\u00e0y", "date": "Ng\u00e0y",
"book_date": "Ng\u00e0y \u0111\u1eb7t s\u00e1ch", "book_date": "Ng\u00e0y \u0111\u1eb7t s\u00e1ch",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "Ti\u00eau \u0111\u1ec1",
"active": "\u0110ang ho\u1ea1t \u0111\u1ed9ng?", "active": "\u0110ang ho\u1ea1t \u0111\u1ed9ng?",
"native_currency": "Native currency",
"trigger": "K\u00edch ho\u1ea1t", "trigger": "K\u00edch ho\u1ea1t",
"response": "\u0110\u00e1p l\u1ea1i", "response": "\u0110\u00e1p l\u1ea1i",
"delivery": "Ph\u00e2n ph\u1ed1i", "delivery": "Ph\u00e2n ph\u1ed1i",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u8868\u683c",
"welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f", "welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f",
"flash_error": "\u9519\u8bef\uff01", "flash_error": "\u9519\u8bef\uff01",
"flash_warning": "\u8b66\u544a\uff01", "flash_warning": "\u8b66\u544a\uff01",
@@ -9,7 +15,7 @@
"select_source_account": "\u8bf7\u9009\u62e9\u6216\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u6e90\u5e10\u6237\u540d\u79f0", "select_source_account": "\u8bf7\u9009\u62e9\u6216\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u6e90\u5e10\u6237\u540d\u79f0",
"split_transaction_title": "\u62c6\u5206\u4ea4\u6613\u7684\u63cf\u8ff0", "split_transaction_title": "\u62c6\u5206\u4ea4\u6613\u7684\u63cf\u8ff0",
"errors_submission": "\u60a8\u7684\u63d0\u4ea4\u6709\u8bef\uff0c\u8bf7\u67e5\u770b\u4e0b\u9762\u8f93\u51fa\u7684\u9519\u8bef\u4fe1\u606f\u3002", "errors_submission": "\u60a8\u7684\u63d0\u4ea4\u6709\u8bef\uff0c\u8bf7\u67e5\u770b\u4e0b\u9762\u8f93\u51fa\u7684\u9519\u8bef\u4fe1\u606f\u3002",
"is_reconciled": "Is reconciled", "is_reconciled": "\u5df2\u6838\u9500",
"split": "\u62c6\u5206", "split": "\u62c6\u5206",
"single_split": "\u62c6\u5206", "single_split": "\u62c6\u5206",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u4ea4\u6613 #{ID} (\u201c{title}\u201d)<\/a> \u5df2\u4fdd\u5b58\u3002", "transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u4ea4\u6613 #{ID} (\u201c{title}\u201d)<\/a> \u5df2\u4fdd\u5b58\u3002",
@@ -131,11 +137,11 @@
"response": "\u54cd\u5e94", "response": "\u54cd\u5e94",
"visit_webhook_url": "\u8bbf\u95ee webhook URL", "visit_webhook_url": "\u8bbf\u95ee webhook URL",
"reset_webhook_secret": "\u91cd\u7f6e webhook \u5bc6\u94a5", "reset_webhook_secret": "\u91cd\u7f6e webhook \u5bc6\u94a5",
"header_exchange_rates": "Exchange rates", "header_exchange_rates": "\u6c47\u7387",
"exchange_rates_intro": "Firefly III supports downloading and using exchange rates. Read more about this in <a href=\"https:\/\/docs.firefly-iii.org\/LOL_NOT_FINISHED_YET_TODO\">the documentation<\/a>.", "exchange_rates_intro": "Firefly III supports downloading and using exchange rates. Read more about this in <a href=\"https:\/\/docs.firefly-iii.org\/LOL_NOT_FINISHED_YET_TODO\">the documentation<\/a>.",
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)", "exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III uses the following exchange rates. The inverse is automatically calculated when it is not provided. If no exchange rate exists for the date of the transaction, Firefly III will go back in time to find one. If none are present, the rate \"1\" will be used.", "exchange_rates_intro_rates": "Firefly III uses the following exchange rates. The inverse is automatically calculated when it is not provided. If no exchange rate exists for the date of the transaction, Firefly III will go back in time to find one. If none are present, the rate \"1\" will be used.",
"header_exchange_rates_rates": "Exchange rates", "header_exchange_rates_rates": "\u6c47\u7387",
"header_exchange_rates_table": "Table with exchange rates", "header_exchange_rates_table": "Table with exchange rates",
"help_rate_form": "On this day, how many {to} will you get for one {from}?", "help_rate_form": "On this day, how many {to} will you get for one {from}?",
"add_new_rate": "Add a new exchange rate", "add_new_rate": "Add a new exchange rate",
@@ -145,6 +151,7 @@
"url": "\u7f51\u5740", "url": "\u7f51\u5740",
"active": "\u542f\u7528", "active": "\u542f\u7528",
"interest_date": "\u5229\u606f\u65e5\u671f", "interest_date": "\u5229\u606f\u65e5\u671f",
"administration_currency": "Native currency",
"title": "\u6807\u9898", "title": "\u6807\u9898",
"date": "\u65e5\u671f", "date": "\u65e5\u671f",
"book_date": "\u767b\u8bb0\u65e5\u671f", "book_date": "\u767b\u8bb0\u65e5\u671f",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\u6807\u9898",
"active": "\u662f\u5426\u542f\u7528\uff1f", "active": "\u662f\u5426\u542f\u7528\uff1f",
"native_currency": "Native currency",
"trigger": "\u89e6\u53d1\u6761\u4ef6", "trigger": "\u89e6\u53d1\u6761\u4ef6",
"response": "\u7b54\u590d", "response": "\u7b54\u590d",
"delivery": "\u4ea4\u4ed8", "delivery": "\u4ea4\u4ed8",

View File

@@ -1,5 +1,11 @@
{ {
"firefly": { "firefly": {
"administrations_page_title": "Financial administrations",
"administrations_index_menu": "Financial administrations",
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
"table": "\u8868\u683c",
"welcome_back": "What's playing?", "welcome_back": "What's playing?",
"flash_error": "\u932f\u8aa4\uff01", "flash_error": "\u932f\u8aa4\uff01",
"flash_warning": "\u8b66\u544a\uff01", "flash_warning": "\u8b66\u544a\uff01",
@@ -145,6 +151,7 @@
"url": "URL", "url": "URL",
"active": "\u555f\u7528", "active": "\u555f\u7528",
"interest_date": "\u5229\u7387\u65e5\u671f", "interest_date": "\u5229\u7387\u65e5\u671f",
"administration_currency": "Native currency",
"title": "\u6a19\u984c", "title": "\u6a19\u984c",
"date": "\u65e5\u671f", "date": "\u65e5\u671f",
"book_date": "\u767b\u8a18\u65e5\u671f", "book_date": "\u767b\u8a18\u65e5\u671f",
@@ -162,7 +169,9 @@
"rate": "Rate" "rate": "Rate"
}, },
"list": { "list": {
"title": "\u6a19\u984c",
"active": "\u662f\u5426\u555f\u7528\uff1f", "active": "\u662f\u5426\u555f\u7528\uff1f",
"native_currency": "Native currency",
"trigger": "\u89f8\u767c\u5668", "trigger": "\u89f8\u767c\u5668",
"response": "\u56de\u61c9", "response": "\u56de\u61c9",
"delivery": "Delivery", "delivery": "Delivery",

File diff suppressed because it is too large Load Diff

View File

@@ -49,7 +49,7 @@ return [
'date_or_time' => 'The value must be a valid date or time value (ISO 8601).', 'date_or_time' => 'The value must be a valid date or time value (ISO 8601).',
'source_equals_destination' => 'The source account equals the destination account.', 'source_equals_destination' => 'The source account equals the destination account.',
'unique_account_number_for_user' => 'It looks like this account number is already in use.', 'unique_account_number_for_user' => 'It looks like this account number is already in use.',
'unique_user_group_for_user' => 'It looks like this administration title is already in use.', 'unique_user_group_for_user' => 'It looks like this administration title is already in use.',
'unique_iban_for_user' => 'It looks like this IBAN is already in use.', 'unique_iban_for_user' => 'It looks like this IBAN is already in use.',
'reconciled_forbidden_field' => 'This transaction is already reconciled, you cannot change the ":field"', 'reconciled_forbidden_field' => 'This transaction is already reconciled, you cannot change the ":field"',
'deleted_user' => 'Due to security constraints, you cannot register using this email address.', 'deleted_user' => 'Due to security constraints, you cannot register using this email address.',

View File

@@ -538,7 +538,7 @@ Route::group(
Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']); Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
Route::get('{userGroup}', ['uses' => 'ShowController@show', 'as' => 'show']); Route::get('{userGroup}', ['uses' => 'ShowController@show', 'as' => 'show']);
Route::put('{userGroup}', ['uses' => 'UpdateController@update', 'as' => 'update']); Route::put('{userGroup}', ['uses' => 'UpdateController@update', 'as' => 'update']);
//Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']); // Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']);
// Route::put('{userGroup}', ['uses' => 'UpdateController@update', 'as' => 'update']); // Route::put('{userGroup}', ['uses' => 'UpdateController@update', 'as' => 'update']);
// Route::post('{userGroup}/use', ['uses' => 'UpdateController@useUserGroup', 'as' => 'use']); // Route::post('{userGroup}/use', ['uses' => 'UpdateController@useUserGroup', 'as' => 'use']);
// Route::put('{userGroup}/update-membership', ['uses' => 'UpdateController@updateMembership', 'as' => 'updateMembership']); // Route::put('{userGroup}/update-membership', ['uses' => 'UpdateController@updateMembership', 'as' => 'updateMembership']);

View File

@@ -1350,21 +1350,21 @@ Breadcrumbs::for(
} }
); );
//Breadcrumbs::for( // Breadcrumbs::for(
// 'administrations.show', // 'administrations.show',
// static function (Generator $breadcrumbs, UserGroup $userGroup): void { // static function (Generator $breadcrumbs, UserGroup $userGroup): void {
// $breadcrumbs->parent('administrations.index'); // $breadcrumbs->parent('administrations.index');
// $breadcrumbs->push(limitStringLength($userGroup->title), route('administrations.show', [$userGroup->id])); // $breadcrumbs->push(limitStringLength($userGroup->title), route('administrations.show', [$userGroup->id]));
// } // }
//); // );
//Breadcrumbs::for( // Breadcrumbs::for(
// 'administrations.create', // 'administrations.create',
// static function (Generator $breadcrumbs): void { // static function (Generator $breadcrumbs): void {
// $breadcrumbs->parent('administrations.index'); // $breadcrumbs->parent('administrations.index');
// $breadcrumbs->push(trans('firefly.administrations_create_breadcrumb'), route('administrations.create')); // $breadcrumbs->push(trans('firefly.administrations_create_breadcrumb'), route('administrations.create'));
// } // }
//); // );
Breadcrumbs::for( Breadcrumbs::for(
'administrations.edit', 'administrations.edit',
static function (Generator $breadcrumbs, UserGroup $userGroup): void { static function (Generator $breadcrumbs, UserGroup $userGroup): void {