Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop

# Conflicts:
#	app/Helpers/Collector/GroupCollector.php
This commit is contained in:
James Cole 2024-02-10 08:29:59 +01:00
commit 283b594995
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
45 changed files with 85 additions and 108 deletions

View File

@ -70,6 +70,7 @@ class GroupCollector implements GroupCollectorInterface
$this->startRow = null;
$this->endRow = null;
$this->hasAccountInfo = false;
$this->hasCatInformation = false;
$this->hasBudgetInformation = false;
@ -290,7 +291,7 @@ class GroupCollector implements GroupCollectorInterface
if (is_int($param)) {
$replace = (string)$param;
}
$pos = strpos($query, '?');
$pos = strpos($query, '?');
if (false !== $pos) {
$query = substr_replace($query, $replace, $pos, 1);
}
@ -458,13 +459,13 @@ class GroupCollector implements GroupCollectorInterface
// add to query:
$this->query->orWhereIn('transaction_journals.transaction_group_id', $groupIds);
}
$result = $this->query->get($this->fields);
$result = $this->query->get($this->fields);
// now to parse this into an array.
$collection = $this->parseArray($result);
$collection = $this->parseArray($result);
// filter the array using all available post filters:
$collection = $this->postFilterCollection($collection);
$collection = $this->postFilterCollection($collection);
// count it and continue:
$this->total = $collection->count();
@ -678,11 +679,12 @@ class GroupCollector implements GroupCollectorInterface
// include source + destination account name and type.
$this->withAccountInformation()
// include category ID + name (if any)
->withCategoryInformation()
->withCategoryInformation()
// include budget ID + name (if any)
->withBudgetInformation()
->withBudgetInformation()
// include bill ID + name (if any)
->withBillInformation();
->withBillInformation()
;
return $this;
}
@ -701,12 +703,12 @@ class GroupCollector implements GroupCollectorInterface
/** @var TransactionJournal $augumentedJournal */
foreach ($collection as $augumentedJournal) {
$groupId = (int)$augumentedJournal->transaction_group_id;
$groupId = (int)$augumentedJournal->transaction_group_id;
if (!array_key_exists($groupId, $groups)) {
// make new array
$parsedGroup = $this->parseAugmentedJournal($augumentedJournal);
$groupArray = [
$parsedGroup = $this->parseAugmentedJournal($augumentedJournal);
$groupArray = [
'id' => (int)$augumentedJournal->transaction_group_id,
'user_id' => $augumentedJournal->user_id,
'user_group_id' => $augumentedJournal->user_group_id,
@ -778,7 +780,7 @@ class GroupCollector implements GroupCollectorInterface
}
// try to process meta date value (if present)
$dates = ['interest_date', 'payment_date', 'invoice_date', 'book_date', 'due_date', 'process_date'];
$dates = ['interest_date', 'payment_date', 'invoice_date', 'book_date', 'due_date', 'process_date'];
if (array_key_exists('meta_name', $result) && in_array($result['meta_name'], $dates, true)) {
$name = $result['meta_name'];
if (array_key_exists('meta_data', $result) && '' !== (string)$result['meta_data']) {
@ -787,15 +789,15 @@ class GroupCollector implements GroupCollectorInterface
}
// convert values to integers:
$result = $this->convertToInteger($result);
$result = $this->convertToInteger($result);
// convert back to strings because SQLite is dumb like that.
$result = $this->convertToStrings($result);
$result = $this->convertToStrings($result);
$result['reconciled'] = 1 === (int)$result['reconciled'];
$result['reconciled'] = 1 === (int)$result['reconciled'];
if (array_key_exists('tag_id', $result) && null !== $result['tag_id']) { // assume the other fields are present as well.
$tagId = (int)$augumentedJournal['tag_id'];
$tagDate = null;
$tagId = (int)$augumentedJournal['tag_id'];
$tagDate = null;
try {
$tagDate = Carbon::parse($augumentedJournal['tag_date']);
@ -859,9 +861,9 @@ class GroupCollector implements GroupCollectorInterface
{
$newArray = $newJournal->toArray();
if (array_key_exists('tag_id', $newArray)) { // assume the other fields are present as well.
$tagId = (int)$newJournal['tag_id'];
$tagId = (int)$newJournal['tag_id'];
$tagDate = null;
$tagDate = null;
try {
$tagDate = Carbon::parse($newArray['tag_date']);
@ -884,7 +886,7 @@ class GroupCollector implements GroupCollectorInterface
{
$newArray = $newJournal->toArray();
if (array_key_exists('attachment_id', $newArray)) {
$attachmentId = (int)$newJournal['attachment_id'];
$attachmentId = (int)$newJournal['attachment_id'];
$existingJournal['attachments'][$attachmentId] = [
'id' => $attachmentId,
@ -903,7 +905,7 @@ class GroupCollector implements GroupCollectorInterface
foreach ($groups as $groudId => $group) {
/** @var array $transaction */
foreach ($group['transactions'] as $transaction) {
$currencyId = (int)$transaction['currency_id'];
$currencyId = (int)$transaction['currency_id'];
if (null === $transaction['amount']) {
throw new FireflyException(sprintf('Amount is NULL for a transaction in group #%d, please investigate.', $groudId));
}
@ -919,7 +921,7 @@ class GroupCollector implements GroupCollectorInterface
$groups[$groudId]['sums'][$currencyId]['amount'] = bcadd($groups[$groudId]['sums'][$currencyId]['amount'], $transaction['amount']);
if (null !== $transaction['foreign_amount'] && null !== $transaction['foreign_currency_id']) {
$currencyId = (int)$transaction['foreign_currency_id'];
$currencyId = (int)$transaction['foreign_currency_id'];
// set default:
if (!array_key_exists($currencyId, $groups[$groudId]['sums'])) {
@ -952,7 +954,7 @@ class GroupCollector implements GroupCollectorInterface
*/
foreach ($this->postFilters as $function) {
app('log')->debug('Applying filter...');
$nextCollection = new Collection();
$nextCollection = new Collection();
// loop everything in the current collection
// and save it (or not) in the new collection.
@ -999,7 +1001,8 @@ class GroupCollector implements GroupCollectorInterface
'transactions as source',
static function (JoinClause $join): void {
$join->on('source.transaction_journal_id', '=', 'transaction_journals.id')
->where('source.amount', '<', 0);
->where('source.amount', '<', 0)
;
}
)
// join destination transaction
@ -1007,7 +1010,8 @@ class GroupCollector implements GroupCollectorInterface
'transactions as destination',
static function (JoinClause $join): void {
$join->on('destination.transaction_journal_id', '=', 'transaction_journals.id')
->where('destination.amount', '>', 0);
->where('destination.amount', '>', 0)
;
}
)
// left join transaction type.
@ -1022,7 +1026,8 @@ class GroupCollector implements GroupCollectorInterface
->orderBy('transaction_journals.order', 'ASC')
->orderBy('transaction_journals.id', 'DESC')
->orderBy('transaction_journals.description', 'DESC')
->orderBy('source.amount', 'DESC');
->orderBy('source.amount', 'DESC')
;
}
/**
@ -1040,7 +1045,8 @@ class GroupCollector implements GroupCollectorInterface
'transactions as source',
static function (JoinClause $join): void {
$join->on('source.transaction_journal_id', '=', 'transaction_journals.id')
->where('source.amount', '<', 0);
->where('source.amount', '<', 0)
;
}
)
// join destination transaction
@ -1048,7 +1054,8 @@ class GroupCollector implements GroupCollectorInterface
'transactions as destination',
static function (JoinClause $join): void {
$join->on('destination.transaction_journal_id', '=', 'transaction_journals.id')
->where('destination.amount', '>', 0);
->where('destination.amount', '>', 0)
;
}
)
// left join transaction type.

74
composer.lock generated
View File

@ -3613,16 +3613,16 @@
},
{
"name": "mailchimp/transactional",
"version": "1.0.56",
"version": "1.0.57",
"source": {
"type": "git",
"url": "https://github.com/mailchimp/mailchimp-transactional-php.git",
"reference": "9d326390c254fa47ba52252c4bf7061fc1c7c1db"
"reference": "248ef0e65349f3c567827f00bc6b16a65379c947"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mailchimp/mailchimp-transactional-php/zipball/9d326390c254fa47ba52252c4bf7061fc1c7c1db",
"reference": "9d326390c254fa47ba52252c4bf7061fc1c7c1db",
"url": "https://api.github.com/repos/mailchimp/mailchimp-transactional-php/zipball/248ef0e65349f3c567827f00bc6b16a65379c947",
"reference": "248ef0e65349f3c567827f00bc6b16a65379c947",
"shasum": ""
},
"require": {
@ -3661,9 +3661,9 @@
"swagger"
],
"support": {
"source": "https://github.com/mailchimp/mailchimp-transactional-php/tree/v1.0.56"
"source": "https://github.com/mailchimp/mailchimp-transactional-php/tree/v1.0.57"
},
"time": "2024-02-01T18:38:57+00:00"
"time": "2024-02-07T22:08:23+00:00"
},
{
"name": "monolog/monolog",
@ -9364,39 +9364,38 @@
},
{
"name": "ergebnis/phpstan-rules",
"version": "2.1.0",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/ergebnis/phpstan-rules.git",
"reference": "119e229c48688946450ccca9f1c57c9ca4fb6f02"
"reference": "2e9946491d39ea1eb043738309895e08f025a7a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ergebnis/phpstan-rules/zipball/119e229c48688946450ccca9f1c57c9ca4fb6f02",
"reference": "119e229c48688946450ccca9f1c57c9ca4fb6f02",
"url": "https://api.github.com/repos/ergebnis/phpstan-rules/zipball/2e9946491d39ea1eb043738309895e08f025a7a0",
"reference": "2e9946491d39ea1eb043738309895e08f025a7a0",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"nikic/php-parser": "^4.2.3",
"nikic/php-parser": "^4.2.3 || ^5.0.0",
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
"phpstan/phpstan": "^1.10.21"
},
"require-dev": {
"doctrine/orm": "^2.16.1",
"ergebnis/composer-normalize": "^2.35.0",
"ergebnis/license": "^2.1.0",
"ergebnis/php-cs-fixer-config": "^5.13.0",
"ergebnis/phpunit-slow-test-detector": "^2.3.0",
"infection/infection": "~0.27.0",
"nette/di": "^3.1.3",
"doctrine/orm": "^3.0.0",
"ergebnis/composer-normalize": "^2.42.0",
"ergebnis/license": "^2.4.0",
"ergebnis/php-cs-fixer-config": "^6.22.0",
"ergebnis/phpunit-slow-test-detector": "^2.10.0",
"nette/di": "^3.2.0",
"phpstan/phpstan-deprecation-rules": "^1.1.4",
"phpstan/phpstan-strict-rules": "^1.1.0",
"phpunit/phpunit": "^10.3.2",
"phpstan/phpstan-strict-rules": "^1.5.2",
"phpunit/phpunit": "^10.5.10",
"psalm/plugin-phpunit": "~0.18.4",
"psr/container": "^1.1.2",
"rector/rector": "~0.17.13",
"vimeo/psalm": "^5.14.1"
"psr/container": "^2.0.2",
"rector/rector": "^1.0.0",
"vimeo/psalm": "^5.21.1"
},
"type": "phpstan-extension",
"extra": {
@ -9418,21 +9417,22 @@
"authors": [
{
"name": "Andreas Möller",
"email": "am@localheinz.com"
"email": "am@localheinz.com",
"homepage": "https://localheinz.com"
}
],
"description": "Provides additional rules for phpstan/phpstan.",
"description": "Provides rules for phpstan/phpstan.",
"homepage": "https://github.com/ergebnis/phpstan-rules",
"keywords": [
"PHPStan",
"phpstan-extreme-rules",
"phpstan-rules"
],
"support": {
"issues": "https://github.com/ergebnis/phpstan-rules/issues",
"security": "https://github.com/ergebnis/phpstan-rules/blob/main/.github/SECURITY.md",
"source": "https://github.com/ergebnis/phpstan-rules"
},
"time": "2023-08-17T10:28:37+00:00"
"time": "2024-02-07T17:49:28+00:00"
},
{
"name": "fakerphp/faker",
@ -9859,25 +9859,27 @@
},
{
"name": "nikic/php-parser",
"version": "v4.18.0",
"version": "v5.0.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"php": ">=7.0"
"php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
@ -9885,7 +9887,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.9-dev"
"dev-master": "5.0-dev"
}
},
"autoload": {
@ -9909,9 +9911,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0"
},
"time": "2023-12-10T21:03:43+00:00"
"time": "2024-01-07T17:17:35+00:00"
},
{
"name": "phar-io/manifest",

View File

@ -115,7 +115,7 @@ return [
'handle_debts' => true,
// see cer.php for exchange rates feature flag.
],
'version' => '6.1.9',
'version' => 'develop/2024-02-08',
'api_version' => '2.0.12',
'db_version' => 22,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@
"spent": "Speso",
"left": "Resto",
"paid": "Pagati",
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
"errors_submission_v2": "Errore durante l'invio. Controlla gli errori segnalati qui sotto: %{errorMessage}",
"unpaid": "Da pagare",
"default_group_title_name_plain": "non raggruppato",
"subscriptions_in_group": "Abbonamenti nel gruppo \"%{title}\"",

View File

@ -6,7 +6,7 @@
"flash_success": "Successo!",
"close": "Chiudi",
"split_transaction_title": "Descrizione della transazione suddivisa",
"errors_submission": "There was something wrong with your submission. Please check out the errors below.",
"errors_submission": "Errore durante l'invio. Controlla gli errori segnalati qui sotto.",
"split": "Dividi",
"single_split": "Divisione",
"transaction_stored_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID} (\"{title}\")<\/a> \u00e8 stata salvata.",

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Бюджетите се използват за управление на вашите финанси и формират една от основните функции на Firefly III.',
'budgets_index_set_budget' => 'Задайте общия си бюджет за всеки период, за да може Firefly III да ви каже дали сте предвидили всички налични пари.',
'budgets_index_see_expenses_bar' => 'Харченето на пари бавно ще запълва тази лента.',
'budgets_index_navigate_periods' => 'Придвижвайте се през периодите, за да задавате лесно бюджетите си напред.',
'budgets_index_new_budget' => 'Създайте нови бюджети, както сметнете за добре.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Els pressupostos s\'usen per gestionar les teves finances i són una de les funcions principals de Firefly III.',
'budgets_index_set_budget' => 'Configura el pressupost total per cada període, de tal manera que Firefly III et pugui indicar si has pressupostat tots els diners disponibles.',
'budgets_index_see_expenses_bar' => 'Gastar diners anirà omplint a poc a poc aquesta barra.',
'budgets_index_navigate_periods' => 'Navega a través dels períodes per configurar fàcilment els pressupostos amb antelació.',
'budgets_index_new_budget' => 'Crea nous pressupostos tal com et sigui convenient.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Rozpočty slouží ke správě vašich financí a tvoří jednu z hlavních funkcí Firefly III.',
'budgets_index_set_budget' => 'Nastavte celkový rozpočet pro každé z období a Firefly III vám sdělí, pokud jste vyčerpali všechny dostupné peníze.',
'budgets_index_see_expenses_bar' => 'Utracené peníze budou zvolna plnit tento pruh.',
'budgets_index_navigate_periods' => 'Procházejte obdobími a jednoduše nastavujte rozpočty dopředu.',
'budgets_index_new_budget' => 'Vytvářejte nové rozpočty, jak uznáte za vhodné.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budgetter bruges til at styre dine finanser og udgør en af de centrale funktioner i Firefly III.',
'budgets_index_set_budget' => 'Opret dit samlede budget for hver periode, så Firefly III kan fortælle dig, om du har budgetteret alle tilgængelige midler.',
'budgets_index_see_expenses_bar' => 'Efterhånden som penge forbruges, vil denne bjælke langsomt udfyldes.',
'budgets_index_navigate_periods' => 'Naviger gennem perioder for nemt at kunne oprette budgetter fremadrettet.',
'budgets_index_new_budget' => 'Opret nye budgetter, som du finder passende.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budgets werden zur Verwaltung Ihrer Finanzen verwendet und bilden eine der Kernfunktionen von Firefly III.',
'budgets_index_set_budget' => 'Stellen Sie Ihr Gesamt-Budget für jeden Zeitraum so ein, dass Firefly III Ihnen mitteilen kann, ob Sie alle verfügbaren Gelder einem Budget zugeordnet haben.',
'budgets_index_see_expenses_bar' => 'Dieser Balken wird sich langsam füllen, wenn Sie Geld ausgeben.',
'budgets_index_navigate_periods' => 'Navigieren Sie durch Zeitabschnitte, um Budgets im Voraus festzulegen.',
'budgets_index_new_budget' => 'Erstellen Sie neue Budgets nach Ihren Wünschen.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Οι προϋπολογισμοί χρησιμοποιούνται για τη διαχείριση των οικονομικών σας και σχηματίζουν μία από τις κεντρικές λειτουργίες του Firefly III.',
'budgets_index_set_budget' => 'Ορίστε το συνολικό σας προϋπολογισμό για κάθε περίοδο ώστε να μπορεί το Firefly III να σας πει εάν έχετε προϋπολογίσει όλα τα διαθέσιμα χρήματα.',
'budgets_index_see_expenses_bar' => 'Το ξόδεμα των χρημάτων θα γεμίσει σιγά σιγά αυτή την μπάρα.',
'budgets_index_navigate_periods' => 'Περιηγηθείτε ανάμεσα σε περιόδους για να ορίσετε εύκολα προϋπολογισμούς πριν την ώρα τους.',
'budgets_index_new_budget' => 'Δημιουργήστε νέους προϋπολογισμούς κατά βούληση.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budgets are used to manage your finances and form one of the core functions of Firefly III.',
'budgets_index_set_budget' => 'Set your total budget for every period so Firefly III can tell you if you have budgeted all available money.',
'budgets_index_see_expenses_bar' => 'Spending money will slowly fill this bar.',
'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.',
'budgets_index_new_budget' => 'Create new budgets as you see fit.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Los presupuestos se utilizan para administrar sus finanzas y son una de las funciones básicas de Firefly III.',
'budgets_index_set_budget' => 'Configure su presupuesto total para cada período de manera que Firefly III pueda decirle si ha presupuestado todo el dinero disponible.',
'budgets_index_see_expenses_bar' => 'Gastar dinero irá llenando poco a poco esta barra.',
'budgets_index_navigate_periods' => 'Navega a través de períodos para configurar fácilmente presupuestos con anticipación.',
'budgets_index_new_budget' => 'Crea nuevos presupuestos como mejor te parezca.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budjetteja käytetään talouden hallintaan ja ne muodostavat yhden Firefly III:n ydintoiminnoista.',
'budgets_index_set_budget' => 'Aseta kokonaisbudjettisi jokaiselle jaksolle, jotta Firefly III voi kertoa, oletko budjetoinut kaikki käytettävissä olevat rahat.',
'budgets_index_see_expenses_bar' => 'Rahan kulutus täyttää hitaasti tämän palkin.',
'budgets_index_navigate_periods' => 'Selaa ajanjaksoja ja määritä helposti budjetteja etukäteen.',
'budgets_index_new_budget' => 'Luo uusia budjetteja mielesi mukaan.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Les budgets sont utilisés pour gérer vos finances et forment l\'une des principales fonctions de Firefly III.',
'budgets_index_set_budget' => 'Définissez votre budget total pour chaque période afin que Firefly III puisse vous dire si vous avez budgétisé tout l\'argent disponible.',
'budgets_index_see_expenses_bar' => 'Dépenser de l\'argent va lentement remplir cette barre.',
'budgets_index_navigate_periods' => 'Parcourez des périodes pour régler facilement les budgets à l\'avance.',
'budgets_index_new_budget' => 'Créez de nouveaux budgets comme bon vous semble.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'A költségkeretek a pénzügyek kezelésére szolgálnak, és a Firefly III egyik alapvető funkcióját képezik.',
'budgets_index_set_budget' => 'Ha a teljes költségkeret minden időszakra be van állítva, a Firefly III megmondhatja, ha az összes rendelkezésre álló pénz fel lett használva.',
'budgets_index_see_expenses_bar' => 'A pénzköltés lassan fel fogja tölteni ezt a sávot.',
'budgets_index_navigate_periods' => 'Az időszakokon átnavigálva könnyedén, még idő előtt be lehet állítani a költségkereteket.',
'budgets_index_new_budget' => 'Új költségkeretet létrehozása.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Anggaran yang digunakan untuk mengelola keuangan anda dan membentuk salah satu fungsi inti dari Firefly III.',
'budgets_index_set_budget' => 'Tetapkan total anggaran Anda untuk setiap periode sehingga Firefly III dapat menginformasikan apakah semua uang Anda sudah dianggarkan atau belum.',
'budgets_index_see_expenses_bar' => 'Menghabiskan uang secara perlahan dengan mengisi di bar ini.',
'budgets_index_navigate_periods' => 'Menavigasi melalui periode dengan mudah menetapkan anggaraan sebelumnya.',
'budgets_index_new_budget' => 'Buat anggaran baru sesuai keinginan anda.',

View File

@ -1692,7 +1692,7 @@ return [
'transactionsWithoutBudget' => 'Spese senza budget',
'transactions_no_budget' => 'Spese senza budget tra :start e :end',
'spent_between' => 'Già spesi tra :start e :end',
'spent_between_left' => 'Spent :spent between :start and :end, leaving :left.',
'spent_between_left' => 'Spesi :spent tra :start e :end, rimasti :left.',
'set_available_amount' => 'Imposta importo disponibile',
'update_available_amount' => 'Aggiorna importo disponibile',
'ab_basic_modal_explain' => 'Usa questo modulo per indicare quanto ti aspetti di mettere a budget (in totale, in :currency) nel periodo indicato.',
@ -2557,8 +2557,8 @@ return [
'after_update_create_another' => 'Dopo l\'aggiornamento, torna qui per continuare la modifica.',
'store_as_new' => 'Salva come nuova transazione invece di aggiornarla.',
'reset_after' => 'Resetta il modulo dopo l\'invio',
'errors_submission' => 'There was something wrong with your submission. Please check out the errors below.',
'errors_submission_v2' => 'There was something wrong with your submission. Please check out the errors below: %{errorMessage}',
'errors_submission' => 'Errore durante l\'invio. Controlla gli errori segnalati qui sotto.',
'errors_submission_v2' => 'Errore durante l\'invio. Controlla gli errori segnalati qui sotto: %{errorMessage}',
'transaction_expand_split' => 'Espandi suddivisione',
'transaction_collapse_split' => 'Comprimi suddivisione',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'I budget sono usati per gestire le tue finanze e formano una delle funzioni principali di Firefly III.',
'budgets_index_set_budget' => 'Imposta il tuo budget totale per ogni periodo in modo che Firefly III possa dirti se hai messo a bilancio tutti i soldi disponibili.',
'budgets_index_see_expenses_bar' => 'Le spese effettuate riempiranno lentamente questa barra.',
'budgets_index_navigate_periods' => 'Naviga attraverso i periodi per impostare facilmente i budget in anticipo.',
'budgets_index_new_budget' => 'Crea nuovi budget come meglio credi.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => '予算はあなたの財務を管理するために使用され、Firefly III の一つの主要機能を構成します。',
'budgets_index_set_budget' => 'Firefly IIIがあなたが割り当て可能なすべての金額を予算計上したかどうか伝えられるように。あなたの毎期間の合計予算を設定してください。',
'budgets_index_see_expenses_bar' => '支出金額が少しずつこのバーを満たします。',
'budgets_index_navigate_periods' => '期間を操作することで、予算を事前に簡単に設定できます。',
'budgets_index_new_budget' => 'あなたが妥当だと考える新しい予算を設定してください。',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => '예산은 재정을 관리하는 데 사용되며 Firefly III의 핵심 기능 중 하나입니다.',
'budgets_index_set_budget' => '모든 기간에 대한 총 예산을 설정하면 Firefly III에서 사용 가능한 모든 예산을 책정했는지 여부를 알려줍니다.',
'budgets_index_see_expenses_bar' => '돈을 쓰면 이 막대가 서서히 채워집니다.',
'budgets_index_navigate_periods' => '기간을 탐색하여 예산을 미리 쉽게 설정할 수 있습니다.',
'budgets_index_new_budget' => '필요에 따라 새 예산을 만들 수 있습니다.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budsjetter brukes til å styre din økonomi og er en av kjernefunksjonene i Firefly III.',
'budgets_index_set_budget' => 'Sett ditt totale budsjett for hver periode, så Firefly III kan fortelle deg om du har budsjettert med alle tilgjengelige penger.',
'budgets_index_see_expenses_bar' => 'Når du bruker penger vil denne linjen fylles opp.',
'budgets_index_navigate_periods' => 'Naviger gjennom perioder for å enkelt sette budsjetter på forhånd.',
'budgets_index_new_budget' => 'Opprett nye budsjetter etter behov.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budgetten worden gebruikt om je financiën te beheren en vormen een van de kernfuncties van Firefly III.',
'budgets_index_set_budget' => 'Stel je totale budget voor elke periode in, zodat Firefly III je kan vertellen of je alle beschikbare geld hebt gebudgetteerd.',
'budgets_index_see_expenses_bar' => 'Het besteden van geld zal deze balk langzaam vullen.',
'budgets_index_navigate_periods' => 'Navigeer door periodes heen om je budget vooraf te bepalen.',
'budgets_index_new_budget' => 'Maak nieuwe budgetten naar wens.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budsjett vert brukt til å handtera økonomien din og er ein av kjernefunksjonane i Firefly III.',
'budgets_index_set_budget' => 'Sett ditt totale budsjett for kvar periode så Firefly III kan fortelja deg om du har budsjettert med alle tilgjengelege pengar.',
'budgets_index_see_expenses_bar' => 'Når du brukar pengar vil denne linja fyllast opp.',
'budgets_index_navigate_periods' => 'Naviger gjennom periodar for å enkelt definera budsjett på førehand.',
'budgets_index_new_budget' => 'Opprett nye budsjett etter behov.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budżety są wykorzystywane do zarządzania finansami i stanowią jedną z podstawowych funkcji Firefly III.',
'budgets_index_set_budget' => 'Ustaw całkowity budżet na każdy okres, aby Firefly III mógł Ci powiedzieć, czy wydałeś wszystkie dostępne pieniądze.',
'budgets_index_see_expenses_bar' => 'Wydawanie pieniędzy powoli wypełnia ten pasek.',
'budgets_index_navigate_periods' => 'Przejrzyj okresy, aby łatwiej ustawić przyszłe budżety.',
'budgets_index_new_budget' => 'Utwórz nowe budżety zgodnie z Twoimi potrzebami.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => "Os orçamentos são usados \u{200b}\u{200b}para gerenciar suas finanças e formar uma das principais funções do Firefly III.",
'budgets_index_set_budget' => 'Defina seu orçamento total para todos os períodos, de modo que o Firefly III possa lhe dizer se você orçou todo o dinheiro disponível.',
'budgets_index_see_expenses_bar' => 'Gastar dinheiro vai preencher lentamente esta barra.',
'budgets_index_navigate_periods' => 'Navegue por períodos para definir os orçamentos facilmente antes do tempo.',
'budgets_index_new_budget' => 'Crie novos orçamentos conforme for entendendo o programa.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Os orçamentos são usados para gerir as suas finanças e fazem parte de uma das funções principais do Firefly III.',
'budgets_index_set_budget' => 'Defina o seu orçamento total para cada período, de modo que o Firefly III possa dizer se tem orçamentado todo o seu dinheiro disponível.',
'budgets_index_see_expenses_bar' => 'Ao gastar dinheiro esta barra vai sendo preenchida.',
'budgets_index_navigate_periods' => 'Navega através de intervalos para definir os orçamentos antecipadamente.',
'budgets_index_new_budget' => 'Crie novos orçamentos como achar melhor.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Bugetele sunt folosite pentru a vă gestiona finanțele; ele sunt una dintre funcțiile de bază ale Firefly III.',
'budgets_index_set_budget' => 'Stabiliți bugetul total pentru fiecare perioadă, astfel încât Firefly III vă poate spune dacă ați bugetat toți banii disponibili.',
'budgets_index_see_expenses_bar' => 'Banii cheltuiți vor umple încet această linie.',
'budgets_index_navigate_periods' => 'Navigați prin perioade de timp pentru a stabili cu ușurință bugetele viitoare.',
'budgets_index_new_budget' => 'Creați bugete noi după cum doriți.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Бюджеты используются для управления финансами и являются одной из основных функций Firefly III.',
'budgets_index_set_budget' => 'Установите свой общий бюджет на каждый период, чтобы Firefly III мог подсказать вам, если вы потратите все запланированные деньги.',
'budgets_index_see_expenses_bar' => 'По мере того, как вы будете тратить деньги, эта диаграмма будет заполняться.',
'budgets_index_navigate_periods' => 'Перемещайтесь между периодами, чтобы планировать бюджеты заранее.',
'budgets_index_new_budget' => 'Создавайте новые бюджеты по своему усмотрению.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Rozpočty slúžia na správu vašich financií a tvoria jednu z hlavných funkcií Firefly III.',
'budgets_index_set_budget' => 'Nastavte celkový rozpočet pre každé z období a Firefly III vám povie, ak ste vyčerpali všetky dostupné peniaze.',
'budgets_index_see_expenses_bar' => 'Utratené peniaze budou postupne plniť tento pruh.',
'budgets_index_navigate_periods' => 'Prechádzajte obdobiami a jednoducho nastavujte rozpočty vopred.',
'budgets_index_new_budget' => 'Vytvárajte nové rozpočty ako uznáte za vhodné.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Proračuni se uporabljajo za upravljanje vaših financ in tvorijo eno od ključnih funkcij Firefly III.',
'budgets_index_set_budget' => 'Določite svoj celotni proračun za vsako obdobje, tako da vam lahko Firefly III pove, če ste predvideli vsa razpoložljiva sredstva.',
'budgets_index_see_expenses_bar' => 'Poraba denarja bo počasi zapolnila to vrstico.',
'budgets_index_navigate_periods' => 'Krmarjenje po obdobjih omogoča preprosto predčasno nastavitev proračunov.',
'budgets_index_new_budget' => 'Ustvarite nove proračune, kot se vam zdi primerno.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budgetar används för att hantera din ekonomi och utgör en av kärnfunktionerna i Firefly III.',
'budgets_index_set_budget' => 'Ställ in din totala budget för varje period så att Firefly III kan berätta om du har budgeterat alla tillgängliga pengar.',
'budgets_index_see_expenses_bar' => 'Att spendera pengar kommer långsamt att fylla det här fältet.',
'budgets_index_navigate_periods' => 'Navigera genom perioder för att enkelt kunna sätta budgetar i god tid.',
'budgets_index_new_budget' => 'Skapa en ny budget som du tycker passar.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Budgets are used to manage your finances and form one of the core functions of Firefly III.',
'budgets_index_set_budget' => 'Set your total budget for every period so Firefly III can tell you if you have budgeted all available money.',
'budgets_index_see_expenses_bar' => 'Spending money will slowly fill this bar.',
'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.',
'budgets_index_new_budget' => 'Create new budgets as you see fit.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Bütçeler, finansmanınızı yönetmek ve Firefly III\'nin temel işlevlerinden birini oluşturmak için kullanılır.',
'budgets_index_set_budget' => 'Toplam bütçenizi her dönem için belirleyin, böylelikle Firefly size mevcut tüm parayı bütçelendirdiğinizde söyleyebilir.',
'budgets_index_see_expenses_bar' => 'Para harcamak yavaşça bu çubuğu dolduracaktır.',
'budgets_index_navigate_periods' => 'Bütçeleri önceden kolayca ayarlamak için dönemleri gezinin.',
'budgets_index_new_budget' => 'Uygun gördüğünüz yeni bütçeler oluşturun.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Бюджети використовуються для управління вашими фінансами та формування одної з основних функцій Firefly III.',
'budgets_index_set_budget' => 'Встановлюйте загальний бюджет за кожен період для того, щоб Firefly III міг повідомити вам, що ви витратили усі наявні кошти.',
'budgets_index_see_expenses_bar' => 'Витрати коштів повільно заповнять цю планку.',
'budgets_index_navigate_periods' => 'Змінюйте періоди, щоб легко встановити відповідний бюджет.',
'budgets_index_new_budget' => 'Створюйте новий бюджет за доречності.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => 'Ngân sách được sử dụng để quản lý tài chính của bạn và tạo thành một trong những chức năng cốt lõi của Firefly III.',
'budgets_index_set_budget' => 'Đặt tổng ngân sách của bạn cho mọi thời kỳ để Firefly III có thể cho bạn biết nếu bạn đã lập ngân sách tất cả số tiền có sẵn.',
'budgets_index_see_expenses_bar' => 'Khi tiêu tiền thanh này sẽ được lấp đầy từ từ.',
'budgets_index_navigate_periods' => 'Điều hướng qua các thời kỳ để dễ dàng đặt ngân sách trước thời hạn.',
'budgets_index_new_budget' => 'Tạo ngân sách mới khi bạn thấy phù hợp.',

View File

@ -57,7 +57,6 @@ return [
// budgets index
'budgets_index_intro' => '预算可以用来管理您的财务,是 Firefly III 的核心功能之一。',
'budgets_index_set_budget' => '设定每个周期的总预算,让 Firefly III 来判断您是否已经将所有可用钱财加入预算。',
'budgets_index_see_expenses_bar' => '进行消费会慢慢地填满这个横条。',
'budgets_index_navigate_periods' => '前往不同的周期,可以方便地提前设定预算。',
'budgets_index_new_budget' => '根据需要创建新预算。',

View File

@ -58,7 +58,6 @@ return [
// budgets index
'budgets_index_intro' => '預算用來管理您的財務,是 Firefly III
核心功能之一。',
'budgets_index_set_budget' => '設定每個時期的總預算,讓 Firefly III 能告訴您,所有可用的錢是否都已設定預算。',
'budgets_index_see_expenses_bar' => '消費金額會慢慢地填滿這個橫條。',
'budgets_index_navigate_periods' => '往前後不同時期,輕鬆預先設定預算。',
'budgets_index_new_budget' => '隨意建立新預算。',