mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Merge branch 'release/4.7.13'
This commit is contained in:
commit
e3de03e50d
@ -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..."
|
||||
|
@ -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
|
178
.env.testing
178
.env.testing
@ -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
|
@ -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
|
||||
|
@ -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`.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
sudo: required
|
||||
language: bash
|
||||
env:
|
||||
- VERSION=4.7.12
|
||||
- VERSION=4.7.13
|
||||
|
||||
dist: xenial
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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,24 @@ 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 should be deleted.', $journal->description,
|
||||
$journal->id, $journal->user->email
|
||||
);
|
||||
$this->error($message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
15
changelog.md
15
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.
|
||||
|
@ -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');\""
|
||||
|
141
composer.lock
generated
141
composer.lock
generated
@ -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",
|
||||
|
@ -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%
|
||||
|
||||
|
||||
],
|
||||
|
118
crowdin.yml
118
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" : "",
|
||||
}
|
||||
]
|
||||
|
@ -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',
|
||||
|
@ -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"',
|
||||
|
@ -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"',
|
||||
|
@ -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"',
|
||||
|
@ -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"',
|
||||
|
@ -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"',
|
||||
|
@ -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"',
|
||||
|
@ -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.',
|
||||
|
@ -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"',
|
||||
|
@ -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"',
|
||||
|
@ -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' => 'Нет (пока)',
|
||||
];
|
||||
|
@ -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"',
|
||||
|
@ -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',
|
||||
|
@ -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”',
|
||||
|
@ -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' => '無法轉換拆分交易記錄',
|
||||
|
@ -65,7 +65,7 @@
|
||||
<td>
|
||||
{# DATE #}
|
||||
<input class="form-control input-sm" autocomplete="off"
|
||||
name="date[{{ transaction.journal_id }}]" type="date" value="{{ transaction.date.format('Y-m-d') }}">
|
||||
name="date[{{ transaction.journal_id }}]" type="date" value="{{ transaction.date|slice(0,10) }}">
|
||||
</td>
|
||||
<td style="position: relative;">
|
||||
{# SOURCE ACCOUNT ID FOR TRANSFER OR WITHDRAWAL #}
|
||||
|
Loading…
Reference in New Issue
Block a user