From e4f3d0a0ea39285bf12a986c9bbdc9ae48c51f54 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 18 Feb 2019 19:47:48 +0100 Subject: [PATCH 1/7] Some new strings. --- resources/lang/en_US/firefly.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index fb4b9b2cbf..7146a141d9 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Updated account ":name"', 'credit_card_options' => 'Credit card options', 'no_transactions_account' => 'There are no transactions (in this period) for asset account ":name".', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => 'There is not enough information (yet) to generate this chart.', 'select_at_least_one_account' => 'Please select at least one asset account', 'select_at_least_one_category' => 'Please select at least one category', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Your accounts', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => 'Budgets and spending', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => 'Savings', 'newWithdrawal' => 'New expense', 'newDeposit' => 'New deposit', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Search...', 'version' => 'Version', 'dashboard' => 'Dashboard', + 'available_budget' => 'Available budget ({currency})', 'currencies' => 'Currencies', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => 'Accounts', 'Asset account' => 'Asset account', 'Default account' => 'Asset account', @@ -919,6 +929,7 @@ return [ 'tools' => 'Tools', 'piggyBanks' => 'Piggy banks', 'piggy_banks' => 'Piggy banks', + 'amount_x_of_y' => '{current} of {total}', 'bills' => 'Bills', 'withdrawal' => 'Withdrawal', 'opening_balance' => 'Opening balance', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Period', 'balance' => 'Balance', 'sum' => 'Sum', + 'summary' => 'Summary', 'average' => 'Average', 'balanceFor' => 'Balance for :name', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => 'Add money to piggy bank ":name"', From 7610d9e0dbb8c28dbf0d575e704b58b1b2e544fd Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 19 Feb 2019 07:10:13 +0100 Subject: [PATCH 2/7] Update Dockerfiles to increase PHP execution time. --- Dockerfile | 7 ++++++- Dockerfile.amd64 | 8 +++++++- Dockerfile.arm | 8 +++++++- Dockerfile.arm64 | 8 +++++++- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index c056613149..762ad87f5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM php:7.2-apache ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1 -LABEL version="1.3" maintainer="thegrumpydictator@gmail.com" +LABEL version="1.4" maintainer="thegrumpydictator@gmail.com" # Create volumes VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload @@ -44,6 +44,11 @@ RUN chown -R www-data:www-data /var/www && \ locale-gen && \ composer install --prefer-dist --no-dev --no-scripts --no-suggest +# configure PHP +RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini && \ + sed -i 's/max_execution_time = 30/max_execution_time = 600/' /usr/local/etc/php/php.ini && \ + sed -i 's/memory_limit = 128M/memory_limit = 512M/' /usr/local/etc/php/php.ini + # Expose port 80 EXPOSE 80 diff --git a/Dockerfile.amd64 b/Dockerfile.amd64 index 4b27c86669..80335d26ad 100644 --- a/Dockerfile.amd64 +++ b/Dockerfile.amd64 @@ -1,7 +1,7 @@ FROM php:7.2-apache ARG ARCH ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1 -LABEL version="1.3" maintainer="thegrumpydictator@gmail.com" +LABEL version="1.4" maintainer="thegrumpydictator@gmail.com" # Create volumes VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload @@ -44,6 +44,12 @@ RUN chown -R www-data:www-data /var/www && \ locale-gen && \ composer install --prefer-dist --no-dev --no-scripts --no-suggest +# configure PHP +RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini && \ + sed -i 's/max_execution_time = 30/max_execution_time = 600/' /usr/local/etc/php/php.ini && \ + sed -i 's/memory_limit = 128M/memory_limit = 512M/' /usr/local/etc/php/php.ini + + # Expose port 80 EXPOSE 80 diff --git a/Dockerfile.arm b/Dockerfile.arm index 3860b358af..4e0d2f7a7b 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -2,7 +2,7 @@ FROM arm32v7/php:7.2.8-apache-stretch ARG ARCH COPY tmp/qemu-arm-static /usr/bin/qemu-arm-static ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1 -LABEL version="1.3" maintainer="thegrumpydictator@gmail.com" +LABEL version="1.4" maintainer="thegrumpydictator@gmail.com" # Create volumes VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload @@ -43,6 +43,12 @@ RUN chown -R www-data:www-data /var/www && \ locale-gen && \ composer install --prefer-dist --no-dev --no-scripts --no-suggest +# configure PHP +RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini && \ + sed -i 's/max_execution_time = 30/max_execution_time = 600/' /usr/local/etc/php/php.ini && \ + sed -i 's/memory_limit = 128M/memory_limit = 512M/' /usr/local/etc/php/php.ini + + # Expose port 80 EXPOSE 80 diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 index 3860b358af..4e0d2f7a7b 100644 --- a/Dockerfile.arm64 +++ b/Dockerfile.arm64 @@ -2,7 +2,7 @@ FROM arm32v7/php:7.2.8-apache-stretch ARG ARCH COPY tmp/qemu-arm-static /usr/bin/qemu-arm-static ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1 -LABEL version="1.3" maintainer="thegrumpydictator@gmail.com" +LABEL version="1.4" maintainer="thegrumpydictator@gmail.com" # Create volumes VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload @@ -43,6 +43,12 @@ RUN chown -R www-data:www-data /var/www && \ locale-gen && \ composer install --prefer-dist --no-dev --no-scripts --no-suggest +# configure PHP +RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini && \ + sed -i 's/max_execution_time = 30/max_execution_time = 600/' /usr/local/etc/php/php.ini && \ + sed -i 's/memory_limit = 128M/memory_limit = 512M/' /usr/local/etc/php/php.ini + + # Expose port 80 EXPOSE 80 From 38c79c3dc455e7d2fb2eb3669e8ac34985c91312 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 19 Feb 2019 19:59:02 +0100 Subject: [PATCH 3/7] Upgrade fix for Softaculous. --- app/Console/Commands/UpgradeDatabase.php | 39 ++++++++++++++++-------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/app/Console/Commands/UpgradeDatabase.php b/app/Console/Commands/UpgradeDatabase.php index f255beb7e7..9a5cbeaf37 100644 --- a/app/Console/Commands/UpgradeDatabase.php +++ b/app/Console/Commands/UpgradeDatabase.php @@ -268,11 +268,11 @@ class UpgradeDatabase extends Command if (!Schema::hasTable('transaction_journals')) { return; } - $subQuery = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') - ->whereNull('transaction_journals.deleted_at') - ->whereNull('transactions.deleted_at') - ->groupBy(['transaction_journals.id']) - ->select(['transaction_journals.id', DB::raw('COUNT(transactions.id) AS t_count')]); + $subQuery = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') + ->whereNull('transaction_journals.deleted_at') + ->whereNull('transactions.deleted_at') + ->groupBy(['transaction_journals.id']) + ->select(['transaction_journals.id', DB::raw('COUNT(transactions.id) AS t_count')]); /** @noinspection PhpStrictTypeCheckingInspection */ $result = DB::table(DB::raw('(' . $subQuery->toSql() . ') AS derived')) ->mergeBindings($subQuery->getQuery()) @@ -294,23 +294,38 @@ class UpgradeDatabase extends Command */ public function updateAccountCurrencies(): void { + Log::debug('Now in updateAccountCurrencies()'); + + $defaultConfig = (string)config('firefly.default_currency', 'EUR'); + Log::debug(sprintf('System default currency is "%s"', $defaultConfig)); + $accounts = Account::leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id') ->whereIn('account_types.type', [AccountType::DEFAULT, AccountType::ASSET])->get(['accounts.*']); /** @var AccountRepositoryInterface $repository */ $repository = app(AccountRepositoryInterface::class); $accounts->each( - function (Account $account) use ($repository) { + function (Account $account) use ($repository, $defaultConfig) { $repository->setUser($account->user); // get users preference, fall back to system pref. - $defaultCurrencyCode = app('preferences')->getForUser($account->user, 'currencyPreference', config('firefly.default_currency', 'EUR'))->data; - $defaultCurrency = TransactionCurrency::where('code', $defaultCurrencyCode)->first(); - $accountCurrency = (int)$repository->getMetaValue($account, 'currency_id'); - $openingBalance = $account->getOpeningBalance(); - $obCurrency = (int)$openingBalance->transaction_currency_id; + + // expand and debug routine. + $defaultCurrencyCode = app('preferences')->getForUser($account->user, 'currencyPreference', $defaultConfig)->data; + Log::debug(sprintf('Default currency code is "%s"', var_export($defaultCurrencyCode, true))); + if (!is_string($defaultCurrencyCode)) { + $defaultCurrencyCode = $defaultConfig; + Log::debug(sprintf('Default currency code is not a string, now set to "%s"', $defaultCurrencyCode)); + } + $defaultCurrency = TransactionCurrency::where('code', $defaultCurrencyCode)->first(); + $accountCurrency = (int)$repository->getMetaValue($account, 'currency_id'); + $openingBalance = $account->getOpeningBalance(); + $obCurrency = (int)$openingBalance->transaction_currency_id; if (null === $defaultCurrency) { - throw new UnexpectedValueException('The default currency is NULL, and this is more or less impossible.'); + throw new UnexpectedValueException(sprintf('User has a preference for "%s", but this currency does not exist.', $defaultCurrencyCode)); } + Log::debug( + sprintf('Found default currency #%d (%s) while searching for "%s"', $defaultCurrency->id, $defaultCurrency->code, $defaultCurrencyCode) + ); // both 0? set to default currency: if (0 === $accountCurrency && 0 === $obCurrency) { From 07048cb5fb362c4517df3a343e46b67b73a6e583 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 19 Feb 2019 20:19:30 +0100 Subject: [PATCH 4/7] Fix #2100 --- resources/views/v1/transactions/mass/edit.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/v1/transactions/mass/edit.twig b/resources/views/v1/transactions/mass/edit.twig index 1df1ec9f71..6bb9fdb046 100644 --- a/resources/views/v1/transactions/mass/edit.twig +++ b/resources/views/v1/transactions/mass/edit.twig @@ -65,7 +65,7 @@ {# DATE #} + name="date[{{ transaction.journal_id }}]" type="date" value="{{ transaction.date|slice(0,10) }}"> {# SOURCE ACCOUNT ID FOR TRANSFER OR WITHDRAWAL #} From 5d43faab966a64bcd3fd3f34f088e0661e65b752 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 Feb 2019 07:04:24 +0100 Subject: [PATCH 5/7] Refactor script locations to clear up root directory. --- .env.docker => .deploy/docker/.env.docker | 0 .deploy/docker/entrypoint.sh | 2 +- .env.heroku => .deploy/heroku/.env.heroku | 0 .locales => .deploy/heroku/.locales | 0 .../sandstorm/.env.sandstorm | 0 .env.testing | 178 ------------------ .sandstorm/build.sh | 2 +- .travis.yml | 2 +- composer.json | 2 +- crowdin.yml | 118 ------------ 10 files changed, 4 insertions(+), 300 deletions(-) rename .env.docker => .deploy/docker/.env.docker (100%) rename .env.heroku => .deploy/heroku/.env.heroku (100%) rename .locales => .deploy/heroku/.locales (100%) rename .env.sandstorm => .deploy/sandstorm/.env.sandstorm (100%) delete mode 100644 .env.testing diff --git a/.env.docker b/.deploy/docker/.env.docker similarity index 100% rename from .env.docker rename to .deploy/docker/.env.docker diff --git a/.deploy/docker/entrypoint.sh b/.deploy/docker/entrypoint.sh index f5978beb77..554973bd12 100755 --- a/.deploy/docker/entrypoint.sh +++ b/.deploy/docker/entrypoint.sh @@ -44,7 +44,7 @@ echo "Remove log file..." rm -f $FIREFLY_PATH/storage/logs/laravel.log echo "Map environment variables on .env file..." -cat .env.docker | envsubst > .env +cat $FIREFLY_PATH/.deploy/docker/.env.docker | envsubst > $FIREFLY_PATH/.env echo "Dump auto load..." composer dump-autoload echo "Discover packages..." diff --git a/.env.heroku b/.deploy/heroku/.env.heroku similarity index 100% rename from .env.heroku rename to .deploy/heroku/.env.heroku diff --git a/.locales b/.deploy/heroku/.locales similarity index 100% rename from .locales rename to .deploy/heroku/.locales diff --git a/.env.sandstorm b/.deploy/sandstorm/.env.sandstorm similarity index 100% rename from .env.sandstorm rename to .deploy/sandstorm/.env.sandstorm diff --git a/.env.testing b/.env.testing deleted file mode 100644 index 34b2509195..0000000000 --- a/.env.testing +++ /dev/null @@ -1,178 +0,0 @@ -# You can leave this on "local". If you change it to production most console commands will ask for extra confirmation. -# Never set it to "testing". -APP_ENV=testing - -# Set to true if you want to see debug information in error screens. -APP_DEBUG=true - -# This should be your email address -SITE_OWNER=thegrumpydictator+testing@gmail.com - -# The encryption key for your database and sessions. Keep this very secure. -# If you generate a new one all existing data must be considered LOST. -# Change it to a string of exactly 32 chars or use command `php artisan key:generate` to generate it -APP_KEY=TestTestTestTestTestTestTestTest - -# Change this value to your preferred time zone. -# Example: Europe/Amsterdam -TZ=Europe/Amsterdam - -# This variable must match your installation's external address but keep in mind that -# it's only used on the command line as a fallback value. -APP_URL=http://localhost - -# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy. -TRUSTED_PROXIES= - -# The log channel defines where your log entries go to. -# 'daily' is the default logging mode giving you 5 daily rotated log files in /storage/logs/. -# Several other options exist. You can use 'single' for one big fat error log (not recommended). -# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself. -LOG_CHANNEL=dailytest - -# Log level. You can set this from least severe to most severe: -# debug, info, notice, warning, error, critical, alert, emergency -# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably -# nothing will get logged, ever. -APP_LOG_LEVEL=info - -# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III -# For other database types, please see the FAQ: http://firefly-iii.readthedocs.io/en/latest/support/faq.html -DB_CONNECTION=sqlite - - - - - - -# If you're looking for performance improvements, you could install memcached. -CACHE_DRIVER=file -SESSION_DRIVER=file - -# You can configure another file storage backend if you cannot use the local storage option. -# To set this up, fill in the following variables. The upload path is used to store uploaded -# files and the export path is to store exported data (before download). -SFTP_HOST= -SFTP_PORT= -SFTP_UPLOAD_PATH= -SFTP_EXPORT_PATH= - -# SFTP uses either the username/password combination or the private key to authenticate. -SFTP_USERNAME= -SFTP_PASSWORD= -SFTP_PRIV_KEY= - -# Cookie settings. Should not be necessary to change these. -COOKIE_PATH="/" -COOKIE_DOMAIN= -COOKIE_SECURE=false - -# If you want Firefly III to mail you, update these settings -# For instructions, see: https://firefly-iii.readthedocs.io/en/latest/installation/mail.html -MAIL_DRIVER=log -MAIL_HOST=smtp.mailtrap.io -MAIL_PORT=2525 -MAIL_FROM=changeme@example.com -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null - -# Other mail drivers: -MAILGUN_DOMAIN= -MAILGUN_SECRET= -MANDRILL_SECRET= -SPARKPOST_SECRET= - -# Firefly III can send you the following messages -SEND_REGISTRATION_MAIL=true -SEND_ERROR_MESSAGE=false - -# These messages contain (sensitive) transaction information: -SEND_REPORT_JOURNALS=true - -# Set a Mapbox API key here (see mapbox.com) so there might be a map available at various places. -MAPBOX_API_KEY= - -# Firefly III currently supports two provider for live Currency Exchange Rates: -# "fixer" is the default (for backward compatibility), and "ratesapi" is the new one. -# RatesApi.IO (see https://ratesapi.io) is a FREE and OPEN SOURCE live currency exchange rates, -# built compatible with Fixer.IO, based on data published by European Central Bank, and don't require API key. -CER_PROVIDER=fixer -# If you have select "fixer" as default currency exchange rates, -# set a Fixer IO API key here (see https://fixer.io) to enable live currency exchange rates. -# Please note that this WILL ONLY WORK FOR PAID fixer.io accounts because they severely limited -# the free API up to the point where you might as well offer nothing. -FIXER_API_KEY= - -# If you wish to track your own behavior over Firefly III, set a valid analytics tracker ID here. -ANALYTICS_ID= - -# Most parts of the database are encrypted by default, but you can turn this off if you want to. -# This makes it easier to migrate your database. Not that some fields will never be decrypted. -USE_ENCRYPTION=false - -# Firefly III has two options for user authentication. "eloquent" is the default, -# and "ldap" for LDAP servers. -# For full instructions on these settings please visit: -# https://firefly-iii.readthedocs.io/en/latest/installation/authentication.html -LOGIN_PROVIDER=eloquent - -# LDAP connection configuration - # or FreeIPA or ActiveDirectory -ADLDAP_CONNECTION_SCHEME=OpenLDAP -ADLDAP_AUTO_CONNECT=true - -# LDAP connection settings -ADLDAP_CONTROLLERS= -ADLDAP_PORT=389 -ADLDAP_TIMEOUT=5 -ADLDAP_BASEDN="" -ADLDAP_FOLLOW_REFFERALS=false -ADLDAP_USE_SSL=false -ADLDAP_USE_TLS=false - -ADLDAP_ADMIN_USERNAME= -ADLDAP_ADMIN_PASSWORD= - -ADLDAP_ACCOUNT_PREFIX= -ADLDAP_ACCOUNT_SUFFIX= - -# LDAP authentication settings. -ADLDAP_PASSWORD_SYNC=false -ADLDAP_LOGIN_FALLBACK=false - -ADLDAP_DISCOVER_FIELD=distinguishedname -ADLDAP_AUTH_FIELD=distinguishedname - -# Will allow SSO if your server provides an AUTH_USER field. -WINDOWS_SSO_DISCOVER=samaccountname -WINDOWS_SSO_KEY=AUTH_USER - -# field to sync as local username. -ADLDAP_SYNC_FIELD=userprincipalname - -# You can disable the X-Frame-Options header if it interfears with tools like -# Organizr. This is at your own risk. -DISABLE_FRAME_HEADER=false - -# Leave the following configuration vars as is. -# Unless you like to tinker and know what you're doing. -APP_NAME=FireflyIII -ADLDAP_CONNECTION=default -BROADCAST_DRIVER=log -QUEUE_DRIVER=sync -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 -CACHE_PREFIX=firefly_tst -SEARCH_RESULT_LIMIT=50 -PUSHER_KEY= -PUSHER_SECRET= -PUSHER_ID= -DEMO_USERNAME= -DEMO_PASSWORD= -IS_DOCKER=false -IS_SANDSTORM=false -IS_HEROKU=false -BUNQ_USE_SANDBOX=true -FFIII_LAYOUT=v1 diff --git a/.sandstorm/build.sh b/.sandstorm/build.sh index eadb2023bf..ea65b354dd 100755 --- a/.sandstorm/build.sh +++ b/.sandstorm/build.sh @@ -6,7 +6,7 @@ set -euo pipefail echo "In build.sh" cd /opt/app -cp .env.sandstorm .env +cp .deploy/sandstorm/.env.sandstorm .env if [ -f /opt/app/composer.json ] ; then if [ ! -f composer.phar ] ; then diff --git a/.travis.yml b/.travis.yml index 4e41e9d96f..b90ad5cf9c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ sudo: required language: bash env: - - VERSION=4.7.12 + - VERSION=4.7.13 dist: xenial diff --git a/composer.json b/composer.json index eac419f562..28aaab3565 100644 --- a/composer.json +++ b/composer.json @@ -123,7 +123,7 @@ }, "scripts": { "pre-install-cmd": [ - "@php -r \"if (!(getenv('DYNO'))===false){file_exists('.env') || copy('.env.heroku', '.env');}\"" + "@php -r \"if (!(getenv('DYNO'))===false){file_exists('.env') || copy('.deploy/heroku/.env.heroku', '.env');copy('.deploy/heroku/.locales', '.locales')}\"" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" diff --git a/crowdin.yml b/crowdin.yml index 96738fb211..9987380439 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,129 +1,11 @@ -# -# Your crowdin's credentials -# "api_key_env": CROWDIN_API_KEY "project_identifier_env": CROWDIN_PROJECT_ID "base_path_env": CROWDIN_BASE_PATH -#"base_url" : "" - -# -# Choose file structure in crowdin -# e.g. true or false -# "preserve_hierarchy": false - -# -# Files configuration -# files: [ { - # - # Source files filter - # e.g. "/resources/en/*.json" - # - "source" : "", source: "/resources/lang/en_US/*.php", - - # - # where translations live - # e.g. "/resources/%two_letters_code%/%original_file_name%" - # - "translation" : "", translation: /resources/lang/%locale_with_underscore%/%original_file_name%, - # - # files or directories for ignore - # e.g. ["/**/?.txt", "/**/[0-9].txt", "/**/*\?*.txt"] - # - #"ignore" : [], - - # - # The dest allows you to specify a file name on Crowdin - # e.g. "/messages.json" - # - #"dest" : "", - - # - # File type - # e.g. "json" - # - #type:"json" - - # - # The parameter "update_option" is optional. If it is not set, translations for changed strings will be lost. Useful for typo fixes and minor changes in source strings. - # e.g. "update_as_unapproved" or "update_without_changes" - # - #"update_option" : "", - - # - # Start block only for XML - # - - # - # Defines whether to translate tags attributes. - # e.g. 0 or 1 (Default is 1) - # - # "translate_attributes" : 1, - - # - # Defines whether to translate texts placed inside the tags. - # e.g. 0 or 1 (Default is 1) - # - # "translate_content" : 1, - - # - # This is an array of strings, where each item is the XPaths to DOM element that should be imported - # e.g. ["/content/text", "/content/text[@value]"] - # - # "translatable_elements" : [], - - # - # Defines whether to split long texts into smaller text segments. - # e.g. 0 or 1 (Default is 1) - # - # "content_segmentation" : 1, - - # - # End block only for XML - # - - # - # Start .properties block - # - - # - # Defines whether single quote should be escaped by another single quote or backslash in exported translations. - # e.g. 0 or 1 or 2 or 3 (Default is 3) - # 0 - do not escape single quote; - # 1 - escape single quote by another single quote; - # 2 - escape single quote by backslash; - # 3 - escape single quote by another single quote only in strings containing variables ( {0} ). - # - # "escape_quotes" : 3, - - # - # End .properties block - # - - # - # Often software projects have custom names for locale directories. crowdin-cli allows you to map your own languages to be understandable by Crowdin. - # - #"languages_mapping" : { - # "two_letters_code" : { - # "crowdin_language_code" : "local_name" - # } - #}, - - # - # Is first line contains header? - # e.g. true or false - # - #"first_line_contains_header" : true, - - # - # for spreadsheets - # e.g. "identifier,source_phrase,context,uk,ru,fr" - # - # "scheme" : "", } ] From 36c2f27d59144773f648223b899f25d991f0825e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 23 Feb 2019 07:47:41 +0100 Subject: [PATCH 6/7] New check for journals with 0.00 amount. --- app/Console/Commands/VerifyDatabase.php | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/app/Console/Commands/VerifyDatabase.php b/app/Console/Commands/VerifyDatabase.php index 11e2582404..fe118bc3a3 100644 --- a/app/Console/Commands/VerifyDatabase.php +++ b/app/Console/Commands/VerifyDatabase.php @@ -26,6 +26,7 @@ declare(strict_types=1); namespace FireflyIII\Console\Commands; use DB; +use Exception; use FireflyIII\Models\Account; use FireflyIII\Models\AccountMeta; use FireflyIII\Models\AccountType; @@ -43,6 +44,7 @@ use FireflyIII\User; use Illuminate\Console\Command; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Collection; +use Log; use Schema; use stdClass; @@ -97,6 +99,7 @@ class VerifyDatabase extends Command $this->fixBadMeta(); $this->removeBills(); $this->enableCurrencies(); + $this->reportZeroAmount(); return 0; } @@ -688,4 +691,33 @@ class VerifyDatabase extends Command ); } } + + /** + * Collect all journals with empty amount. + */ + private function reportZeroAmount(): void + { + $set = Transaction::where('amount', 0)->get(['transaction_journal_id'])->pluck('transaction_journal_id')->toArray(); + $set = array_unique($set); + /** @var Collection $journals */ + $journals = TransactionJournal::whereIn('id', $set)->get(); + /** @var TransactionJournal $journal */ + foreach ($journals as $journal) { + $message = sprintf( + 'Transaction "%s" (#%d), owned by user %s, has amount zero (0.00). It has been deleted.', $journal->description, + $journal->id, $journal->user->email + ); + $this->error($message); + try { + foreach($journal->transactions as $t) { + $t->delete(); + } + $journal->delete(); + + } catch (Exception $e) { + Log::debug(sprintf('Could not delete journal: %s', $e->getMessage())); + } + } + } + } From d8b4af34e02aaa6e58a1dd49b06ae22f40bc4949 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 23 Feb 2019 14:32:24 +0100 Subject: [PATCH 7/7] Update files for release 4.7.13 --- .deploy/heroku/.locales | 4 +- .sandstorm/changelog.md | 8 ++ .sandstorm/sandstorm-pkgdef.capnp | 4 +- .sandstorm/setup.sh | 2 + app/Console/Commands/VerifyDatabase.php | 11 +- changelog.md | 15 +++ composer.lock | 141 +++++++++++++++++++----- config/firefly.php | 46 ++++---- resources/lang/de_DE/firefly.php | 14 +++ resources/lang/es_ES/firefly.php | 14 +++ resources/lang/fr_FR/firefly.php | 14 +++ resources/lang/id_ID/firefly.php | 14 +++ resources/lang/it_IT/firefly.php | 14 +++ resources/lang/nl_NL/firefly.php | 14 +++ resources/lang/nl_NL/validation.php | 2 +- resources/lang/pl_PL/firefly.php | 14 +++ resources/lang/pt_BR/firefly.php | 14 +++ resources/lang/ru_RU/components.php | 4 +- resources/lang/ru_RU/firefly.php | 14 +++ resources/lang/tr_TR/firefly.php | 14 +++ resources/lang/zh_CN/firefly.php | 14 +++ resources/lang/zh_TW/firefly.php | 16 ++- 22 files changed, 338 insertions(+), 69 deletions(-) diff --git a/.deploy/heroku/.locales b/.deploy/heroku/.locales index c7badfc286..8f340cb677 100644 --- a/.deploy/heroku/.locales +++ b/.deploy/heroku/.locales @@ -1,4 +1,5 @@ en_US +es_ES de_DE fr_FR it_IT @@ -6,4 +7,5 @@ nl_NL pl_PL pt_BR ru_RU -tr_TR +zh_TW +zh_CN diff --git a/.sandstorm/changelog.md b/.sandstorm/changelog.md index 1157b85c61..b93bb4c4f1 100644 --- a/.sandstorm/changelog.md +++ b/.sandstorm/changelog.md @@ -1,3 +1,11 @@ +# 4.7.13 (API 0.9.2) +- 4.7.13 was released to fix an issue that affected the Softaculous build. +- A routine has been added that warns about transactions with a 0.00 amount. +- PHP maximum execution time is now 600 seconds in the Docker image. +- Moved several files outside of the root of Firefly III +- Fix issue where missing preference breaks the database upgrade. +- [Issue 2100](https://github.com/firefly-iii/firefly-iii/issues/2100) Mass edit transactions results in a reset of the date. + # 4.7.12 - 4.7.12 was released to fix several shortcomings in v4.7.11's Docker image. Those in turn were caused by me. My apologies. - [Issue 2085](https://github.com/firefly-iii/firefly-iii/issues/2085) Upgraded the LDAP code. To keep using LDAP, set the `LOGIN_PROVIDER` to `ldap`. diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp index bc033ab44e..62b11d9c40 100644 --- a/.sandstorm/sandstorm-pkgdef.capnp +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -15,8 +15,8 @@ const pkgdef :Spk.PackageDefinition = ( manifest = ( appTitle = (defaultText = "Firefly III"), - appVersion = 22, - appMarketingVersion = (defaultText = "4.7.12"), + appVersion = 23, + appMarketingVersion = (defaultText = "4.7.13"), actions = [ # Define your "new document" handlers here. diff --git a/.sandstorm/setup.sh b/.sandstorm/setup.sh index 2af5d9362d..7f12a884d0 100755 --- a/.sandstorm/setup.sh +++ b/.sandstorm/setup.sh @@ -13,6 +13,7 @@ apt-get update apt-get install -y python-software-properties software-properties-common # install all languages +#en_US sed -i 's/# es_ES.UTF-8 UTF-8/es_ES.UTF-8 UTF-8/g' /etc/locale.gen sed -i 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/g' /etc/locale.gen sed -i 's/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/g' /etc/locale.gen @@ -22,6 +23,7 @@ sed -i 's/# pl_PL.UTF-8 UTF-8/pl_PL.UTF-8 UTF-8/g' /etc/locale.gen sed -i 's/# pt_BR.UTF-8 UTF-8/pt_BR.UTF-8 UTF-8/g' /etc/locale.gen sed -i 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/g' /etc/locale.gen sed -i 's/# zh_TW.UTF-8 UTF-8/zh_TW.UTF-8 UTF-8/g' /etc/locale.gen +sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen dpkg-reconfigure --frontend=noninteractive locales diff --git a/app/Console/Commands/VerifyDatabase.php b/app/Console/Commands/VerifyDatabase.php index fe118bc3a3..07458fe113 100644 --- a/app/Console/Commands/VerifyDatabase.php +++ b/app/Console/Commands/VerifyDatabase.php @@ -704,19 +704,10 @@ class VerifyDatabase extends Command /** @var TransactionJournal $journal */ foreach ($journals as $journal) { $message = sprintf( - 'Transaction "%s" (#%d), owned by user %s, has amount zero (0.00). It has been deleted.', $journal->description, + 'Transaction "%s" (#%d), owned by user %s, has amount zero (0.00). It should be deleted.', $journal->description, $journal->id, $journal->user->email ); $this->error($message); - try { - foreach($journal->transactions as $t) { - $t->delete(); - } - $journal->delete(); - - } catch (Exception $e) { - Log::debug(sprintf('Could not delete journal: %s', $e->getMessage())); - } } } diff --git a/changelog.md b/changelog.md index 8bf520d099..d68aa3ff76 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,21 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [4.7.13 (API 0.9.2)] - 2019-02-23 + +4.7.13 was released to fix an issue that affected the Softaculous build. + +### Added +- A routine has been added that warns about transactions with a 0.00 amount. + +### Changed +- PHP maximum execution time is now 600 seconds in the Docker image. +- Moved several files outside of the root of Firefly III + +### Fixed +- Fix issue where missing preference breaks the database upgrade. +- [Issue 2100](https://github.com/firefly-iii/firefly-iii/issues/2100) Mass edit transactions results in a reset of the date. + ## [4.7.12 (API 0.9.2)] - 2019-02-16 4.7.12 was released to fix several shortcomings in v4.7.11's Docker image. Those in turn were caused by me. My apologies. diff --git a/composer.lock b/composer.lock index e01e26505e..c28ab90888 100644 --- a/composer.lock +++ b/composer.lock @@ -1304,16 +1304,16 @@ }, { "name": "laravel/framework", - "version": "v5.7.26", + "version": "v5.7.27", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "ca3bc9769969e8af3bd9878a3e0242051c74dae4" + "reference": "688fbfa889d43f392825b381ad3981847120fdfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/ca3bc9769969e8af3bd9878a3e0242051c74dae4", - "reference": "ca3bc9769969e8af3bd9878a3e0242051c74dae4", + "url": "https://api.github.com/repos/laravel/framework/zipball/688fbfa889d43f392825b381ad3981847120fdfa", + "reference": "688fbfa889d43f392825b381ad3981847120fdfa", "shasum": "" }, "require": { @@ -1446,7 +1446,7 @@ "framework", "laravel" ], - "time": "2019-02-12T14:52:21+00:00" + "time": "2019-02-19T14:37:47+00:00" }, { "name": "laravel/nexmo-notification-channel", @@ -2519,16 +2519,16 @@ }, { "name": "opis/closure", - "version": "3.1.5", + "version": "3.1.6", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "41f5da65d75cf473e5ee582df8fc7f2c733ce9d6" + "reference": "ccb8e3928c5c8181c76cdd0ed9366c5bcaafd91b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/41f5da65d75cf473e5ee582df8fc7f2c733ce9d6", - "reference": "41f5da65d75cf473e5ee582df8fc7f2c733ce9d6", + "url": "https://api.github.com/repos/opis/closure/zipball/ccb8e3928c5c8181c76cdd0ed9366c5bcaafd91b", + "reference": "ccb8e3928c5c8181c76cdd0ed9366c5bcaafd91b", "shasum": "" }, "require": { @@ -2576,7 +2576,7 @@ "serialization", "serialize" ], - "time": "2019-01-14T14:45:33+00:00" + "time": "2019-02-22T10:30:00+00:00" }, { "name": "paragonie/constant_time_encoding", @@ -6345,16 +6345,16 @@ }, { "name": "phpunit/php-timer", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" + "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059", + "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059", "shasum": "" }, "require": { @@ -6366,7 +6366,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -6390,7 +6390,7 @@ "keywords": [ "timer" ], - "time": "2018-02-01T13:07:23+00:00" + "time": "2019-02-20T10:12:59+00:00" }, { "name": "phpunit/php-token-stream", @@ -6443,16 +6443,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.5", + "version": "7.5.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "23a200a60552cb9ba483a8d1e106c70fb0be0bb9" + "reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/23a200a60552cb9ba483a8d1e106c70fb0be0bb9", - "reference": "23a200a60552cb9ba483a8d1e106c70fb0be0bb9", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9", + "reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9", "shasum": "" }, "require": { @@ -6523,7 +6523,7 @@ "testing", "xunit" ], - "time": "2019-02-15T14:00:34+00:00" + "time": "2019-02-18T09:24:50+00:00" }, { "name": "roave/security-advisories", @@ -6531,12 +6531,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "54ee79a17e8cdc4ff8a1570198d5bc669a5803b8" + "reference": "614a9db1df6be4349544311096f8d48ca067ccbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/54ee79a17e8cdc4ff8a1570198d5bc669a5803b8", - "reference": "54ee79a17e8cdc4ff8a1570198d5bc669a5803b8", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/614a9db1df6be4349544311096f8d48ca067ccbb", + "reference": "614a9db1df6be4349544311096f8d48ca067ccbb", "shasum": "" }, "conflict": { @@ -6571,8 +6571,91 @@ "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1", "dompdf/dompdf": ">=0.6,<0.6.2", - "drupal/core": ">=7,<7.62|>=8,<8.5.9|>=8.6,<8.6.6", - "drupal/drupal": ">=7,<7.62|>=8,<8.5.9|>=8.6,<8.6.6", + "drupal/acquia_connector": ">=1,<1.16", + "drupal/autologout": ">=4,<4.5", + "drupal/backup_migrate": ">=3,<3.4", + "drupal/bealestreet": ">=1,<1.2", + "drupal/bible": ">=1,<1.7", + "drupal/bing_autosuggest_api": ">=1,<1.1", + "drupal/bootstrap": ">=3,<3.14", + "drupal/brilliant_gallery": ">=1,<1.10", + "drupal/ckeditor_uploadimage": ">=1,<1.5", + "drupal/cleantalk": ">=2,<2.7", + "drupal/cloud": ">=1,<1.7", + "drupal/commerce": ">=2,<2.9", + "drupal/commerce_custom_order_status": ">=1,<1.1", + "drupal/commerce_klarna_checkout": ">=1,<1.5", + "drupal/config_perms": ">=1,<1.1|>=2,<2.2", + "drupal/config_update": ">=1,<1.5", + "drupal/core": ">=7,<7.62|>=8,<8.5.11|>=8.6,<8.6.10", + "drupal/datereminder": ">=1,<1.15", + "drupal/decoupled_router": ">=1,<1.2", + "drupal/domain_integration": ">=1,<1.2", + "drupal/drupal": ">=7,<7.62|>=8,<8.5.11|>=8.6,<8.6.10", + "drupal/entity": ">=1,<1.9", + "drupal/entity_ref_tab_formatter": ">=1,<1.3", + "drupal/entityqueue_taxonomy": ">=1,<1.1", + "drupal/esign": ">=1,<1.10", + "drupal/eu_cookie_compliance": ">=1,<1.1", + "drupal/exif": ">=1,<1.1", + "drupal/feedback_collect": ">=1,<1.6", + "drupal/filefield_paths": ">=1,<1.1", + "drupal/filefield_sources": ">=1,<1.11", + "drupal/focal_point": ">=1,<1.2", + "drupal/fontawesome": ">=2,<2.12", + "drupal/fraction": ">=1,<1.2", + "drupal/gathercontent": ">=3,<3.5", + "drupal/genpass": ">=1,<1.1", + "drupal/hosting_https": ">=3,<3.170", + "drupal/jsonapi": ">=1,<1.16", + "drupal/lightbox2": ">=2,<2.11", + "drupal/link": ">=1,<1.6", + "drupal/litejazz": ">=2,<2.3", + "drupal/mailhandler": ">=2,<2.11", + "drupal/mass_pwreset": ">=1,<1.1", + "drupal/me": ">=1,<1.3", + "drupal/media": ">=2,<2.19", + "drupal/menu_export": ">=1,<1.2", + "drupal/metatag": ">=1,<1.8", + "drupal/miniorange_oauth_client": ">=1,<1.21", + "drupal/moneysuite": ">=10,<10.4", + "drupal/mosaik": ">=1,<1.2", + "drupal/netforum_authentication": ">=1,<1.1", + "drupal/newsflash": ">=2,<2.6", + "drupal/node_feedback": ">=1,<1.3", + "drupal/node_view_permissions": ">=1,<1.1", + "drupal/nucleus": ">=1,<1.6", + "drupal/nvp": ">=1,<1.1", + "drupal/panels_breadcrumbs": ">=2,<2.4", + "drupal/panopoly_core": ">=1,<1.49", + "drupal/paragraphs": ">=1,<1.6", + "drupal/password_policy": ">=1,<1.16", + "drupal/permissions_by_term": ">=1,<1.35", + "drupal/phonefield": ">=1,<1.1", + "drupal/phpconfig": ">=1,<1.1", + "drupal/preview_link": ">=1,<1.1", + "drupal/print": ">=2,<2.1", + "drupal/provision": ">=3,<3.170", + "drupal/pubdlcnt": ">=1,<1.3", + "drupal/renderkit": ">=1,<1.6", + "drupal/responsive_menus": ">=1,<1.7", + "drupal/restws": ">=2,<2.8", + "drupal/sagepay_payment": ">=1,<1.5", + "drupal/salesforce": ">=3,<3.1", + "drupal/search_api_solr": ">=1,<1.14", + "drupal/search_autocomplete": ">=4,<4.8", + "drupal/services_sso_client": ">=1,<1.6", + "drupal/stacks": ">=1,<1.1", + "drupal/tapestry": ">=2,<2.2", + "drupal/term_reference_tree": ">=1,<1.11", + "drupal/tfa_basic": ">=1,<1.1", + "drupal/tft": ">=1,<1.1", + "drupal/tmgmt": ">=1,<1.7", + "drupal/uuid": ">=1,<1.1", + "drupal/video": ">=1,<1.4", + "drupal/workbench_moderation": ">=1,<1.4", + "drupal/yandex_metrics": ">=3,<3.1", + "drupal/zircon": ">=1,<1.2", "erusev/parsedown": "<1.7", "ezsystems/ezpublish-kernel": ">=5.3,<5.3.12.1|>=5.4,<5.4.13.1|>=6,<6.7.9.1|>=6.8,<6.13.5.1|>=7,<7.2.4.1|>=7.3,<7.3.2.1", "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.12.3|>=2011,<2017.12.4.3|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3", @@ -6631,7 +6714,7 @@ "shopware/shopware": "<5.3.7", "silverstripe/cms": ">=3,<=3.0.11|>=3.1,<3.1.11", "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": ">=3,<3.3", + "silverstripe/framework": ">=3,<3.6.7|>=3.7,<3.7.3|>=4,<4.0.7|>=4.1,<4.1.5|>=4.2,<4.2.4|>=4.3,<4.3.1", "silverstripe/userforms": "<3", "simple-updates/phpwhois": "<=1", "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", @@ -6669,7 +6752,7 @@ "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", "tecnickcom/tcpdf": "<6.2.22", "thelia/backoffice-default-template": ">=2.1,<2.1.2", - "thelia/thelia": ">=2.1.0-beta1,<2.1.3|>=2.1,<2.1.2", + "thelia/thelia": ">=2.1,<2.1.2|>=2.1.0-beta1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", "titon/framework": ">=0,<9.9.99", "truckersmp/phpwhois": "<=4.3.1", @@ -6727,7 +6810,7 @@ } ], "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "time": "2019-02-14T08:06:11+00:00" + "time": "2019-02-22T18:40:39+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", diff --git a/config/firefly.php b/config/firefly.php index 348917d381..00d4f39073 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -93,7 +93,7 @@ return [ 'is_demo_site' => false, ], 'encryption' => null === env('USE_ENCRYPTION') || env('USE_ENCRYPTION') === true, - 'version' => '4.7.12', + 'version' => '4.7.13', 'api_version' => '0.9.2', 'db_version' => 9, 'maxUploadSize' => 15242880, @@ -264,28 +264,28 @@ return [ ], 'languages' => [ 'en_US' => ['name_locale' => 'English', 'name_english' => 'English'], - 'es_ES' => ['name_locale' => 'Español', 'name_english' => 'Spanish'], // 2019-01-28: 93% - 'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'], // 2019-01-28: 99% - 'fr_FR' => ['name_locale' => 'Français', 'name_english' => 'French'], // 2019-01-28: 99% - //'id_ID' => ['name_locale' => 'Bahasa Indonesia', 'name_english' => 'Indonesian'], // 2019-01-28: 65% - 'it_IT' => ['name_locale' => 'Italiano', 'name_english' => 'Italian'], // 2019-01-28: 100% - 'nl_NL' => ['name_locale' => 'Nederlands', 'name_english' => 'Dutch'], // 2019-01-28: 100% - 'pl_PL' => ['name_locale' => 'Polski', 'name_english' => 'Polish '], // 2019-01-28: 85% - 'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'], // 2019-01-28: 80% - 'ru_RU' => ['name_locale' => 'Русский', 'name_english' => 'Russian'], // 2019-01-28: 83% - 'zh_TW' => ['name_locale' => 'Chinese Traditional', 'name_english' => 'Chinese Traditional'], // 2019-01-28: 99% - 'zh_CN' => ['name_locale' => 'Chinese Simplified', 'name_english' => 'Chinese Simplified'], // 2019-01-28: 99% - //'tr_TR' => ['name_locale' => 'Türkçe', 'name_english' => 'Turkish'], // 2018-12-23: 70% - //'nb_NO' => ['name_locale' => 'Norwegian', 'name_english' => 'Norwegian'], // 2019-01-28: 52% - //'ca_ES' => ['name_locale' => 'Catalan', 'name_english' => 'Catalan'], // 2019-01-28: 0% - //'ja_JA' => ['name_locale' => 'Japanese', 'name_english' => 'Japanese'], // 2019-01-28: 0% - //'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'], // 2019-01-28: 8% - //'he_IL' => ['name_locale' => 'Hebrew', 'name_english' => 'Hebrew'], // 2019-01-28: 2% - //'hu_HU' => ['name_locale' => 'Hungarian', 'name_english' => 'Hungarian'], // 2019-01-28: 40% - //'sv_SE' => ['name_locale' => 'Svenska', 'name_english' => 'Swedish'], // 2019-01-28: 1% - //'sr_CS' => ['name_locale' => 'Serbian (Latin)', 'name_english' => 'Serbian (Latin)'], // 2019-01-28: 0% - //'sl_SI' => ['name_locale' => 'Slovenian', 'name_english' => 'Slovenian'], // 2019-01-28: 10% - //'uk_UA' => ['name_locale' => 'Ukranian', 'name_english' => 'Ukranian'], // 2019-01-28: 4% + 'es_ES' => ['name_locale' => 'Español', 'name_english' => 'Spanish'], // 92% + 'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'], // 100% + 'fr_FR' => ['name_locale' => 'Français', 'name_english' => 'French'], // 100% + //'id_ID' => ['name_locale' => 'Bahasa Indonesia', 'name_english' => 'Indonesian'], // 65% + 'it_IT' => ['name_locale' => 'Italiano', 'name_english' => 'Italian'], // 100% + 'nl_NL' => ['name_locale' => 'Nederlands', 'name_english' => 'Dutch'], // 100% + 'pl_PL' => ['name_locale' => 'Polski', 'name_english' => 'Polish '], // 87% + 'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'], // 80% + 'ru_RU' => ['name_locale' => 'Русский', 'name_english' => 'Russian'], // 83% + 'zh_TW' => ['name_locale' => 'Chinese Traditional', 'name_english' => 'Chinese Traditional'], // 100% + 'zh_CN' => ['name_locale' => 'Chinese Simplified', 'name_english' => 'Chinese Simplified'], // 99% + //'tr_TR' => ['name_locale' => 'Türkçe', 'name_english' => 'Turkish'], // 71% + //'nb_NO' => ['name_locale' => 'Norwegian', 'name_english' => 'Norwegian'], // 52% + //'ca_ES' => ['name_locale' => 'Catalan', 'name_english' => 'Catalan'], // 0% + //'ja_JA' => ['name_locale' => 'Japanese', 'name_english' => 'Japanese'], // 0% + //'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'], // 35% + //'he_IL' => ['name_locale' => 'Hebrew', 'name_english' => 'Hebrew'], // 2% + //'hu_HU' => ['name_locale' => 'Hungarian', 'name_english' => 'Hungarian'], // 40% + //'sv_SE' => ['name_locale' => 'Svenska', 'name_english' => 'Swedish'], // 1% + //'sr_CS' => ['name_locale' => 'Serbian (Latin)', 'name_english' => 'Serbian (Latin)'], // 0% + //'sl_SI' => ['name_locale' => 'Slovenian', 'name_english' => 'Slovenian'], // 10% + //'uk_UA' => ['name_locale' => 'Ukranian', 'name_english' => 'Ukranian'], // 4% ], diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index c8287bbc1e..ccad7ca749 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Konto „:name” aktualisiert', 'credit_card_options' => 'Kreditkartenoptionen', 'no_transactions_account' => 'Es liegen (in diesem Zeitraum) keine Buchungen für das Bestandskonto „:name” vor.', + 'no_transactions_period' => 'Keine Buchungen (in diesem Zeitraum) vorhanden.', 'no_data_for_chart' => 'Es gibt derzeit (noch) nicht genügend Informationen, um dieses Diagramm zu generieren.', 'select_at_least_one_account' => 'Bitte mindestens ein Bestandskonto auswählen', 'select_at_least_one_category' => 'Bitte mindestens eine Kategorie auswählen', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Deine Konten', + 'your_accounts' => 'Kontenübersicht', + 'category_overview' => 'Kategorieübersicht', + 'expense_overview' => 'Übersicht der Aufwandskonten', + 'revenue_overview' => 'Übersicht der Erlöskonten', 'budgetsAndSpending' => 'Budgets und Ausgaben', + 'budgets_and_spending' => 'Budgets und Ausgaben', + 'go_to_budget' => 'Zu Budget „{budget}” wechseln', 'savings' => 'Erspartes', 'newWithdrawal' => 'Neue Ausgabe', 'newDeposit' => 'Neue Einnahme', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Suchen...', 'version' => 'Version', 'dashboard' => 'Übersicht', + 'available_budget' => 'Verfügbares Budget ({currency})', 'currencies' => 'Währungen', + 'activity' => 'Aktivität', + 'usage' => 'Verwendung', 'accounts' => 'Konten', 'Asset account' => 'Bestandskonto', 'Default account' => 'Bestandskonto', @@ -919,6 +929,7 @@ return [ 'tools' => 'Extras', 'piggyBanks' => 'Sparschweine', 'piggy_banks' => 'Sparschweine', + 'amount_x_of_y' => '{current} von {total}', 'bills' => 'Rechnungen', 'withdrawal' => 'Ausgabe', 'opening_balance' => 'Eröffnungsbilanz', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Zeitraum', 'balance' => 'Kontostand', 'sum' => 'Summe', + 'summary' => 'Zusammenfasssung', 'average' => 'Durchschnitt', 'balanceFor' => 'Kontostand für „:name”', + 'no_tags_for_cloud' => 'Keine Schlagwörter zum Erstellen der Wolke', + 'tag_cloud' => 'Schlagwortwolke', // piggy banks: 'add_money_to_piggy' => 'Geld zum Sparschwein „:name” übertragen', diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index c0ad67ef65..c8c1fe24bd 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Cuenta actualizada ":name"', 'credit_card_options' => 'Opciones de tarjeta de crédito', 'no_transactions_account' => 'No hay transacciones ( en este periodo) para cuenta de activos ":name".', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => 'No hay suficiente información (todavía) para generar este gráfico.', 'select_at_least_one_account' => 'Please select at least one asset account', 'select_at_least_one_category' => 'Please select at least one category', @@ -879,7 +880,13 @@ return [ // home page: 'yourAccounts' => 'Tus cuentas', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => 'Presupuestos y gastos', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => 'Ahorros', 'newWithdrawal' => 'Nuevo gasto', 'newDeposit' => 'Nuevo deposito', @@ -897,7 +904,10 @@ return [ 'searchPlaceholder' => 'Buscar...', 'version' => 'Versión', 'dashboard' => 'Panel de control', + 'available_budget' => 'Available budget ({currency})', 'currencies' => 'Divisas', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => 'Cuentas', 'Asset account' => 'Cuenta de activos', 'Default account' => 'Cuenta de activos', @@ -920,6 +930,7 @@ return [ 'tools' => 'Tools', 'piggyBanks' => 'Huchas', 'piggy_banks' => 'Piggy banks', + 'amount_x_of_y' => '{current} of {total}', 'bills' => 'Facturas', 'withdrawal' => 'Retiro', 'opening_balance' => 'Saldo inicial', @@ -1070,8 +1081,11 @@ return [ 'period' => 'Período', 'balance' => 'Balance', 'sum' => 'Suma', + 'summary' => 'Summary', 'average' => 'Promedio', 'balanceFor' => 'Saldo por :name', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => 'Añadir dinero a la alcancía ":name"', diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 01570c8810..759a414a7d 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Compte ":name" mis à jour', 'credit_card_options' => 'Cartes de crédit', 'no_transactions_account' => 'Il n\'y a pas de transaction (sur cette période) pour le compte d\'actif ":name".', + 'no_transactions_period' => 'Il n\'y a aucune transaction (sur cette période).', 'no_data_for_chart' => 'Il n\'y a pas assez d\'informations (pour le moment) pour générer ce graphique.', 'select_at_least_one_account' => 'Merci de sélectionner au moins un compte d\'actif', 'select_at_least_one_category' => 'Merci de sélectionner au moins une catégorie', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Vos comptes', + 'your_accounts' => 'Aperçu de votre compte', + 'category_overview' => 'Aperçu des catégories', + 'expense_overview' => 'Aperçu des comptes de dépense', + 'revenue_overview' => 'Aperçu des comptes de revenu', 'budgetsAndSpending' => 'Budgets et dépenses', + 'budgets_and_spending' => 'Budgets et dépenses', + 'go_to_budget' => 'Aller au budget "{budget}"', 'savings' => 'Épargne', 'newWithdrawal' => 'Nouvelle dépense', 'newDeposit' => 'Nouveau dépôt', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Rechercher...', 'version' => 'Version', 'dashboard' => 'Tableau de Bord', + 'available_budget' => 'Budget disponible ({currency})', 'currencies' => 'Devises', + 'activity' => 'Activité', + 'usage' => 'Utilisation', 'accounts' => 'Comptes', 'Asset account' => 'Compte d’actif', 'Default account' => 'Compte d’actif', @@ -919,6 +929,7 @@ return [ 'tools' => 'Outils', 'piggyBanks' => 'Tirelires', 'piggy_banks' => 'Tirelires', + 'amount_x_of_y' => '{current} sur {total}', 'bills' => 'Factures', 'withdrawal' => 'Dépense', 'opening_balance' => 'Solde d\'ouverture', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Période', 'balance' => 'Solde', 'sum' => 'Somme', + 'summary' => 'Résumé', 'average' => 'Moyenne', 'balanceFor' => 'Solde pour :name', + 'no_tags_for_cloud' => 'Aucun tag pour générer un nuage', + 'tag_cloud' => 'Nuage de tags', // piggy banks: 'add_money_to_piggy' => 'Ajouter de l’argent à la tirelire ":name"', diff --git a/resources/lang/id_ID/firefly.php b/resources/lang/id_ID/firefly.php index ee28de1eda..be83f21da4 100644 --- a/resources/lang/id_ID/firefly.php +++ b/resources/lang/id_ID/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Memperbarui akun ":name"', 'credit_card_options' => 'Pilihan kartu kredit', 'no_transactions_account' => 'Tidak ada transaksi (dalam periode ini) untuk akun aset ":name".', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => 'Tidak ada informasi yang cukup (belum) untuk menghasilkan grafik ini.', 'select_at_least_one_account' => 'Please select at least one asset account', 'select_at_least_one_category' => 'Please select at least one category', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Akun anda', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => 'Anggaran dan belanja', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => 'Tabungan', 'newWithdrawal' => 'Biaya baru', 'newDeposit' => 'Deposit baru', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Pencarian...', 'version' => 'Versi', 'dashboard' => 'Dasbor', + 'available_budget' => 'Available budget ({currency})', 'currencies' => 'Mata uang', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => 'Akun', 'Asset account' => 'Akun aset', 'Default account' => 'Akun aset', @@ -919,6 +929,7 @@ return [ 'tools' => 'Tools', 'piggyBanks' => 'Celengan babi', 'piggy_banks' => 'Piggy banks', + 'amount_x_of_y' => '{current} of {total}', 'bills' => 'Tagihan', 'withdrawal' => 'Penarikan', 'opening_balance' => 'Saldo awal', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Periode', 'balance' => 'Keseimbangan', 'sum' => 'Jumlah', + 'summary' => 'Summary', 'average' => 'Rata-rata', 'balanceFor' => 'Saldo untuk :name', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => 'Tambahkan uang ke celengan ":name"', diff --git a/resources/lang/it_IT/firefly.php b/resources/lang/it_IT/firefly.php index b42fad81e1..7896bf8701 100644 --- a/resources/lang/it_IT/firefly.php +++ b/resources/lang/it_IT/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Aggiorna conto ":name"', 'credit_card_options' => 'Opzioni carta di credito', 'no_transactions_account' => 'Non ci sono transazioni (in questo periodo) per il conto attività ":name".', + 'no_transactions_period' => 'Non ci sono transazioni (in questo periodo).', 'no_data_for_chart' => 'Non ci sono (ancora) abbastanza informazioni per generare questo grafico.', 'select_at_least_one_account' => 'Seleziona almeno un conto attività', 'select_at_least_one_category' => 'Seleziona almeno una categoria', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'I tuoi conti', + 'your_accounts' => 'Panoramica del tuo account', + 'category_overview' => 'Panoramica della categoria', + 'expense_overview' => 'Panoramica del conto spese', + 'revenue_overview' => 'Panoramica del conto entrate', 'budgetsAndSpending' => 'Budget e spese', + 'budgets_and_spending' => 'Budget e spese', + 'go_to_budget' => 'Vai al budget "{budget}"', 'savings' => 'Risparmi', 'newWithdrawal' => 'Nuova uscita', 'newDeposit' => 'Nuova entrata', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Cerca...', 'version' => 'Versione', 'dashboard' => 'Cruscotto', + 'available_budget' => 'Budget disponibile ({currency})', 'currencies' => 'Valute', + 'activity' => 'Attività', + 'usage' => 'Uso', 'accounts' => 'Conti', 'Asset account' => 'Conto attività', 'Default account' => 'Conto attività', @@ -919,6 +929,7 @@ return [ 'tools' => 'Strumenti', 'piggyBanks' => 'Salvadanai', 'piggy_banks' => 'Salvadanai', + 'amount_x_of_y' => '{current} di {total}', 'bills' => 'Bollette', 'withdrawal' => 'Uscita', 'opening_balance' => 'Saldo di apertura', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Periodo', 'balance' => 'Saldo', 'sum' => 'Somma', + 'summary' => 'Riepilogo', 'average' => 'Media', 'balanceFor' => 'Saldo per :name', + 'no_tags_for_cloud' => 'Nessun tag per generare la nuvola', + 'tag_cloud' => 'Nuvola dei tag', // piggy banks: 'add_money_to_piggy' => 'Aggiungi denaro al salvadanaio":name"', diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index bb637eae45..3894775e99 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Rekening ":name" geüpdatet', 'credit_card_options' => 'Opties voor credit cards', 'no_transactions_account' => 'Betaalrekening ":name" heeft geen transacties (in deze periode).', + 'no_transactions_period' => 'Er zijn geen transacties (in deze periode).', 'no_data_for_chart' => 'Er is (nog) niet genoeg informatie om deze grafiek te tekenen.', 'select_at_least_one_account' => 'Selecteer ten minste één betaalrekening', 'select_at_least_one_category' => 'Selecteer ten minste één categorie', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Je betaalrekeningen', + 'your_accounts' => 'Je rekeningoverzicht', + 'category_overview' => 'Categorieoverzicht', + 'expense_overview' => 'Crediteurenoverzicht', + 'revenue_overview' => 'Debiteurenoverzicht', 'budgetsAndSpending' => 'Budgetten en uitgaven', + 'budgets_and_spending' => 'Budgetten en uitgaven', + 'go_to_budget' => 'Ga naar budget "{budget}"', 'savings' => 'Sparen', 'newWithdrawal' => 'Nieuwe uitgave', 'newDeposit' => 'Nieuwe inkomsten', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Zoeken...', 'version' => 'Versie', 'dashboard' => 'Dashboard', + 'available_budget' => 'Beschikbaar budget ({currency})', 'currencies' => 'Valuta', + 'activity' => 'Activiteit', + 'usage' => 'Gebruik', 'accounts' => 'Rekeningen', 'Asset account' => 'Betaalrekening', 'Default account' => 'Betaalrekening', @@ -919,6 +929,7 @@ return [ 'tools' => 'Extra', 'piggyBanks' => 'Spaarpotjes', 'piggy_banks' => 'Spaarpotjes', + 'amount_x_of_y' => '{current} van {total}', 'bills' => 'Contracten', 'withdrawal' => 'Uitgave', 'opening_balance' => 'Startsaldo', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Periode', 'balance' => 'Saldo', 'sum' => 'Som', + 'summary' => 'Samenvatting', 'average' => 'Gemiddeld', 'balanceFor' => 'Saldo op :name', + 'no_tags_for_cloud' => 'Geen tags om cloud te genereren', + 'tag_cloud' => 'Tagcloud', // piggy banks: 'add_money_to_piggy' => 'Stop geld in spaarpotje ":name"', diff --git a/resources/lang/nl_NL/validation.php b/resources/lang/nl_NL/validation.php index 9900b7132a..4f5803ef6d 100644 --- a/resources/lang/nl_NL/validation.php +++ b/resources/lang/nl_NL/validation.php @@ -25,7 +25,7 @@ declare(strict_types=1); return [ 'iban' => 'Dit is niet een geldige IBAN.', 'zero_or_more' => 'De waarde mag niet negatief zijn.', - 'date_or_time' => 'The value must be a valid date or time value (ISO 8601).', + 'date_or_time' => 'De waarde moet een geldige datum of tijdwaarde zijn (ISO 8601).', 'source_equals_destination' => 'De bronrekening is gelijk aan de doelrekening.', 'unique_account_number_for_user' => 'Het lijkt erop dat dit rekeningnummer al in gebruik is.', 'unique_iban_for_user' => 'Het lijkt erop dat deze IBAN al in gebruik is.', diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index d2888c814c..72e929c0b0 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Zaktualizowano konto ":name"', 'credit_card_options' => 'Opcje karty kredytowej', 'no_transactions_account' => 'Brak transakcji (w tym okresie) na koncie aktywów ":name".', + 'no_transactions_period' => 'Nie ma żadnych transakcji (w tym okresie).', 'no_data_for_chart' => 'Nie ma wystarczająco dużo informacji (póki co), aby wygenerować ten wykres.', 'select_at_least_one_account' => 'Wybierz proszę co najmniej jedno konto aktywów', 'select_at_least_one_category' => 'Wybierz proszę co najmniej jedną kategorię', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Twoje konta', + 'your_accounts' => 'Przegląd Twoich kont', + 'category_overview' => 'Przegląd kategorii', + 'expense_overview' => 'Przegląd kont wydatków', + 'revenue_overview' => 'Przegląd kont przychodów', 'budgetsAndSpending' => 'Budżety i wydatki', + 'budgets_and_spending' => 'Budżety i wydatki', + 'go_to_budget' => 'Idź do budżetu "{budget}"', 'savings' => 'Oszczędności', 'newWithdrawal' => 'Nowy wydatek', 'newDeposit' => 'Nowa wpłata', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Szukaj...', 'version' => 'Wersja', 'dashboard' => 'Kokpit', + 'available_budget' => 'Dostępne budżety ({currency})', 'currencies' => 'Waluty', + 'activity' => 'Aktywność', + 'usage' => 'Użycie', 'accounts' => 'Konta', 'Asset account' => 'Konto aktywów', 'Default account' => 'Konto aktywów', @@ -919,6 +929,7 @@ return [ 'tools' => 'Narzędzia', 'piggyBanks' => 'Skarbonki', 'piggy_banks' => 'Skarbonki', + 'amount_x_of_y' => '{current} z {total}', 'bills' => 'Rachunki', 'withdrawal' => 'Wypłata', 'opening_balance' => 'Saldo początkowe', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Okres', 'balance' => 'Saldo', 'sum' => 'Suma', + 'summary' => 'Podsumowanie', 'average' => 'Średno', 'balanceFor' => 'Saldo dla :name', + 'no_tags_for_cloud' => 'Brak tagów do wygenerowania chmury', + 'tag_cloud' => 'Chmura tagów', // piggy banks: 'add_money_to_piggy' => 'Dodaj pieniądze do skarbonki ":name"', diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 8900a6178d..89a117d456 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Conta ":name" atualizada', 'credit_card_options' => 'Opções de cartão de crédito', 'no_transactions_account' => 'Não há transações (neste período) para a conta ativa ":name".', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => 'Não há informações suficientes (ainda) para gerar este gráfico.', 'select_at_least_one_account' => 'Por favor selecciona, pelo menos, uma conta de activos', 'select_at_least_one_category' => 'Por favor selecciona, pelo menos, uma categoria', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Suas contas', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => 'Orçamentos e despesas', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => 'Poupanças', 'newWithdrawal' => 'Nova despesa', 'newDeposit' => 'Novo depósito', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Pesquisar...', 'version' => 'Versão', 'dashboard' => 'Painel de Controle', + 'available_budget' => 'Available budget ({currency})', 'currencies' => 'Moedas', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => 'Contas', 'Asset account' => 'Conta de ativo', 'Default account' => 'Conta de ativo', @@ -919,6 +929,7 @@ return [ 'tools' => 'Tools', 'piggyBanks' => 'Cofrinhos', 'piggy_banks' => 'Piggy banks', + 'amount_x_of_y' => '{current} of {total}', 'bills' => 'Faturas', 'withdrawal' => 'Retirada', 'opening_balance' => 'Saldo inicial', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Período', 'balance' => 'Saldo', 'sum' => 'Soma', + 'summary' => 'Summary', 'average' => 'Média', 'balanceFor' => 'Saldo para ":name"', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => 'Adicionar dinheiro ao cofrinho ":name"', diff --git a/resources/lang/ru_RU/components.php b/resources/lang/ru_RU/components.php index 8f542b54d8..e26b4f2540 100644 --- a/resources/lang/ru_RU/components.php +++ b/resources/lang/ru_RU/components.php @@ -24,9 +24,9 @@ declare(strict_types=1); return [ // profile - 'personal_access_tokens' => 'Персональный токен для доступа', + 'personal_access_tokens' => 'Персональные токены доступа', // bills: 'not_expected_period' => 'Не ожидается в данном периоде', - 'not_or_not_yet' => 'Пока нет', + 'not_or_not_yet' => 'Нет (пока)', ]; diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 618f6a073b..f0a73b4b04 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => 'Обновить счёт ":name"', 'credit_card_options' => 'Параметры кредитной карты', 'no_transactions_account' => 'Для основного счёта ":name" нет транзакций (в этом периоде).', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => 'Недостаточно информации (пока) для построения этой диаграммы.', 'select_at_least_one_account' => 'Please select at least one asset account', 'select_at_least_one_category' => 'Пожалуйста, выберите по крайней мере одну категорию', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => 'Ваши счета', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => 'Бюджеты и расходы', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => 'Экономия', 'newWithdrawal' => 'Новый расход', 'newDeposit' => 'Новый доход', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => 'Поиск...', 'version' => 'Версия', 'dashboard' => 'Сводка', + 'available_budget' => 'Available budget ({currency})', 'currencies' => 'Валюты', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => 'Счета', 'Asset account' => 'Активный счёт', 'Default account' => 'Основной счёт', @@ -919,6 +929,7 @@ return [ 'tools' => 'Инструменты', 'piggyBanks' => 'Копилки', 'piggy_banks' => 'Копилки', + 'amount_x_of_y' => '{current} of {total}', 'bills' => 'Счета к оплате', 'withdrawal' => 'Расход', 'opening_balance' => 'Начальный баланс', @@ -1069,8 +1080,11 @@ return [ 'period' => 'Период', 'balance' => 'Бaлaнc', 'sum' => 'Сумма', + 'summary' => 'Summary', 'average' => 'Среднее значение', 'balanceFor' => 'Баланс для :name', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => 'Добавить деньги в копилку ":name"', diff --git a/resources/lang/tr_TR/firefly.php b/resources/lang/tr_TR/firefly.php index c36c6a4d2d..3f5fdc875c 100644 --- a/resources/lang/tr_TR/firefly.php +++ b/resources/lang/tr_TR/firefly.php @@ -768,6 +768,7 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', 'updated_account' => 'Güncellenmiş hesap ismi ":name"', 'credit_card_options' => 'Kredi kart seçenekleri', 'no_transactions_account' => 'Aktif hesapta herhangi bir işlem yok (bu dönem için) ":name".', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => 'Bu grafiği oluşturmak için yeterli bilgi (henüz) yok.', 'select_at_least_one_account' => 'Please select at least one asset account', 'select_at_least_one_category' => 'Please select at least one category', @@ -881,7 +882,13 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', // home page: 'yourAccounts' => 'Hesaplarınız', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => 'Bütçe ve Harcama', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => 'Birikim', 'newWithdrawal' => 'Yeni gider', 'newDeposit' => 'Yeni mevduat', @@ -899,7 +906,10 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', 'searchPlaceholder' => 'Aranıyor...', 'version' => 'Versiyon', 'dashboard' => 'Gösterge paneli', + 'available_budget' => 'Available budget ({currency})', 'currencies' => 'Kurlar', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => 'Hesaplar', 'Asset account' => 'Varlık hesabı', 'Default account' => 'Varlık hesabı', @@ -922,6 +932,7 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', 'tools' => 'Tools', 'piggyBanks' => 'Kumbara', 'piggy_banks' => 'Piggy banks', + 'amount_x_of_y' => '{current} of {total}', 'bills' => 'Fatura', 'withdrawal' => 'Para Çekme', 'opening_balance' => 'Açılış bakiyesi', @@ -1072,8 +1083,11 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', 'period' => 'Dönem', 'balance' => 'Denge', 'sum' => 'Toplam', + 'summary' => 'Summary', 'average' => 'Ortalama', 'balanceFor' => ':name için bakiye', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => '":name" kumbarasına paraa ekle', diff --git a/resources/lang/zh_CN/firefly.php b/resources/lang/zh_CN/firefly.php index 208bcb2cf5..81b0da1185 100644 --- a/resources/lang/zh_CN/firefly.php +++ b/resources/lang/zh_CN/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => '帐户 ":name" 已更新', 'credit_card_options' => '信用卡选项', 'no_transactions_account' => '资产帐户 ":name" 没有交易 (在此区间)。', + 'no_transactions_period' => 'There are no transactions (in this period).', 'no_data_for_chart' => '目前 (尚) 没有足够资讯以产生此图表。', 'select_at_least_one_account' => '选择至少一个资产帐户', 'select_at_least_one_category' => '选择至少一个分类', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => '您的帐户', + 'your_accounts' => 'Your account overview', + 'category_overview' => 'Category overview', + 'expense_overview' => 'Expense account overview', + 'revenue_overview' => 'Revenue account overview', 'budgetsAndSpending' => '预算与花费', + 'budgets_and_spending' => 'Budgets and spending', + 'go_to_budget' => 'Go to budget "{budget}"', 'savings' => '储蓄', 'newWithdrawal' => '新支出', 'newDeposit' => '新存款', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => '搜寻中…', 'version' => '版本', 'dashboard' => '监控面板', + 'available_budget' => 'Available budget ({currency})', 'currencies' => '货币', + 'activity' => 'Activity', + 'usage' => 'Usage', 'accounts' => '帐户', 'Asset account' => '资产帐户', 'Default account' => '资产帐户', @@ -919,6 +929,7 @@ return [ 'tools' => '工具', 'piggyBanks' => '小猪存钱罐', 'piggy_banks' => '小猪存钱罐', + 'amount_x_of_y' => '{current} of {total}', 'bills' => '帐单', 'withdrawal' => '提款', 'opening_balance' => '开户余额', @@ -1069,8 +1080,11 @@ return [ 'period' => '区间', 'balance' => '余额', 'sum' => '总计', + 'summary' => 'Summary', 'average' => '平均', 'balanceFor' => ':name 的余额', + 'no_tags_for_cloud' => 'No tags to generate cloud', + 'tag_cloud' => 'Tag cloud', // piggy banks: 'add_money_to_piggy' => '新增金钱至小猪存钱罐 “:name”', diff --git a/resources/lang/zh_TW/firefly.php b/resources/lang/zh_TW/firefly.php index b7f69cfbef..70471ab0f5 100644 --- a/resources/lang/zh_TW/firefly.php +++ b/resources/lang/zh_TW/firefly.php @@ -765,6 +765,7 @@ return [ 'updated_account' => '帳戶 ":name" 已更新', 'credit_card_options' => '信用卡選項', 'no_transactions_account' => '資產帳戶 ":name" 沒有交易 (在此區間)。', + 'no_transactions_period' => '沒有交易記錄 (在此期間)。', 'no_data_for_chart' => '目前 (尚) 沒有足夠資訊以產生此圖表。', 'select_at_least_one_account' => '選擇至少一個資產帳戶', 'select_at_least_one_category' => '選擇至少一個分類', @@ -878,7 +879,13 @@ return [ // home page: 'yourAccounts' => '您的帳戶', + 'your_accounts' => '您的帳戶概覽', + 'category_overview' => '分類概覽', + 'expense_overview' => '支出帳戶概覽', + 'revenue_overview' => '收入帳戶概覽', 'budgetsAndSpending' => '預算與花費', + 'budgets_and_spending' => '預算與花費', + 'go_to_budget' => '前往預算 “{budget}”', 'savings' => '儲蓄', 'newWithdrawal' => '新支出', 'newDeposit' => '新存款', @@ -896,7 +903,10 @@ return [ 'searchPlaceholder' => '搜尋中…', 'version' => '版本', 'dashboard' => '監控面板', + 'available_budget' => '可用預算 ({currency})', 'currencies' => '貨幣', + 'activity' => '活動', + 'usage' => '使用', 'accounts' => '帳戶', 'Asset account' => '資產帳戶', 'Default account' => '資產帳戶', @@ -919,6 +929,7 @@ return [ 'tools' => '工具', 'piggyBanks' => '小豬撲滿', 'piggy_banks' => '小豬撲滿', + 'amount_x_of_y' => '{current} 分之 {total}', 'bills' => '帳單', 'withdrawal' => '提款', 'opening_balance' => '開戶餘額', @@ -1069,8 +1080,11 @@ return [ 'period' => '區間', 'balance' => '餘額', 'sum' => '總計', + 'summary' => '概要', 'average' => '平均', 'balanceFor' => ':name 的餘額', + 'no_tags_for_cloud' => '沒有產生雲的標籤', + 'tag_cloud' => '標籤雲', // piggy banks: 'add_money_to_piggy' => '新增金錢至小豬撲滿 “:name”', @@ -1225,7 +1239,7 @@ return [ 'split_this_transfer' => '拆分這筆轉帳', 'cannot_edit_multiple_source' => '您不能使用描述 ":description" 來編輯已拆分的交易 #:id,因為該交易包含數筆來源帳戶。', 'cannot_edit_multiple_dest' => '您不能使用描述 ":description" 來編輯已拆分的交易 #:id,因為該交易包含數筆目標帳戶。', - 'cannot_edit_reconciled' => '你不能这样編輯#:id交易,因为:description已经被用来关联', + 'cannot_edit_reconciled' => '您無法編輯編號 #:id 、簡介為 “:description” 的交易,因為它已被標記為已對帳。', 'cannot_edit_opening_balance' => '您無法編輯一個帳戶的開戶餘額。', 'no_edit_multiple_left' => '您沒有選擇有效的交易紀錄以供編輯。', 'cannot_convert_split_journal' => '無法轉換拆分交易記錄',