From 9b6ccdd43aa85bea9001ad97ef88d86a6b4a4f50 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 10 Jul 2017 19:52:31 +0200 Subject: [PATCH 001/174] Fixes #694 --- app/Import/Object/ImportAccount.php | 25 +++++++++++++++++++++++++ app/Import/Object/ImportBill.php | 13 ++++++++++--- app/Import/Object/ImportBudget.php | 12 +++++++++--- app/Import/Object/ImportCategory.php | 12 +++++++++--- app/Import/Object/ImportCurrency.php | 7 +++++++ app/Import/Storage/ImportStorage.php | 2 +- 6 files changed, 61 insertions(+), 10 deletions(-) diff --git a/app/Import/Object/ImportAccount.php b/app/Import/Object/ImportAccount.php index 334709d8bb..8ab5c77077 100644 --- a/app/Import/Object/ImportAccount.php +++ b/app/Import/Object/ImportAccount.php @@ -37,6 +37,8 @@ class ImportAccount private $accountName = []; /** @var array */ private $accountNumber = []; + /** @var int */ + private $defaultAccountId = 0; /** @var string */ private $expectedType = ''; /** @var AccountRepositoryInterface */ @@ -115,6 +117,14 @@ class ImportAccount $this->accountNumber = $accountNumber; } + /** + * @param int $defaultAccountId + */ + public function setDefaultAccountId(int $defaultAccountId) + { + $this->defaultAccountId = $defaultAccountId; + } + /** * @param User $user */ @@ -249,6 +259,12 @@ class ImportAccount $search = intval($array['mapped']); $account = $this->repository->find($search); + if (is_null($account->id)) { + Log::error(sprintf('There is no account with id #%d. Invalid mapping will be ignored!', $search)); + + return new Account; + } + if ($account->accountType->type !== $this->expectedType) { Log::error( sprintf( @@ -256,6 +272,7 @@ class ImportAccount $this->expectedType ) ); + return new Account; } @@ -297,6 +314,14 @@ class ImportAccount } $this->expectedType = $oldExpectedType; + // if search for an asset account, fall back to given "default account" (mandatory) + if ($this->expectedType === AccountType::ASSET) { + $this->account = $this->repository->find($this->defaultAccountId); + Log::debug(sprintf('Fall back to default account #%d "%s"', $this->account->id, $this->account->name)); + + return true; + } + Log::debug(sprintf('Found no account of type %s so must create one ourselves.', $this->expectedType)); $data = [ diff --git a/app/Import/Object/ImportBill.php b/app/Import/Object/ImportBill.php index 729a290d3b..b8bbb18161 100644 --- a/app/Import/Object/ImportBill.php +++ b/app/Import/Object/ImportBill.php @@ -181,11 +181,18 @@ class ImportBill Log::debug('Finding a mapped bill based on', $array); $search = intval($array['mapped']); - $account = $this->repository->find($search); + $bill = $this->repository->find($search); - Log::debug(sprintf('Found bill! #%d ("%s"). Return it', $account->id, $account->name)); + if (is_null($bill->id)) { + Log::error(sprintf('There is no bill with id #%d. Invalid mapping will be ignored!', $search)); - return $account; + return new Bill; + } + + + Log::debug(sprintf('Found bill! #%d ("%s"). Return it', $bill->id, $bill->name)); + + return $bill; } /** diff --git a/app/Import/Object/ImportBudget.php b/app/Import/Object/ImportBudget.php index 011fef8c8e..cbc1e05460 100644 --- a/app/Import/Object/ImportBudget.php +++ b/app/Import/Object/ImportBudget.php @@ -181,11 +181,17 @@ class ImportBudget Log::debug('Finding a mapped budget based on', $array); $search = intval($array['mapped']); - $account = $this->repository->find($search); + $budget = $this->repository->find($search); - Log::debug(sprintf('Found budget! #%d ("%s"). Return it', $account->id, $account->name)); + if (is_null($budget->id)) { + Log::error(sprintf('There is no budget with id #%d. Invalid mapping will be ignored!', $search)); - return $account; + return new Budget; + } + + Log::debug(sprintf('Found budget! #%d ("%s"). Return it', $budget->id, $budget->name)); + + return $budget; } /** diff --git a/app/Import/Object/ImportCategory.php b/app/Import/Object/ImportCategory.php index 69265fcd3a..b86a73d6ec 100644 --- a/app/Import/Object/ImportCategory.php +++ b/app/Import/Object/ImportCategory.php @@ -175,11 +175,17 @@ class ImportCategory Log::debug('Finding a mapped category based on', $array); $search = intval($array['mapped']); - $account = $this->repository->find($search); + $category = $this->repository->find($search); - Log::debug(sprintf('Found category! #%d ("%s"). Return it', $account->id, $account->name)); + if (is_null($category->id)) { + Log::error(sprintf('There is no category with id #%d. Invalid mapping will be ignored!', $search)); - return $account; + return new Category; + } + + Log::debug(sprintf('Found category! #%d ("%s"). Return it', $category->id, $category->name)); + + return $category; } /** diff --git a/app/Import/Object/ImportCurrency.php b/app/Import/Object/ImportCurrency.php index 983c2591ae..e282e29228 100644 --- a/app/Import/Object/ImportCurrency.php +++ b/app/Import/Object/ImportCurrency.php @@ -209,6 +209,13 @@ class ImportCurrency $search = intval($array['mapped']); $currency = $this->repository->find($search); + + if (is_null($currency->id)) { + Log::error(sprintf('There is no currency with id #%d. Invalid mapping will be ignored!', $search)); + + return new TransactionCurrency; + } + Log::debug(sprintf('Found currency! #%d ("%s"). Return it', $currency->id, $currency->name)); return $currency; diff --git a/app/Import/Storage/ImportStorage.php b/app/Import/Storage/ImportStorage.php index 4986bfbb29..8bdb6685fe 100644 --- a/app/Import/Storage/ImportStorage.php +++ b/app/Import/Storage/ImportStorage.php @@ -301,7 +301,7 @@ class ImportStorage private function storeImportJournal(int $index, ImportJournal $importJournal): bool { Log::debug(sprintf('Going to store object #%d with description "%s"', $index, $importJournal->description)); - + $importJournal->asset->setDefaultAccountId($this->job->configuration['import-account']); $asset = $importJournal->asset->getAccount(); $amount = $importJournal->getAmount(); $currency = $this->getCurrency($importJournal, $asset); From 0187f29b4b2bebf03ebf7c84c8bf250e68113e17 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:40 +0200 Subject: [PATCH 002/174] New translations pagination.php (Russian) --- resources/lang/ru_RU/pagination.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 resources/lang/ru_RU/pagination.php diff --git a/resources/lang/ru_RU/pagination.php b/resources/lang/ru_RU/pagination.php new file mode 100644 index 0000000000..4eeab21dee --- /dev/null +++ b/resources/lang/ru_RU/pagination.php @@ -0,0 +1,17 @@ + '« Previous', + 'next' => 'Next »', + +]; \ No newline at end of file From 71faaf1c1952443702aea641030d838055d5b860 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:43 +0200 Subject: [PATCH 003/174] New translations list.php (Russian) --- resources/lang/ru_RU/list.php | 89 +++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 resources/lang/ru_RU/list.php diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php new file mode 100644 index 0000000000..90625d54e6 --- /dev/null +++ b/resources/lang/ru_RU/list.php @@ -0,0 +1,89 @@ + 'Buttons', + 'icon' => 'Icon', + 'id' => 'ID', + 'create_date' => 'Created at', + 'update_date' => 'Updated at', + 'balance_before' => 'Balance before', + 'balance_after' => 'Balance after', + 'name' => 'Name', + 'role' => 'Role', + 'currentBalance' => 'Current balance', + 'active' => 'Is active?', + 'lastActivity' => 'Last activity', + 'balanceDiff' => 'Balance difference between :start and :end', + 'matchedOn' => 'Matched on', + 'matchesOn' => 'Matched on', + 'account_type' => 'Account type', + 'created_at' => 'Created at', + 'new_balance' => 'New balance', + 'account' => 'Account', + 'matchingAmount' => 'Amount', + 'lastMatch' => 'Last match', + 'split_number' => 'Split #', + 'destination' => 'Destination', + 'source' => 'Source', + 'next_expected_match' => 'Next expected match', + 'automatch' => 'Auto match?', + 'repeat_freq' => 'Repeats', + 'description' => 'Description', + 'amount' => 'Amount', + 'internal_reference' => 'Internal reference', + 'date' => 'Date', + 'interest_date' => 'Interest date', + 'book_date' => 'Book date', + 'process_date' => 'Processing date', + 'due_date' => 'Due date', + 'payment_date' => 'Payment date', + 'invoice_date' => 'Invoice date', + 'interal_reference' => 'Internal reference', + 'notes' => 'Notes', + 'from' => 'From', + 'piggy_bank' => 'Piggy bank', + 'to' => 'To', + 'budget' => 'Budget', + 'category' => 'Category', + 'bill' => 'Bill', + 'withdrawal' => 'Withdrawal', + 'deposit' => 'Deposit', + 'transfer' => 'Transfer', + 'type' => 'Type', + 'completed' => 'Completed', + 'iban' => 'IBAN', + 'paid_current_period' => 'Paid this period', + 'email' => 'Email', + 'registered_at' => 'Registered at', + 'is_activated' => 'Is activated', + 'is_blocked' => 'Is blocked', + 'is_admin' => 'Is admin', + 'has_two_factor' => 'Has 2FA', + 'confirmed_from' => 'Confirmed from', + 'registered_from' => 'Registered from', + 'blocked_code' => 'Block code', + 'domain' => 'Domain', + 'registration_attempts' => 'Registration attempts', + 'source_account' => 'Source account', + 'destination_account' => 'Destination account', + + 'accounts_count' => 'Number of accounts', + 'journals_count' => 'Number of transactions', + 'attachments_count' => 'Number of attachments', + 'bills_count' => 'Number of bills', + 'categories_count' => 'Number of categories', + 'export_jobs_count' => 'Number of export jobs', + 'import_jobs_count' => 'Number of import jobs', + 'budget_count' => 'Number of budgets', + 'rule_and_groups_count' => 'Number of rules and rule groups', + 'tags_count' => 'Number of tags', +]; \ No newline at end of file From 4d67578458e95fcc3083276bc76f993adf7f7cf6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:44 +0200 Subject: [PATCH 004/174] New translations passwords.php (Russian) --- resources/lang/ru_RU/passwords.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 resources/lang/ru_RU/passwords.php diff --git a/resources/lang/ru_RU/passwords.php b/resources/lang/ru_RU/passwords.php new file mode 100644 index 0000000000..2e11aa92dc --- /dev/null +++ b/resources/lang/ru_RU/passwords.php @@ -0,0 +1,19 @@ + 'Passwords must be at least six characters and match the confirmation.', + 'user' => 'We can\'t find a user with that e-mail address.', + 'token' => 'This password reset token is invalid.', + 'sent' => 'We have e-mailed your password reset link!', + 'reset' => 'Your password has been reset!', + 'blocked' => 'Nice try though.', +]; \ No newline at end of file From 9cb549f4a15e40613c3d422ffae0ddd14a870ff6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:47 +0200 Subject: [PATCH 005/174] New translations validation.php (Russian) --- resources/lang/ru_RU/validation.php | 91 +++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 resources/lang/ru_RU/validation.php diff --git a/resources/lang/ru_RU/validation.php b/resources/lang/ru_RU/validation.php new file mode 100644 index 0000000000..addd0e6f39 --- /dev/null +++ b/resources/lang/ru_RU/validation.php @@ -0,0 +1,91 @@ + 'This is not a valid IBAN.', + 'unique_account_number_for_user' => 'It looks like this account number is already in use.', + 'deleted_user' => 'Due to security constraints, you cannot register using this email address.', + 'rule_trigger_value' => 'This value is invalid for the selected trigger.', + 'rule_action_value' => 'This value is invalid for the selected action.', + 'invalid_domain' => 'Due to security constraints, you cannot register from this domain.', + 'file_already_attached' => 'Uploaded file ":name" is already attached to this object.', + 'file_attached' => 'Succesfully uploaded file ":name".', + 'file_invalid_mime' => 'File ":name" is of type ":mime" which is not accepted as a new upload.', + 'file_too_large' => 'File ":name" is too large.', + 'belongs_to_user' => 'The value of :attribute is unknown', + 'accepted' => 'The :attribute must be accepted.', + 'bic' => 'This is not a valid BIC.', + 'more' => ':attribute must be larger than zero.', + 'active_url' => 'The :attribute is not a valid URL.', + 'after' => 'The :attribute must be a date after :date.', + 'alpha' => 'The :attribute may only contain letters.', + 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', + 'alpha_num' => 'The :attribute may only contain letters and numbers.', + 'array' => 'The :attribute must be an array.', + 'unique_for_user' => 'There already is an entry with this :attribute.', + 'before' => 'The :attribute must be a date before :date.', + 'unique_object_for_user' => 'This name is already in use', + 'unique_account_for_user' => 'This account name is already in use', + 'between.numeric' => 'The :attribute must be between :min and :max.', + 'between.file' => 'The :attribute must be between :min and :max kilobytes.', + 'between.string' => 'The :attribute must be between :min and :max characters.', + 'between.array' => 'The :attribute must have between :min and :max items.', + 'boolean' => 'The :attribute field must be true or false.', + 'confirmed' => 'The :attribute confirmation does not match.', + 'date' => 'The :attribute is not a valid date.', + 'date_format' => 'The :attribute does not match the format :format.', + 'different' => 'The :attribute and :other must be different.', + 'digits' => 'The :attribute must be :digits digits.', + 'digits_between' => 'The :attribute must be between :min and :max digits.', + 'email' => 'The :attribute must be a valid email address.', + 'filled' => 'The :attribute field is required.', + 'exists' => 'The selected :attribute is invalid.', + 'image' => 'The :attribute must be an image.', + 'in' => 'The selected :attribute is invalid.', + 'integer' => 'The :attribute must be an integer.', + 'ip' => 'The :attribute must be a valid IP address.', + 'json' => 'The :attribute must be a valid JSON string.', + 'max.numeric' => 'The :attribute may not be greater than :max.', + 'max.file' => 'The :attribute may not be greater than :max kilobytes.', + 'max.string' => 'The :attribute may not be greater than :max characters.', + 'max.array' => 'The :attribute may not have more than :max items.', + 'mimes' => 'The :attribute must be a file of type: :values.', + 'min.numeric' => 'The :attribute must be at least :min.', + 'min.file' => 'The :attribute must be at least :min kilobytes.', + 'min.string' => 'The :attribute must be at least :min characters.', + 'min.array' => 'The :attribute must have at least :min items.', + 'not_in' => 'The selected :attribute is invalid.', + 'numeric' => 'The :attribute must be a number.', + 'regex' => 'The :attribute format is invalid.', + 'required' => 'The :attribute field is required.', + 'required_if' => 'The :attribute field is required when :other is :value.', + 'required_unless' => 'The :attribute field is required unless :other is in :values.', + 'required_with' => 'The :attribute field is required when :values is present.', + 'required_with_all' => 'The :attribute field is required when :values is present.', + 'required_without' => 'The :attribute field is required when :values is not present.', + 'required_without_all' => 'The :attribute field is required when none of :values are present.', + 'same' => 'The :attribute and :other must match.', + 'size.numeric' => 'The :attribute must be :size.', + 'size.file' => 'The :attribute must be :size kilobytes.', + 'size.string' => 'The :attribute must be :size characters.', + 'size.array' => 'The :attribute must contain :size items.', + 'unique' => 'The :attribute has already been taken.', + 'string' => 'The :attribute must be a string.', + 'url' => 'The :attribute format is invalid.', + 'timezone' => 'The :attribute must be a valid zone.', + '2fa_code' => 'The :attribute field is invalid.', + 'dimensions' => 'The :attribute has invalid image dimensions.', + 'distinct' => 'The :attribute field has a duplicate value.', + 'file' => 'The :attribute must be a file.', + 'in_array' => 'The :attribute field does not exist in :other.', + 'present' => 'The :attribute field must be present.', + 'amount_zero' => 'The total amount cannot be zero', +]; \ No newline at end of file From 15b057fe68183655e6db6a071a1a7c40a6c6d8e3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:48 +0200 Subject: [PATCH 006/174] New translations demo.php (Russian) --- resources/lang/ru_RU/demo.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 resources/lang/ru_RU/demo.php diff --git a/resources/lang/ru_RU/demo.php b/resources/lang/ru_RU/demo.php new file mode 100644 index 0000000000..e7f8ea934d --- /dev/null +++ b/resources/lang/ru_RU/demo.php @@ -0,0 +1,24 @@ + 'Sorry, there is no extra demo-explanation text for this page.', + 'see_help_icon' => 'However, the -icon in the top right corner may tell you more.', + 'index' => 'Welcome to Firefly III! On this page you get a quick overview of your finances. For more information, check out Accounts → Asset Accounts and of course the Budgets and Reports pages. Or just take a look around and see where you end up.', + 'accounts-index' => 'Asset accounts are your personal bank accounts. Expense accounts are the accounts you spend money at, such as stores and friends. Revenue accounts are accounts you receive money from, such as your job, the government or other sources of income. On this page you can edit or remove them.', + 'budgets-index' => 'This page shows you an overview of your budgets. The top bar shows the amount that is available to be budgeted. This can be customized for any period by clicking the amount on the right. The amount you\'ve actually spent is shown in the bar below. Below that are the expenses per budget and what you\'ve budgeted for them.', + 'reports-index-start' => 'Firefly III supports four types of reports. Read about them by clicking on the -icon in the top right corner.', + 'reports-index-examples' => 'Be sure to check out these examples: a monthly financial overview, a yearly financial overview and a budget overview.', + 'currencies-index' => 'Firefly III supports multiple currencies. Although it defaults to the Euro it can be set to the US Dollar and many other currencies. As you can see a small selection of currencies has been included but you can add your own if you wish to. Changing the default currency will not change the currency of existing transactions however: Firefly III supports the use of multiple currencies at the same time.', + 'transactions-index' => 'These expenses, deposits and transfers are not particularly imaginative. They have been generated automatically.', + 'piggy-banks-index' => 'As you can see, there are three piggy banks. Use the plus and minus buttons to influence the amount of money in each piggy bank. Click the name of the piggy bank to see the administration for each piggy bank.', + 'import-index' => 'Of course, any CSV file can be imported into Firefly III ', + 'import-configure-security' => 'Because of security concerns, your upload has been replaced with a local file.', + 'import-configure-configuration' => 'The configuration you see below is correct for the local file.', +]; \ No newline at end of file From d4f2d649e819a38e7fee7bdb6f380644232df9af Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:50 +0200 Subject: [PATCH 007/174] New translations help.php (Russian) --- resources/lang/ru_RU/help.php | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 resources/lang/ru_RU/help.php diff --git a/resources/lang/ru_RU/help.php b/resources/lang/ru_RU/help.php new file mode 100644 index 0000000000..61210ffe41 --- /dev/null +++ b/resources/lang/ru_RU/help.php @@ -0,0 +1,33 @@ + 'Welcome to Firefly III', + 'main-content-text' => 'Do yourself a favor and follow this short guide to make sure you know your way around.', + 'sidebar-toggle-title' => 'Sidebar to create stuff', + 'sidebar-toggle-text' => 'Hidden under the plus icon are all the buttons to create new stuff. Accounts, transactions, everything!', + 'account-menu-title' => 'All your accounts', + 'account-menu-text' => 'Here you can find all the accounts you\'ve made.', + 'budget-menu-title' => 'Budgets', + 'budget-menu-text' => 'Use this page to organise your finances and limit spending.', + 'report-menu-title' => 'Reports', + 'report-menu-text' => 'Check this out when you want a solid overview of your finances.', + 'transaction-menu-title' => 'Transactions', + 'transaction-menu-text' => 'All transactions you\'ve created can be found here.', + 'option-menu-title' => 'Options', + 'option-menu-text' => 'This is pretty self-explanatory.', + 'main-content-end-title' => 'The end!', + 'main-content-end-text' => 'Remember that every page has a small question mark at the right top. Click it to get help about the page you\'re on.', + 'index' => 'index', + 'home' => 'home', +]; \ No newline at end of file From f9b6b841b60a7afaa8cfbe3efcb574fdfa672dd1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:53 +0200 Subject: [PATCH 008/174] New translations form.php (Russian) --- resources/lang/ru_RU/form.php | 189 ++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 resources/lang/ru_RU/form.php diff --git a/resources/lang/ru_RU/form.php b/resources/lang/ru_RU/form.php new file mode 100644 index 0000000000..20be49e75a --- /dev/null +++ b/resources/lang/ru_RU/form.php @@ -0,0 +1,189 @@ + 'Bank name', + 'bank_balance' => 'Balance', + 'savings_balance' => 'Savings balance', + 'credit_card_limit' => 'Credit card limit', + 'automatch' => 'Match automatically', + 'skip' => 'Skip', + 'name' => 'Name', + 'active' => 'Active', + 'amount_min' => 'Minimum amount', + 'amount_max' => 'Maximum amount', + 'match' => 'Matches on', + 'repeat_freq' => 'Repeats', + 'journal_currency_id' => 'Currency', + 'currency_id' => 'Currency', + 'attachments' => 'Attachments', + 'journal_amount' => 'Amount', + 'journal_asset_source_account' => 'Asset account (source)', + 'journal_source_account_name' => 'Revenue account (source)', + 'journal_source_account_id' => 'Asset account (source)', + 'BIC' => 'BIC', + 'account_from_id' => 'From account', + 'account_to_id' => 'To account', + 'source_account' => 'Source account', + 'destination_account' => 'Destination account', + 'journal_destination_account_id' => 'Asset account (destination)', + 'asset_destination_account' => 'Asset account (destination)', + 'asset_source_account' => 'Asset account (source)', + 'journal_description' => 'Description', + 'note' => 'Notes', + 'split_journal' => 'Split this transaction', + 'split_journal_explanation' => 'Split this transaction in multiple parts', + 'currency' => 'Currency', + 'account_id' => 'Asset account', + 'budget_id' => 'Budget', + 'openingBalance' => 'Opening balance', + 'tagMode' => 'Tag mode', + 'tagPosition' => 'Tag location', + 'virtualBalance' => 'Virtual balance', + 'longitude_latitude' => 'Location', + 'targetamount' => 'Target amount', + 'accountRole' => 'Account role', + 'openingBalanceDate' => 'Opening balance date', + 'ccType' => 'Credit card payment plan', + 'ccMonthlyPaymentDate' => 'Credit card monthly payment date', + 'piggy_bank_id' => 'Piggy bank', + 'returnHere' => 'Return here', + 'returnHereExplanation' => 'After storing, return here to create another one.', + 'returnHereUpdateExplanation' => 'After updating, return here.', + 'description' => 'Description', + 'expense_account' => 'Expense account', + 'revenue_account' => 'Revenue account', + 'decimal_places' => 'Decimal places', + 'exchange_rate_instruction' => 'Foreign currencies', + 'exchanged_amount' => 'Exchanged amount', + 'source_amount' => 'Amount (source)', + 'destination_amount' => 'Amount (destination)', + 'native_amount' => 'Native amount', + + 'revenue_account_source' => 'Revenue account (source)', + 'source_account_asset' => 'Source account (asset account)', + 'destination_account_expense' => 'Destination account (expense account)', + 'destination_account_asset' => 'Destination account (asset account)', + 'source_account_revenue' => 'Source account (revenue account)', + 'type' => 'Type', + 'convert_Withdrawal' => 'Convert withdrawal', + 'convert_Deposit' => 'Convert deposit', + 'convert_Transfer' => 'Convert transfer', + + + 'amount' => 'Amount', + 'date' => 'Date', + 'interest_date' => 'Interest date', + 'book_date' => 'Book date', + 'process_date' => 'Processing date', + 'category' => 'Category', + 'tags' => 'Tags', + 'deletePermanently' => 'Delete permanently', + 'cancel' => 'Cancel', + 'targetdate' => 'Target date', + 'tag' => 'Tag', + 'under' => 'Under', + 'symbol' => 'Symbol', + 'code' => 'Code', + 'iban' => 'IBAN', + 'accountNumber' => 'Account number', + 'has_headers' => 'Headers', + 'date_format' => 'Date format', + 'specifix' => 'Bank- or file specific fixes', + 'attachments[]' => 'Attachments', + 'store_new_withdrawal' => 'Store new withdrawal', + 'store_new_deposit' => 'Store new deposit', + 'store_new_transfer' => 'Store new transfer', + 'add_new_withdrawal' => 'Add a new withdrawal', + 'add_new_deposit' => 'Add a new deposit', + 'add_new_transfer' => 'Add a new transfer', + 'noPiggybank' => '(no piggy bank)', + 'title' => 'Title', + 'notes' => 'Notes', + 'filename' => 'File name', + 'mime' => 'Mime type', + 'size' => 'Size', + 'trigger' => 'Trigger', + 'stop_processing' => 'Stop processing', + 'start_date' => 'Start of range', + 'end_date' => 'End of range', + 'export_start_range' => 'Start of export range', + 'export_end_range' => 'End of export range', + 'export_format' => 'File format', + 'include_attachments' => 'Include uploaded attachments', + 'include_old_uploads' => 'Include imported data', + 'accounts' => 'Export transactions from these accounts', + 'delete_account' => 'Delete account ":name"', + 'delete_bill' => 'Delete bill ":name"', + 'delete_budget' => 'Delete budget ":name"', + 'delete_category' => 'Delete category ":name"', + 'delete_currency' => 'Delete currency ":name"', + 'delete_journal' => 'Delete transaction with description ":description"', + 'delete_attachment' => 'Delete attachment ":name"', + 'delete_rule' => 'Delete rule ":title"', + 'delete_rule_group' => 'Delete rule group ":title"', + 'attachment_areYouSure' => 'Are you sure you want to delete the attachment named ":name"?', + 'account_areYouSure' => 'Are you sure you want to delete the account named ":name"?', + 'bill_areYouSure' => 'Are you sure you want to delete the bill named ":name"?', + 'rule_areYouSure' => 'Are you sure you want to delete the rule titled ":title"?', + 'ruleGroup_areYouSure' => 'Are you sure you want to delete the rule group titled ":title"?', + 'budget_areYouSure' => 'Are you sure you want to delete the budget named ":name"?', + 'category_areYouSure' => 'Are you sure you want to delete the category named ":name"?', + 'currency_areYouSure' => 'Are you sure you want to delete the currency named ":name"?', + 'piggyBank_areYouSure' => 'Are you sure you want to delete the piggy bank named ":name"?', + 'journal_areYouSure' => 'Are you sure you want to delete the transaction described ":description"?', + 'mass_journal_are_you_sure' => 'Are you sure you want to delete these transactions?', + 'tag_areYouSure' => 'Are you sure you want to delete the tag ":tag"?', + 'permDeleteWarning' => 'Deleting stuff from Firely is permanent and cannot be undone.', + 'mass_make_selection' => 'You can still prevent items from being deleted by removing the checkbox.', + 'delete_all_permanently' => 'Delete selected permanently', + 'update_all_journals' => 'Update these transactions', + 'also_delete_transactions' => 'The only transaction connected to this account will be deleted as well.|All :count transactions connected to this account will be deleted as well.', + 'also_delete_rules' => 'The only rule connected to this rule group will be deleted as well.|All :count rules connected to this rule group will be deleted as well.', + 'also_delete_piggyBanks' => 'The only piggy bank connected to this account will be deleted as well.|All :count piggy bank connected to this account will be deleted as well.', + 'bill_keep_transactions' => 'The only transaction connected to this bill will not be deleted.|All :count transactions connected to this bill will spared deletion.', + 'budget_keep_transactions' => 'The only transaction connected to this budget will not be deleted.|All :count transactions connected to this budget will spared deletion.', + 'category_keep_transactions' => 'The only transaction connected to this category will not be deleted.|All :count transactions connected to this category will spared deletion.', + 'tag_keep_transactions' => 'The only transaction connected to this tag will not be deleted.|All :count transactions connected to this tag will spared deletion.', + + 'email' => 'Email address', + 'password' => 'Password', + 'password_confirmation' => 'Password (again)', + 'blocked' => 'Is blocked?', + 'blocked_code' => 'Reason for block', + + + // admin + 'domain' => 'Domain', + 'single_user_mode' => 'Single user mode', + 'must_confirm_account' => 'New users must activate account', + 'is_demo_site' => 'Is demo site', + + + // import + 'import_file' => 'Import file', + 'configuration_file' => 'Configuration file', + 'import_file_type' => 'Import file type', + 'csv_comma' => 'A comma (,)', + 'csv_semicolon' => 'A semicolon (;)', + 'csv_tab' => 'A tab (invisible)', + 'csv_delimiter' => 'CSV field delimiter', + 'csv_import_account' => 'Default import account', + 'csv_config' => 'CSV import configuration', + + + 'due_date' => 'Due date', + 'payment_date' => 'Payment date', + 'invoice_date' => 'Invoice date', + 'internal_reference' => 'Internal reference', +]; \ No newline at end of file From 65f3dc0656e5202687f898e16c227f92532f3743 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:55 +0200 Subject: [PATCH 009/174] New translations breadcrumbs.php (Russian) --- resources/lang/ru_RU/breadcrumbs.php | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 resources/lang/ru_RU/breadcrumbs.php diff --git a/resources/lang/ru_RU/breadcrumbs.php b/resources/lang/ru_RU/breadcrumbs.php new file mode 100644 index 0000000000..646511cec4 --- /dev/null +++ b/resources/lang/ru_RU/breadcrumbs.php @@ -0,0 +1,41 @@ + 'Главная', + 'edit_currency' => 'Edit currency ":name"', + 'delete_currency' => 'Delete currency ":name"', + 'newPiggyBank' => 'Создать новую копилку', + 'edit_piggyBank' => 'Редактировать копилку ":name"', + 'preferences' => 'Параметры', + 'profile' => 'Профиль', + 'changePassword' => 'Сменить пароль', + 'bills' => 'Счета', + 'newBill' => 'Новый счет', + 'edit_bill' => 'Редактировать счет ":name"', + 'delete_bill' => 'Удалить счет ":name"', + 'reports' => 'Отчёты', + 'searchResult' => 'Поиск ":query"', + 'withdrawal_list' => 'Расходы', + 'deposit_list' => 'Доходы и депозиты', + 'transfer_list' => 'Переводы', + 'transfers_list' => 'Переводы', + 'create_withdrawal' => 'Создать новый вывод средств', + 'create_deposit' => 'Создать новый депозит', + 'create_transfer' => 'Создать новый перевод', + 'edit_journal' => 'Редактировать транзакцию ":description"', + 'delete_journal' => 'Удалить транзакцию ":description"', + 'tags' => 'Теги', + 'createTag' => 'Создать новый тег', + 'edit_tag' => 'Редактировать тег ":tag"', + 'delete_tag' => 'Удалить тег ":tag"', +]; \ No newline at end of file From 80ce7a64baf8ec7bd17110e41591e1cd50a30778 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:56 +0200 Subject: [PATCH 010/174] New translations config.php (Russian) --- resources/lang/ru_RU/config.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 resources/lang/ru_RU/config.php diff --git a/resources/lang/ru_RU/config.php b/resources/lang/ru_RU/config.php new file mode 100644 index 0000000000..4e7ce17f0f --- /dev/null +++ b/resources/lang/ru_RU/config.php @@ -0,0 +1,23 @@ + 'ru, Russian, ru_RU, ru_RU.utf8, ru_RU.UTF-8', + 'month' => '%B %Y', + 'month_and_day' => '%B %e, %Y', + 'date_time' => '%B %e, %Y, @ %T', + 'specific_day' => '%e %B %Y', + 'week_in_year' => 'Неделя %W, %Y', + 'quarter_of_year' => '%B %Y', + 'year' => '%Y', + 'half_year' => '%B %Y', + +]; \ No newline at end of file From 215f9a4245024b6a4565ab71c6bdf298f48e304e Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:00:58 +0200 Subject: [PATCH 011/174] New translations csv.php (Russian) --- resources/lang/ru_RU/csv.php | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 resources/lang/ru_RU/csv.php diff --git a/resources/lang/ru_RU/csv.php b/resources/lang/ru_RU/csv.php new file mode 100644 index 0000000000..f49c03bb8e --- /dev/null +++ b/resources/lang/ru_RU/csv.php @@ -0,0 +1,81 @@ + 'Import setup (1/3) - Basic CSV import setup', + 'initial_text' => 'To be able to import your file correctly, please validate the options below.', + 'initial_box' => 'Basic CSV import setup', + 'initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.', + 'initial_date_help' => 'Date time format in your CSV. Follow the format like this page indicates. The default value will parse dates that look like this: :dateExample.', + 'initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.', + 'initial_import_account_help' => 'If your CSV file does NOT contain information about your asset account(s), use this dropdown to select to which account the transactions in the CSV belong to.', + 'initial_submit' => 'Continue with step 2/3', + + // roles config + 'roles_title' => 'Import setup (2/3) - Define each column\'s role', + 'roles_text' => 'Each column in your CSV file contains certain data. Please indicate what kind of data the importer should expect. The option to "map" data means that you will link each entry found in the column to a value in your database. An often mapped column is the column that contains the IBAN of the opposing account. That can be easily matched to IBAN\'s present in your database already.', + 'roles_table' => 'Table', + 'roles_column_name' => 'Name of column', + 'roles_column_example' => 'Column example data', + 'roles_column_role' => 'Column data meaning', + 'roles_do_map_value' => 'Map these values', + 'roles_column' => 'Column', + 'roles_no_example_data' => 'No example data available', + 'roles_submit' => 'Continue with step 3/3', + + // map data + 'map_title' => 'Import setup (3/3) - Connect import data to Firefly III data', + 'map_text' => 'In the following tables, the left value shows you information found in your uploaded CSV file. It is your task to map this value, if possible, to a value already present in your database. Firefly will stick to this mapping. If there is no value to map to, or you do not wish to map the specific value, select nothing.', + 'map_field_value' => 'Field value', + 'map_field_mapped_to' => 'Mapped to', + 'map_do_not_map' => '(do not map)', + 'map_submit' => 'Start the import', + + // map things. + 'column__ignore' => '(ignore this column)', + 'column_account-iban' => 'Asset account (IBAN)', + 'column_account-id' => 'Asset account ID (matching Firefly)', + 'column_account-name' => 'Asset account (name)', + 'column_amount' => 'Amount', + 'column_amount-comma-separated' => 'Amount (comma as decimal separator)', + 'column_bill-id' => 'Bill ID (matching Firefly)', + 'column_bill-name' => 'Bill name', + 'column_budget-id' => 'Budget ID (matching Firefly)', + 'column_budget-name' => 'Budget name', + 'column_category-id' => 'Category ID (matching Firefly)', + 'column_category-name' => 'Category name', + 'column_currency-code' => 'Currency code (ISO 4217)', + 'column_currency-id' => 'Currency ID (matching Firefly)', + 'column_currency-name' => 'Currency name (matching Firefly)', + 'column_currency-symbol' => 'Currency symbol (matching Firefly)', + 'column_date-interest' => 'Interest calculation date', + 'column_date-book' => 'Transaction booking date', + 'column_date-process' => 'Transaction process date', + 'column_date-transaction' => 'Date', + 'column_description' => 'Description', + 'column_opposing-iban' => 'Opposing account (IBAN)', + 'column_opposing-id' => 'Opposing account ID (matching Firefly)', + 'column_external-id' => 'External ID', + 'column_opposing-name' => 'Opposing account (name)', + 'column_rabo-debet-credit' => 'Rabobank specific debet/credit indicator', + 'column_ing-debet-credit' => 'ING specific debet/credit indicator', + 'column_sepa-ct-id' => 'SEPA Credit Transfer end-to-end ID', + 'column_sepa-ct-op' => 'SEPA Credit Transfer opposing account', + 'column_sepa-db' => 'SEPA Direct Debet', + 'column_tags-comma' => 'Tags (comma separated)', + 'column_tags-space' => 'Tags (space separated)', + 'column_account-number' => 'Asset account (account number)', + 'column_opposing-number' => 'Opposing account (account number)', +]; \ No newline at end of file From b85329b371475242961a20529fc4ced6b545b9d2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:01:07 +0200 Subject: [PATCH 012/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 1067 ++++++++++++++++++++++++++++++ 1 file changed, 1067 insertions(+) create mode 100644 resources/lang/ru_RU/firefly.php diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php new file mode 100644 index 0000000000..2276213edc --- /dev/null +++ b/resources/lang/ru_RU/firefly.php @@ -0,0 +1,1067 @@ + 'incomplete translation', + 'close' => 'Close', + 'actions' => 'Actions', + 'edit' => 'Edit', + 'delete' => 'Delete', + 'welcomeBack' => 'What\'s playing?', + 'everything' => 'Everything', + 'customRange' => 'Custom range', + 'apply' => 'Apply', + 'select_date' => 'Select date..', + 'cancel' => 'Cancel', + 'from' => 'From', + 'to' => 'To', + 'showEverything' => 'Show everything', + 'never' => 'Never', + 'search_results_for' => 'Search results for ":query"', + 'advanced_search' => 'Advanced search', + 'advanced_search_intro' => 'There are several modifiers that you can use in your search to narrow down the results. If you use any of these, the search will only return transactions. Please click the -icon for more information.', + 'bounced_error' => 'The message sent to :email bounced, so no access for you.', + 'deleted_error' => 'These credentials do not match our records.', + 'general_blocked_error' => 'Your account has been disabled, so you cannot login.', + 'expired_error' => 'Your account has expired, and can no longer be used.', + 'removed_amount' => 'Removed :amount', + 'added_amount' => 'Added :amount', + 'asset_account_role_help' => 'Any extra options resulting from your choice can be set later.', + 'Opening balance' => 'Opening balance', + 'create_new_stuff' => 'Create new stuff', + 'new_withdrawal' => 'New withdrawal', + 'new_deposit' => 'New deposit', + 'new_transfer' => 'New transfer', + 'new_asset_account' => 'New asset account', + 'new_expense_account' => 'New expense account', + 'new_revenue_account' => 'New revenue account', + 'new_budget' => 'New budget', + 'new_bill' => 'New bill', + 'block_account_logout' => 'You have been logged out. Blocked accounts cannot use this site. Did you register with a valid email address?', + 'flash_success' => 'Success!', + 'flash_info' => 'Message', + 'flash_warning' => 'Warning!', + 'flash_error' => 'Error!', + 'flash_info_multiple' => 'There is one message|There are :count messages', + 'flash_error_multiple' => 'There is one error|There are :count errors', + 'net_worth' => 'Net worth', + 'route_has_no_help' => 'There is no help for this route.', + 'help_may_not_be_your_language' => 'This help text is in English. It is not yet available in your language', + 'two_factor_welcome' => 'Hello, :user!', + 'two_factor_enter_code' => 'To continue, please enter your two factor authentication code. Your application can generate it for you.', + 'two_factor_code_here' => 'Enter code here', + 'two_factor_title' => 'Two factor authentication', + 'authenticate' => 'Authenticate', + 'two_factor_forgot_title' => 'Lost two factor authentication', + 'two_factor_forgot' => 'I forgot my two-factor thing.', + 'two_factor_lost_header' => 'Lost your two factor authentication?', + 'two_factor_lost_intro' => 'Unfortunately, this is not something you can reset from the web interface. You have two choices.', + 'two_factor_lost_fix_self' => 'If you run your own instance of Firefly III, check the logs in storage/logs for instructions.', + 'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, :site_owner and ask them to reset your two factor authentication.', + 'warning_much_data' => ':days days of data may take a while to load.', + 'registered' => 'You have registered successfully!', + 'search' => 'Search', + 'search_found_accounts' => 'Found :count account(s) for your query.', + 'search_found_categories' => 'Found :count category(ies) for your query.', + 'search_found_budgets' => 'Found :count budget(s) for your query.', + 'search_found_tags' => 'Found :count tag(s) for your query.', + 'search_found_transactions' => 'Found :count transaction(s) for your query.', + 'results_limited' => 'The results are limited to :count entries.', + 'tagbalancingAct' => 'Balancing act', + 'tagadvancePayment' => 'Advance payment', + 'tagnothing' => '', + 'Default asset account' => 'Default asset account', + 'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the budgets-page. Budgets can help you keep track of expenses.', + 'Savings account' => 'Savings account', + 'Credit card' => 'Credit card', + 'source_accounts' => 'Source account(s)', + 'destination_accounts' => 'Destination account(s)', + 'user_id_is' => 'Your user id is :user', + 'field_supports_markdown' => 'This field supports Markdown.', + 'need_more_help' => 'If you need more help using Firefly III, please open a ticket on Github.', + 'nothing_to_display' => 'There are no transactions to show you', + 'show_all_no_filter' => 'Show all transactions without grouping them by date.', + 'expenses_by_category' => 'Expenses by category', + 'expenses_by_budget' => 'Expenses by budget', + 'income_by_category' => 'Income by category', + 'expenses_by_asset_account' => 'Expenses by asset account', + 'expenses_by_expense_account' => 'Expenses by expense account', + 'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.', + 'sum_of_expenses' => 'Sum of expenses', + 'sum_of_income' => 'Sum of income', + 'total_sum' => 'Total sum', + 'spent_in_specific_budget' => 'Spent in budget ":budget"', + 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', + 'left_in_budget_limit' => 'Left to spend according to budgeting', + 'cannot_change_demo' => 'You cannot change the password of the demonstration account.', + 'cannot_delete_demo' => 'You cannot remove the demonstration account.', + 'cannot_reset_demo_user' => 'You cannot reset the password of the demonstration account', + 'per_period' => 'Per period', + 'all_periods' => 'All periods', + 'current_period' => 'Current period', + 'show_the_current_period_and_overview' => 'Show the current period and overview', + 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', + 'budget_in_period' => 'All transactions for budget ":name" between :start and :end', + 'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end', + 'chart_account_in_period' => 'Chart for all transactions for account ":name" between :start and :end', + 'chart_category_in_period' => 'Chart for all transactions for category ":name" between :start and :end', + 'chart_category_all' => 'Chart for all transactions for category ":name"', + 'budget_in_period_breadcrumb' => 'Between :start and :end', + 'clone_withdrawal' => 'Clone this withdrawal', + 'clone_deposit' => 'Clone this deposit', + 'clone_transfer' => 'Clone this transfer', + 'transaction_journal_other_options' => 'Other options', + 'multi_select_no_selection' => 'None selected', + 'multi_select_all_selected' => 'All selected', + 'multi_select_filter_placeholder' => 'Find..', + 'between_dates_breadcrumb' => 'Between :start and :end', + 'all_journals_without_budget' => 'All transactions without a budget', + 'journals_without_budget' => 'Transactions without a budget', + 'all_journals_without_category' => 'All transactions without a category', + 'journals_without_category' => 'Transactions without a category', + 'all_journals_for_account' => 'All transactions for account :name', + 'chart_all_journals_for_account' => 'Chart of all transactions for account :name', + 'journals_in_period_for_account' => 'All transactions for account :name between :start and :end', + 'transferred' => 'Transferred', + 'all_withdrawal' => 'All expenses', + 'all_transactions' => 'All transactions', + 'title_withdrawal_between' => 'All expenses between :start and :end', + 'all_deposit' => 'All revenue', + 'title_deposit_between' => 'All revenue between :start and :end', + 'all_transfers' => 'All transfers', + 'title_transfers_between' => 'All transfers between :start and :end', + 'all_transfer' => 'All transfers', + 'all_journals_for_tag' => 'All transactions for tag ":tag"', + 'title_transfer_between' => 'All transfers between :start and :end', + 'all_journals_for_category' => 'All transactions for category :name', + 'all_journals_for_budget' => 'All transactions for budget :name', + 'chart_all_journals_for_budget' => 'Chart of all transactions for budget :name', + 'journals_in_period_for_category' => 'All transactions for category :name between :start and :end', + 'journals_in_period_for_tag' => 'All transactions for tag :tag between :start and :end', + 'not_available_demo_user' => 'The feature you try to access is not available to demo users.', + 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', + 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', + 'transaction_data' => 'Transaction data', + + // repeat frequencies: + 'repeat_freq_yearly' => 'yearly', + 'repeat_freq_monthly' => 'monthly', + 'weekly' => 'weekly', + 'quarterly' => 'quarterly', + 'half-year' => 'every half year', + 'yearly' => 'yearly', + // account confirmation: + 'confirm_account_header' => 'Please confirm your account', + 'confirm_account_intro' => 'An email has been sent to the address you used during your registration. Please check it out for further instructions. If you did not get this message, you can have Firefly send it again.', + 'confirm_account_resend_email' => 'Send me the confirmation message I need to activate my account.', + 'account_is_confirmed' => 'Your account has been confirmed!', + 'invalid_activation_code' => 'It seems the code you are using is not valid, or has expired.', + 'confirm_account_is_resent_header' => 'The confirmation has been resent', + 'confirm_account_is_resent_text' => 'The confirmation message has been resent. If you still did not receive the confirmation message, please contact the site owner at :owner or check the log files to see what went wrong.', + 'confirm_account_is_resent_go_home' => 'Go to the index page of Firefly', + 'confirm_account_not_resent_header' => 'Something went wrong :(', + 'confirm_account_not_resent_intro' => 'The confirmation message has been not resent. If you still did not receive the confirmation message, please contact the site owner at :owner instead. Possibly, you have tried to resend the activation message too often. You can have Firefly III try to resend the confirmation message every hour.', + 'confirm_account_not_resent_go_home' => 'Go to the index page of Firefly', + + // export data: + 'import_and_export' => 'Import and export', + 'export_data' => 'Export data', + 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', + 'export_format' => 'Export format', + 'export_format_csv' => 'Comma separated values (CSV file)', + 'export_format_mt940' => 'MT940 compatible format', + 'export_included_accounts' => 'Export transactions from these accounts', + 'include_old_uploads_help' => 'Firefly III does not throw away the original CSV files you have imported in the past. You can include them in your export.', + 'do_export' => 'Export', + 'export_status_never_started' => 'The export has not started yet', + 'export_status_make_exporter' => 'Creating exporter thing...', + 'export_status_collecting_journals' => 'Collecting your transactions...', + 'export_status_collected_journals' => 'Collected your transactions!', + 'export_status_converting_to_export_format' => 'Converting your transactions...', + 'export_status_converted_to_export_format' => 'Converted your transactions!', + 'export_status_creating_journal_file' => 'Creating the export file...', + 'export_status_created_journal_file' => 'Created the export file!', + 'export_status_collecting_attachments' => 'Collecting all your attachments...', + 'export_status_collected_attachments' => 'Collected all your attachments!', + 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', + 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', + 'export_status_creating_config_file' => 'Creating a configuration file...', + 'export_status_created_config_file' => 'Created a configuration file!', + 'export_status_creating_zip_file' => 'Creating a zip file...', + 'export_status_created_zip_file' => 'Created a zip file!', + 'export_status_finished' => 'Export has succesfully finished! Yay!', + 'export_data_please_wait' => 'Please wait...', + 'attachment_explanation' => 'The file called \':attachment_name\' (#:attachment_id) was originally uploaded to :type \':description\' (#:journal_id) dated :date for the amount of :amount.', + + // rules + 'rules' => 'Rules', + 'rules_explanation' => 'Here you can manage rules. Rules are triggered when a transaction is created or updated. Then, if the transaction has certain properties (called "triggers") Firefly will execute the "actions". Combined, you can make Firefly respond in a certain way to new transactions.', + 'rule_name' => 'Name of rule', + 'rule_triggers' => 'Rule triggers when', + 'rule_actions' => 'Rule will', + 'new_rule' => 'New rule', + 'new_rule_group' => 'New rule group', + 'rule_priority_up' => 'Give rule more priority', + 'rule_priority_down' => 'Give rule less priority', + 'make_new_rule_group' => 'Make new rule group', + 'store_new_rule_group' => 'Store new rule group', + 'created_new_rule_group' => 'New rule group ":title" stored!', + 'updated_rule_group' => 'Successfully updated rule group ":title".', + 'edit_rule_group' => 'Edit rule group ":title"', + 'delete_rule_group' => 'Delete rule group ":title"', + 'deleted_rule_group' => 'Deleted rule group ":title"', + 'update_rule_group' => 'Update rule group', + 'no_rules_in_group' => 'There are no rules in this group', + 'move_rule_group_up' => 'Move rule group up', + 'move_rule_group_down' => 'Move rule group down', + 'save_rules_by_moving' => 'Save these rule(s) by moving them to another rule group:', + 'make_new_rule' => 'Make new rule in rule group ":title"', + 'rule_help_stop_processing' => 'When you check this box, later rules in this group will not be executed.', + 'rule_help_active' => 'Inactive rules will never fire.', + 'stored_new_rule' => 'Stored new rule with title ":title"', + 'deleted_rule' => 'Deleted rule with title ":title"', + 'store_new_rule' => 'Store new rule', + 'updated_rule' => 'Updated rule with title ":title"', + 'default_rule_group_name' => 'Default rules', + 'default_rule_group_description' => 'All your rules not in a particular group.', + 'default_rule_name' => 'Your first default rule', + 'default_rule_description' => 'This rule is an example. You can safely delete it.', + 'default_rule_trigger_description' => 'The Man Who Sold the World', + 'default_rule_trigger_from_account' => 'David Bowie', + 'default_rule_action_prepend' => 'Bought the world from ', + 'default_rule_action_set_category' => 'Large expenses', + 'trigger' => 'Trigger', + 'trigger_value' => 'Trigger on value', + 'stop_processing_other_triggers' => 'Stop processing other triggers', + 'add_rule_trigger' => 'Add new trigger', + 'action' => 'Action', + 'action_value' => 'Action value', + 'stop_executing_other_actions' => 'Stop executing other actions', + 'add_rule_action' => 'Add new action', + 'edit_rule' => 'Edit rule ":title"', + 'delete_rule' => 'Delete rule ":title"', + 'update_rule' => 'Update rule', + 'test_rule_triggers' => 'See matching transactions', + 'warning_transaction_subset' => 'For performance reasons this list is limited to :max_num_transactions and may only show a subset of matching transactions', + 'warning_no_matching_transactions' => 'No matching transactions found. Please note that for performance reasons, only the last :num_transactions transactions have been checked.', + 'warning_no_valid_triggers' => 'No valid triggers provided.', + 'execute_on_existing_transactions' => 'Execute for existing transactions', + 'rule_group_select_transactions' => 'Execute rule group ":title" on existing transactions', + 'execute_on_existing_transactions_intro' => 'When a rule or group has been changed or added, you can execute it for existing transactions', + 'execute_on_existing_transactions_short' => 'Existing transactions', + 'executed_group_on_existing_transactions' => 'Executed group ":title" for existing transactions', + 'execute_group_on_existing_transactions' => 'Execute group ":title" for existing transactions', + 'include_transactions_from_accounts' => 'Include transactions from these accounts', + 'execute' => 'Execute', + + // actions and triggers + 'rule_trigger_user_action' => 'User action is ":trigger_value"', + 'rule_trigger_from_account_starts' => 'Source account starts with ":trigger_value"', + 'rule_trigger_from_account_ends' => 'Source account ends with ":trigger_value"', + 'rule_trigger_from_account_is' => 'Source account is ":trigger_value"', + 'rule_trigger_from_account_contains' => 'Source account contains ":trigger_value"', + 'rule_trigger_to_account_starts' => 'Destination account starts with ":trigger_value"', + 'rule_trigger_to_account_ends' => 'Destination account ends with ":trigger_value"', + 'rule_trigger_to_account_is' => 'Destination account is ":trigger_value"', + 'rule_trigger_to_account_contains' => 'Destination account contains ":trigger_value"', + 'rule_trigger_transaction_type' => 'Transaction is of type ":trigger_value"', + 'rule_trigger_category_is' => 'Category is ":trigger_value"', + 'rule_trigger_amount_less' => 'Amount is less than :trigger_value', + 'rule_trigger_amount_exactly' => 'Amount is :trigger_value', + 'rule_trigger_amount_more' => 'Amount is more than :trigger_value', + 'rule_trigger_description_starts' => 'Description starts with ":trigger_value"', + 'rule_trigger_description_ends' => 'Description ends with ":trigger_value"', + 'rule_trigger_description_contains' => 'Description contains ":trigger_value"', + 'rule_trigger_description_is' => 'Description is ":trigger_value"', + 'rule_trigger_from_account_starts_choice' => 'Source account starts with..', + 'rule_trigger_from_account_ends_choice' => 'Source account ends with..', + 'rule_trigger_from_account_is_choice' => 'Source account is..', + 'rule_trigger_from_account_contains_choice' => 'Source account contains..', + 'rule_trigger_to_account_starts_choice' => 'Destination account starts with..', + 'rule_trigger_to_account_ends_choice' => 'Destination account ends with..', + 'rule_trigger_to_account_is_choice' => 'Destination account is..', + 'rule_trigger_to_account_contains_choice' => 'Destination account contains..', + 'rule_trigger_transaction_type_choice' => 'Transaction is of type..', + 'rule_trigger_amount_less_choice' => 'Amount is less than..', + 'rule_trigger_amount_exactly_choice' => 'Amount is..', + 'rule_trigger_amount_more_choice' => 'Amount is more than..', + 'rule_trigger_description_starts_choice' => 'Description starts with..', + 'rule_trigger_description_ends_choice' => 'Description ends with..', + 'rule_trigger_description_contains_choice' => 'Description contains..', + 'rule_trigger_description_is_choice' => 'Description is..', + 'rule_trigger_category_is_choice' => 'Category is..', + 'rule_trigger_budget_is_choice' => 'Budget is..', + 'rule_trigger_tag_is_choice' => '(A) tag is..', + 'rule_trigger_has_attachments_choice' => 'Has at least this many attachments', + 'rule_trigger_has_attachments' => 'Has at least :trigger_value attachment(s)', + 'rule_trigger_store_journal' => 'When a transaction is created', + 'rule_trigger_update_journal' => 'When a transaction is updated', + 'rule_action_set_category' => 'Set category to ":action_value"', + 'rule_action_clear_category' => 'Clear category', + 'rule_action_set_budget' => 'Set budget to ":action_value"', + 'rule_action_clear_budget' => 'Clear budget', + 'rule_action_add_tag' => 'Add tag ":action_value"', + 'rule_action_remove_tag' => 'Remove tag ":action_value"', + 'rule_action_remove_all_tags' => 'Remove all tags', + 'rule_action_set_description' => 'Set description to ":action_value"', + 'rule_action_append_description' => 'Append description with ":action_value"', + 'rule_action_prepend_description' => 'Prepend description with ":action_value"', + 'rule_action_set_category_choice' => 'Set category to..', + 'rule_action_clear_category_choice' => 'Clear any category', + 'rule_action_set_budget_choice' => 'Set budget to..', + 'rule_action_clear_budget_choice' => 'Clear any budget', + 'rule_action_add_tag_choice' => 'Add tag..', + 'rule_action_remove_tag_choice' => 'Remove tag..', + 'rule_action_remove_all_tags_choice' => 'Remove all tags', + 'rule_action_set_description_choice' => 'Set description to..', + 'rule_action_append_description_choice' => 'Append description with..', + 'rule_action_prepend_description_choice' => 'Prepend description with..', + 'rule_action_set_source_account_choice' => 'Set source account to...', + 'rule_action_set_source_account' => 'Set source account to :action_value', + 'rule_action_set_destination_account_choice' => 'Set destination account to...', + 'rule_action_set_destination_account' => 'Set destination account to :action_value', + + // tags + 'store_new_tag' => 'Store new tag', + 'update_tag' => 'Update tag', + 'no_location_set' => 'No location set.', + 'meta_data' => 'Meta data', + 'location' => 'Location', + + // preferences + 'pref_home_screen_accounts' => 'Home screen accounts', + 'pref_home_screen_accounts_help' => 'Which accounts should be displayed on the home page?', + 'pref_view_range' => 'View range', + 'pref_view_range_help' => 'Some charts are automatically grouped in periods. What period would you prefer?', + 'pref_1D' => 'One day', + 'pref_1W' => 'One week', + 'pref_1M' => 'One month', + 'pref_3M' => 'Three months (quarter)', + 'pref_6M' => 'Six months', + 'pref_1Y' => 'One year', + 'pref_languages' => 'Languages', + 'pref_languages_help' => 'Firefly III supports several languages. Which one do you prefer?', + 'pref_custom_fiscal_year' => 'Fiscal year settings', + 'pref_custom_fiscal_year_label' => 'Enabled', + 'pref_custom_fiscal_year_help' => 'In countries that use a financial year other than January 1 to December 31, you can switch this on and specify start / end days of the fiscal year', + 'pref_fiscal_year_start_label' => 'Fiscal year start date', + 'pref_two_factor_auth' => '2-step verification', + 'pref_two_factor_auth_help' => 'When you enable 2-step verification (also known as two-factor authentication), you add an extra layer of security to your account. You sign in with something you know (your password) and something you have (a verification code). Verification codes are generated by an application on your phone, such as Authy or Google Authenticator.', + 'pref_enable_two_factor_auth' => 'Enable 2-step verification', + 'pref_two_factor_auth_disabled' => '2-step verification code removed and disabled', + 'pref_two_factor_auth_remove_it' => 'Don\'t forget to remove the account from your authentication app!', + 'pref_two_factor_auth_code' => 'Verify code', + 'pref_two_factor_auth_code_help' => 'Scan the QR code with an application on your phone such as Authy or Google Authenticator and enter the generated code.', + 'pref_two_factor_auth_reset_code' => 'Reset verification code', + 'pref_two_factor_auth_remove_code' => 'Remove verification code', + 'pref_two_factor_auth_remove_will_disable' => '(this will also disable two-factor authentication)', + 'pref_save_settings' => 'Save settings', + 'saved_preferences' => 'Preferences saved!', + 'preferences_general' => 'General', + 'preferences_frontpage' => 'Home screen', + 'preferences_security' => 'Security', + 'preferences_layout' => 'Layout', + 'pref_home_show_deposits' => 'Show deposits on the home screen', + 'pref_home_show_deposits_info' => 'The home screen already shows your expense accounts. Should it also show your revenue accounts?', + 'pref_home_do_show_deposits' => 'Yes, show them', + 'successful_count' => 'of which :count successful', + 'transaction_page_size_title' => 'Page size', + 'transaction_page_size_help' => 'Any list of transactions shows at most this many transactions', + 'transaction_page_size_label' => 'Page size', + 'between_dates' => '(:start and :end)', + 'pref_optional_fields_transaction' => 'Optional fields for transactions', + 'pref_optional_fields_transaction_help' => 'By default not all fields are enabled when creating a new transaction (because of the clutter). Below, you can enable these fields if you think they could be useful for you. Of course, any field that is disabled, but already filled in, will be visible regardless of the setting.', + 'optional_tj_date_fields' => 'Date fields', + 'optional_tj_business_fields' => 'Business fields', + 'optional_tj_attachment_fields' => 'Attachment fields', + 'pref_optional_tj_interest_date' => 'Interest date', + 'pref_optional_tj_book_date' => 'Book date', + 'pref_optional_tj_process_date' => 'Processing date', + 'pref_optional_tj_due_date' => 'Due date', + 'pref_optional_tj_payment_date' => 'Payment date', + 'pref_optional_tj_invoice_date' => 'Invoice date', + 'pref_optional_tj_internal_reference' => 'Internal reference', + 'pref_optional_tj_notes' => 'Notes', + 'pref_optional_tj_attachments' => 'Attachments', + 'optional_field_meta_dates' => 'Dates', + 'optional_field_meta_business' => 'Business', + 'optional_field_attachments' => 'Attachments', + 'optional_field_meta_data' => 'Optional meta data', + + + // profile: + 'change_your_password' => 'Change your password', + 'delete_account' => 'Delete account', + 'current_password' => 'Current password', + 'new_password' => 'New password', + 'new_password_again' => 'New password (again)', + 'delete_your_account' => 'Delete your account', + 'delete_your_account_help' => 'Deleting your account will also delete any accounts, transactions, anything you might have saved into Firefly III. It\'ll be GONE.', + 'delete_your_account_password' => 'Enter your password to continue.', + 'password' => 'Password', + 'are_you_sure' => 'Are you sure? You cannot undo this.', + 'delete_account_button' => 'DELETE your account', + 'invalid_current_password' => 'Invalid current password!', + 'password_changed' => 'Password changed!', + 'should_change' => 'The idea is to change your password.', + 'invalid_password' => 'Invalid password!', + + + // attachments + 'nr_of_attachments' => 'One attachment|:count attachments', + 'attachments' => 'Attachments', + 'edit_attachment' => 'Edit attachment ":name"', + 'update_attachment' => 'Update attachment', + 'delete_attachment' => 'Delete attachment ":name"', + 'attachment_deleted' => 'Deleted attachment ":name"', + 'attachment_updated' => 'Updated attachment ":name"', + 'upload_max_file_size' => 'Maximum file size: :size', + + // tour: + 'prev' => 'Prev', + 'next' => 'Next', + 'end-tour' => 'End tour', + 'pause' => 'Pause', + + // transaction index + 'title_expenses' => 'Expenses', + 'title_withdrawal' => 'Expenses', + 'title_revenue' => 'Revenue / income', + 'title_deposit' => 'Revenue / income', + 'title_transfer' => 'Transfers', + 'title_transfers' => 'Transfers', + + // convert stuff: + 'convert_is_already_type_Withdrawal' => 'This transaction is already a withdrawal', + 'convert_is_already_type_Deposit' => 'This transaction is already a deposit', + 'convert_is_already_type_Transfer' => 'This transaction is already a transfer', + 'convert_to_Withdrawal' => 'Convert ":description" to a withdrawal', + 'convert_to_Deposit' => 'Convert ":description" to a deposit', + 'convert_to_Transfer' => 'Convert ":description" to a transfer', + 'convert_options_WithdrawalDeposit' => 'Convert a withdrawal into a deposit', + 'convert_options_WithdrawalTransfer' => 'Convert a withdrawal into a transfer', + 'convert_options_DepositTransfer' => 'Convert a deposit into a transfer', + 'convert_options_DepositWithdrawal' => 'Convert a deposit into a withdrawal', + 'convert_options_TransferWithdrawal' => 'Convert a transfer into a withdrawal', + 'convert_options_TransferDeposit' => 'Convert a transfer into a deposit', + 'transaction_journal_convert_options' => 'Convert this transaction', + 'convert_Withdrawal_to_deposit' => 'Convert this withdrawal to a deposit', + 'convert_Withdrawal_to_transfer' => 'Convert this withdrawal to a transfer', + 'convert_Deposit_to_withdrawal' => 'Convert this deposit to a withdrawal', + 'convert_Deposit_to_transfer' => 'Convert this deposit to a transfer', + 'convert_Transfer_to_deposit' => 'Convert this transfer to a deposit', + 'convert_Transfer_to_withdrawal' => 'Convert this transfer to a withdrawal', + 'convert_please_set_revenue_source' => 'Please pick the revenue account where the money will come from.', + 'convert_please_set_asset_destination' => 'Please pick the asset account where the money will go to.', + 'convert_please_set_expense_destination' => 'Please pick the expense account where the money will go to.', + 'convert_please_set_asset_source' => 'Please pick the asset account where the money will come from.', + 'convert_explanation_withdrawal_deposit' => 'If you convert this withdrawal into a deposit, :amount will be deposited into :sourceName instead of taken from it.', + 'convert_explanation_withdrawal_transfer' => 'If you convert this withdrawal into a transfer, :amount will be transferred from :sourceName to a new asset account, instead of being paid to :destinationName.', + 'convert_explanation_deposit_withdrawal' => 'If you convert this deposit into a withdrawal, :amount will be removed from :destinationName instead of added to it.', + 'convert_explanation_deposit_transfer' => 'If you convert this deposit into a transfer, :amount will be transferred from an asset account of your choice into :destinationName.', + 'convert_explanation_transfer_withdrawal' => 'If you convert this transfer into a withdrawal, :amount will go from :sourceName to a new destination as an expense, instead of to :destinationName as a transfer.', + 'convert_explanation_transfer_deposit' => 'If you convert this transfer into a deposit, :amount will be deposited into account :destinationName instead of being transferred there.', + 'converted_to_Withdrawal' => 'The transaction has been converted to a withdrawal', + 'converted_to_Deposit' => 'The transaction has been converted to a deposit', + 'converted_to_Transfer' => 'The transaction has been converted to a transfer', + + + // create new stuff: + 'create_new_withdrawal' => 'Create new withdrawal', + 'create_new_deposit' => 'Create new deposit', + 'create_new_transfer' => 'Create new transfer', + 'create_new_asset' => 'Create new asset account', + 'create_new_expense' => 'Create new expense account', + 'create_new_revenue' => 'Create new revenue account', + 'create_new_piggy_bank' => 'Create new piggy bank', + 'create_new_bill' => 'Create new bill', + + // currencies: + 'create_currency' => 'Create a new currency', + 'store_currency' => 'Store new currency', + 'update_currency' => 'Update currency', + 'new_default_currency' => ':name is now the default currency.', + 'cannot_delete_currency' => 'Cannot delete :name because it is still in use.', + 'deleted_currency' => 'Currency :name deleted', + 'created_currency' => 'Currency :name created', + 'updated_currency' => 'Currency :name updated', + 'ask_site_owner' => 'Please ask :owner to add, remove or edit currencies.', + 'currencies_intro' => 'Firefly III supports various currencies which you can set and enable here.', + 'make_default_currency' => 'make default', + 'default_currency' => 'default', + + // new user: + 'submit' => 'Submit', + 'getting_started' => 'Getting started', + 'to_get_started' => 'To get started with Firefly, please enter your current bank\'s name, and the balance of your checking account:', + 'savings_balance_text' => 'If you have a savings account, please enter the current balance of your savings account:', + 'cc_balance_text' => 'If you have a credit card, please enter your credit card\'s limit.', + 'stored_new_account_new_user' => 'Yay! Your new account has been stored.', + 'stored_new_accounts_new_user' => 'Yay! Your new accounts have been stored.', + + // forms: + 'mandatoryFields' => 'Mandatory fields', + 'optionalFields' => 'Optional fields', + 'options' => 'Options', + + // budgets: + 'create_new_budget' => 'Create a new budget', + 'store_new_budget' => 'Store new budget', + 'stored_new_budget' => 'Stored new budget ":name"', + 'available_between' => 'Available between :start and :end', + 'transactionsWithoutBudget' => 'Expenses without budget', + 'transactions_no_budget' => 'Expenses without budget between :start and :end', + 'spent_between' => 'Spent between :start and :end', + 'createBudget' => 'New budget', + 'inactiveBudgets' => 'Inactive budgets', + 'without_budget_between' => 'Transactions without a budget between :start and :end', + 'budget_in_month' => ':name in :month', + 'delete_budget' => 'Delete budget ":name"', + 'deleted_budget' => 'Deleted budget ":name"', + 'edit_budget' => 'Edit budget ":name"', + 'updated_budget' => 'Updated budget ":name"', + 'update_amount' => 'Update amount', + 'update_budget' => 'Update budget', + 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', + + // bills: + 'matching_on' => 'Matching on', + 'between_amounts' => 'between :low and :high.', + 'repeats' => 'Repeats', + 'connected_journals' => 'Connected transactions', + 'auto_match_on' => 'Automatically matched by Firefly', + 'auto_match_off' => 'Not automatically matched by Firefly', + 'next_expected_match' => 'Next expected match', + 'delete_bill' => 'Delete bill ":name"', + 'deleted_bill' => 'Deleted bill ":name"', + 'edit_bill' => 'Edit bill ":name"', + 'more' => 'More', + 'rescan_old' => 'Rescan old transactions', + 'update_bill' => 'Update bill', + 'updated_bill' => 'Updated bill ":name"', + 'store_new_bill' => 'Store new bill', + 'stored_new_bill' => 'Stored new bill ":name"', + 'cannot_scan_inactive_bill' => 'Inactive bills cannot be scanned.', + 'rescanned_bill' => 'Rescanned everything.', + 'average_bill_amount_year' => 'Average bill amount (:year)', + 'average_bill_amount_overall' => 'Average bill amount (overall)', + 'not_or_not_yet' => 'Not (yet)', + 'not_expected_period' => 'Not expected this period', + // accounts: + 'details_for_asset' => 'Details for asset account ":name"', + 'details_for_expense' => 'Details for expense account ":name"', + 'details_for_revenue' => 'Details for revenue account ":name"', + 'details_for_cash' => 'Details for cash account ":name"', + 'store_new_asset_account' => 'Store new asset account', + 'store_new_expense_account' => 'Store new expense account', + 'store_new_revenue_account' => 'Store new revenue account', + 'edit_asset_account' => 'Edit asset account ":name"', + 'edit_expense_account' => 'Edit expense account ":name"', + 'edit_revenue_account' => 'Edit revenue account ":name"', + 'delete_asset_account' => 'Delete asset account ":name"', + 'delete_expense_account' => 'Delete expense account ":name"', + 'delete_revenue_account' => 'Delete revenue account ":name"', + 'asset_deleted' => 'Successfully deleted asset account ":name"', + 'expense_deleted' => 'Successfully deleted expense account ":name"', + 'revenue_deleted' => 'Successfully deleted revenue account ":name"', + 'update_asset_account' => 'Update asset account', + 'update_expense_account' => 'Update expense account', + 'update_revenue_account' => 'Update revenue account', + 'make_new_asset_account' => 'Create a new asset account', + 'make_new_expense_account' => 'Create a new expense account', + 'make_new_revenue_account' => 'Create a new revenue account', + 'asset_accounts' => 'Asset accounts', + 'expense_accounts' => 'Expense accounts', + 'revenue_accounts' => 'Revenue accounts', + 'cash_accounts' => 'Cash accounts', + 'Cash account' => 'Cash account', + 'account_type' => 'Account type', + 'save_transactions_by_moving' => 'Save these transaction(s) by moving them to another account:', + 'stored_new_account' => 'New account ":name" stored!', + '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_data_for_chart' => 'There is not enough information (yet) to generate this chart.', + 'select_more_than_one_account' => 'Please select more than one account', + 'select_more_than_one_category' => 'Please select more than one category', + 'select_more_than_one_budget' => 'Please select more than one budget', + 'select_more_than_one_tag' => 'Please select more than one tag', + 'from_to' => 'From :start to :end', + 'from_to_breadcrumb' => 'from :start to :end', + 'account_default_currency' => 'If you select another currency, new transactions from this account will have this currency pre-selected.', + + // categories: + 'new_category' => 'New category', + 'create_new_category' => 'Create a new category', + 'without_category' => 'Without a category', + 'update_category' => 'Update category', + 'updated_category' => 'Updated category ":name"', + 'categories' => 'Categories', + 'edit_category' => 'Edit category ":name"', + 'no_category' => '(no category)', + 'category' => 'Category', + 'delete_category' => 'Delete category ":name"', + 'deleted_category' => 'Deleted category ":name"', + 'store_category' => 'Store new category', + 'stored_category' => 'Stored new category ":name"', + 'without_category_between' => 'Without category between :start and :end', + + // transactions: + 'update_withdrawal' => 'Update withdrawal', + 'update_deposit' => 'Update deposit', + 'update_transfer' => 'Update transfer', + 'updated_withdrawal' => 'Updated withdrawal ":description"', + 'updated_deposit' => 'Updated deposit ":description"', + 'updated_transfer' => 'Updated transfer ":description"', + 'delete_withdrawal' => 'Delete withdrawal ":description"', + 'delete_deposit' => 'Delete deposit ":description"', + 'delete_transfer' => 'Delete transfer ":description"', + 'deleted_withdrawal' => 'Successfully deleted withdrawal ":description"', + 'deleted_deposit' => 'Successfully deleted deposit ":description"', + 'deleted_transfer' => 'Successfully deleted transfer ":description"', + 'stored_journal' => 'Successfully created new transaction ":description"', + 'select_transactions' => 'Select transactions', + 'stop_selection' => 'Stop selecting transactions', + 'edit_selected' => 'Edit selected', + 'delete_selected' => 'Delete selected', + 'mass_delete_journals' => 'Delete a number of transactions', + 'mass_edit_journals' => 'Edit a number of transactions', + 'cannot_edit_other_fields' => 'You cannot mass-edit other fields than the ones here, because there is no room to show them. Please follow the link and edit them by one-by-one, if you need to edit these fields.', + 'perm-delete-many' => 'Deleting many items in one go can be very disruptive. Please be cautious.', + 'mass_deleted_transactions_success' => 'Deleted :amount transaction(s).', + 'mass_edited_transactions_success' => 'Updated :amount transaction(s)', + + + // new user: + 'welcome' => 'Welcome to Firefly!', + + // home page: + 'yourAccounts' => 'Your accounts', + 'budgetsAndSpending' => 'Budgets and spending', + 'savings' => 'Savings', + 'markAsSavingsToContinue' => 'Mark your asset accounts as "Savings account" to fill this panel', + 'createPiggyToContinue' => 'Create piggy banks to fill this panel.', + 'newWithdrawal' => 'New expense', + 'newDeposit' => 'New deposit', + 'newTransfer' => 'New transfer', + 'moneyIn' => 'Money in', + 'moneyOut' => 'Money out', + 'billsToPay' => 'Bills to pay', + 'billsPaid' => 'Bills paid', + 'divided' => 'divided', + 'toDivide' => 'left to divide', + + // menu and titles, should be recycled as often as possible: + 'currency' => 'Currency', + 'preferences' => 'Preferences', + 'logout' => 'Logout', + 'searchPlaceholder' => 'Search...', + 'dashboard' => 'Dashboard', + 'currencies' => 'Currencies', + 'accounts' => 'Accounts', + 'Asset account' => 'Asset account', + 'Default account' => 'Asset account', + 'Expense account' => 'Expense account', + 'Revenue account' => 'Revenue account', + 'Initial balance account' => 'Initial balance account', + 'budgets' => 'Budgets', + 'tags' => 'Tags', + 'reports' => 'Reports', + 'transactions' => 'Transactions', + 'expenses' => 'Expenses', + 'income' => 'Revenue / income', + 'transfers' => 'Transfers', + 'moneyManagement' => 'Money management', + 'piggyBanks' => 'Piggy banks', + 'bills' => 'Bills', + 'withdrawal' => 'Withdrawal', + 'deposit' => 'Deposit', + 'account' => 'Account', + 'transfer' => 'Transfer', + 'Withdrawal' => 'Withdrawal', + 'Deposit' => 'Deposit', + 'Transfer' => 'Transfer', + 'bill' => 'Bill', + 'yes' => 'Yes', + 'no' => 'No', + 'amount' => 'Amount', + 'overview' => 'Overview', + 'saveOnAccount' => 'Save on account', + 'unknown' => 'Unknown', + 'daily' => 'Daily', + 'monthly' => 'Monthly', + 'profile' => 'Profile', + 'errors' => 'Errors', + + // reports: + 'report_default' => 'Default financial report between :start and :end', + 'report_audit' => 'Transaction history overview between :start and :end', + 'report_category' => 'Category report between :start and :end', + 'report_budget' => 'Budget report between :start and :end', + 'report_tag' => 'Tag report between :start and :end', + 'quick_link_reports' => 'Quick links', + 'quick_link_default_report' => 'Default financial report', + 'quick_link_audit_report' => 'Transaction history overview', + 'report_this_month_quick' => 'Current month, all accounts', + 'report_this_year_quick' => 'Current year, all accounts', + 'report_this_fiscal_year_quick' => 'Current fiscal year, all accounts', + 'report_all_time_quick' => 'All-time, all accounts', + 'reports_can_bookmark' => 'Remember that reports can be bookmarked.', + 'incomeVsExpenses' => 'Income vs. expenses', + 'accountBalances' => 'Account balances', + 'balanceStartOfYear' => 'Balance at start of year', + 'balanceEndOfYear' => 'Balance at end of year', + 'balanceStartOfMonth' => 'Balance at start of month', + 'balanceEndOfMonth' => 'Balance at end of month', + 'balanceStart' => 'Balance at start of period', + 'balanceEnd' => 'Balance at end of period', + 'reportsOwnAccounts' => 'Reports for your own accounts', + 'reportsOwnAccountsAndShared' => 'Reports for your own accounts and shared accounts', + 'splitByAccount' => 'Split by account', + 'balancedByTransfersAndTags' => 'Balanced by transfers and tags', + 'coveredWithTags' => 'Covered with tags', + 'leftUnbalanced' => 'Left unbalanced', + 'expectedBalance' => 'Expected balance', + 'outsideOfBudgets' => 'Outside of budgets', + 'leftInBudget' => 'Left in budget', + 'sumOfSums' => 'Sum of sums', + 'noCategory' => '(no category)', + 'notCharged' => 'Not charged (yet)', + 'inactive' => 'Inactive', + 'active' => 'Active', + 'difference' => 'Difference', + 'in' => 'In', + 'out' => 'Out', + 'topX' => 'top :number', + 'show_full_list' => 'Show entire list', + 'show_only_top' => 'Show only top :number', + 'sum_of_year' => 'Sum of year', + 'sum_of_years' => 'Sum of years', + 'average_of_year' => 'Average of year', + 'average_of_years' => 'Average of years', + 'categories_earned_in_year' => 'Categories (by earnings)', + 'categories_spent_in_year' => 'Categories (by spendings)', + 'report_type' => 'Report type', + 'report_type_default' => 'Default financial report', + 'report_type_audit' => 'Transaction history overview (audit)', + 'report_type_category' => 'Category report', + 'report_type_budget' => 'Budget report', + 'report_type_tag' => 'Tag report', + 'report_type_meta-history' => 'Categories, budgets and bills overview', + 'more_info_help' => 'More information about these types of reports can be found in the help pages. Press the (?) icon in the top right corner.', + 'report_included_accounts' => 'Included accounts', + 'report_date_range' => 'Date range', + 'report_preset_ranges' => 'Pre-set ranges', + 'shared' => 'Shared', + 'fiscal_year' => 'Fiscal year', + 'income_entry' => 'Income from account ":name" between :start and :end', + 'expense_entry' => 'Expenses to account ":name" between :start and :end', + 'category_entry' => 'Expenses in category ":name" between :start and :end', + 'budget_spent_amount' => 'Expenses in budget ":budget" between :start and :end', + 'balance_amount' => 'Expenses in budget ":budget" paid from account ":account" between :start and :end', + 'no_audit_activity' => 'No activity was recorded on account :account_name between :start and :end.', + 'audit_end_balance' => 'Account balance of :account_name at the end of :end was: :balance', + 'reports_extra_options' => 'Extra options', + 'report_has_no_extra_options' => 'This report has no extra options', + 'reports_submit' => 'View report', + 'end_after_start_date' => 'End date of report must be after start date.', + 'select_category' => 'Select category(ies)', + 'select_budget' => 'Select budget(s).', + 'select_tag' => 'Select tag(s).', + 'income_per_category' => 'Income per category', + 'expense_per_category' => 'Expense per category', + 'expense_per_budget' => 'Expense per budget', + 'income_per_account' => 'Income per account', + 'expense_per_account' => 'Expense per account', + 'expense_per_tag' => 'Expense per tag', + 'income_per_tag' => 'Income per tag', + 'include_expense_not_in_budget' => 'Included expenses not in the selected budget(s)', + 'include_expense_not_in_account' => 'Included expenses not in the selected account(s)', + 'include_expense_not_in_category' => 'Included expenses not in the selected category(ies)', + 'include_income_not_in_category' => 'Included income not in the selected category(ies)', + 'include_income_not_in_account' => 'Included income not in the selected account(s)', + 'include_income_not_in_tags' => 'Included income not in the selected tag(s)', + 'include_expense_not_in_tags' => 'Included expenses not in the selected tag(s)', + 'everything_else' => 'Everything else', + 'income_and_expenses' => 'Income and expenses', + 'spent_average' => 'Spent (average)', + 'income_average' => 'Income (average)', + 'transaction_count' => 'Transaction count', + 'average_spending_per_account' => 'Average spending per account', + 'average_income_per_account' => 'Average income per account', + 'total' => 'Total', + 'description' => 'Description', + 'sum_of_period' => 'Sum of period', + 'average_in_period' => 'Average in period', + 'account_role_defaultAsset' => 'Default asset account', + 'account_role_sharedAsset' => 'Shared asset account', + 'account_role_savingAsset' => 'Savings account', + 'account_role_ccAsset' => 'Credit card', + + // charts: + 'chart' => 'Chart', + 'dayOfMonth' => 'Day of the month', + 'month' => 'Month', + 'budget' => 'Budget', + 'spent' => 'Spent', + 'spent_in_budget' => 'Spent in budget', + 'left_to_spend' => 'Left to spend', + 'earned' => 'Earned', + 'overspent' => 'Overspent', + 'left' => 'Left', + 'no_budget' => '(no budget)', + 'max-amount' => 'Maximum amount', + 'min-amount' => 'Minumum amount', + 'journal-amount' => 'Current bill entry', + 'name' => 'Name', + 'date' => 'Date', + 'paid' => 'Paid', + 'unpaid' => 'Unpaid', + 'day' => 'Day', + 'budgeted' => 'Budgeted', + 'period' => 'Period', + 'balance' => 'Balance', + 'summary' => 'Summary', + 'sum' => 'Sum', + 'average' => 'Average', + 'balanceFor' => 'Balance for :name', + + // piggy banks: + 'add_money_to_piggy' => 'Add money to piggy bank ":name"', + 'piggy_bank' => 'Piggy bank', + 'new_piggy_bank' => 'New piggy bank', + 'store_piggy_bank' => 'Store new piggy bank', + 'stored_piggy_bank' => 'Store new piggy bank ":name"', + 'account_status' => 'Account status', + 'left_for_piggy_banks' => 'Left for piggy banks', + 'sum_of_piggy_banks' => 'Sum of piggy banks', + 'saved_so_far' => 'Saved so far', + 'left_to_save' => 'Left to save', + 'suggested_amount' => 'Suggested monthly amount to save', + 'add_money_to_piggy_title' => 'Add money to piggy bank ":name"', + 'remove_money_from_piggy_title' => 'Remove money from piggy bank ":name"', + 'add' => 'Add', + + 'remove' => 'Remove', + 'max_amount_add' => 'The maximum amount you can add is', + 'max_amount_remove' => 'The maximum amount you can remove is', + 'update_piggy_button' => 'Update piggy bank', + 'update_piggy_title' => 'Update piggy bank ":name"', + 'updated_piggy_bank' => 'Updated piggy bank ":name"', + 'details' => 'Details', + 'events' => 'Events', + 'target_amount' => 'Target amount', + 'start_date' => 'Start date', + 'target_date' => 'Target date', + 'no_target_date' => 'No target date', + 'todo' => 'to do', + 'table' => 'Table', + 'piggy_bank_not_exists' => 'Piggy bank no longer exists.', + 'add_any_amount_to_piggy' => 'Add money to this piggy bank to reach your target of :amount.', + 'add_set_amount_to_piggy' => 'Add :amount to fill this piggy bank on :date', + 'delete_piggy_bank' => 'Delete piggy bank ":name"', + 'cannot_add_amount_piggy' => 'Could not add :amount to ":name".', + 'cannot_remove_from_piggy' => 'Could not remove :amount from ":name".', + 'deleted_piggy_bank' => 'Deleted piggy bank ":name"', + 'added_amount_to_piggy' => 'Added :amount to ":name"', + 'removed_amount_from_piggy' => 'Removed :amount from ":name"', + 'cannot_remove_amount_piggy' => 'Could not remove :amount from ":name".', + + // tags + 'regular_tag' => 'Just a regular tag.', + 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', + 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', + 'delete_tag' => 'Delete tag ":tag"', + 'deleted_tag' => 'Deleted tag ":tag"', + 'new_tag' => 'Make new tag', + 'edit_tag' => 'Edit tag ":tag"', + 'updated_tag' => 'Updated tag ":tag"', + 'created_tag' => 'Tag ":tag" has been created!', + 'no_year' => 'No year set', + 'no_month' => 'No month set', + 'tag_title_nothing' => 'Default tags', + 'tag_title_balancingAct' => 'Balancing act tags', + 'tag_title_advancePayment' => 'Advance payment tags', + 'tags_introduction' => 'Usually tags are singular words, designed to quickly band items together using things like expensive, bill or for-party. In Firefly III, tags can have more properties such as a date, description and location. This allows you to join transactions together in a more meaningful way. For example, you could make a tag called Christmas dinner with friends and add information about the restaurant. Such tags are "singular", you would only use them for a single occasion, perhaps with multiple transactions.', + 'tags_group' => 'Tags group transactions together, which makes it possible to store reimbursements (in case you front money for others) and other "balancing acts" where expenses are summed up (the payments on your new TV) or where expenses and deposits are cancelling each other out (buying something with saved money). It\'s all up to you. Using tags the old-fashioned way is of course always possible.', + 'tags_start' => 'Create a tag to get started or enter tags when creating new transactions.', + + 'transaction_journal_information' => 'Transaction information', + 'transaction_journal_meta' => 'Meta information', + 'total_amount' => 'Total amount', + 'number_of_decimals' => 'Number of decimals', + + // administration + 'administration' => 'Administration', + 'user_administration' => 'User administration', + 'list_all_users' => 'All users', + 'all_users' => 'All users', + 'instance_configuration' => 'Configuration', + 'firefly_instance_configuration' => 'Configuration options for Firefly III', + 'setting_single_user_mode' => 'Single user mode', + 'setting_single_user_mode_explain' => 'By default, Firefly III only accepts one (1) registration: you. This is a security measure, preventing others from using your instance unless you allow them to. Future registrations are blocked. When you uncheck this box, others can use your instance as wel, assuming they can reach it (when it is connected to the internet).', + 'store_configuration' => 'Store configuration', + 'single_user_administration' => 'User administration for :email', + 'edit_user' => 'Edit user :email', + 'hidden_fields_preferences' => 'Not all fields are visible right now. You must enable them in your settings.', + 'user_data_information' => 'User data', + 'user_information' => 'User information', + 'total_size' => 'total size', + 'budget_or_budgets' => 'budget(s)', + 'budgets_with_limits' => 'budget(s) with configured amount', + 'rule_or_rules' => 'rule(s)', + 'rulegroup_or_groups' => 'rule group(s)', + 'setting_must_confirm_account' => 'Account confirmation', + 'setting_must_confirm_account_explain' => 'When this setting is enabled, users must activate their account before it can be used.', + 'configuration_updated' => 'The configuration has been updated', + 'setting_is_demo_site' => 'Demo site', + 'setting_is_demo_site_explain' => 'If you check this box, this installation will behave as if it is the demo site, which can have weird side effects.', + 'setting_send_email_notifications' => 'Send email notifications', + 'setting_send_email_explain' => 'Firefly III can send you email notifications about certain events. They will be sent to :site_owner. This email address can be set in the .env file.', + 'block_code_bounced' => 'Email message(s) bounced', + 'block_code_expired' => 'Demo account expired', + 'no_block_code' => 'No reason for block or user not blocked', + + + // split a transaction: + 'transaction_meta_data' => 'Transaction meta-data', + 'transaction_dates' => 'Transaction dates', + 'splits' => 'Splits', + 'split_title_withdrawal' => 'Split your new withdrawal', + 'split_intro_one_withdrawal' => 'Firefly supports the "splitting" of a withdrawal.', + 'split_intro_two_withdrawal' => 'It means that the amount of money you\'ve spent is divided between several destination expense accounts, budgets or categories.', + 'split_intro_three_withdrawal' => 'For example: you could split your :total groceries so you pay :split_one from your "daily groceries" budget and :split_two from your "cigarettes" budget.', + 'split_table_intro_withdrawal' => 'Split your withdrawal in as many things as you want. By default the transaction will not split, there is just one entry. Add as many splits as you want to, below. Remember that you should not deviate from your total amount. If you do, Firefly will warn you but not correct you.', + 'store_splitted_withdrawal' => 'Store splitted withdrawal', + 'update_splitted_withdrawal' => 'Update splitted withdrawal', + 'split_title_deposit' => 'Split your new deposit', + 'split_intro_one_deposit' => 'Firefly supports the "splitting" of a deposit.', + 'split_intro_two_deposit' => 'It means that the amount of money you\'ve earned is divided between several source revenue accounts or categories.', + 'split_intro_three_deposit' => 'For example: you could split your :total salary so you get :split_one as your base salary and :split_two as a reimbursment for expenses made.', + 'split_table_intro_deposit' => 'Split your deposit in as many things as you want. By default the transaction will not split, there is just one entry. Add as many splits as you want to, below. Remember that you should not deviate from your total amount. If you do, Firefly will warn you but not correct you.', + 'store_splitted_deposit' => 'Store splitted deposit', + 'split_title_transfer' => 'Split your new transfer', + 'split_intro_one_transfer' => 'Firefly supports the "splitting" of a transfer.', + 'split_intro_two_transfer' => 'It means that the amount of money you\'re moving is divided between several categories or piggy banks.', + 'split_intro_three_transfer' => 'For example: you could split your :total move so you get :split_one in one piggy bank and :split_two in another.', + 'split_table_intro_transfer' => 'Split your transfer in as many things as you want. By default the transaction will not split, there is just one entry. Add as many splits as you want to, below. Remember that you should not deviate from your total amount. If you do, Firefly will warn you but not correct you.', + 'store_splitted_transfer' => 'Store splitted transfer', + 'add_another_split' => 'Add another split', + 'split-transactions' => 'Split transactions', + 'split-new-transaction' => 'Split a new transaction', + 'do_split' => 'Do a split', + 'split_this_withdrawal' => 'Split this withdrawal', + 'split_this_deposit' => 'Split this deposit', + 'split_this_transfer' => 'Split this transfer', + 'cannot_edit_multiple_source' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple source accounts.', + 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', + 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', + 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + + // import bread crumbs and titles: + 'import' => 'Import', + 'import_data' => 'Import data', + + // import index page: + 'import_index_title' => 'Import data into Firefly III', + 'import_index_sub_title' => 'Index', + 'import_index_intro' => 'Welcome to Firefly\'s import routine. These pages can help you import data from your bank into Firefly III. Please check out the help pages in the top right corner.', + 'import_index_file' => 'Select your file', + 'import_index_config' => 'If you have previously imported data into Firefly III, you may have a configuration file, which will pre-set configuration values for you. For some banks, other users have kindly provided their configuration file.', + 'import_index_type' => 'Select the type of file you will upload', + 'import_index_start' => 'Start importing', + + // supported file types: + 'import_file_type_csv' => 'CSV (comma separated values)', + + // import configuration routine: + 'import_config_sub_title' => 'Set up your import file', + 'import_config_bread_crumb' => 'Set up your import file', + + // import status page: + 'import_status_bread_crumb' => 'Import status', + 'import_status_sub_title' => 'Import status', + 'import_status_wait_title' => 'Please hold...', + 'import_status_wait_text' => 'This box will disappear in a moment.', + 'import_status_ready_title' => 'Import is ready to start', + 'import_status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.', + 'import_status_ready_config' => 'Download configuration', + 'import_status_ready_start' => 'Start the import', + 'import_status_ready_share' => 'Please consider downloading your configuration and sharing it at the import configuration center. This will allow other users of Firefly III to import their files more easily.', + 'import_status_running_title' => 'The import is running', + 'import_status_running_placeholder' => 'Please hold for an update...', + 'import_status_errors_title' => 'Errors during the import', + 'import_status_errors_single' => 'An error has occured during the import. It does not appear to be fatal.', + 'import_status_errors_multi' => 'Some errors occured during the import. These do not appear to be fatal.', + 'import_status_fatal_title' => 'A fatal error occurred', + 'import_status_fatal_text' => 'A fatal error occurred, which the import-routine cannot recover from. Please see the explanation in red below.', + 'import_status_fatal_more' => 'If the error is a time-out, the import will have stopped half-way. For some server configurations, it is merely the server that stopped while the import keeps running in the background. To verify this, check out the log files. If the problem persists, consider importing over the command line instead.', + 'import_status_finished_title' => 'Import routine finished', + 'import_status_finished_text' => 'The import routine has imported your file.', + 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_with_key' => 'Import with key \':key\'', + + // different states: + 'import_status_job_running' => 'The import is underway. Please be patient...', + + // sandstorm.io errors and messages: + 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', + + // empty lists? no objects? instructions: + 'no_transactions_in_period' => 'There are no transactions in this period.', + 'no_accounts_title_asset' => 'Let\'s create an asset account!', + 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', + 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', + 'no_accounts_create_asset' => 'Create an asset account', + 'no_accounts_title_expense' => 'Let\'s create an expense account!', + 'no_accounts_intro_expense' => 'You have no expense accounts yet. Expense accounts are the places where you spend money, such as shops and supermarkets.', + 'no_accounts_imperative_expense' => 'Expense accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', + 'no_accounts_create_expense' => 'Create an expense account', + 'no_accounts_title_revenue' => 'Let\'s create a revenue account!', + 'no_accounts_intro_revenue' => 'You have no revenue accounts yet. Revenue accounts are the places where you receive money from, such as your employer.', + 'no_accounts_imperative_revenue' => 'Revenue accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', + 'no_accounts_create_revenue' => 'Create a revenue account', + 'no_budgets_title_default' => 'Let\'s create a budget', + 'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organise your expenses into logical groups, which you can give a soft-cap to limit your expenses.', + 'no_budgets_imperative_default' => 'Budgets are the basic tools of financial management. Let\'s create one now:', + 'no_budgets_create_default' => 'Create a budget', + 'no_categories_title_default' => 'Let\'s create a category!', + 'no_categories_intro_default' => 'You have no categories yet. Categories are used to fine tune your transactions and label them with their designated category.', + 'no_categories_imperative_default' => 'Categories are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', + 'no_categories_create_default' => 'Create a category', + 'no_tags_title_default' => 'Let\'s create a tag!', + 'no_tags_intro_default' => 'You have no tags yet. Tags are used to fine tune your transactions and label them with specific keywords.', + 'no_tags_imperative_default' => 'Tags are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', + 'no_tags_create_default' => 'Create a tag', + 'no_transactions_title_withdrawal' => 'Let\'s create an expense!', + 'no_transactions_intro_withdrawal' => 'You have no expenses yet. You should create expenses to start managing your finances.', + 'no_transactions_imperative_withdrawal' => 'Have you spent some money? Then you should write it down:', + 'no_transactions_create_withdrawal' => 'Create an expense', + 'no_transactions_title_deposit' => 'Let\'s create some income!', + 'no_transactions_intro_deposit' => 'You have no recorded income yet. You should create income entries to start managing your finances.', + 'no_transactions_imperative_deposit' => 'Have you received some money? Then you should write it down:', + 'no_transactions_create_deposit' => 'Create a deposit', + 'no_transactions_title_transfers' => 'Let\'s create a transfer!', + 'no_transactions_intro_transfers' => 'You have no transfers yet. When you move money between asset accounts, it is recorded as a transfer.', + 'no_transactions_imperative_transfers' => 'Have you moved some money around? Then you should write it down:', + 'no_transactions_create_transfers' => 'Create a transfer', + 'no_piggies_title_default' => 'Let\'s create a piggy bank!', + 'no_piggies_intro_default' => 'You have no piggy banks yet. You can create piggy banks to divide your savings and keep track of what you\'re saving up for.', + 'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:', + 'no_piggies_create_default' => 'Create a new piggy bank', + 'no_bills_title_default' => 'Let\'s create a bill!', + 'no_bills_intro_default' => 'You have no bills yet. You can create bills to keep track of regular expenses, like your rent of insurance.', + 'no_bills_imperative_default' => 'Do you have such regular bills? Create a bill and keep track of your payments:', + 'no_bills_create_default' => 'Create a bill', + + +]; \ No newline at end of file From de64cef48de887ce214fa683b813181e545e0c97 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:01:08 +0200 Subject: [PATCH 013/174] New translations auth.php (Russian) --- resources/lang/ru_RU/auth.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 resources/lang/ru_RU/auth.php diff --git a/resources/lang/ru_RU/auth.php b/resources/lang/ru_RU/auth.php new file mode 100644 index 0000000000..bc725bca9b --- /dev/null +++ b/resources/lang/ru_RU/auth.php @@ -0,0 +1,28 @@ + 'Неправильный адрес электронной почты или пароль.', + 'throttle' => 'Слишком много попыток логина. Пожалуйста, попробуйте снова через :seconds секунд.', + +]; \ No newline at end of file From e4f197bbc9fb4a0d59ac89bccdb61cc84475efc4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:50:18 +0200 Subject: [PATCH 014/174] New translations breadcrumbs.php (Russian) --- resources/lang/ru_RU/breadcrumbs.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/lang/ru_RU/breadcrumbs.php b/resources/lang/ru_RU/breadcrumbs.php index 646511cec4..99fb8a2a56 100644 --- a/resources/lang/ru_RU/breadcrumbs.php +++ b/resources/lang/ru_RU/breadcrumbs.php @@ -13,16 +13,16 @@ return [ 'home' => 'Главная', 'edit_currency' => 'Edit currency ":name"', - 'delete_currency' => 'Delete currency ":name"', - 'newPiggyBank' => 'Создать новую копилку', - 'edit_piggyBank' => 'Редактировать копилку ":name"', - 'preferences' => 'Параметры', + 'delete_currency' => 'Удаление валюты ":name"', + 'newPiggyBank' => 'Создание новой копилки', + 'edit_piggyBank' => 'Редактирование копилки ":name"', + 'preferences' => 'Настройки', 'profile' => 'Профиль', - 'changePassword' => 'Сменить пароль', - 'bills' => 'Счета', - 'newBill' => 'Новый счет', - 'edit_bill' => 'Редактировать счет ":name"', - 'delete_bill' => 'Удалить счет ":name"', + 'changePassword' => 'Изменение вашего пароля', + 'bills' => 'Счета к оплате', + 'newBill' => 'Новый счёт к оплате', + 'edit_bill' => 'Редактирование счёта к оплате ":name"', + 'delete_bill' => 'Удаление счёта к оплате ":name"', 'reports' => 'Отчёты', 'searchResult' => 'Поиск ":query"', 'withdrawal_list' => 'Расходы', From 09715b83e4c5e18348414716dd1b9ad78c926b88 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 11:50:19 +0200 Subject: [PATCH 015/174] New translations auth.php (Russian) --- resources/lang/ru_RU/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/auth.php b/resources/lang/ru_RU/auth.php index bc725bca9b..d4cc103d81 100644 --- a/resources/lang/ru_RU/auth.php +++ b/resources/lang/ru_RU/auth.php @@ -23,6 +23,6 @@ return [ */ 'failed' => 'Неправильный адрес электронной почты или пароль.', - 'throttle' => 'Слишком много попыток логина. Пожалуйста, попробуйте снова через :seconds секунд.', + 'throttle' => 'Слишком много попыток входа. Пожалуйста, попробуйте снова через :seconds секунд.', ]; \ No newline at end of file From f24e3873637b60777d8e1bf42c35226f552f2d20 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 12:00:27 +0200 Subject: [PATCH 016/174] New translations breadcrumbs.php (Russian) --- resources/lang/ru_RU/breadcrumbs.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/resources/lang/ru_RU/breadcrumbs.php b/resources/lang/ru_RU/breadcrumbs.php index 99fb8a2a56..519923ba8e 100644 --- a/resources/lang/ru_RU/breadcrumbs.php +++ b/resources/lang/ru_RU/breadcrumbs.php @@ -12,7 +12,7 @@ return [ 'home' => 'Главная', - 'edit_currency' => 'Edit currency ":name"', + 'edit_currency' => 'Редактирование валюты ":name"', 'delete_currency' => 'Удаление валюты ":name"', 'newPiggyBank' => 'Создание новой копилки', 'edit_piggyBank' => 'Редактирование копилки ":name"', @@ -24,18 +24,18 @@ return [ 'edit_bill' => 'Редактирование счёта к оплате ":name"', 'delete_bill' => 'Удаление счёта к оплате ":name"', 'reports' => 'Отчёты', - 'searchResult' => 'Поиск ":query"', - 'withdrawal_list' => 'Расходы', - 'deposit_list' => 'Доходы и депозиты', + 'searchResult' => 'Поиск по ключу ":query"', + 'withdrawal_list' => 'Мои расходы', + 'deposit_list' => 'Мои доходы', 'transfer_list' => 'Переводы', 'transfers_list' => 'Переводы', - 'create_withdrawal' => 'Создать новый вывод средств', - 'create_deposit' => 'Создать новый депозит', + 'create_withdrawal' => 'Создать новый расход', + 'create_deposit' => 'Создать новый доход', 'create_transfer' => 'Создать новый перевод', - 'edit_journal' => 'Редактировать транзакцию ":description"', - 'delete_journal' => 'Удалить транзакцию ":description"', - 'tags' => 'Теги', - 'createTag' => 'Создать новый тег', - 'edit_tag' => 'Редактировать тег ":tag"', - 'delete_tag' => 'Удалить тег ":tag"', + 'edit_journal' => 'Редактирование транзакции ":description"', + 'delete_journal' => 'Удаление транзакции ":description"', + 'tags' => 'Метки', + 'createTag' => 'Создать новую метку', + 'edit_tag' => 'Редактирование метки ":tag"', + 'delete_tag' => 'Удаление метки ":tag"', ]; \ No newline at end of file From c2e0e00c47fd9dc124c7a06b0e1d96ff5eeba2b0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 12:10:26 +0200 Subject: [PATCH 017/174] New translations pagination.php (Russian) --- resources/lang/ru_RU/pagination.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lang/ru_RU/pagination.php b/resources/lang/ru_RU/pagination.php index 4eeab21dee..ed545dbf39 100644 --- a/resources/lang/ru_RU/pagination.php +++ b/resources/lang/ru_RU/pagination.php @@ -11,7 +11,7 @@ return [ - 'previous' => '« Previous', - 'next' => 'Next »', + 'previous' => '« Предыдущие', + 'next' => 'Следующие »', ]; \ No newline at end of file From d54c5f1f999a17aac5dfc9acdf1fb00955b8b875 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 12:10:27 +0200 Subject: [PATCH 018/174] New translations passwords.php (Russian) --- resources/lang/ru_RU/passwords.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/lang/ru_RU/passwords.php b/resources/lang/ru_RU/passwords.php index 2e11aa92dc..79f5b974a5 100644 --- a/resources/lang/ru_RU/passwords.php +++ b/resources/lang/ru_RU/passwords.php @@ -10,10 +10,10 @@ */ return [ - 'password' => 'Passwords must be at least six characters and match the confirmation.', - 'user' => 'We can\'t find a user with that e-mail address.', - 'token' => 'This password reset token is invalid.', - 'sent' => 'We have e-mailed your password reset link!', - 'reset' => 'Your password has been reset!', - 'blocked' => 'Nice try though.', + 'password' => 'Пароль должен содержать не менее 6 символов. Пароль и его подтверждение должны совпадать.', + 'user' => 'Мы не можем найти пользователя с таким e-mail.', + 'token' => 'Это неправильный ключ для сброса пароля.', + 'sent' => 'Мы отправили ссылку для сброса пароля на ваш e-mail!', + 'reset' => 'Ваш пароль был успешно сброшен!', + 'blocked' => 'Это была хорошая попытка.', ]; \ No newline at end of file From 102dac1eb89c18888e6df2ad6acd848dae7e55ab Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:10:14 +0200 Subject: [PATCH 019/174] New translations validation.php (Russian) --- resources/lang/ru_RU/validation.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/resources/lang/ru_RU/validation.php b/resources/lang/ru_RU/validation.php index addd0e6f39..a51b836d9c 100644 --- a/resources/lang/ru_RU/validation.php +++ b/resources/lang/ru_RU/validation.php @@ -10,17 +10,17 @@ */ return [ - 'iban' => 'This is not a valid IBAN.', - 'unique_account_number_for_user' => 'It looks like this account number is already in use.', - 'deleted_user' => 'Due to security constraints, you cannot register using this email address.', - 'rule_trigger_value' => 'This value is invalid for the selected trigger.', - 'rule_action_value' => 'This value is invalid for the selected action.', - 'invalid_domain' => 'Due to security constraints, you cannot register from this domain.', - 'file_already_attached' => 'Uploaded file ":name" is already attached to this object.', - 'file_attached' => 'Succesfully uploaded file ":name".', - 'file_invalid_mime' => 'File ":name" is of type ":mime" which is not accepted as a new upload.', - 'file_too_large' => 'File ":name" is too large.', - 'belongs_to_user' => 'The value of :attribute is unknown', + 'iban' => 'Это некорректный IBAN.', + 'unique_account_number_for_user' => 'Этот номер счёта уже используется.', + 'deleted_user' => 'По соображениям безопасности, вы не можете зарегистрироваться, используя этот адрес электронной почты.', + 'rule_trigger_value' => 'Это значение является недопустимым для выбранного триггера.', + 'rule_action_value' => 'Это значение является недопустимым для выбранного действия.', + 'invalid_domain' => 'По соображениям безопасности, вы не можете зарегистрироваться, используя почту на указанном домене.', + 'file_already_attached' => 'Загруженный файл ":name" уже прикреплён к этому объекту.', + 'file_attached' => 'Файл ":name". успешно загружен.', + 'file_invalid_mime' => 'Файл ":name" имеет тип ":mime". Загрузка файлов такого типа невозможна.', + 'file_too_large' => 'Файл ":name" слишком большой.', + 'belongs_to_user' => 'Значение :attribute неизвестно', 'accepted' => 'The :attribute must be accepted.', 'bic' => 'This is not a valid BIC.', 'more' => ':attribute must be larger than zero.', From ec69cc35909eef84d76a0693673174e57f7b0843 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:10:16 +0200 Subject: [PATCH 020/174] New translations list.php (Russian) --- resources/lang/ru_RU/list.php | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php index 90625d54e6..6b2c9e3b35 100644 --- a/resources/lang/ru_RU/list.php +++ b/resources/lang/ru_RU/list.php @@ -10,22 +10,22 @@ */ return [ - 'buttons' => 'Buttons', - 'icon' => 'Icon', + 'buttons' => 'Кнопки', + 'icon' => 'Значок', 'id' => 'ID', - 'create_date' => 'Created at', - 'update_date' => 'Updated at', - 'balance_before' => 'Balance before', - 'balance_after' => 'Balance after', - 'name' => 'Name', - 'role' => 'Role', - 'currentBalance' => 'Current balance', - 'active' => 'Is active?', - 'lastActivity' => 'Last activity', - 'balanceDiff' => 'Balance difference between :start and :end', + 'create_date' => 'Создан', + 'update_date' => 'Обновлён', + 'balance_before' => 'Баланс до', + 'balance_after' => 'Баланс после', + 'name' => 'Имя', + 'role' => 'Роль', + 'currentBalance' => 'Текущий баланс', + 'active' => 'Активен?', + 'lastActivity' => 'Последняя активность', + 'balanceDiff' => 'Разница баланса между :start и :end', 'matchedOn' => 'Matched on', 'matchesOn' => 'Matched on', - 'account_type' => 'Account type', + 'account_type' => 'Тип профиля', 'created_at' => 'Created at', 'new_balance' => 'New balance', 'account' => 'Account', @@ -37,10 +37,10 @@ return [ 'next_expected_match' => 'Next expected match', 'automatch' => 'Auto match?', 'repeat_freq' => 'Repeats', - 'description' => 'Description', - 'amount' => 'Amount', + 'description' => 'Описание', + 'amount' => 'Сумма', 'internal_reference' => 'Internal reference', - 'date' => 'Date', + 'date' => 'Дата', 'interest_date' => 'Interest date', 'book_date' => 'Book date', 'process_date' => 'Processing date', From f01f0071dd16f24f2c42626e9814deea5b177d01 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:20:17 +0200 Subject: [PATCH 021/174] New translations list.php (Russian) --- resources/lang/ru_RU/list.php | 54 +++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php index 6b2c9e3b35..6e39c0b336 100644 --- a/resources/lang/ru_RU/list.php +++ b/resources/lang/ru_RU/list.php @@ -48,42 +48,42 @@ return [ 'payment_date' => 'Payment date', 'invoice_date' => 'Invoice date', 'interal_reference' => 'Internal reference', - 'notes' => 'Notes', - 'from' => 'From', - 'piggy_bank' => 'Piggy bank', - 'to' => 'To', - 'budget' => 'Budget', - 'category' => 'Category', - 'bill' => 'Bill', - 'withdrawal' => 'Withdrawal', - 'deposit' => 'Deposit', - 'transfer' => 'Transfer', + 'notes' => 'Заметки', + 'from' => 'Откуда', + 'piggy_bank' => 'Копилка', + 'to' => 'Куда', + 'budget' => 'Бюджет', + 'category' => 'Категория', + 'bill' => 'Счет к оплате', + 'withdrawal' => 'Расход', + 'deposit' => 'Доход', + 'transfer' => 'Перевод', 'type' => 'Type', 'completed' => 'Completed', 'iban' => 'IBAN', 'paid_current_period' => 'Paid this period', - 'email' => 'Email', - 'registered_at' => 'Registered at', - 'is_activated' => 'Is activated', - 'is_blocked' => 'Is blocked', - 'is_admin' => 'Is admin', - 'has_two_factor' => 'Has 2FA', + 'email' => 'E-mail', + 'registered_at' => 'Дата регистрации', + 'is_activated' => 'Активен?', + 'is_blocked' => 'Заблокирован?', + 'is_admin' => 'Администратор?', + 'has_two_factor' => 'Защита (2FA)?', 'confirmed_from' => 'Confirmed from', 'registered_from' => 'Registered from', 'blocked_code' => 'Block code', - 'domain' => 'Domain', + 'domain' => 'Домен', 'registration_attempts' => 'Registration attempts', 'source_account' => 'Source account', 'destination_account' => 'Destination account', - 'accounts_count' => 'Number of accounts', - 'journals_count' => 'Number of transactions', - 'attachments_count' => 'Number of attachments', - 'bills_count' => 'Number of bills', - 'categories_count' => 'Number of categories', - 'export_jobs_count' => 'Number of export jobs', - 'import_jobs_count' => 'Number of import jobs', - 'budget_count' => 'Number of budgets', - 'rule_and_groups_count' => 'Number of rules and rule groups', - 'tags_count' => 'Number of tags', + 'accounts_count' => 'Всего счетов', + 'journals_count' => 'Всего транзакций', + 'attachments_count' => 'Всего вложений', + 'bills_count' => 'Всего счетов к оплате', + 'categories_count' => 'Всего категорий', + 'export_jobs_count' => 'Задачи по экспорту', + 'import_jobs_count' => 'Задачи по импорту', + 'budget_count' => 'Всего категорий бюджета', + 'rule_and_groups_count' => 'Всего правил и групп правил', + 'tags_count' => 'Всего меток', ]; \ No newline at end of file From eaa8321aa84e8f707ea0fd7892a2c4f572fe6f5c Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:20:19 +0200 Subject: [PATCH 022/174] New translations help.php (Russian) --- resources/lang/ru_RU/help.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/lang/ru_RU/help.php b/resources/lang/ru_RU/help.php index 61210ffe41..02f4730fff 100644 --- a/resources/lang/ru_RU/help.php +++ b/resources/lang/ru_RU/help.php @@ -12,11 +12,11 @@ return [ // tour! - 'main-content-title' => 'Welcome to Firefly III', - 'main-content-text' => 'Do yourself a favor and follow this short guide to make sure you know your way around.', - 'sidebar-toggle-title' => 'Sidebar to create stuff', + 'main-content-title' => 'Добро пожаловать в Firefly III', + 'main-content-text' => 'Пожалуйста, ознакомьтесь с этим кратким руководством, чтобы убедиться, что вы знаете, куда идти дальше.', + 'sidebar-toggle-title' => 'Основные операции доступны в боковой панели', 'sidebar-toggle-text' => 'Hidden under the plus icon are all the buttons to create new stuff. Accounts, transactions, everything!', - 'account-menu-title' => 'All your accounts', + 'account-menu-title' => 'Все ваши счета', 'account-menu-text' => 'Here you can find all the accounts you\'ve made.', 'budget-menu-title' => 'Budgets', 'budget-menu-text' => 'Use this page to organise your finances and limit spending.', From 1a43b62750d670aef3a664a0437528b7e8479595 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:30:11 +0200 Subject: [PATCH 023/174] New translations help.php (Russian) --- resources/lang/ru_RU/help.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/resources/lang/ru_RU/help.php b/resources/lang/ru_RU/help.php index 02f4730fff..021cfc1459 100644 --- a/resources/lang/ru_RU/help.php +++ b/resources/lang/ru_RU/help.php @@ -15,19 +15,19 @@ return [ 'main-content-title' => 'Добро пожаловать в Firefly III', 'main-content-text' => 'Пожалуйста, ознакомьтесь с этим кратким руководством, чтобы убедиться, что вы знаете, куда идти дальше.', 'sidebar-toggle-title' => 'Основные операции доступны в боковой панели', - 'sidebar-toggle-text' => 'Hidden under the plus icon are all the buttons to create new stuff. Accounts, transactions, everything!', + 'sidebar-toggle-text' => 'Под значком со знаком "+" скрываются кнопки для создания новых счётов, расходов, переводов и других операций!', 'account-menu-title' => 'Все ваши счета', - 'account-menu-text' => 'Here you can find all the accounts you\'ve made.', - 'budget-menu-title' => 'Budgets', - 'budget-menu-text' => 'Use this page to organise your finances and limit spending.', - 'report-menu-title' => 'Reports', - 'report-menu-text' => 'Check this out when you want a solid overview of your finances.', - 'transaction-menu-title' => 'Transactions', - 'transaction-menu-text' => 'All transactions you\'ve created can be found here.', - 'option-menu-title' => 'Options', - 'option-menu-text' => 'This is pretty self-explanatory.', - 'main-content-end-title' => 'The end!', - 'main-content-end-text' => 'Remember that every page has a small question mark at the right top. Click it to get help about the page you\'re on.', - 'index' => 'index', - 'home' => 'home', + 'account-menu-text' => 'Здесь вы найдёте все созданные вами счета.', + 'budget-menu-title' => 'Бюджет', + 'budget-menu-text' => 'Используйте эту страницу, чтобы упорядочить свои финансы и ограничить расходы.', + 'report-menu-title' => 'Отчёты', + 'report-menu-text' => 'Взгляните сюда, чтобы увидеть свои финансы с разных сторон.', + 'transaction-menu-title' => 'Транзакции', + 'transaction-menu-text' => 'Все ваши финансовые операции (транзакции) можно увидеть здесь.', + 'option-menu-title' => 'Настройки', + 'option-menu-text' => 'Все остальное не требует объяснений.', + 'main-content-end-title' => 'Конец!', + 'main-content-end-text' => 'Помните, что в правом верхнем углу любой страницы есть небольшой знак вопроса. Нажмите на него, чтобы получить справку о той странице, на которой вы находитесь.', + 'index' => 'оглавление', + 'home' => 'главная', ]; \ No newline at end of file From be188e7266e29ce15e2c376ab7a821449ddb88f3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:40:20 +0200 Subject: [PATCH 024/174] New translations form.php (Russian) --- resources/lang/ru_RU/form.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/lang/ru_RU/form.php b/resources/lang/ru_RU/form.php index 20be49e75a..c25d3120aa 100644 --- a/resources/lang/ru_RU/form.php +++ b/resources/lang/ru_RU/form.php @@ -171,15 +171,15 @@ return [ // import - 'import_file' => 'Import file', - 'configuration_file' => 'Configuration file', - 'import_file_type' => 'Import file type', - 'csv_comma' => 'A comma (,)', - 'csv_semicolon' => 'A semicolon (;)', - 'csv_tab' => 'A tab (invisible)', - 'csv_delimiter' => 'CSV field delimiter', - 'csv_import_account' => 'Default import account', - 'csv_config' => 'CSV import configuration', + 'import_file' => 'Файл импорта', + 'configuration_file' => 'Файл конфигурации', + 'import_file_type' => 'Тип файла для импорта', + 'csv_comma' => 'Запятая (,)', + 'csv_semicolon' => 'Точка с запятой (;)', + 'csv_tab' => 'Табулятор (невидимый)', + 'csv_delimiter' => 'Разделитель полей CSV', + 'csv_import_account' => 'Профиль для импорта по умолчанию', + 'csv_config' => 'Параметры импорта CSV', 'due_date' => 'Due date', From 8ee6c0789d6d6f6da9494a9f5e62decee2c5681d Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:40:21 +0200 Subject: [PATCH 025/174] New translations csv.php (Russian) --- resources/lang/ru_RU/csv.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/csv.php b/resources/lang/ru_RU/csv.php index f49c03bb8e..faee6f69fd 100644 --- a/resources/lang/ru_RU/csv.php +++ b/resources/lang/ru_RU/csv.php @@ -14,7 +14,7 @@ declare(strict_types=1); return [ // initial config - 'initial_title' => 'Import setup (1/3) - Basic CSV import setup', + 'initial_title' => 'Импорт данных (1/3) - Подготовка к импорту CSV', 'initial_text' => 'To be able to import your file correctly, please validate the options below.', 'initial_box' => 'Basic CSV import setup', 'initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.', From 204ab8f427baee4075b7bf71571d4914a1738be6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:50:13 +0200 Subject: [PATCH 026/174] New translations demo.php (Russian) --- resources/lang/ru_RU/demo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/demo.php b/resources/lang/ru_RU/demo.php index e7f8ea934d..41fdb645cf 100644 --- a/resources/lang/ru_RU/demo.php +++ b/resources/lang/ru_RU/demo.php @@ -10,7 +10,7 @@ return [ 'no_demo_text' => 'Sorry, there is no extra demo-explanation text for this page.', 'see_help_icon' => 'However, the -icon in the top right corner may tell you more.', - 'index' => 'Welcome to Firefly III! On this page you get a quick overview of your finances. For more information, check out Accounts → Asset Accounts and of course the Budgets and Reports pages. Or just take a look around and see where you end up.', + 'index' => 'Добро пожаловать в Firefly III! На этой странице вы видите вашу финансовую ситуацию в общих чертах. Более подробная информация доступна на страницах → Активные счета Бюджет и Отчёты. Или просто внимательно оглядитесь и изучите всё вокруг.', 'accounts-index' => 'Asset accounts are your personal bank accounts. Expense accounts are the accounts you spend money at, such as stores and friends. Revenue accounts are accounts you receive money from, such as your job, the government or other sources of income. On this page you can edit or remove them.', 'budgets-index' => 'This page shows you an overview of your budgets. The top bar shows the amount that is available to be budgeted. This can be customized for any period by clicking the amount on the right. The amount you\'ve actually spent is shown in the bar below. Below that are the expenses per budget and what you\'ve budgeted for them.', 'reports-index-start' => 'Firefly III supports four types of reports. Read about them by clicking on the -icon in the top right corner.', From 9229ff54dfe2ec7272d6e611e6d9d068a68beb04 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 13:50:15 +0200 Subject: [PATCH 027/174] New translations csv.php (Russian) --- resources/lang/ru_RU/csv.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/lang/ru_RU/csv.php b/resources/lang/ru_RU/csv.php index faee6f69fd..b02e2a226b 100644 --- a/resources/lang/ru_RU/csv.php +++ b/resources/lang/ru_RU/csv.php @@ -15,13 +15,13 @@ return [ // initial config 'initial_title' => 'Импорт данных (1/3) - Подготовка к импорту CSV', - 'initial_text' => 'To be able to import your file correctly, please validate the options below.', - 'initial_box' => 'Basic CSV import setup', - 'initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.', - 'initial_date_help' => 'Date time format in your CSV. Follow the format like this page indicates. The default value will parse dates that look like this: :dateExample.', - 'initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.', - 'initial_import_account_help' => 'If your CSV file does NOT contain information about your asset account(s), use this dropdown to select to which account the transactions in the CSV belong to.', - 'initial_submit' => 'Continue with step 2/3', + 'initial_text' => 'Чтобы импорт данных прошёл успешно, пожалуйста проверьте несколько параметров.', + 'initial_box' => 'Основные параметры импорта CSV', + 'initial_header_help' => 'Установите этот флажок, если первая строка CSV-файла содержит заголовки столбцов.', + 'initial_date_help' => 'Формат даты и времени в вашем CSV-файле. Придерживайтесь формата, описанного на этой странице. По умолчанию дату будут анализироваться на соответствие такому формату: :dateExample.', + 'initial_delimiter_help' => 'Выберите разделитель полей, который используется в вашем файле. Если вы не уверены, помните, что запятая - это самый безопасный вариант.', + 'initial_import_account_help' => 'Если ваш CSV-файл НЕ СОДЕРЖИТ информацию о ваших счётах, укажите счета для всех транзакций, выбрав подходящие из выпадающего списка.', + 'initial_submit' => 'Перейти к шагу 2/3', // roles config 'roles_title' => 'Import setup (2/3) - Define each column\'s role', From 3f7b7996c0c12c329255f0b30f03797b71805496 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 14:00:16 +0200 Subject: [PATCH 028/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 72 ++++++++++++++++---------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 2276213edc..156cb14a99 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -11,21 +11,21 @@ return [ // general stuff: - 'language_incomplete' => 'incomplete translation', - 'close' => 'Close', - 'actions' => 'Actions', - 'edit' => 'Edit', - 'delete' => 'Delete', - 'welcomeBack' => 'What\'s playing?', + 'language_incomplete' => 'незавершённый перевод', + 'close' => 'Закрыть', + 'actions' => 'Действия', + 'edit' => 'Изменить', + 'delete' => 'Удалить', + 'welcomeBack' => 'Что происходит с моими финансами?', 'everything' => 'Everything', 'customRange' => 'Custom range', - 'apply' => 'Apply', - 'select_date' => 'Select date..', - 'cancel' => 'Cancel', + 'apply' => 'Применить', + 'select_date' => 'Выбрать дату...', + 'cancel' => 'Отмена', 'from' => 'From', 'to' => 'To', - 'showEverything' => 'Show everything', - 'never' => 'Never', + 'showEverything' => 'Показать всё', + 'never' => 'Никогда', 'search_results_for' => 'Search results for ":query"', 'advanced_search' => 'Advanced search', 'advanced_search_intro' => 'There are several modifiers that you can use in your search to narrow down the results. If you use any of these, the search will only return transactions. Please click the -icon for more information.', @@ -47,10 +47,10 @@ return [ 'new_budget' => 'New budget', 'new_bill' => 'New bill', 'block_account_logout' => 'You have been logged out. Blocked accounts cannot use this site. Did you register with a valid email address?', - 'flash_success' => 'Success!', - 'flash_info' => 'Message', - 'flash_warning' => 'Warning!', - 'flash_error' => 'Error!', + 'flash_success' => 'Успешно!', + 'flash_info' => 'Сообщение', + 'flash_warning' => 'Предупреждение!', + 'flash_error' => 'Ошибка!', 'flash_info_multiple' => 'There is one message|There are :count messages', 'flash_error_multiple' => 'There is one error|There are :count errors', 'net_worth' => 'Net worth', @@ -79,17 +79,17 @@ return [ 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', - 'Default asset account' => 'Default asset account', + 'Default asset account' => 'Счёт по умолчанию', 'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the budgets-page. Budgets can help you keep track of expenses.', 'Savings account' => 'Savings account', 'Credit card' => 'Credit card', 'source_accounts' => 'Source account(s)', 'destination_accounts' => 'Destination account(s)', - 'user_id_is' => 'Your user id is :user', + 'user_id_is' => 'Ваш id пользователя :user', 'field_supports_markdown' => 'This field supports Markdown.', 'need_more_help' => 'If you need more help using Firefly III, please open a ticket on Github.', 'nothing_to_display' => 'There are no transactions to show you', - 'show_all_no_filter' => 'Show all transactions without grouping them by date.', + 'show_all_no_filter' => 'Показать все транзакции без группировки по датам.', 'expenses_by_category' => 'Expenses by category', 'expenses_by_budget' => 'Expenses by budget', 'income_by_category' => 'Income by category', @@ -109,13 +109,13 @@ return [ 'all_periods' => 'All periods', 'current_period' => 'Current period', 'show_the_current_period_and_overview' => 'Show the current period and overview', - 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', + 'pref_languages_locale' => 'Для корректной работы с языками, отличными от английского, ваша операционная система должна отдавать корректную информацию о локали. Если это не так, валюты, даты и суммы могут отображаться некорректно.', 'budget_in_period' => 'All transactions for budget ":name" between :start and :end', 'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end', 'chart_account_in_period' => 'Chart for all transactions for account ":name" between :start and :end', 'chart_category_in_period' => 'Chart for all transactions for category ":name" between :start and :end', 'chart_category_all' => 'Chart for all transactions for category ":name"', - 'budget_in_period_breadcrumb' => 'Between :start and :end', + 'budget_in_period_breadcrumb' => 'Между :start и :end', 'clone_withdrawal' => 'Clone this withdrawal', 'clone_deposit' => 'Clone this deposit', 'clone_transfer' => 'Clone this transfer', @@ -123,7 +123,7 @@ return [ 'multi_select_no_selection' => 'None selected', 'multi_select_all_selected' => 'All selected', 'multi_select_filter_placeholder' => 'Find..', - 'between_dates_breadcrumb' => 'Between :start and :end', + 'between_dates_breadcrumb' => 'Между :start и :end', 'all_journals_without_budget' => 'All transactions without a budget', 'journals_without_budget' => 'Transactions without a budget', 'all_journals_without_category' => 'All transactions without a category', @@ -135,11 +135,11 @@ return [ 'all_withdrawal' => 'All expenses', 'all_transactions' => 'All transactions', 'title_withdrawal_between' => 'All expenses between :start and :end', - 'all_deposit' => 'All revenue', - 'title_deposit_between' => 'All revenue between :start and :end', - 'all_transfers' => 'All transfers', - 'title_transfers_between' => 'All transfers between :start and :end', - 'all_transfer' => 'All transfers', + 'all_deposit' => 'Все доходы', + 'title_deposit_between' => 'Все доходы между :start и :end', + 'all_transfers' => 'Все переводы', + 'title_transfers_between' => 'Все переводы между :start и :end', + 'all_transfer' => 'Все переводы', 'all_journals_for_tag' => 'All transactions for tag ":tag"', 'title_transfer_between' => 'All transfers between :start and :end', 'all_journals_for_category' => 'All transactions for category :name', @@ -153,12 +153,12 @@ return [ 'transaction_data' => 'Transaction data', // repeat frequencies: - 'repeat_freq_yearly' => 'yearly', - 'repeat_freq_monthly' => 'monthly', - 'weekly' => 'weekly', - 'quarterly' => 'quarterly', - 'half-year' => 'every half year', - 'yearly' => 'yearly', + 'repeat_freq_yearly' => 'ежегодно', + 'repeat_freq_monthly' => 'ежемесячно', + 'weekly' => 'еженедельно', + 'quarterly' => 'раз в квартал', + 'half-year' => 'раз в полгода', + 'yearly' => 'ежегодно', // account confirmation: 'confirm_account_header' => 'Please confirm your account', 'confirm_account_intro' => 'An email has been sent to the address you used during your registration. Please check it out for further instructions. If you did not get this message, you can have Firefly send it again.', @@ -173,10 +173,10 @@ return [ 'confirm_account_not_resent_go_home' => 'Go to the index page of Firefly', // export data: - 'import_and_export' => 'Import and export', - 'export_data' => 'Export data', + 'import_and_export' => 'Импорт и экспорт', + 'export_data' => 'Экспорт данных', 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', - 'export_format' => 'Export format', + 'export_format' => 'Формат для экспорта', 'export_format_csv' => 'Comma separated values (CSV file)', 'export_format_mt940' => 'MT940 compatible format', 'export_included_accounts' => 'Export transactions from these accounts', @@ -802,7 +802,7 @@ return [ 'description' => 'Description', 'sum_of_period' => 'Sum of period', 'average_in_period' => 'Average in period', - 'account_role_defaultAsset' => 'Default asset account', + 'account_role_defaultAsset' => 'Счёт по умолчанию', 'account_role_sharedAsset' => 'Shared asset account', 'account_role_savingAsset' => 'Savings account', 'account_role_ccAsset' => 'Credit card', From e3d22539584b4c236d8da6631ac9acd80b978dfd Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 14:10:18 +0200 Subject: [PATCH 029/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 100 +++++++++++++++---------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 156cb14a99..b0b843e597 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -338,22 +338,22 @@ return [ 'location' => 'Location', // preferences - 'pref_home_screen_accounts' => 'Home screen accounts', - 'pref_home_screen_accounts_help' => 'Which accounts should be displayed on the home page?', + 'pref_home_screen_accounts' => 'Счета, отображаемые в сводке', + 'pref_home_screen_accounts_help' => 'Какие счета нужно отображать в сводке на главной странице?', 'pref_view_range' => 'View range', - 'pref_view_range_help' => 'Some charts are automatically grouped in periods. What period would you prefer?', - 'pref_1D' => 'One day', - 'pref_1W' => 'One week', - 'pref_1M' => 'One month', - 'pref_3M' => 'Three months (quarter)', - 'pref_6M' => 'Six months', - 'pref_1Y' => 'One year', - 'pref_languages' => 'Languages', - 'pref_languages_help' => 'Firefly III supports several languages. Which one do you prefer?', - 'pref_custom_fiscal_year' => 'Fiscal year settings', - 'pref_custom_fiscal_year_label' => 'Enabled', - 'pref_custom_fiscal_year_help' => 'In countries that use a financial year other than January 1 to December 31, you can switch this on and specify start / end days of the fiscal year', - 'pref_fiscal_year_start_label' => 'Fiscal year start date', + 'pref_view_range_help' => 'Некоторые диаграммы автоматически группируются по периодам. Какой период вы предпочитаете?', + 'pref_1D' => 'Один день', + 'pref_1W' => 'Одна неделя', + 'pref_1M' => 'Один месяц', + 'pref_3M' => 'Три месяца (квартал)', + 'pref_6M' => 'Шесть месяцев', + 'pref_1Y' => 'Один год', + 'pref_languages' => 'Языки', + 'pref_languages_help' => 'Firefly III поддерживает несколько языков. Какой язык вы предпочитаете?', + 'pref_custom_fiscal_year' => 'Параметры финансового года', + 'pref_custom_fiscal_year_label' => 'Включить', + 'pref_custom_fiscal_year_help' => 'Для стран, в которых финансовый год начинается не 1 января, а заканчивается не 31 декабря, вы должны указать даты начала и окончания финансового года', + 'pref_fiscal_year_start_label' => 'Дата начала финансового года', 'pref_two_factor_auth' => '2-step verification', 'pref_two_factor_auth_help' => 'When you enable 2-step verification (also known as two-factor authentication), you add an extra layer of security to your account. You sign in with something you know (your password) and something you have (a verification code). Verification codes are generated by an application on your phone, such as Authy or Google Authenticator.', 'pref_enable_two_factor_auth' => 'Enable 2-step verification', @@ -364,12 +364,12 @@ return [ 'pref_two_factor_auth_reset_code' => 'Reset verification code', 'pref_two_factor_auth_remove_code' => 'Remove verification code', 'pref_two_factor_auth_remove_will_disable' => '(this will also disable two-factor authentication)', - 'pref_save_settings' => 'Save settings', - 'saved_preferences' => 'Preferences saved!', - 'preferences_general' => 'General', - 'preferences_frontpage' => 'Home screen', - 'preferences_security' => 'Security', - 'preferences_layout' => 'Layout', + 'pref_save_settings' => 'Сохранить настройки', + 'saved_preferences' => 'Настройки сохранены!', + 'preferences_general' => 'Основные', + 'preferences_frontpage' => 'Сводка', + 'preferences_security' => 'Безопасность', + 'preferences_layout' => 'Отображение', 'pref_home_show_deposits' => 'Show deposits on the home screen', 'pref_home_show_deposits_info' => 'The home screen already shows your expense accounts. Should it also show your revenue accounts?', 'pref_home_do_show_deposits' => 'Yes, show them', @@ -378,11 +378,11 @@ return [ 'transaction_page_size_help' => 'Any list of transactions shows at most this many transactions', 'transaction_page_size_label' => 'Page size', 'between_dates' => '(:start and :end)', - 'pref_optional_fields_transaction' => 'Optional fields for transactions', - 'pref_optional_fields_transaction_help' => 'By default not all fields are enabled when creating a new transaction (because of the clutter). Below, you can enable these fields if you think they could be useful for you. Of course, any field that is disabled, but already filled in, will be visible regardless of the setting.', - 'optional_tj_date_fields' => 'Date fields', - 'optional_tj_business_fields' => 'Business fields', - 'optional_tj_attachment_fields' => 'Attachment fields', + 'pref_optional_fields_transaction' => 'Дополнительные поля для транзакций', + 'pref_optional_fields_transaction_help' => 'По умолчанию при создании новой транзакции включены не все поля (чтобы не создавать беспорядок). Но вы можете включить эти поля, если лично вам они могут быть полезны. Любое поле, которое в последствии будет отключено, будет по-прежнему отображаться, если оно уже заполнено (независимо от данный настроек).', + 'optional_tj_date_fields' => 'Поля с датами', + 'optional_tj_business_fields' => 'Бизнес-поля', + 'optional_tj_attachment_fields' => 'Поля вложений', 'pref_optional_tj_interest_date' => 'Interest date', 'pref_optional_tj_book_date' => 'Book date', 'pref_optional_tj_process_date' => 'Processing date', @@ -390,30 +390,30 @@ return [ 'pref_optional_tj_payment_date' => 'Payment date', 'pref_optional_tj_invoice_date' => 'Invoice date', 'pref_optional_tj_internal_reference' => 'Internal reference', - 'pref_optional_tj_notes' => 'Notes', - 'pref_optional_tj_attachments' => 'Attachments', - 'optional_field_meta_dates' => 'Dates', - 'optional_field_meta_business' => 'Business', - 'optional_field_attachments' => 'Attachments', + 'pref_optional_tj_notes' => 'Заметки', + 'pref_optional_tj_attachments' => 'Вложения', + 'optional_field_meta_dates' => 'Даты', + 'optional_field_meta_business' => 'Бизнес', + 'optional_field_attachments' => 'Вложения', 'optional_field_meta_data' => 'Optional meta data', // profile: - 'change_your_password' => 'Change your password', - 'delete_account' => 'Delete account', - 'current_password' => 'Current password', - 'new_password' => 'New password', - 'new_password_again' => 'New password (again)', - 'delete_your_account' => 'Delete your account', - 'delete_your_account_help' => 'Deleting your account will also delete any accounts, transactions, anything you might have saved into Firefly III. It\'ll be GONE.', - 'delete_your_account_password' => 'Enter your password to continue.', - 'password' => 'Password', - 'are_you_sure' => 'Are you sure? You cannot undo this.', - 'delete_account_button' => 'DELETE your account', - 'invalid_current_password' => 'Invalid current password!', - 'password_changed' => 'Password changed!', - 'should_change' => 'The idea is to change your password.', - 'invalid_password' => 'Invalid password!', + 'change_your_password' => 'Изменить ваш пароль', + 'delete_account' => 'Удалить профиль', + 'current_password' => 'Текущий пароль', + 'new_password' => 'Новый пароль', + 'new_password_again' => 'Новый пароль (ещё раз)', + 'delete_your_account' => 'Удалить ваш профиль', + 'delete_your_account_help' => 'При удалении вашего профиля также будут удалены все счета, транзакции. Не будет сохранено ничего, что вы хранили в Firefly III. Всё будет УТЕРЯНО!', + 'delete_your_account_password' => 'Для продолжения введите свой пароль.', + 'password' => 'Пароль', + 'are_you_sure' => 'Вы уверены? Эту операцию нельзя будет отменить.', + 'delete_account_button' => 'УДАЛИТЬ ваш профиль', + 'invalid_current_password' => 'Неправильный пароль!', + 'password_changed' => 'Пароль изменён!', + 'should_change' => 'Кажется, нужно изменить пароль.', + 'invalid_password' => 'Неверный пароль!', // attachments @@ -476,10 +476,10 @@ return [ // create new stuff: - 'create_new_withdrawal' => 'Create new withdrawal', - 'create_new_deposit' => 'Create new deposit', - 'create_new_transfer' => 'Create new transfer', - 'create_new_asset' => 'Create new asset account', + 'create_new_withdrawal' => 'Создать новый расход', + 'create_new_deposit' => 'Создать новый доход', + 'create_new_transfer' => 'Создать новый перевод', + 'create_new_asset' => 'Создать новый активный счёт', 'create_new_expense' => 'Create new expense account', 'create_new_revenue' => 'Create new revenue account', 'create_new_piggy_bank' => 'Create new piggy bank', From faa8679804e77fd1e8280f6203c06d633dc9bf50 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 14:20:12 +0200 Subject: [PATCH 030/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 94 ++++++++++++++++---------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index b0b843e597..f107278fe5 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -482,26 +482,26 @@ return [ 'create_new_asset' => 'Создать новый активный счёт', 'create_new_expense' => 'Create new expense account', 'create_new_revenue' => 'Create new revenue account', - 'create_new_piggy_bank' => 'Create new piggy bank', + 'create_new_piggy_bank' => 'Создать новую копилку', 'create_new_bill' => 'Create new bill', // currencies: - 'create_currency' => 'Create a new currency', - 'store_currency' => 'Store new currency', - 'update_currency' => 'Update currency', - 'new_default_currency' => ':name is now the default currency.', - 'cannot_delete_currency' => 'Cannot delete :name because it is still in use.', - 'deleted_currency' => 'Currency :name deleted', - 'created_currency' => 'Currency :name created', - 'updated_currency' => 'Currency :name updated', - 'ask_site_owner' => 'Please ask :owner to add, remove or edit currencies.', - 'currencies_intro' => 'Firefly III supports various currencies which you can set and enable here.', - 'make_default_currency' => 'make default', - 'default_currency' => 'default', + 'create_currency' => 'Создать новую валюту', + 'store_currency' => 'Сохранить новую валюту', + 'update_currency' => 'Обновить валюту', + 'new_default_currency' => ':name теперь является вашей основной валютой.', + 'cannot_delete_currency' => 'Невозможно удалить валюту :name, поскольку она используется.', + 'deleted_currency' => 'Валюта :name удалена', + 'created_currency' => 'Валюта :name создана', + 'updated_currency' => 'Валюта :name обновлена', + 'ask_site_owner' => 'Пожалуйста, обратитесь к :owner для добавления, удаления или изменения валюты.', + 'currencies_intro' => 'Firefly III может работать с несколькими валютами. Вы можете управлять ими здесь.', + 'make_default_currency' => 'сделать основной', + 'default_currency' => 'основная', // new user: - 'submit' => 'Submit', - 'getting_started' => 'Getting started', + 'submit' => 'Подтвердить', + 'getting_started' => 'Начало работы', 'to_get_started' => 'To get started with Firefly, please enter your current bank\'s name, and the balance of your checking account:', 'savings_balance_text' => 'If you have a savings account, please enter the current balance of your savings account:', 'cc_balance_text' => 'If you have a credit card, please enter your credit card\'s limit.', @@ -511,7 +511,7 @@ return [ // forms: 'mandatoryFields' => 'Mandatory fields', 'optionalFields' => 'Optional fields', - 'options' => 'Options', + 'options' => 'Параметры', // budgets: 'create_new_budget' => 'Create a new budget', @@ -590,7 +590,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_data_for_chart' => 'There is not enough information (yet) to generate this chart.', + 'no_data_for_chart' => 'Недостаточно информации (пока) для построения этой диаграммы.', 'select_more_than_one_account' => 'Please select more than one account', 'select_more_than_one_category' => 'Please select more than one category', 'select_more_than_one_budget' => 'Please select more than one budget', @@ -600,19 +600,19 @@ return [ 'account_default_currency' => 'If you select another currency, new transactions from this account will have this currency pre-selected.', // categories: - 'new_category' => 'New category', - 'create_new_category' => 'Create a new category', - 'without_category' => 'Without a category', - 'update_category' => 'Update category', - 'updated_category' => 'Updated category ":name"', - 'categories' => 'Categories', - 'edit_category' => 'Edit category ":name"', - 'no_category' => '(no category)', - 'category' => 'Category', - 'delete_category' => 'Delete category ":name"', - 'deleted_category' => 'Deleted category ":name"', - 'store_category' => 'Store new category', - 'stored_category' => 'Stored new category ":name"', + 'new_category' => 'Новая категория', + 'create_new_category' => 'Создать новую категорию', + 'without_category' => 'Без категории', + 'update_category' => 'Обновить категорию', + 'updated_category' => 'Обновить категорию ":name"', + 'categories' => 'Категории', + 'edit_category' => 'Изменить категорию ":name"', + 'no_category' => '(без категории)', + 'category' => 'Категория', + 'delete_category' => 'Удалить категорию ":name"', + 'deleted_category' => 'Удалить категорию ":name"', + 'store_category' => 'Сохранить новую категорию', + 'stored_category' => 'Новая категория ":name" успешно сохранена!', 'without_category_between' => 'Without category between :start and :end', // transactions: @@ -629,8 +629,8 @@ return [ 'deleted_deposit' => 'Successfully deleted deposit ":description"', 'deleted_transfer' => 'Successfully deleted transfer ":description"', 'stored_journal' => 'Successfully created new transaction ":description"', - 'select_transactions' => 'Select transactions', - 'stop_selection' => 'Stop selecting transactions', + 'select_transactions' => 'Выбрать транзакции', + 'stop_selection' => 'Завершить выбор транзакций', 'edit_selected' => 'Edit selected', 'delete_selected' => 'Delete selected', 'mass_delete_journals' => 'Delete a number of transactions', @@ -642,30 +642,30 @@ return [ // new user: - 'welcome' => 'Welcome to Firefly!', + 'welcome' => 'Добро пожаловать в Firefly!', // home page: - 'yourAccounts' => 'Your accounts', - 'budgetsAndSpending' => 'Budgets and spending', + 'yourAccounts' => 'Ваши счета', + 'budgetsAndSpending' => 'Бюджеты и расходы', 'savings' => 'Savings', 'markAsSavingsToContinue' => 'Mark your asset accounts as "Savings account" to fill this panel', 'createPiggyToContinue' => 'Create piggy banks to fill this panel.', - 'newWithdrawal' => 'New expense', - 'newDeposit' => 'New deposit', - 'newTransfer' => 'New transfer', - 'moneyIn' => 'Money in', - 'moneyOut' => 'Money out', - 'billsToPay' => 'Bills to pay', - 'billsPaid' => 'Bills paid', + 'newWithdrawal' => 'Новый расход', + 'newDeposit' => 'Новый доход', + 'newTransfer' => 'Новый перевод', + 'moneyIn' => 'Доходы', + 'moneyOut' => 'Расходы', + 'billsToPay' => 'Счета к оплате', + 'billsPaid' => 'Оплаченные счета', 'divided' => 'divided', 'toDivide' => 'left to divide', // menu and titles, should be recycled as often as possible: - 'currency' => 'Currency', - 'preferences' => 'Preferences', - 'logout' => 'Logout', - 'searchPlaceholder' => 'Search...', - 'dashboard' => 'Dashboard', + 'currency' => 'Валюта', + 'preferences' => 'Настройки', + 'logout' => 'Выход', + 'searchPlaceholder' => 'Поиск...', + 'dashboard' => 'Сводка', 'currencies' => 'Currencies', 'accounts' => 'Accounts', 'Asset account' => 'Asset account', From 0ed159b5530bafec75c643ae08295b1b89e841d3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 14:30:23 +0200 Subject: [PATCH 031/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 96 ++++++++++++++++---------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index f107278fe5..2b50f8edc1 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -666,41 +666,41 @@ return [ 'logout' => 'Выход', 'searchPlaceholder' => 'Поиск...', 'dashboard' => 'Сводка', - 'currencies' => 'Currencies', - 'accounts' => 'Accounts', - 'Asset account' => 'Asset account', - 'Default account' => 'Asset account', - 'Expense account' => 'Expense account', - 'Revenue account' => 'Revenue account', - 'Initial balance account' => 'Initial balance account', - 'budgets' => 'Budgets', - 'tags' => 'Tags', - 'reports' => 'Reports', - 'transactions' => 'Transactions', - 'expenses' => 'Expenses', - 'income' => 'Revenue / income', - 'transfers' => 'Transfers', - 'moneyManagement' => 'Money management', - 'piggyBanks' => 'Piggy banks', - 'bills' => 'Bills', - 'withdrawal' => 'Withdrawal', - 'deposit' => 'Deposit', - 'account' => 'Account', - 'transfer' => 'Transfer', - 'Withdrawal' => 'Withdrawal', - 'Deposit' => 'Deposit', - 'Transfer' => 'Transfer', - 'bill' => 'Bill', - 'yes' => 'Yes', - 'no' => 'No', - 'amount' => 'Amount', - 'overview' => 'Overview', + 'currencies' => 'Валюты', + 'accounts' => 'Счета', + 'Asset account' => 'Активный счёт', + 'Default account' => 'Основной счёт', + 'Expense account' => 'Счета расходов', + 'Revenue account' => 'Счета доходов', + 'Initial balance account' => 'Начальный баланс для счёта', + 'budgets' => 'Бюджет', + 'tags' => 'Метки', + 'reports' => 'Отчёты', + 'transactions' => 'Переводы', + 'expenses' => 'Мои расходы', + 'income' => 'Мои доходы', + 'transfers' => 'Переводы', + 'moneyManagement' => 'Управление финансами', + 'piggyBanks' => 'Копилки', + 'bills' => 'Счета к оплате', + 'withdrawal' => 'Расход', + 'deposit' => 'Доход', + 'account' => 'Счёт', + 'transfer' => 'Перевод', + 'Withdrawal' => 'Расход', + 'Deposit' => 'Доход', + 'Transfer' => 'Перевод', + 'bill' => 'Счёт к оплате', + 'yes' => 'Да', + 'no' => 'Нет', + 'amount' => 'Сумма', + 'overview' => 'Обзор', 'saveOnAccount' => 'Save on account', 'unknown' => 'Unknown', 'daily' => 'Daily', 'monthly' => 'Monthly', - 'profile' => 'Profile', - 'errors' => 'Errors', + 'profile' => 'Профиль', + 'errors' => 'Ошибки', // reports: 'report_default' => 'Default financial report between :start and :end', @@ -798,8 +798,8 @@ return [ 'transaction_count' => 'Transaction count', 'average_spending_per_account' => 'Average spending per account', 'average_income_per_account' => 'Average income per account', - 'total' => 'Total', - 'description' => 'Description', + 'total' => 'Итого', + 'description' => 'Описание', 'sum_of_period' => 'Sum of period', 'average_in_period' => 'Average in period', 'account_role_defaultAsset' => 'Счёт по умолчанию', @@ -808,14 +808,14 @@ return [ 'account_role_ccAsset' => 'Credit card', // charts: - 'chart' => 'Chart', + 'chart' => 'Диаграмма', 'dayOfMonth' => 'Day of the month', 'month' => 'Month', 'budget' => 'Budget', 'spent' => 'Spent', 'spent_in_budget' => 'Spent in budget', 'left_to_spend' => 'Left to spend', - 'earned' => 'Earned', + 'earned' => 'Заработано', 'overspent' => 'Overspent', 'left' => 'Left', 'no_budget' => '(no budget)', @@ -901,12 +901,12 @@ return [ 'number_of_decimals' => 'Number of decimals', // administration - 'administration' => 'Administration', - 'user_administration' => 'User administration', - 'list_all_users' => 'All users', - 'all_users' => 'All users', - 'instance_configuration' => 'Configuration', - 'firefly_instance_configuration' => 'Configuration options for Firefly III', + 'administration' => 'Администрирование', + 'user_administration' => 'Управление пользователями', + 'list_all_users' => 'Список пользователей\'', + 'all_users' => 'Все пользователи', + 'instance_configuration' => 'Конфигурация', + 'firefly_instance_configuration' => 'Базовая конфигурация Firefly III', 'setting_single_user_mode' => 'Single user mode', 'setting_single_user_mode_explain' => 'By default, Firefly III only accepts one (1) registration: you. This is a security measure, preventing others from using your instance unless you allow them to. Future registrations are blocked. When you uncheck this box, others can use your instance as wel, assuming they can reach it (when it is connected to the internet).', 'store_configuration' => 'Store configuration', @@ -915,7 +915,7 @@ return [ 'hidden_fields_preferences' => 'Not all fields are visible right now. You must enable them in your settings.', 'user_data_information' => 'User data', 'user_information' => 'User information', - 'total_size' => 'total size', + 'total_size' => 'общий размер', 'budget_or_budgets' => 'budget(s)', 'budgets_with_limits' => 'budget(s) with configured amount', 'rule_or_rules' => 'rule(s)', @@ -968,11 +968,11 @@ return [ 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', // import bread crumbs and titles: - 'import' => 'Import', - 'import_data' => 'Import data', + 'import' => 'Импорт', + 'import_data' => 'Импорт данных', // import index page: - 'import_index_title' => 'Import data into Firefly III', + 'import_index_title' => 'Импорт данных в Firefly III', 'import_index_sub_title' => 'Index', 'import_index_intro' => 'Welcome to Firefly\'s import routine. These pages can help you import data from your bank into Firefly III. Please check out the help pages in the top right corner.', 'import_index_file' => 'Select your file', @@ -1021,9 +1021,9 @@ return [ 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', - 'no_accounts_create_asset' => 'Create an asset account', - 'no_accounts_title_expense' => 'Let\'s create an expense account!', - 'no_accounts_intro_expense' => 'You have no expense accounts yet. Expense accounts are the places where you spend money, such as shops and supermarkets.', + 'no_accounts_create_asset' => 'Создание расходного счёта', + 'no_accounts_title_expense' => 'Давайте создадим расходный счёт!', + 'no_accounts_intro_expense' => 'Пока у вас нет ни одного расходного счёта. Расходные счета используются для контроля за тем, где именно вы расходуете свои финансы. Например, в магазинах или на оплату коммунальных счетов.', 'no_accounts_imperative_expense' => 'Expense accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', 'no_accounts_create_expense' => 'Create an expense account', 'no_accounts_title_revenue' => 'Let\'s create a revenue account!', From 6797c1255f0fb8dc07c2ed713c185bcd4d9bbe35 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 13 Jul 2017 14:40:45 +0200 Subject: [PATCH 032/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 2b50f8edc1..f05a815017 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -1024,8 +1024,8 @@ return [ 'no_accounts_create_asset' => 'Создание расходного счёта', 'no_accounts_title_expense' => 'Давайте создадим расходный счёт!', 'no_accounts_intro_expense' => 'Пока у вас нет ни одного расходного счёта. Расходные счета используются для контроля за тем, где именно вы расходуете свои финансы. Например, в магазинах или на оплату коммунальных счетов.', - 'no_accounts_imperative_expense' => 'Expense accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_expense' => 'Create an expense account', + 'no_accounts_imperative_expense' => 'Расходные счета создаются автоматически, когда вы создаёте транзакции (расходы), но вы можете также создать их вручную, если хотите. Давайте создадим один прямо сейчас:', + 'no_accounts_create_expense' => 'Создать расходный счёт', 'no_accounts_title_revenue' => 'Let\'s create a revenue account!', 'no_accounts_intro_revenue' => 'You have no revenue accounts yet. Revenue accounts are the places where you receive money from, such as your employer.', 'no_accounts_imperative_revenue' => 'Revenue accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', From 970c73c22148b91081eba173471e3c7d00351403 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 06:41:10 +0200 Subject: [PATCH 033/174] Fix path --- app/Http/Controllers/TransactionController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 6d088942b4..ee51362b27 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -93,6 +93,7 @@ class TransactionController extends Controller if (strlen($moment) > 0 && $moment !== 'all') { $start = new Carbon($moment); $end = Navigation::endOfPeriod($start, $range); + $path = '/transactions/' . $what . '/' . $moment; $subTitle = trans( 'firefly.title_' . $what . '_between', ['start' => $start->formatLocalized($this->monthAndDayFormat), 'end' => $end->formatLocalized($this->monthAndDayFormat)] From 3c4abb7b60be6b8ec42200749c3581d544e16687 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 06:41:47 +0200 Subject: [PATCH 034/174] Fixed some issues in import, should improve results for #701 --- app/Import/Object/ImportAccount.php | 6 +- app/Import/Object/ImportJournal.php | 2 +- app/Import/Storage/ImportStorage.php | 88 ++++++++++++++++++++ app/Support/CacheProperties.php | 2 - app/Support/Import/Configuration/Csv/Map.php | 2 + app/Support/Steam.php | 16 ++++ 6 files changed, 111 insertions(+), 5 deletions(-) diff --git a/app/Import/Object/ImportAccount.php b/app/Import/Object/ImportAccount.php index 8ab5c77077..ca5dba85d5 100644 --- a/app/Import/Object/ImportAccount.php +++ b/app/Import/Object/ImportAccount.php @@ -264,8 +264,10 @@ class ImportAccount return new Account; } - - if ($account->accountType->type !== $this->expectedType) { + // must be of the same type + // except when mapped is an asset, then it's fair game. + // which only shows that user must map very carefully. + if ($account->accountType->type !== $this->expectedType && $account->accountType->type !== AccountType::ASSET) { Log::error( sprintf( 'Mapped account #%d is of type "%s" but we expect a "%s"-account. Mapping will be ignored.', $account->id, $account->accountType->type, diff --git a/app/Import/Object/ImportJournal.php b/app/Import/Object/ImportJournal.php index adebaea1f6..e5846f6b6f 100644 --- a/app/Import/Object/ImportJournal.php +++ b/app/Import/Object/ImportJournal.php @@ -226,7 +226,7 @@ class ImportJournal $this->date = $array['value']; break; case 'description': - $this->description = $array['value']; + $this->description .= $array['value']; break; case 'sepa-ct-op': case 'sepa-ct-id': diff --git a/app/Import/Storage/ImportStorage.php b/app/Import/Storage/ImportStorage.php index 8bdb6685fe..766538bbf9 100644 --- a/app/Import/Storage/ImportStorage.php +++ b/app/Import/Storage/ImportStorage.php @@ -29,6 +29,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Rules\Processor; +use Illuminate\Database\Query\JoinClause; use Illuminate\Support\Collection; use Log; use Steam; @@ -323,6 +324,15 @@ class ImportStorage /*** First step done! */ $this->job->addStepsDone(1); + // could be that transfer is double: verify this. + if ($this->verifyDoubleTransfer($transactionType, $importJournal)) { + // add three steps: + $this->job->addStepsDone(3); + // throw error + throw new FireflyException('Detected a possible duplicate, skip this one.'); + + } + // create a journal: $journal = new TransactionJournal; $journal->user_id = $this->job->user_id; @@ -336,7 +346,9 @@ class ImportStorage if (!$journal->save()) { $errorText = join(', ', $journal->getErrors()->all()); + // add three steps: $this->job->addStepsDone(3); + // throw error throw new FireflyException($errorText); } @@ -402,4 +414,80 @@ class ImportStorage } } + /** + * This method checks if the given transaction is a transfer and if so, if it might be a duplicate of an already imported transfer. + * This is important for import files that cover multiple accounts (and include both A<>B and B<>A transactions). + * + * @param TransactionType $transactionType + * @param ImportJournal $importJournal + * + * @return bool + */ + private function verifyDoubleTransfer(TransactionType $transactionType, ImportJournal $importJournal): bool + { + if ($transactionType->type === TransactionType::TRANSFER) { + $amount = Steam::positive($importJournal->getAmount()); + $asset = $importJournal->asset->getAccount(); + $opposing = $this->getOpposingAccount($importJournal->opposing, $amount); + $date = $importJournal->getDate($this->dateFormat); + $description = $importJournal->description; + $set = TransactionJournal:: + leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id') + ->leftJoin( + 'transactions AS source', function (JoinClause $join) { + $join->on('transaction_journals.id', '=', 'source.transaction_journal_id')->where('source.amount', '<', 0); + } + ) + ->leftJoin( + 'transactions AS destination', function (JoinClause $join) { + $join->on('transaction_journals.id', '=', 'destination.transaction_journal_id')->where( + 'destination.amount', '>', 0 + ); + } + ) + ->leftJoin('accounts as source_accounts', 'source.account_id', '=', 'source_accounts.id') + ->leftJoin('accounts as destination_accounts', 'destination.account_id', '=', 'destination_accounts.id') + ->where('transaction_journals.user_id', $this->job->user_id) + ->where('transaction_types.type', TransactionType::TRANSFER) + ->where('transaction_journals.date', $date->format('Y-m-d')) + ->where('destination.amount', $amount) + ->get( + ['transaction_journals.id', 'transaction_journals.encrypted', 'transaction_journals.description', + 'source_accounts.name as source_name', 'destination_accounts.name as destination_name'] + ); + if ($set->count() > 0) { + $filtered = $set->filter( + function (TransactionJournal $journal) use ($asset, $opposing, $description) { + $match = true; + $compare = [$asset->name, $opposing->name]; + + if ($journal->description !== $description) { + $match = false; + } + // when both are in array match is true. So reverse: + if (!(in_array(app('steam')->tryDecrypt($journal->source_name), $compare) + && in_array( + app('steam')->tryDecrypt($journal->destination_name), $compare + )) + ) { + $match = false; + } + + if ($match) { + return $journal; + } + + return null; + } + ); + if (count($filtered) > 0) { + return true; + } + } + } + + + return false; + } + } diff --git a/app/Support/CacheProperties.php b/app/Support/CacheProperties.php index 555fe427b0..f4cf7c0984 100644 --- a/app/Support/CacheProperties.php +++ b/app/Support/CacheProperties.php @@ -119,8 +119,6 @@ class CacheProperties $this->md5 .= json_encode($property); } - Log::debug(sprintf('Cache string is %s', $this->md5)); $this->md5 = md5($this->md5); - Log::debug(sprintf('Cache MD5 is %s', $this->md5)); } } diff --git a/app/Support/Import/Configuration/Csv/Map.php b/app/Support/Import/Configuration/Csv/Map.php index 813cecd071..f9cae51a0c 100644 --- a/app/Support/Import/Configuration/Csv/Map.php +++ b/app/Support/Import/Configuration/Csv/Map.php @@ -92,7 +92,9 @@ class Map implements ConfigurationInterface } foreach ($this->data as $index => $entry) { $this->data[$index]['values'] = array_unique($this->data[$index]['values']); + asort($this->data[$index]['values']); } + // save number of rows, thus number of steps, in job: $steps = $rowIndex * 5; $extended = $this->job->extended_status; diff --git a/app/Support/Steam.php b/app/Support/Steam.php index 8a3ca9c885..7b08463261 100644 --- a/app/Support/Steam.php +++ b/app/Support/Steam.php @@ -19,6 +19,7 @@ use Crypt; use DB; use FireflyIII\Models\Account; use FireflyIII\Models\Transaction; +use Illuminate\Contracts\Encryption\DecryptException; use Illuminate\Support\Collection; /** @@ -248,6 +249,21 @@ class Steam return $value; } + /** + * @param $value + * + * @return mixed + */ + public function tryDecrypt($value) + { + try { + $value = Crypt::decrypt($value); + } catch (DecryptException $e) { + // do not care. + } + + return $value; + } /** * @param array $accounts From 4beb8b1f6b368cdcbdf7afd04b1aaf6f7ffcfffb Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 15:40:20 +0200 Subject: [PATCH 035/174] New translations csv.php (Polish) --- resources/lang/pl_PL/csv.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/csv.php b/resources/lang/pl_PL/csv.php index ff59405d6f..9d68a96060 100644 --- a/resources/lang/pl_PL/csv.php +++ b/resources/lang/pl_PL/csv.php @@ -16,7 +16,7 @@ return [ // initial config 'initial_title' => 'Import setup (1/3) - Basic CSV import setup', 'initial_text' => 'To be able to import your file correctly, please validate the options below.', - 'initial_box' => 'Basic CSV import setup', + 'initial_box' => 'Podstawowa konfiguracja importu CSV', 'initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.', 'initial_date_help' => 'Date time format in your CSV. Follow the format like this page indicates. The default value will parse dates that look like this: :dateExample.', 'initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.', From 1b674a0abfd522269edfe57f19ba908f5d7ed5b5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 15:50:25 +0200 Subject: [PATCH 036/174] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index ae6de09206..99f1339d13 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -67,7 +67,7 @@ return [ 'two_factor_lost_intro' => 'Unfortunately, this is not something you can reset from the web interface. You have two choices.', 'two_factor_lost_fix_self' => 'If you run your own instance of Firefly III, check the logs in storage/logs for instructions.', 'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, :site_owner and ask them to reset your two factor authentication.', - 'warning_much_data' => ':days days of data may take a while to load.', + 'warning_much_data' => 'Załadowanie :days dni danych może trochę potrwać.', 'registered' => 'Zarejestrowałeś się pomyślnie!', 'search' => 'Szukaj', 'search_found_accounts' => 'Znaleziono :count kont(o/a) dla twojego wyszukiwania.', @@ -127,30 +127,30 @@ return [ 'all_journals_without_budget' => 'All transactions without a budget', 'journals_without_budget' => 'Transactions without a budget', 'all_journals_without_category' => 'All transactions without a category', - 'journals_without_category' => 'Transactions without a category', - 'all_journals_for_account' => 'All transactions for account :name', - 'chart_all_journals_for_account' => 'Chart of all transactions for account :name', - 'journals_in_period_for_account' => 'All transactions for account :name between :start and :end', + 'journals_without_category' => 'Transakcje bez kategorii', + 'all_journals_for_account' => 'Wszystkie transakcje dla konta :name', + 'chart_all_journals_for_account' => 'Wykres wszystkich transakcji dla konta :name', + 'journals_in_period_for_account' => 'Wszystkie transakcje dla konta :name od :start do :end', 'transferred' => 'Transferred', - 'all_withdrawal' => 'All expenses', - 'all_transactions' => 'All transactions', + 'all_withdrawal' => 'Wszystkie wydatki', + 'all_transactions' => 'Wszystkie transakcje', 'title_withdrawal_between' => 'All expenses between :start and :end', - 'all_deposit' => 'All revenue', + 'all_deposit' => 'Wszystkie przychody', 'title_deposit_between' => 'All revenue between :start and :end', - 'all_transfers' => 'All transfers', + 'all_transfers' => 'Wszystkie transfery', 'title_transfers_between' => 'All transfers between :start and :end', - 'all_transfer' => 'All transfers', - 'all_journals_for_tag' => 'All transactions for tag ":tag"', - 'title_transfer_between' => 'All transfers between :start and :end', - 'all_journals_for_category' => 'All transactions for category :name', - 'all_journals_for_budget' => 'All transactions for budget :name', - 'chart_all_journals_for_budget' => 'Chart of all transactions for budget :name', - 'journals_in_period_for_category' => 'All transactions for category :name between :start and :end', - 'journals_in_period_for_tag' => 'All transactions for tag :tag between :start and :end', + 'all_transfer' => 'Wszystkie transfery', + 'all_journals_for_tag' => 'Wszystkie transakcje dla tagu ":tag"', + 'title_transfer_between' => 'Wszystkie transfery od :start do :end', + 'all_journals_for_category' => 'Wszystkie transakcje dla kategorii :name', + 'all_journals_for_budget' => 'Wszystkie transakcje dla budżetu :name', + 'chart_all_journals_for_budget' => 'Wykres wszystkich transakcji dla budżetu :name', + 'journals_in_period_for_category' => 'Wszystkie transakcje dla kategorii :name od :start do :end', + 'journals_in_period_for_tag' => 'Wszystkie transakcje dla tagu :name od :start do :end', 'not_available_demo_user' => 'The feature you try to access is not available to demo users.', 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', - 'transaction_data' => 'Transaction data', + 'transaction_data' => 'Dane transakcji', // repeat frequencies: 'repeat_freq_yearly' => 'rocznie', From 2e77c45ae8218e2c99f61d9376428b887e322d90 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 15:50:27 +0200 Subject: [PATCH 037/174] New translations csv.php (Polish) --- resources/lang/pl_PL/csv.php | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/resources/lang/pl_PL/csv.php b/resources/lang/pl_PL/csv.php index 9d68a96060..ae34e56f35 100644 --- a/resources/lang/pl_PL/csv.php +++ b/resources/lang/pl_PL/csv.php @@ -14,34 +14,34 @@ declare(strict_types=1); return [ // initial config - 'initial_title' => 'Import setup (1/3) - Basic CSV import setup', - 'initial_text' => 'To be able to import your file correctly, please validate the options below.', + 'initial_title' => 'Konfiguracja importu (1/3) - Podstawowa konfiguracja importu CSV', + 'initial_text' => 'Abyś mógł poprawnie zaimportować plik, sprawdź poprawność poniższych opcji.', 'initial_box' => 'Podstawowa konfiguracja importu CSV', 'initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.', 'initial_date_help' => 'Date time format in your CSV. Follow the format like this page indicates. The default value will parse dates that look like this: :dateExample.', 'initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.', 'initial_import_account_help' => 'If your CSV file does NOT contain information about your asset account(s), use this dropdown to select to which account the transactions in the CSV belong to.', - 'initial_submit' => 'Continue with step 2/3', + 'initial_submit' => 'Przejdź do kroku 2/3', // roles config - 'roles_title' => 'Import setup (2/3) - Define each column\'s role', + 'roles_title' => 'Konfiguracja importu (2/3) - Określ rolę każdej z kolumn', 'roles_text' => 'Each column in your CSV file contains certain data. Please indicate what kind of data the importer should expect. The option to "map" data means that you will link each entry found in the column to a value in your database. An often mapped column is the column that contains the IBAN of the opposing account. That can be easily matched to IBAN\'s present in your database already.', - 'roles_table' => 'Table', - 'roles_column_name' => 'Name of column', - 'roles_column_example' => 'Column example data', - 'roles_column_role' => 'Column data meaning', - 'roles_do_map_value' => 'Map these values', - 'roles_column' => 'Column', - 'roles_no_example_data' => 'No example data available', - 'roles_submit' => 'Continue with step 3/3', + 'roles_table' => 'Tabela', + 'roles_column_name' => 'Nazwa kolumny', + 'roles_column_example' => 'Przykładowe dane w kolumnie', + 'roles_column_role' => 'Znaczenie danych w kolumnie', + 'roles_do_map_value' => 'Zmapuj te wartości', + 'roles_column' => 'Kolumna', + 'roles_no_example_data' => 'Brak dostępnych danych przykładowych', + 'roles_submit' => 'Przejdź do kroku 3/3', // map data - 'map_title' => 'Import setup (3/3) - Connect import data to Firefly III data', + 'map_title' => 'Konfiguracja importu (3/3) - Połącz importowane dane z danymi w Firefly III', 'map_text' => 'In the following tables, the left value shows you information found in your uploaded CSV file. It is your task to map this value, if possible, to a value already present in your database. Firefly will stick to this mapping. If there is no value to map to, or you do not wish to map the specific value, select nothing.', - 'map_field_value' => 'Field value', - 'map_field_mapped_to' => 'Mapped to', - 'map_do_not_map' => '(do not map)', - 'map_submit' => 'Start the import', + 'map_field_value' => 'Wartość pola', + 'map_field_mapped_to' => 'Zmapowane na', + 'map_do_not_map' => '(nie mapuj)', + 'map_submit' => 'Rozpocznij Importowanie', // map things. 'column__ignore' => '(ignoruj tę kolumnę)', From 174fb65fed293ffc5d018ef0c4cc1c3f35c094ad Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 16:00:25 +0200 Subject: [PATCH 038/174] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 82 ++++++++++++++++---------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 99f1339d13..914b8608d4 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -147,7 +147,7 @@ return [ 'chart_all_journals_for_budget' => 'Wykres wszystkich transakcji dla budżetu :name', 'journals_in_period_for_category' => 'Wszystkie transakcje dla kategorii :name od :start do :end', 'journals_in_period_for_tag' => 'Wszystkie transakcje dla tagu :name od :start do :end', - 'not_available_demo_user' => 'The feature you try to access is not available to demo users.', + 'not_available_demo_user' => 'Funkcja, do której próbujesz uzyskać dostęp nie jest dostępna dla użytkowników demo.', 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Dane transakcji', @@ -187,11 +187,11 @@ return [ 'export_status_collecting_journals' => 'Collecting your transactions...', 'export_status_collected_journals' => 'Collected your transactions!', 'export_status_converting_to_export_format' => 'Converting your transactions...', - 'export_status_converted_to_export_format' => 'Converted your transactions!', + 'export_status_converted_to_export_format' => 'Przekonwertowano twoje transakcje!', 'export_status_creating_journal_file' => 'Tworzenie pliku eksportu...', 'export_status_created_journal_file' => 'Utworzono plik eksportu!', 'export_status_collecting_attachments' => 'Collecting all your attachments...', - 'export_status_collected_attachments' => 'Collected all your attachments!', + 'export_status_collected_attachments' => 'Zebrano wszystkie twoje załączniki!', 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', 'export_status_creating_config_file' => 'Tworzenie pliku konfiguracji...', @@ -298,9 +298,9 @@ return [ 'rule_trigger_description_ends_choice' => 'Opis kończy się na..', 'rule_trigger_description_contains_choice' => 'Opis zawiera..', 'rule_trigger_description_is_choice' => 'Opis jest..', - 'rule_trigger_category_is_choice' => 'Category is..', - 'rule_trigger_budget_is_choice' => 'Budget is..', - 'rule_trigger_tag_is_choice' => '(A) tag is..', + 'rule_trigger_category_is_choice' => 'Kategoria jest..', + 'rule_trigger_budget_is_choice' => 'Budżet jest..', + 'rule_trigger_tag_is_choice' => 'Tag jest..', 'rule_trigger_has_attachments_choice' => 'Has at least this many attachments', 'rule_trigger_has_attachments' => 'Has at least :trigger_value attachment(s)', 'rule_trigger_store_journal' => 'Po utworzeniu transakcji', @@ -585,7 +585,7 @@ return [ 'cash_accounts' => 'Konta gotówkowe', 'Cash account' => 'Konto gotówkowe', 'account_type' => 'Typ konta', - 'save_transactions_by_moving' => 'Save these transaction(s) by moving them to another account:', + 'save_transactions_by_moving' => 'Zapisz te transakcje, przenosząc je do innego konta:', 'stored_new_account' => 'Nowe konto ":name" zostało zapisane!', 'updated_account' => 'Zaktualizowano konto ":name"', 'credit_card_options' => 'Opcje karty kredytowej', @@ -594,9 +594,9 @@ return [ 'select_more_than_one_account' => 'Proszę wybierz więcej niż jedno konto', 'select_more_than_one_category' => 'Proszę wybierz więcej niż jedną kategorię', 'select_more_than_one_budget' => 'Proszę wybierz więcej niż jeden budżet', - 'select_more_than_one_tag' => 'Please select more than one tag', + 'select_more_than_one_tag' => 'Proszę wybierz więcej niż jeden tag', 'from_to' => 'Od :start do :end', - 'from_to_breadcrumb' => 'from :start to :end', + 'from_to_breadcrumb' => 'od :start do :end', 'account_default_currency' => 'If you select another currency, new transactions from this account will have this currency pre-selected.', // categories: @@ -625,10 +625,10 @@ return [ 'delete_withdrawal' => 'Usunięto wypłatę ":description"', 'delete_deposit' => 'Usuń wpłatę ":description"', 'delete_transfer' => 'Usuń transfer ":description"', - 'deleted_withdrawal' => 'Successfully deleted withdrawal ":description"', - 'deleted_deposit' => 'Successfully deleted deposit ":description"', - 'deleted_transfer' => 'Successfully deleted transfer ":description"', - 'stored_journal' => 'Successfully created new transaction ":description"', + 'deleted_withdrawal' => 'Pomyślnie usunięto wypłatę ":description"', + 'deleted_deposit' => 'Pomyślnie usunięto depozyt ":description"', + 'deleted_transfer' => 'Pomyślnie usunięto transfer ":description"', + 'stored_journal' => 'Pomyślnie utworzono nową transakcję ":description"', 'select_transactions' => 'Wybierz transakcje', 'stop_selection' => 'Stop selecting transactions', 'edit_selected' => 'Modyfikuj zaznaczone', @@ -755,12 +755,12 @@ return [ 'report_type_audit' => 'Przegląd historii transakcji (audyt)', 'report_type_category' => 'Raport kategorii', 'report_type_budget' => 'Raport budżetów', - 'report_type_tag' => 'Tag report', + 'report_type_tag' => 'Raport tagów', 'report_type_meta-history' => 'Przegląd kategorii, budżetów i rachunków', 'more_info_help' => 'More information about these types of reports can be found in the help pages. Press the (?) icon in the top right corner.', 'report_included_accounts' => 'Uwzględnione konta', 'report_date_range' => 'Zakres dat', - 'report_preset_ranges' => 'Pre-set ranges', + 'report_preset_ranges' => 'Predefiniowane zakresy', 'shared' => 'Udostępnione', 'fiscal_year' => 'Rok podatkowy', 'income_entry' => 'Income from account ":name" between :start and :end', @@ -774,16 +774,16 @@ return [ 'report_has_no_extra_options' => 'Ten raport nie ma dodatkowych opcji', 'reports_submit' => 'Zobacz raport', 'end_after_start_date' => 'Data zakończenia raportu musi być po dacie rozpoczęcia.', - 'select_category' => 'Select category(ies)', - 'select_budget' => 'Select budget(s).', - 'select_tag' => 'Select tag(s).', + 'select_category' => 'Wybierz kategorię(e)', + 'select_budget' => 'Wybierz budżet(y).', + 'select_tag' => 'Wybierz tag(i).', 'income_per_category' => 'Dochód wg kategorii', 'expense_per_category' => 'Wydatek wg kategorii', 'expense_per_budget' => 'Wydatek wg budżetu', 'income_per_account' => 'Dochód wg konta', 'expense_per_account' => 'Wydatek wg konta', - 'expense_per_tag' => 'Expense per tag', - 'income_per_tag' => 'Income per tag', + 'expense_per_tag' => 'Wydatek wg tagu', + 'income_per_tag' => 'Przychód wg tagu', 'include_expense_not_in_budget' => 'Included expenses not in the selected budget(s)', 'include_expense_not_in_account' => 'Included expenses not in the selected account(s)', 'include_expense_not_in_category' => 'Included expenses not in the selected category(ies)', @@ -882,7 +882,7 @@ return [ 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Usuń tag ":tag"', 'deleted_tag' => 'Usunięto tag ":tag"', - 'new_tag' => 'Make new tag', + 'new_tag' => 'Utwórz nowy tag', 'edit_tag' => 'Modyfikuj tag ":tag"', 'updated_tag' => 'Zaktualizowano tag ":tag"', 'created_tag' => 'Tag ":tag" został utworzony!', @@ -896,7 +896,7 @@ return [ 'tags_start' => 'Create a tag to get started or enter tags when creating new transactions.', 'transaction_journal_information' => 'Informacje o transakcji', - 'transaction_journal_meta' => 'Meta information', + 'transaction_journal_meta' => 'Meta informacje', 'total_amount' => 'Łączna kwota', 'number_of_decimals' => 'Ilość miejsc dziesiętnych', @@ -934,11 +934,11 @@ return [ // split a transaction: 'transaction_meta_data' => 'Transaction meta-data', - 'transaction_dates' => 'Transaction dates', + 'transaction_dates' => 'Daty transakcji', 'splits' => 'Podziały', 'split_title_withdrawal' => 'Podziel swoją nową wypłatę', - 'split_intro_one_withdrawal' => 'Firefly supports the "splitting" of a withdrawal.', - 'split_intro_two_withdrawal' => 'It means that the amount of money you\'ve spent is divided between several destination expense accounts, budgets or categories.', + 'split_intro_one_withdrawal' => 'Firefly obsługuje "dzielenie" wypłaty.', + 'split_intro_two_withdrawal' => 'Oznacza to, że ilość pieniędzy, które wydałeś jest podzielona między kilka kont wypłat, budżetów lub kategorii.', 'split_intro_three_withdrawal' => 'For example: you could split your :total groceries so you pay :split_one from your "daily groceries" budget and :split_two from your "cigarettes" budget.', 'split_table_intro_withdrawal' => 'Split your withdrawal in as many things as you want. By default the transaction will not split, there is just one entry. Add as many splits as you want to, below. Remember that you should not deviate from your total amount. If you do, Firefly will warn you but not correct you.', 'store_splitted_withdrawal' => 'Zachowaj podzieloną wypłatę', @@ -973,12 +973,12 @@ return [ // import index page: 'import_index_title' => 'Import data into Firefly III', - 'import_index_sub_title' => 'Index', + 'import_index_sub_title' => 'Indeks', 'import_index_intro' => 'Welcome to Firefly\'s import routine. These pages can help you import data from your bank into Firefly III. Please check out the help pages in the top right corner.', - 'import_index_file' => 'Select your file', + 'import_index_file' => 'Wybierz swój plik', 'import_index_config' => 'If you have previously imported data into Firefly III, you may have a configuration file, which will pre-set configuration values for you. For some banks, other users have kindly provided their configuration file.', 'import_index_type' => 'Select the type of file you will upload', - 'import_index_start' => 'Start importing', + 'import_index_start' => 'Rozpocznij import', // supported file types: 'import_file_type_csv' => 'CSV (wartości oddzielone przecinkami)', @@ -988,13 +988,13 @@ return [ 'import_config_bread_crumb' => 'Set up your import file', // import status page: - 'import_status_bread_crumb' => 'Import status', - 'import_status_sub_title' => 'Import status', + 'import_status_bread_crumb' => 'Status importu', + 'import_status_sub_title' => 'Status importu', 'import_status_wait_title' => 'Please hold...', 'import_status_wait_text' => 'This box will disappear in a moment.', - 'import_status_ready_title' => 'Import is ready to start', + 'import_status_ready_title' => 'Import jest gotowy do uruchomienia', 'import_status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.', - 'import_status_ready_config' => 'Download configuration', + 'import_status_ready_config' => 'Pobierz konfigurację', 'import_status_ready_start' => 'Start the import', 'import_status_ready_share' => 'Please consider downloading your configuration and sharing it at the import configuration center. This will allow other users of Firefly III to import their files more easily.', 'import_status_running_title' => 'The import is running', @@ -1011,26 +1011,26 @@ return [ 'import_with_key' => 'Import z kluczem \':key\'', // different states: - 'import_status_job_running' => 'The import is underway. Please be patient...', + 'import_status_job_running' => 'Import jest w toku. Proszę o cierpliwość...', // sandstorm.io errors and messages: 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', - 'no_accounts_title_asset' => 'Let\'s create an asset account!', + 'no_transactions_in_period' => 'Nie ma żadnych transakcji w tym okresie.', + 'no_accounts_title_asset' => 'Stwórzmy konto aktywów!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', - 'no_accounts_create_asset' => 'Create an asset account', - 'no_accounts_title_expense' => 'Let\'s create an expense account!', + 'no_accounts_create_asset' => 'Utwórz konto aktywów', + 'no_accounts_title_expense' => 'Stwórzmy konto wydatków!', 'no_accounts_intro_expense' => 'You have no expense accounts yet. Expense accounts are the places where you spend money, such as shops and supermarkets.', 'no_accounts_imperative_expense' => 'Expense accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_expense' => 'Create an expense account', - 'no_accounts_title_revenue' => 'Let\'s create a revenue account!', + 'no_accounts_create_expense' => 'Utwórz konto wydatków', + 'no_accounts_title_revenue' => 'Stwórzmy konto przychodów!', 'no_accounts_intro_revenue' => 'You have no revenue accounts yet. Revenue accounts are the places where you receive money from, such as your employer.', 'no_accounts_imperative_revenue' => 'Revenue accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_revenue' => 'Create a revenue account', - 'no_budgets_title_default' => 'Let\'s create a budget', + 'no_accounts_create_revenue' => 'Utwórz konto przychodów', + 'no_budgets_title_default' => 'Stwórzmy budżet', 'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organise your expenses into logical groups, which you can give a soft-cap to limit your expenses.', 'no_budgets_imperative_default' => 'Budgets are the basic tools of financial management. Let\'s create one now:', 'no_budgets_create_default' => 'Create a budget', From 568fdad52adf0da235e2956f375a100d0f411f84 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 16:10:08 +0200 Subject: [PATCH 039/174] New translations form.php (Polish) --- resources/lang/pl_PL/form.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/form.php b/resources/lang/pl_PL/form.php index 5d7cc9dbed..ddf76bd3a8 100644 --- a/resources/lang/pl_PL/form.php +++ b/resources/lang/pl_PL/form.php @@ -42,7 +42,7 @@ return [ 'journal_description' => 'Opis', 'note' => 'Notatki', 'split_journal' => 'Podziel tę transakcję', - 'split_journal_explanation' => 'Split this transaction in multiple parts', + 'split_journal_explanation' => 'Podziel transakcję na wiele części', 'currency' => 'Waluta', 'account_id' => 'Konto aktywów', 'budget_id' => 'Budżet', From 5d2e026e5ac2b41032a62e8d49d26ec09ea07f08 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 16:10:12 +0200 Subject: [PATCH 040/174] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 914b8608d4..f9bc199459 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -1014,13 +1014,13 @@ return [ 'import_status_job_running' => 'Import jest w toku. Proszę o cierpliwość...', // sandstorm.io errors and messages: - 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', + 'sandstorm_not_available' => 'Ta funkcja nie jest dostępna, gdy używasz Firefly III w środowisku Sandstorm.io.', // empty lists? no objects? instructions: 'no_transactions_in_period' => 'Nie ma żadnych transakcji w tym okresie.', 'no_accounts_title_asset' => 'Stwórzmy konto aktywów!', - 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', - 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', + 'no_accounts_intro_asset' => 'Nie masz jeszcze konta nie aktywów. Konta aktywów są twoimi głównymi kontami: konto czekowe, konto oszczędnościowe, wspólne konto lub nawet karta kredytowa.', + 'no_accounts_imperative_asset' => 'Aby rozpocząć korzystanie z Firefly III należy utworzyć co najmniej jedno konto aktywów. Zróbmy je więc teraz:', 'no_accounts_create_asset' => 'Utwórz konto aktywów', 'no_accounts_title_expense' => 'Stwórzmy konto wydatków!', 'no_accounts_intro_expense' => 'You have no expense accounts yet. Expense accounts are the places where you spend money, such as shops and supermarkets.', @@ -1033,35 +1033,35 @@ return [ 'no_budgets_title_default' => 'Stwórzmy budżet', 'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organise your expenses into logical groups, which you can give a soft-cap to limit your expenses.', 'no_budgets_imperative_default' => 'Budgets are the basic tools of financial management. Let\'s create one now:', - 'no_budgets_create_default' => 'Create a budget', - 'no_categories_title_default' => 'Let\'s create a category!', + 'no_budgets_create_default' => 'Stwórz budżet', + 'no_categories_title_default' => 'Stwórzmy kategorię!', 'no_categories_intro_default' => 'You have no categories yet. Categories are used to fine tune your transactions and label them with their designated category.', 'no_categories_imperative_default' => 'Categories are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', 'no_categories_create_default' => 'Create a category', - 'no_tags_title_default' => 'Let\'s create a tag!', + 'no_tags_title_default' => 'Stwórzmy tag!', 'no_tags_intro_default' => 'You have no tags yet. Tags are used to fine tune your transactions and label them with specific keywords.', 'no_tags_imperative_default' => 'Tags are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', - 'no_tags_create_default' => 'Create a tag', - 'no_transactions_title_withdrawal' => 'Let\'s create an expense!', - 'no_transactions_intro_withdrawal' => 'You have no expenses yet. You should create expenses to start managing your finances.', - 'no_transactions_imperative_withdrawal' => 'Have you spent some money? Then you should write it down:', - 'no_transactions_create_withdrawal' => 'Create an expense', - 'no_transactions_title_deposit' => 'Let\'s create some income!', - 'no_transactions_intro_deposit' => 'You have no recorded income yet. You should create income entries to start managing your finances.', - 'no_transactions_imperative_deposit' => 'Have you received some money? Then you should write it down:', + 'no_tags_create_default' => 'Utwórz tag', + 'no_transactions_title_withdrawal' => 'Stwórzmy wydatek!', + 'no_transactions_intro_withdrawal' => 'Jeszcze nie masz wydatków. Powinieneś utworzyć wydatki aby rozpocząć zarządzanie swoimi finansami.', + 'no_transactions_imperative_withdrawal' => 'Wydałeś trochę pieniędzy? Zatem powinieneś je zapisać:', + 'no_transactions_create_withdrawal' => 'Utwórz wydatek', + 'no_transactions_title_deposit' => 'Stwórzmy przychód!', + 'no_transactions_intro_deposit' => 'Jeszcze nie masz przychodów. Powinieneś utworzyć przychody aby rozpocząć zarządzanie swoimi finansami.', + 'no_transactions_imperative_deposit' => 'Otrzymałeś trochę pieniędzy? Zatem powinieneś je zapisać:', 'no_transactions_create_deposit' => 'Create a deposit', - 'no_transactions_title_transfers' => 'Let\'s create a transfer!', + 'no_transactions_title_transfers' => 'Stwórzmy transfer!', 'no_transactions_intro_transfers' => 'You have no transfers yet. When you move money between asset accounts, it is recorded as a transfer.', 'no_transactions_imperative_transfers' => 'Have you moved some money around? Then you should write it down:', - 'no_transactions_create_transfers' => 'Create a transfer', - 'no_piggies_title_default' => 'Let\'s create a piggy bank!', + 'no_transactions_create_transfers' => 'Utwórz transfer', + 'no_piggies_title_default' => 'Stwórzmy skarbonkę!', 'no_piggies_intro_default' => 'You have no piggy banks yet. You can create piggy banks to divide your savings and keep track of what you\'re saving up for.', 'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:', - 'no_piggies_create_default' => 'Create a new piggy bank', - 'no_bills_title_default' => 'Let\'s create a bill!', + 'no_piggies_create_default' => 'Utwórz nową skarbonkę', + 'no_bills_title_default' => 'Stwórzmy rachunek!', 'no_bills_intro_default' => 'You have no bills yet. You can create bills to keep track of regular expenses, like your rent of insurance.', 'no_bills_imperative_default' => 'Do you have such regular bills? Create a bill and keep track of your payments:', - 'no_bills_create_default' => 'Create a bill', + 'no_bills_create_default' => 'Utwórz rachunek', ]; \ No newline at end of file From c9a99be18361e9bc78c01f1f569a0e66138d9026 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 17:04:18 +0200 Subject: [PATCH 041/174] Fix #699 --- resources/views/categories/index.twig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/views/categories/index.twig b/resources/views/categories/index.twig index 8316a444b9..14547ec802 100644 --- a/resources/views/categories/index.twig +++ b/resources/views/categories/index.twig @@ -33,9 +33,12 @@ {% include 'partials.empty' with {what: 'default', type: 'categories',route: route('categories.create')} %} {% endif %} {% endblock %} + {% block styles %} + {% endblock %} {% block scripts %} + {% endblock %} From cb8294cbd2e0490085e3425cd38631053bdd1de6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 17:05:32 +0200 Subject: [PATCH 042/174] Disable button form on submit. --- public/js/ff/firefly.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/js/ff/firefly.js b/public/js/ff/firefly.js index c0a223edf0..3015c3d49e 100644 --- a/public/js/ff/firefly.js +++ b/public/js/ff/firefly.js @@ -15,6 +15,11 @@ $(function () { configAccounting(currencySymbol); + // on submit of form, disable any button in form: + $('form.form-horizontal').on('submit',function(e) { + $('button[type="submit"]').prop('disabled',true); + }); + $.ajaxSetup({ headers: { 'X-CSRF-Token': $('meta[name="_token"]').attr('content') From 2a63888546b1613fe1675c14beb55c88044874eb Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 17:10:06 +0200 Subject: [PATCH 043/174] Table is sortable, #697 --- resources/views/budgets/index.twig | 62 +++++++++++++++++------------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/resources/views/budgets/index.twig b/resources/views/budgets/index.twig index 87f9bb24ff..1753737b57 100644 --- a/resources/views/budgets/index.twig +++ b/resources/views/budgets/index.twig @@ -131,14 +131,14 @@

Budget stuff

- +
- - - - - + + + + + @@ -151,7 +151,7 @@ - - - - @@ -210,17 +213,22 @@ {% endif %} {% endblock %} - {% block scripts %} - +{% block styles %} + +{% endblock %} - - {% endblock %} +{% block scripts %} + + + +{% endblock %} From 2bf54d0b8ee089f2f5aede412016d924e1e915f1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 14 Jul 2017 17:10:56 +0200 Subject: [PATCH 044/174] Remove extra X [skip ci] --- resources/views/form/amount.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/form/amount.twig b/resources/views/form/amount.twig index eaf1ec2d8f..c28227d1f7 100644 --- a/resources/views/form/amount.twig +++ b/resources/views/form/amount.twig @@ -7,7 +7,7 @@
{{ 'budget'|_ }}{{ 'budgeted'|_ }}{{ 'budget'|_ }}{{ 'budgeted'|_ }}
+ {% if budgetInformation[budget.id]['currentLimit'] %} {{ budget.name }} {% endif %} + {% if budgetInformation[budget.id]['currentLimit'] %} + {% set repAmount = budgetInformation[budget.id]['currentLimit'].amount %} + {% else %} + {% set repAmount = '0' %} + {% endif %} + +
{{ defaultCurrency.symbol|raw }}
- {% if budgetInformation[budget.id]['currentLimit'] %} - {% set repAmount = budgetInformation[budget.id]['currentLimit'].amount %} - {% else %} - {% set repAmount = '0' %} - {% endif %}
- - - - - - - - - - - {% for account in result.accounts %} - - - - - - - - {% endfor %} - - -
{{ trans('list.name') }}
- {{ account.name }} - {{ trans('firefly.'~account.accountType.type) }}
diff --git a/resources/views/search/partials/budgets.twig b/resources/views/search/partials/budgets.twig deleted file mode 100644 index 5d6c4008d4..0000000000 --- a/resources/views/search/partials/budgets.twig +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - {% for budget in result.budgets %} - - - - - {% endfor %} - - -
{{ trans('list.name') }}
- {{ budget.name }} -
diff --git a/resources/views/search/partials/categories.twig b/resources/views/search/partials/categories.twig deleted file mode 100644 index 7dfef5da15..0000000000 --- a/resources/views/search/partials/categories.twig +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - {% for category in result.categories %} - - - - - {% endfor %} - - -
{{ trans('list.name') }}
- {{ category.name }} -
diff --git a/resources/views/search/partials/tags.twig b/resources/views/search/partials/tags.twig deleted file mode 100644 index fd4342c67b..0000000000 --- a/resources/views/search/partials/tags.twig +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - {% for tag in result.tags %} - - - - - - {% endfor %} - - -
{{ trans('list.name') }}{{ trans('list.type') }}
- {{ tag.tag }} - {{ ('tag'~tag.tagMode)|_ }}
diff --git a/resources/views/search/partials/transactions-large.twig b/resources/views/search/partials/transactions-large.twig deleted file mode 100644 index ca8c06ac92..0000000000 --- a/resources/views/search/partials/transactions-large.twig +++ /dev/null @@ -1,130 +0,0 @@ -{{ journals.render|raw }} - - - - - - - - - - - - - {% if not hideBudgets %} - - {% endif %} - - - {% if not hideCategories %} - - {% endif %} - - - {% if not hideBills %} - - {% endif %} - - - - {% for transaction in journals %} - - - - - - - - - - - - {% if not hideBudgets %} - - {% endif %} - - - {% if not hideCategories %} - - {% endif %} - - - {% if not hideBills %} - - {% endif %} - - {% endfor %} - -
{{ trans('list.description') }}{{ trans('list.amount') }}
- - - {% if transaction.transaction_description|length > 0 %} - {{ transaction.transaction_description }} ({{ transaction.description }}) - {% else %} - {{ transaction.description }} - {% endif %} - - {{ splitJournalIndicator(transaction.journal_id) }} - - {% if transaction.transactionJournal.attachments|length > 0 %} - - {% endif %} - - - - {# TODO replace with new format code #} - XX.XX - - -
- -
-
- {{ journals.render|raw }} -
-
- diff --git a/resources/views/search/partials/transactions.twig b/resources/views/search/partials/transactions.twig deleted file mode 100644 index 387b5ec07b..0000000000 --- a/resources/views/search/partials/transactions.twig +++ /dev/null @@ -1,78 +0,0 @@ -{{ journals.render|raw }} - - - - - - - - - - - - {% for transaction in transactions %} - - - - - - - - {% endfor %} - -
{{ trans('list.description') }}{{ trans('list.amount') }}
- - - {% if transaction.transaction_description|length > 0 %} - {{ transaction.transaction_description }} ({{ transaction.description }}) - {% else %} - {{ transaction.description }} - {% endif %} - - {{ splitJournalIndicator(transaction.journal_id) }} - - {% if transaction.transactionJournal.attachments|length > 0 %} - - {% endif %} - - - {# TODO replace with new format code #} - XX.XX - - -
- -
-
- {{ journals.render|raw }} -
-
- diff --git a/resources/views/search/search.twig b/resources/views/search/search.twig new file mode 100644 index 0000000000..61e89915b4 --- /dev/null +++ b/resources/views/search/search.twig @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + {% for transaction in transactions %} + + + + + + + + + + + + + {% endfor %} + +
{{ trans('list.description') }}{{ trans('list.amount') }}
+ + + {% if transaction.transaction_description|length > 0 %} + {{ transaction.transaction_description }} ({{ transaction.description }}) + {% else %} + {{ transaction.description }} + {% endif %} + + {{ splitJournalIndicator(transaction.journal_id) }} + + {% if transaction.transactionJournal.attachments|length > 0 %} + + {% endif %} + + + {{ transactionAmount(transaction) }} + +
\ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 27724470df..709e58bbe3 100755 --- a/routes/web.php +++ b/routes/web.php @@ -641,7 +641,7 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'prefix' => 'search', 'as' => 'search.'], function () { Route::get('', ['uses' => 'SearchController@index', 'as' => 'index']); - + Route::any('search', ['uses' => 'SearchController@search', 'as' => 'search']); } ); From ad55aa8b85d7fdabcce9c99096230e548acac7eb Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:13 +0200 Subject: [PATCH 053/174] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index f05a815017..c32151dba9 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Показать всё', 'never' => 'Никогда', 'search_results_for' => 'Search results for ":query"', - 'advanced_search' => 'Advanced search', - 'advanced_search_intro' => 'There are several modifiers that you can use in your search to narrow down the results. If you use any of these, the search will only return transactions. Please click the -icon for more information.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'The message sent to :email bounced, so no access for you.', 'deleted_error' => 'These credentials do not match our records.', 'general_blocked_error' => 'Your account has been disabled, so you cannot login.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, :site_owner and ask them to reset your two factor authentication.', 'warning_much_data' => ':days days of data may take a while to load.', 'registered' => 'You have registered successfully!', - 'search' => 'Search', - 'search_found_accounts' => 'Found :count account(s) for your query.', - 'search_found_categories' => 'Found :count category(ies) for your query.', - 'search_found_budgets' => 'Found :count budget(s) for your query.', - 'search_found_tags' => 'Found :count tag(s) for your query.', - 'search_found_transactions' => 'Found :count transaction(s) for your query.', - 'results_limited' => 'The results are limited to :count entries.', 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + // search + 'search' => 'Search', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'ежегодно', 'repeat_freq_monthly' => 'ежемесячно', From cffcf49b2614a304f16491c8837e68db28a3bed5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:14 +0200 Subject: [PATCH 054/174] New translations breadcrumbs.php (Russian) --- resources/lang/ru_RU/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/breadcrumbs.php b/resources/lang/ru_RU/breadcrumbs.php index 519923ba8e..22c5d21b8e 100644 --- a/resources/lang/ru_RU/breadcrumbs.php +++ b/resources/lang/ru_RU/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Редактирование счёта к оплате ":name"', 'delete_bill' => 'Удаление счёта к оплате ":name"', 'reports' => 'Отчёты', - 'searchResult' => 'Поиск по ключу ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Мои расходы', 'deposit_list' => 'Мои доходы', 'transfer_list' => 'Переводы', From 00ff8ae166daace767f8c15596dee3f2ff5524a1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:20 +0200 Subject: [PATCH 055/174] New translations breadcrumbs.php (Spanish) --- resources/lang/es_ES/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/es_ES/breadcrumbs.php b/resources/lang/es_ES/breadcrumbs.php index 91d26f164b..d6755e84b4 100644 --- a/resources/lang/es_ES/breadcrumbs.php +++ b/resources/lang/es_ES/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Editar factura ":name"', 'delete_bill' => 'Eliminar factura ":name"', 'reports' => 'Reportes', - 'searchResult' => 'Buscar ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Gastos', 'deposit_list' => 'Ganancia, ingresos y depósitos', 'transfer_list' => 'Transferencias', From d72aadfb00928166db33350da125477482cfd54d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:21 +0200 Subject: [PATCH 056/174] New translations breadcrumbs.php (Slovenian) --- resources/lang/sl_SI/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/sl_SI/breadcrumbs.php b/resources/lang/sl_SI/breadcrumbs.php index 051d41b74e..1db93e081f 100644 --- a/resources/lang/sl_SI/breadcrumbs.php +++ b/resources/lang/sl_SI/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'uredi trajnik ":name"', 'delete_bill' => 'izbriši trajnik ":name"', 'reports' => 'Poročila', - 'searchResult' => 'rezultati iskanja za ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'stroški', 'deposit_list' => 'prihodki', 'transfer_list' => 'prenosi', From d4b7c6689f732448d14484d98d6e9298a3094e47 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:23 +0200 Subject: [PATCH 057/174] New translations breadcrumbs.php (Portuguese, Brazilian) --- resources/lang/pt_BR/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pt_BR/breadcrumbs.php b/resources/lang/pt_BR/breadcrumbs.php index cd6c42b790..3fdbb55876 100644 --- a/resources/lang/pt_BR/breadcrumbs.php +++ b/resources/lang/pt_BR/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Editar fatura ":name"', 'delete_bill' => 'Apagar fatura ":name"', 'reports' => 'Relatórios', - 'searchResult' => 'Pesquisar por ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Despesas', 'deposit_list' => 'Receitas, renda e depósitos', 'transfer_list' => 'Transferências', From 8b34135b08c4485e9dc332122ee635ba8a9159cd Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:24 +0200 Subject: [PATCH 058/174] New translations breadcrumbs.php (Polish) --- resources/lang/pl_PL/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/breadcrumbs.php b/resources/lang/pl_PL/breadcrumbs.php index 210aab7ca0..c46ffec26b 100644 --- a/resources/lang/pl_PL/breadcrumbs.php +++ b/resources/lang/pl_PL/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Modyfikuj rachunek ":name"', 'delete_bill' => 'Usuń rachunek ":name"', 'reports' => 'Raporty', - 'searchResult' => 'Szukaj ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Wydatki', 'deposit_list' => 'Przychody, dochody oraz depozyty', 'transfer_list' => 'Transfery', From 3c8ee6f7f766a6053bb385c168f7027444708d43 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:26 +0200 Subject: [PATCH 059/174] New translations breadcrumbs.php (German) --- resources/lang/de_DE/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/de_DE/breadcrumbs.php b/resources/lang/de_DE/breadcrumbs.php index 0ce3f40bef..09f30ca282 100644 --- a/resources/lang/de_DE/breadcrumbs.php +++ b/resources/lang/de_DE/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Bearbeite Rechnung ":name"', 'delete_bill' => 'Lösche Rechnung ":name"', 'reports' => 'Berichte', - 'searchResult' => 'Suche nach ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Ausgaben', 'deposit_list' => 'Umsatz, Einkommen und Einlagen', 'transfer_list' => 'Überweisungen', From b4c05098a9d2f77a7b85eb00f370ff7d092a1804 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:27 +0200 Subject: [PATCH 060/174] New translations breadcrumbs.php (French) --- resources/lang/fr_FR/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/fr_FR/breadcrumbs.php b/resources/lang/fr_FR/breadcrumbs.php index 5211db8cfe..0cd42a436e 100644 --- a/resources/lang/fr_FR/breadcrumbs.php +++ b/resources/lang/fr_FR/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Editer la facture : ":name"', 'delete_bill' => 'Supprimer la facture ":name"', 'reports' => 'Rapport', - 'searchResult' => 'Résultat de recherche pour ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Dépenses', 'deposit_list' => 'Revenu, salaire et versements', 'transfer_list' => 'Virements', From 025f1e95023df29dbf5b497e2a06647b3ae2e96d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:27 +0200 Subject: [PATCH 061/174] New translations breadcrumbs.php (Dutch) --- resources/lang/nl_NL/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/nl_NL/breadcrumbs.php b/resources/lang/nl_NL/breadcrumbs.php index 915aae7995..5c8d3356df 100644 --- a/resources/lang/nl_NL/breadcrumbs.php +++ b/resources/lang/nl_NL/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => 'Wijzig contract ":name"', 'delete_bill' => 'Verwijder contract ":name"', 'reports' => 'Overzichten', - 'searchResult' => 'Zoeken naar ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => 'Uitgaven', 'deposit_list' => 'Inkomsten', 'transfer_list' => 'Overschrijvingen', From 4666d4bbaa7b4ac7a5f33f31883070d34831948e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:28 +0200 Subject: [PATCH 062/174] New translations breadcrumbs.php (Chinese Traditional) --- resources/lang/zh_TW/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/zh_TW/breadcrumbs.php b/resources/lang/zh_TW/breadcrumbs.php index d9fe1aac5b..a2271c14b2 100644 --- a/resources/lang/zh_TW/breadcrumbs.php +++ b/resources/lang/zh_TW/breadcrumbs.php @@ -24,7 +24,7 @@ return [ 'edit_bill' => '編輯賬單 ":name"', 'delete_bill' => '刪除賬單 ":name"', 'reports' => '報表', - 'searchResult' => '搜尋 ":query"', + 'search_result' => 'Search results for ":query"', 'withdrawal_list' => '支出', 'deposit_list' => '收入、薪金與存款', 'transfer_list' => '轉帳', From 510b72303d3a67acfbcb86f967e8b1bf642a2060 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:35 +0200 Subject: [PATCH 063/174] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index d26210d545..5a9c509fb9 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Mostrar todo', 'never' => 'Nunca', 'search_results_for' => 'Resultados de la búsqueda para %{query}', - 'advanced_search' => 'Búsqueda avanzada', - 'advanced_search_intro' => 'Hay varios modificadores que puedes utilizar en tu búsqueda para acotar los resultados. Si usas alguna de estas, la búsqueda regresará sólo las transacciones. Por favor, has clic en el -icono para obtener más información.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'El mensaje enviado al: correo electrónico no ha sido recibido, así que no hay acceso para usted.', 'deleted_error' => 'Las credenciales no coinciden con los registros.', 'general_blocked_error' => 'Tu cuenta ha sido creada. Ahora puedes iniciar sesión.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, :site_owner and ask them to reset your two factor authentication.', 'warning_much_data' => ':days days of data may take a while to load.', 'registered' => 'You have registered successfully!', - 'search' => 'Search', - 'search_found_accounts' => 'Found :count account(s) for your query.', - 'search_found_categories' => 'Found :count category(ies) for your query.', - 'search_found_budgets' => 'Found :count budget(s) for your query.', - 'search_found_tags' => 'Found :count tag(s) for your query.', - 'search_found_transactions' => 'Found :count transaction(s) for your query.', - 'results_limited' => 'The results are limited to :count entries.', 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + // search + 'search' => 'Search', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'yearly', 'repeat_freq_monthly' => 'monthly', From a8082b2b3fc0007ed571fa9404018565e410c6a4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:37 +0200 Subject: [PATCH 064/174] New translations firefly.php (Chinese Traditional) --- resources/lang/zh_TW/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/zh_TW/firefly.php b/resources/lang/zh_TW/firefly.php index be0cab5ac3..c0d87e1e22 100644 --- a/resources/lang/zh_TW/firefly.php +++ b/resources/lang/zh_TW/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => '全部顯示', 'never' => '從來沒有', 'search_results_for' => '":query" 的搜尋結果', - 'advanced_search' => 'Advanced search', - 'advanced_search_intro' => 'There are several modifiers that you can use in your search to narrow down the results. If you use any of these, the search will only return transactions. Please click the -icon for more information.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => '無法傳送電郵至 :email ,因此無法訪問。', 'deleted_error' => '帳號或密碼錯誤。', 'general_blocked_error' => '您的帳戶已被禁用,所以您不能登錄。', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => '否則,請電郵網站擁有者,:site_owner 並要求他們重置你的雙重身份驗證。', 'warning_much_data' => ':days 天的資料需要一點時間載入。', 'registered' => '您已成功註冊 !', - 'search' => '搜尋', - 'search_found_accounts' => 'Found :count account(s) for your query.', - 'search_found_categories' => 'Found :count category(ies) for your query.', - 'search_found_budgets' => 'Found :count budget(s) for your query.', - 'search_found_tags' => 'Found :count tag(s) for your query.', - 'search_found_transactions' => 'Found :count transaction(s) for your query.', - 'results_limited' => 'The results are limited to :count entries.', 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + // search + 'search' => '搜尋', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'yearly', 'repeat_freq_monthly' => '每月', From f71bc5d3239b264d3a78eb6b06741570dfdedf07 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:40 +0200 Subject: [PATCH 065/174] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 5dbff94299..2378015651 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Laat alles zien', 'never' => 'Nooit', 'search_results_for' => 'Zoekresultaten voor ":query"', - 'advanced_search' => 'Geavanceerd zoeken', - 'advanced_search_intro' => 'Er zijn een paar parameters die je in je zoekopdracht kan gebruiken om betere resultaten te krijgen. Ze werken alleen op transacties. Klik op het -icoontje om hier meer over te lezen.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'Het emailtje naar :email kwam nooit aan.', 'deleted_error' => 'Deze gegevens zijn niet correct.', 'general_blocked_error' => 'Je account is uitgeschakeld, je kan helaas niet inloggen.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Zo niet, stuur dan een e-mail naar :site_owner en vraag of ze je authenticatie in twee stappen willen resetten.', 'warning_much_data' => 'Het kan even duren voor :days dagen aan gegevens geladen zijn.', 'registered' => 'Je bent geregistreerd!', - 'search' => 'Zoeken', - 'search_found_accounts' => ':count rekening(en) gevonden bij je zoekopdracht.', - 'search_found_categories' => ':count categorie(en) gevonden bij je zoekopdracht.', - 'search_found_budgets' => ':count budget(ten) gevonden bij je zoekopdracht.', - 'search_found_tags' => ':count tag(s) gevonden bij je zoekopdracht.', - 'search_found_transactions' => ':count transactie(s) gevonden bij je zoekopdracht.', - 'results_limited' => 'Er worden maximaal :count resultaten getoond.', 'tagbalancingAct' => 'Balancerende tag', 'tagadvancePayment' => 'Vooruitbetaalde tag', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Bronbetaalrekening "@source_name" accepteert alleen overschrijvingen in @source_currency. Doelbetaalrekening "@dest_name: accepteert alleen overschrijvingen in @dest_currency. Je moet het juiste bedrag in beide valuta opgeven.', 'transaction_data' => 'Transactiegegevens', + // search + 'search' => 'Zoeken', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'jaarlijks', 'repeat_freq_monthly' => 'maandelijks', From 8d9e943d57421c4d618600330ca67c4d0356ccd2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:43 +0200 Subject: [PATCH 066/174] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 61bec613a2..e3c0597ae8 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Tout Afficher', 'never' => 'Jamais', 'search_results_for' => 'Résultats de recherche pour ":query"', - 'advanced_search' => 'Recherche avancée', - 'advanced_search_intro' => 'There are several modifiers that you can use in your search to narrow down the results. If you use any of these, the search will only return transactions. Please click the -icon for more information.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'Le message envoyé à :email a été rejeté, donc pas d\'accès pour vous.', 'deleted_error' => 'Ces informations d\'identification ne sont pas présentes dans nos données.', 'general_blocked_error' => 'Votre compte a été désactivé, vous ne pouvez plus vous connecter.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Dans le cas contraire, contactez le propriétaire du site par courriel : site_owner et demandez leur de réinitialiser votre authentification à deux facteurs.', 'warning_much_data' => ':days de données peuvent prendre un certain temps à charger.', 'registered' => 'Vous avez été enregistré avec succès !', - 'search' => 'Rechercher', - 'search_found_accounts' => 'Trouvé :count compte(s) correspondant à votre requête.', - 'search_found_categories' => 'Trouvé :count catégorie(s) correspondant à votre requête.', - 'search_found_budgets' => 'Trouvé :count budget(s) correspondant à votre requête.', - 'search_found_tags' => 'Trouvé :count mot(s)-clef(s) correspondant à votre requête.', - 'search_found_transactions' => 'Trouvé :count transaction(s) correspondant à votre requête.', - 'results_limited' => 'Les résultats sont limités à :count entrées.', 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + // search + 'search' => 'Rechercher', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'yearly', 'repeat_freq_monthly' => 'mensuel', From 6251914419909a4ee28c25ba08b4ab59557ebea2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:45 +0200 Subject: [PATCH 067/174] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index c80bec6d26..729c6fb72c 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'pokaži vse', 'never' => 'nikoli', 'search_results_for' => 'rezultati iskanja za ":query"', - 'advanced_search' => 'napredno iskanje', - 'advanced_search_intro' => 'There are several modifiers that you can use in your search to narrow down the results. If you use any of these, the search will only return transactions. Please click the -icon for more information.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'The message sent to :email bounced, so no access for you.', 'deleted_error' => 'These credentials do not match our records.', 'general_blocked_error' => 'Your account has been disabled, so you cannot login.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, :site_owner and ask them to reset your two factor authentication.', 'warning_much_data' => ':days days of data may take a while to load.', 'registered' => 'You have registered successfully!', - 'search' => 'Search', - 'search_found_accounts' => 'Found :count account(s) for your query.', - 'search_found_categories' => 'Found :count category(ies) for your query.', - 'search_found_budgets' => 'Found :count budget(s) for your query.', - 'search_found_tags' => 'Found :count tag(s) for your query.', - 'search_found_transactions' => 'Found :count transaction(s) for your query.', - 'results_limited' => 'The results are limited to :count entries.', 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Izvorni premoženjski račun "@source_name" sprejema samo transakcije v @source_currency. Ciljni premoženjski račun "@dest_name" sprejema samo transakcije v @dest_currency. Podati morate znesek v obeh valutah.', 'transaction_data' => 'Transaction data', + // search + 'search' => 'Search', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'yearly', 'repeat_freq_monthly' => 'monthly', From e24500b30658f020366627264201d24401664c9a Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:47 +0200 Subject: [PATCH 068/174] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 99f7e8778f..83d73e1f0c 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Mostrar tudo', 'never' => 'Nunca', 'search_results_for' => 'Pesquisar resultados por ":query"', - 'advanced_search' => 'Busca avançada', - 'advanced_search_intro' => 'Existem vários modificadores que você pode usar em sua busca para limitar os resultados. Se você usar qualquer um destes, a busca vai apenas transações de retorno. Por favor, clique no -ícone para obter mais informações.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'A mensagem enviado para :email ressaltado, não tem acesso para você.', 'deleted_error' => 'Estas credenciais não correspondem aos nossos registros.', 'general_blocked_error' => 'Sua conta foi desativada, você não pode entrar.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Caso contrário, o proprietário do site :site_owner e peça para redefinir a sua autenticação de duas etapas.', 'warning_much_data' => ':days dias de dados podem demorar um pouco para carregar.', 'registered' => 'Você se registrou com sucesso!', - 'search' => 'Pesquisa', - 'search_found_accounts' => 'Encontrado: contar conta (s) para sua consulta.', - 'search_found_categories' => 'Encontrado: contar categoria(s) para sua consulta.', - 'search_found_budgets' => 'Encontrado: contagem despesa(s) para a sua consulta.', - 'search_found_tags' => 'Encontrado: contar Tag (s) para sua consulta.', - 'search_found_transactions' => 'Encontrado: contagem de transação para a sua consulta.', - 'results_limited' => 'Os resultados são limitados a: contar as entradas.', 'tagbalancingAct' => 'Saldo', 'tagadvancePayment' => 'Pagamento antecipado', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + // search + 'search' => 'Pesquisa', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'anual', 'repeat_freq_monthly' => 'mensal', From 1bed8c2b08b6bd6f02b03b4cfd1c2480a1076b91 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:49 +0200 Subject: [PATCH 069/174] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index f9bc199459..acaba19ba3 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Pokaż wszystko', 'never' => 'Nigdy', 'search_results_for' => 'Wyniki wyszukiwania dla ":query"', - 'advanced_search' => 'Wyszukiwanie zaawansowane', - 'advanced_search_intro' => 'Istnieje kilka modyfikatorów, których można użyć w wyszukiwaniu, aby zawęzić wyniki. Jeśli używasz któregoś z nich, wyszukiwanie będzie zwracać tylko transakcje. Kliknij ikonę , aby uzyskać więcej informacji.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'Wiadomość wysłana na adres :email została odrzucona, więc nie ma dostępu dla Ciebie.', 'deleted_error' => 'Te poświadczenia nie zgadzają się z naszymi danymi.', 'general_blocked_error' => 'Twoje konto zostało zablokowane. Dlatego nie możesz się zalogować.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Otherwise, email the site owner, :site_owner and ask them to reset your two factor authentication.', 'warning_much_data' => 'Załadowanie :days dni danych może trochę potrwać.', 'registered' => 'Zarejestrowałeś się pomyślnie!', - 'search' => 'Szukaj', - 'search_found_accounts' => 'Znaleziono :count kont(o/a) dla twojego wyszukiwania.', - 'search_found_categories' => 'Znaleziono :count kategorii dla twojego wyszukiwania.', - 'search_found_budgets' => 'Znaleziono :count budżet(y/ów) dla twojego wyszukiwania.', - 'search_found_tags' => 'Znaleziono :count tag(i/ów) dla twojego wyszukiwania.', - 'search_found_transactions' => 'Znaleziono :count transakcji dla twojego wyszukiwania.', - 'results_limited' => 'Wyniki są ograniczone do :count wpisów.', 'tagbalancingAct' => 'Balancing act', 'tagadvancePayment' => 'Advance payment', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Dane transakcji', + // search + 'search' => 'Szukaj', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'rocznie', 'repeat_freq_monthly' => 'miesięcznie', From 3a7c5566ed10513611b39135108d8d82e87aaddb Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 17:30:52 +0200 Subject: [PATCH 070/174] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index cf20db28d4..ff0817a1ab 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -27,8 +27,7 @@ return [ 'showEverything' => 'Alles anzeigen', 'never' => 'Nie', 'search_results_for' => 'Suchergebnisse für ":query"', - 'advanced_search' => 'Erweiterte Suche', - 'advanced_search_intro' => 'Es gibt mehrere Modifikatoren, die Sie bei Ihrer Suche verwenden können, um die Ergebnisse einzugrenzen. Wenn Sie diese verwenden, wird die Suche nur Transaktionen zurückgeben. Bitte klicken Sie auf das-Symbol für weitere Informationen.', + 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', 'bounced_error' => 'Die Nachricht an :email ist nicht zustellbar, sodass Sie keinen Zugang haben.', 'deleted_error' => 'Die Zugangsdaten stimmen nicht überein.', 'general_blocked_error' => 'Ihr Benutzerkonto wurde deaktiviert, sodass Sie sich nicht anmelden können.', @@ -69,13 +68,6 @@ return [ 'two_factor_lost_fix_owner' => 'Ansonsten, mailen Sie dem Inhaber der Website, :site_owner und bitten Sie ihn, Ihre Zwei-Faktor Authentifizierung zurückzusetzen.', 'warning_much_data' => ':days Tage an Daten können eine Weile dauern zu laden.', 'registered' => 'Sie haben sich erfolgreich registriert!', - 'search' => 'Suche', - 'search_found_accounts' => ':count Account(s) für Ihre Suche gefunden.', - 'search_found_categories' => ':count Kategorie(n) für Ihre Suche gefunden.', - 'search_found_budgets' => ':count Budget(s) für Ihre Suche gefunden.', - 'search_found_tags' => ':count Tag(s) für Ihre Suche gefunden.', - 'search_found_transactions' => ':count Transaktion(en) für Ihre Suche gefunden.', - 'results_limited' => 'Es werden maximal :count Ergebnisse angezeigt.', 'tagbalancingAct' => 'Ausgleich', 'tagadvancePayment' => 'Vorauszahlung', 'tagnothing' => '', @@ -152,6 +144,15 @@ return [ 'transfer_exchange_rate_instructions' => 'Das Quellkonto "@source_name" akzeptiert nur Transaktionen in @source_currency. Das Zielkonto "@dest_name" akzeptiert nur Transaktionen in @dest_currency. Sie müssen den Betrag in beiden Währungen korrenkt angeben.', 'transaction_data' => 'Transaktionsdaten', + // search + 'search' => 'Suche', + 'search_found_transactions' => 'Number of transactions found:', + 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', + 'search_box' => 'Search', + 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', + 'search_error' => 'Error while searching', + 'search_searching' => 'Searching ...', + // repeat frequencies: 'repeat_freq_yearly' => 'Jährlich', 'repeat_freq_monthly' => 'monatlich', From 8a38ce1964692c4f892d11001fb2e8babd847a52 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 15 Jul 2017 21:40:42 +0200 Subject: [PATCH 071/174] Remove references to old tour but include code for new tour. --- app/Http/Controllers/Controller.php | 8 ++++ app/Http/Controllers/HomeController.php | 29 ++++++++++++- app/Http/Controllers/JsonController.php | 38 ----------------- app/Http/Controllers/NewUserController.php | 47 +-------------------- app/Support/Amount.php | 3 ++ public/css/bootstrap-tour.min.css | 22 ---------- public/js/ff/index.js | 23 +--------- public/js/ff/intro/intro.js | 14 +++++++ public/js/lib/bootstrap-tour.min.js | 22 ---------- public/lib/intro/intro.min.js | 49 ++++++++++++++++++++++ public/lib/intro/introjs-rtl.min.css | 1 + public/lib/intro/introjs.min.css | 1 + resources/lang/en_US/firefly.php | 21 +++------- resources/views/index.twig | 22 +++------- resources/views/json/tour.twig | 15 ------- resources/views/layout/default.twig | 22 ++++++---- resources/views/new-user/index.twig | 12 +++--- routes/web.php | 4 +- 18 files changed, 139 insertions(+), 214 deletions(-) delete mode 100755 public/css/bootstrap-tour.min.css create mode 100644 public/js/ff/intro/intro.js delete mode 100755 public/js/lib/bootstrap-tour.min.js create mode 100755 public/lib/intro/intro.min.js create mode 100755 public/lib/intro/introjs-rtl.min.css create mode 100755 public/lib/intro/introjs.min.css delete mode 100644 resources/views/json/tour.twig diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 63cbe9c975..d46c485086 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -18,6 +18,7 @@ use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; +use FireflyIII\Support\Facades\Preferences; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; @@ -25,6 +26,7 @@ use Illuminate\Routing\Controller as BaseController; use Session; use URL; use View; +use Route; /** * Class Controller @@ -63,6 +65,12 @@ class Controller extends BaseController $this->monthAndDayFormat = (string)trans('config.month_and_day'); $this->dateTimeFormat = (string)trans('config.date_time'); + // get shown-intro-preference: + $key = 'shown_demo_' . Route::currentRouteName(); + $shownDemo = Preferences::get($key, false)->data; + View::share('shownDemo', $shownDemo); + View::share('current_route_name', Route::currentRouteName()); + return $next($request); } ); diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index d52e8e18f7..6ea0eb2119 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -21,9 +21,11 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Bill\BillRepositoryInterface; use Illuminate\Http\Request; +use Illuminate\Routing\Route; use Illuminate\Support\Collection; use Log; use Preferences; +use Route as RouteFacade; use Session; use View; @@ -120,7 +122,6 @@ class HomeController extends Controller $start = session('start', Carbon::now()->startOfMonth()); /** @var Carbon $end */ $end = session('end', Carbon::now()->endOfMonth()); - $showTour = Preferences::get('tour', true)->data; $accounts = $repository->getAccountsById($frontPage->data); $showDepositsFrontpage = Preferences::get('showDepositsFrontpage', false)->data; @@ -137,10 +138,34 @@ class HomeController extends Controller } return view( - 'index', compact('count', 'showTour', 'title', 'subTitle', 'mainTitleIcon', 'transactions', 'showDepositsFrontpage', 'billCount') + 'index', compact('count', 'title', 'subTitle', 'mainTitleIcon', 'transactions', 'showDepositsFrontpage', 'billCount') ); } + public function routes() + { + $set = RouteFacade::getRoutes(); + $ignore = ['chart.','javascript.','json.','report-data.','popup.','debugbar.']; + /** @var Route $route */ + foreach ($set as $route) { + $name = $route->getName(); + if (!is_null($name) && in_array('GET', $route->methods()) && strlen($name) > 0) { + $found = false; + foreach ($ignore as $string) { + if (strpos($name, $string) !== false) { + $found = true; + } + } + if (!$found) { + echo 'touch '.$route->getName() . '.md;'; + } + + } + } + + return ' '; + } + /** * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php index bac5c2492f..378c5ebac2 100644 --- a/app/Http/Controllers/JsonController.php +++ b/app/Http/Controllers/JsonController.php @@ -237,16 +237,6 @@ class JsonController extends Controller return Response::json($return); } - /** - * @return \Illuminate\Http\JsonResponse - */ - public function endTour() - { - Preferences::set('tour', false); - - return Response::json('true'); - } - /** * Returns a JSON list of all beneficiaries. * @@ -293,34 +283,6 @@ class JsonController extends Controller } - /** - * - */ - public function tour() - { - $pref = Preferences::get('tour', true); - if (!$pref) { - throw new FireflyException('Cannot find preference for tour. Exit.'); // @codeCoverageIgnore - } - $headers = ['main-content', 'sidebar-toggle', 'account-menu', 'budget-menu', 'report-menu', 'transaction-menu', 'option-menu', 'main-content-end']; - $steps = []; - foreach ($headers as $header) { - $steps[] = [ - 'element' => '#' . $header, - 'title' => trans('help.' . $header . '-title'), - 'content' => trans('help.' . $header . '-text'), - ]; - } - $steps[0]['orphan'] = true;// orphan and backdrop for first element. - $steps[0]['backdrop'] = true; - $steps[1]['placement'] = 'left';// sidebar position left: - $steps[7]['orphan'] = true; // final in the center again. - $steps[7]['backdrop'] = true; - $template = view('json.tour')->render(); - - return Response::json(['steps' => $steps, 'template' => $template]); - } - /** * @param JournalCollectorInterface $collector * @param string $what diff --git a/app/Http/Controllers/NewUserController.php b/app/Http/Controllers/NewUserController.php index 024076c1ef..8e47d8a13b 100644 --- a/app/Http/Controllers/NewUserController.php +++ b/app/Http/Controllers/NewUserController.php @@ -54,7 +54,6 @@ class NewUserController extends Controller View::share('title', trans('firefly.welcome')); View::share('mainTitleIcon', 'fa-fire'); - $types = config('firefly.accountTypesByIdentifier.asset'); $count = $repository->count($types); @@ -74,30 +73,13 @@ class NewUserController extends Controller */ public function submit(NewUserFormRequest $request, AccountRepositoryInterface $repository) { - $count = 1; // create normal asset account: $this->createAssetAccount($request, $repository); // create savings account - $savingBalance = strval($request->get('savings_balance')) === '' ? '0' : strval($request->get('savings_balance')); - if (bccomp($savingBalance, '0') !== 0) { - $this->createSavingsAccount($request, $repository); - $count++; - } + $this->createSavingsAccount($request, $repository); - - // create credit card. - $limit = strval($request->get('credit_card_limit')) === '' ? '0' : strval($request->get('credit_card_limit')); - if (bccomp($limit, '0') !== 0) { - $this->storeCreditCard($request, $repository); - $count++; - } - $message = strval(trans('firefly.stored_new_accounts_new_user')); - if ($count === 1) { - $message = strval(trans('firefly.stored_new_account_new_user')); - } - - Session::flash('success', $message); + Session::flash('success', strval(trans('firefly.stored_new_accounts_new_user'))); Preferences::mark(); return redirect(route('index')); @@ -152,29 +134,4 @@ class NewUserController extends Controller return true; } - /** - * @param NewUserFormRequest $request - * @param AccountRepositoryInterface $repository - * - * @return bool - */ - private function storeCreditCard(NewUserFormRequest $request, AccountRepositoryInterface $repository): bool - { - $creditAccount = [ - 'name' => 'Credit card', - 'iban' => null, - 'accountType' => 'asset', - 'virtualBalance' => round($request->get('credit_card_limit'), 12), - 'active' => true, - 'accountRole' => 'ccAsset', - 'openingBalance' => null, - 'openingBalanceDate' => null, - 'openingBalanceCurrency' => intval($request->input('amount_currency_id_credit_card_limit')), - 'ccType' => 'monthlyFull', - 'ccMonthlyPaymentDate' => Carbon::now()->year . '-01-01', - ]; - $repository->store($creditAccount); - - return true; - } } diff --git a/app/Support/Amount.php b/app/Support/Amount.php index 6d68b4b455..071c3e48b6 100644 --- a/app/Support/Amount.php +++ b/app/Support/Amount.php @@ -311,6 +311,9 @@ class Amount $coloured = false; $format = '%s'; } + if($transaction->transaction_type_type === TransactionType::OPENING_BALANCE) { + $amount = strval($transaction->transaction_amount); + } $currency = new TransactionCurrency; $currency->symbol = $transaction->transaction_currency_symbol; diff --git a/public/css/bootstrap-tour.min.css b/public/css/bootstrap-tour.min.css deleted file mode 100755 index 8ebd3d3750..0000000000 --- a/public/css/bootstrap-tour.min.css +++ /dev/null @@ -1,22 +0,0 @@ -/* ======================================================================== - * bootstrap-tour - v0.10.3 - * http://bootstraptour.com - * ======================================================================== - * Copyright 2012-2015 Ulrich Sossou - * - * ======================================================================== - * Licensed under the MIT License (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://opensource.org/licenses/MIT - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== - */ - -.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background-color:#000;opacity:.8;filter:alpha(opacity=80)}.tour-step-backdrop{position:relative;z-index:1101}.tour-step-backdrop>td{position:relative;z-index:1101}.tour-step-background{position:absolute!important;z-index:1100;background:inherit;border-radius:6px}.popover[class*=tour-]{z-index:1102}.popover[class*=tour-] .popover-navigation{padding:9px 14px;overflow:hidden}.popover[class*=tour-] .popover-navigation [data-role=end]{float:right}.popover[class*=tour-] .popover-navigation [data-role=prev],.popover[class*=tour-] .popover-navigation [data-role=next],.popover[class*=tour-] .popover-navigation [data-role=end]{cursor:pointer}.popover[class*=tour-] .popover-navigation [data-role=prev].disabled,.popover[class*=tour-] .popover-navigation [data-role=next].disabled,.popover[class*=tour-] .popover-navigation [data-role=end].disabled{cursor:default}.popover[class*=tour-].orphan{position:fixed;margin-top:0}.popover[class*=tour-].orphan .arrow{display:none} \ No newline at end of file diff --git a/public/js/ff/index.js b/public/js/ff/index.js index 242768712d..58005bac67 100644 --- a/public/js/ff/index.js +++ b/public/js/ff/index.js @@ -8,36 +8,15 @@ * See the LICENSE file for details. */ -/** global: Tour, showTour, accountFrontpageUri, token, billCount, accountExpenseUri, accountRevenueUri */ +/** global: accountFrontpageUri, token, billCount, accountExpenseUri, accountRevenueUri */ $(function () { "use strict"; // do chart JS stuff. drawChart(); - if (showTour === true) { - $.getJSON('json/tour').done(function (data) { - var tour = new Tour( - { - steps: data.steps, - template: data.template, - onEnd: endTheTour - }); - // Initialize the tour - tour.init(); - // Start the tour - tour.start(); - }); - } - }); -function endTheTour() { - "use strict"; - $.post('json/end-tour', {_token: token}); - -} - function drawChart() { "use strict"; lineChart(accountFrontpageUri, 'accounts-chart'); diff --git a/public/js/ff/intro/intro.js b/public/js/ff/intro/intro.js new file mode 100644 index 0000000000..42a2ef7cb6 --- /dev/null +++ b/public/js/ff/intro/intro.js @@ -0,0 +1,14 @@ +/* + * intro.js + * Copyright (c) 2017 thegrumpydictator@gmail.com + * This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License. + * + * See the LICENSE file for details. + */ + +/** global: route_for_tour */ + +$(function () { + "use strict"; + alert('show user intro for ' + route_for_tour); +}); \ No newline at end of file diff --git a/public/js/lib/bootstrap-tour.min.js b/public/js/lib/bootstrap-tour.min.js deleted file mode 100755 index a481cecfb4..0000000000 --- a/public/js/lib/bootstrap-tour.min.js +++ /dev/null @@ -1,22 +0,0 @@ -/* ======================================================================== - * bootstrap-tour - v0.10.3 - * http://bootstraptour.com - * ======================================================================== - * Copyright 2012-2015 Ulrich Sossou - * - * ======================================================================== - * Licensed under the MIT License (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://opensource.org/licenses/MIT - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== - */ - -!function(t,e){return"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.Tour=e(o)}):"object"==typeof exports?module.exports=e(require("jQuery")):t.Tour=e(t.jQuery)}(window,function(t){var e,o;return o=window.document,e=function(){function e(e){var o;try{o=window.localStorage}catch(n){o=!1}this._options=t.extend({name:"tour",steps:[],container:"body",autoscroll:!0,keyboard:!0,storage:o,debug:!1,backdrop:!1,backdropContainer:"body",backdropPadding:0,redirect:!0,orphan:!1,duration:!1,delay:!1,basePath:"",template:'',afterSetState:function(){},afterGetState:function(){},afterRemoveState:function(){},onStart:function(){},onEnd:function(){},onShow:function(){},onShown:function(){},onHide:function(){},onHidden:function(){},onNext:function(){},onPrev:function(){},onPause:function(){},onResume:function(){},onRedirectError:function(){}},e),this._force=!1,this._inited=!1,this._current=null,this.backdrop={overlay:null,$element:null,$background:null,backgroundShown:!1,overlayElementShown:!1}}return e.prototype.addSteps=function(t){var e,o,n;for(o=0,n=t.length;n>o;o++)e=t[o],this.addStep(e);return this},e.prototype.addStep=function(t){return this._options.steps.push(t),this},e.prototype.getStep=function(e){return null!=this._options.steps[e]?t.extend({id:"step-"+e,path:"",host:"",placement:"right",title:"",content:"

",next:e===this._options.steps.length-1?-1:e+1,prev:e-1,animation:!0,container:this._options.container,autoscroll:this._options.autoscroll,backdrop:this._options.backdrop,backdropContainer:this._options.backdropContainer,backdropPadding:this._options.backdropPadding,redirect:this._options.redirect,reflexElement:this._options.steps[e].element,backdropElement:this._options.steps[e].element,orphan:this._options.orphan,duration:this._options.duration,delay:this._options.delay,template:this._options.template,onShow:this._options.onShow,onShown:this._options.onShown,onHide:this._options.onHide,onHidden:this._options.onHidden,onNext:this._options.onNext,onPrev:this._options.onPrev,onPause:this._options.onPause,onResume:this._options.onResume,onRedirectError:this._options.onRedirectError},this._options.steps[e]):void 0},e.prototype.init=function(t){return this._force=t,this.ended()?(this._debug("Tour ended, init prevented."),this):(this.setCurrentStep(),this._initMouseNavigation(),this._initKeyboardNavigation(),this._onResize(function(t){return function(){return t.showStep(t._current)}}(this)),null!==this._current&&this.showStep(this._current),this._inited=!0,this)},e.prototype.start=function(t){var e;return null==t&&(t=!1),this._inited||this.init(t),null===this._current&&(e=this._makePromise(null!=this._options.onStart?this._options.onStart(this):void 0),this._callOnPromiseDone(e,this.showStep,0)),this},e.prototype.next=function(){var t;return t=this.hideStep(this._current,this._current+1),this._callOnPromiseDone(t,this._showNextStep)},e.prototype.prev=function(){var t;return t=this.hideStep(this._current,this._current-1),this._callOnPromiseDone(t,this._showPrevStep)},e.prototype.goTo=function(t){var e;return e=this.hideStep(this._current,t),this._callOnPromiseDone(e,this.showStep,t)},e.prototype.end=function(){var e,n;return e=function(e){return function(){return t(o).off("click.tour-"+e._options.name),t(o).off("keyup.tour-"+e._options.name),t(window).off("resize.tour-"+e._options.name),e._setState("end","yes"),e._inited=!1,e._force=!1,e._clearTimer(),null!=e._options.onEnd?e._options.onEnd(e):void 0}}(this),n=this.hideStep(this._current),this._callOnPromiseDone(n,e)},e.prototype.ended=function(){return!this._force&&!!this._getState("end")},e.prototype.restart=function(){return this._removeState("current_step"),this._removeState("end"),this._removeState("redirect_to"),this.start()},e.prototype.pause=function(){var t;return t=this.getStep(this._current),t&&t.duration?(this._paused=!0,this._duration-=(new Date).getTime()-this._start,window.clearTimeout(this._timer),this._debug("Paused/Stopped step "+(this._current+1)+" timer ("+this._duration+" remaining)."),null!=t.onPause?t.onPause(this,this._duration):void 0):this},e.prototype.resume=function(){var t;return t=this.getStep(this._current),t&&t.duration?(this._paused=!1,this._start=(new Date).getTime(),this._duration=this._duration||t.duration,this._timer=window.setTimeout(function(t){return function(){return t._isLast()?t.next():t.end()}}(this),this._duration),this._debug("Started step "+(this._current+1)+" timer with duration "+this._duration),null!=t.onResume&&this._duration!==t.duration?t.onResume(this,this._duration):void 0):this},e.prototype.hideStep=function(e,o){var n,r,i,s;return(s=this.getStep(e))?(this._clearTimer(),i=this._makePromise(null!=s.onHide?s.onHide(this,e):void 0),r=function(n){return function(){var r,i;return r=t(s.element),r.data("bs.popover")||r.data("popover")||(r=t("body")),r.popover("destroy").removeClass("tour-"+n._options.name+"-element tour-"+n._options.name+"-"+e+"-element").removeData("bs.popover").focus(),s.reflex&&t(s.reflexElement).removeClass("tour-step-element-reflex").off(""+n._reflexEvent(s.reflex)+".tour-"+n._options.name),s.backdrop&&(i=null!=o&&n.getStep(o),i&&i.backdrop&&i.backdropElement===s.backdropElement||n._hideBackdrop()),null!=s.onHidden?s.onHidden(n):void 0}}(this),n=s.delay.hide||s.delay,"[object Number]"==={}.toString.call(n)&&n>0?(this._debug("Wait "+n+" milliseconds to hide the step "+(this._current+1)),window.setTimeout(function(t){return function(){return t._callOnPromiseDone(i,r)}}(this),n)):this._callOnPromiseDone(i,r),i):void 0},e.prototype.showStep=function(t){var e,n,r,i,s,a;return this.ended()?(this._debug("Tour ended, showStep prevented."),this):(a=this.getStep(t),a&&(s=t0?(this._debug("Wait "+r+" milliseconds to show the step "+(this._current+1)),window.setTimeout(function(t){return function(){return t._callOnPromiseDone(n,i)}}(this),r)):this._callOnPromiseDone(n,i),n):void 0)},e.prototype.getCurrentStep=function(){return this._current},e.prototype.setCurrentStep=function(t){return null!=t?(this._current=t,this._setState("current_step",t)):(this._current=this._getState("current_step"),this._current=null===this._current?null:parseInt(this._current,10)),this},e.prototype.redraw=function(){return this._showOverlayElement(this.getStep(this.getCurrentStep()).element,!0)},e.prototype._setState=function(t,e){var o,n;if(this._options.storage){n=""+this._options.name+"_"+t;try{this._options.storage.setItem(n,e)}catch(r){o=r,o.code===DOMException.QUOTA_EXCEEDED_ERR&&this._debug("LocalStorage quota exceeded. State storage failed.")}return this._options.afterSetState(n,e)}return null==this._state&&(this._state={}),this._state[t]=e},e.prototype._removeState=function(t){var e;return this._options.storage?(e=""+this._options.name+"_"+t,this._options.storage.removeItem(e),this._options.afterRemoveState(e)):null!=this._state?delete this._state[t]:void 0},e.prototype._getState=function(t){var e,o;return this._options.storage?(e=""+this._options.name+"_"+t,o=this._options.storage.getItem(e)):null!=this._state&&(o=this._state[t]),(void 0===o||"null"===o)&&(o=null),this._options.afterGetState(t,o),o},e.prototype._showNextStep=function(){var t,e,o;return o=this.getStep(this._current),e=function(t){return function(){return t.showStep(o.next)}}(this),t=this._makePromise(null!=o.onNext?o.onNext(this):void 0),this._callOnPromiseDone(t,e)},e.prototype._showPrevStep=function(){var t,e,o;return o=this.getStep(this._current),e=function(t){return function(){return t.showStep(o.prev)}}(this),t=this._makePromise(null!=o.onPrev?o.onPrev(this):void 0),this._callOnPromiseDone(t,e)},e.prototype._debug=function(t){return this._options.debug?window.console.log("Bootstrap Tour '"+this._options.name+"' | "+t):void 0},e.prototype._isRedirect=function(t,e,o){var n;return null!=t&&""!==t&&("[object RegExp]"==={}.toString.call(t)&&!t.test(o.origin)||"[object String]"==={}.toString.call(t)&&this._isHostDifferent(t,o))?!0:(n=[o.pathname,o.search,o.hash].join(""),null!=e&&""!==e&&("[object RegExp]"==={}.toString.call(e)&&!e.test(n)||"[object String]"==={}.toString.call(e)&&this._isPathDifferent(e,n)))},e.prototype._isHostDifferent=function(t,e){switch({}.toString.call(t)){case"[object RegExp]":return!t.test(e.origin);case"[object String]":return this._getProtocol(t)!==this._getProtocol(e.href)||this._getHost(t)!==this._getHost(e.href);default:return!0}},e.prototype._isPathDifferent=function(t,e){return this._getPath(t)!==this._getPath(e)||!this._equal(this._getQuery(t),this._getQuery(e))||!this._equal(this._getHash(t),this._getHash(e))},e.prototype._isJustPathHashDifferent=function(t,e,o){var n;return null!=t&&""!==t&&this._isHostDifferent(t,o)?!1:(n=[o.pathname,o.search,o.hash].join(""),"[object String]"==={}.toString.call(e)?this._getPath(e)===this._getPath(n)&&this._equal(this._getQuery(e),this._getQuery(n))&&!this._equal(this._getHash(e),this._getHash(n)):!1)},e.prototype._redirect=function(e,n,r){var i;return t.isFunction(e.redirect)?e.redirect.call(this,r):(i="[object String]"==={}.toString.call(e.host)?""+e.host+r:r,this._debug("Redirect to "+i),this._getState("redirect_to")!==""+n?(this._setState("redirect_to",""+n),o.location.href=i):(this._debug("Error redirection loop to "+r),this._removeState("redirect_to"),null!=e.onRedirectError?e.onRedirectError(this):void 0))},e.prototype._isOrphan=function(e){return null==e.element||!t(e.element).length||t(e.element).is(":hidden")&&"http://www.w3.org/2000/svg"!==t(e.element)[0].namespaceURI},e.prototype._isLast=function(){return this._current").parent().html()},e.prototype._reflexEvent=function(t){return"[object Boolean]"==={}.toString.call(t)?"click":t},e.prototype._focus=function(t,e,o){var n,r;return r=o?"end":"next",n=t.find("[data-role='"+r+"']"),e.on("shown.bs.popover",function(){return n.focus()})},e.prototype._reposition=function(e,n){var r,i,s,a,u,p,h;if(a=e[0].offsetWidth,i=e[0].offsetHeight,h=e.offset(),u=h.left,p=h.top,r=t(o).outerHeight()-h.top-e.outerHeight(),0>r&&(h.top=h.top+r),s=t("html").outerWidth()-h.left-e.outerWidth(),0>s&&(h.left=h.left+s),h.top<0&&(h.top=0),h.left<0&&(h.left=0),e.offset(h),"bottom"===n.placement||"top"===n.placement){if(u!==h.left)return this._replaceArrow(e,2*(h.left-u),a,"left")}else if(p!==h.top)return this._replaceArrow(e,2*(h.top-p),i,"top")},e.prototype._center=function(e){return e.css("top",t(window).outerHeight()/2-e.outerHeight()/2)},e.prototype._replaceArrow=function(t,e,o,n){return t.find(".arrow").css(n,e?50*(1-e/o)+"%":"")},e.prototype._scrollIntoView=function(e,o){var n,r,i,s,a,u,p;if(n=t(e.element),!n.length)return o();switch(r=t(window),a=n.offset().top,s=n.outerHeight(),p=r.height(),u=0,e.placement){case"top":u=Math.max(0,a-p/2);break;case"left":case"right":u=Math.max(0,a+s/2-p/2);break;case"bottom":u=Math.max(0,a+s-p/2)}return this._debug("Scroll into view. ScrollTop: "+u+". Element offset: "+a+". Window height: "+p+"."),i=0,t("body, html").stop(!0,!0).animate({scrollTop:Math.ceil(u)},function(t){return function(){return 2===++i?(o(),t._debug("Scroll into view.\nAnimation end element offset: "+n.offset().top+".\nWindow height: "+r.height()+".")):void 0}}(this))},e.prototype._onResize=function(e,o){return t(window).on("resize.tour-"+this._options.name,function(){return clearTimeout(o),o=setTimeout(e,100)})},e.prototype._initMouseNavigation=function(){var e;return e=this,t(o).off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']").on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']",function(t){return function(e){return e.preventDefault(),t.next()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']",function(t){return function(e){return e.preventDefault(),t._current>0?t.prev():void 0}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']",function(t){return function(e){return e.preventDefault(),t.end()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']",function(o){var n;return o.preventDefault(),n=t(this),n.text(e._paused?n.data("pause-text"):n.data("resume-text")),e._paused?e.resume():e.pause()})},e.prototype._initKeyboardNavigation=function(){return this._options.keyboard?t(o).on("keyup.tour-"+this._options.name,function(t){return function(e){if(e.which)switch(e.which){case 39:return e.preventDefault(),t._isLast()?t.next():t.end();case 37:if(e.preventDefault(),t._current>0)return t.prev()}}}(this)):void 0},e.prototype._makePromise=function(e){return e&&t.isFunction(e.then)?e:null},e.prototype._callOnPromiseDone=function(t,e,o){return t?t.then(function(t){return function(){return e.call(t,o)}}(this)):e.call(this,o)},e.prototype._showBackdrop=function(e){return this.backdrop.backgroundShown?void 0:(this.backdrop=t("
",{"class":"tour-backdrop"}),this.backdrop.backgroundShown=!0,t(e.backdropContainer).append(this.backdrop))},e.prototype._hideBackdrop=function(){return this._hideOverlayElement(),this._hideBackground()},e.prototype._hideBackground=function(){return this.backdrop&&this.backdrop.remove?(this.backdrop.remove(),this.backdrop.overlay=null,this.backdrop.backgroundShown=!1):void 0},e.prototype._showOverlayElement=function(e,o){var n,r,i;return r=t(e.element),n=t(e.backdropElement),!r||0===r.length||this.backdrop.overlayElementShown&&!o?void 0:(this.backdrop.overlayElementShown||(this.backdrop.$element=n.addClass("tour-step-backdrop"),this.backdrop.$background=t("
",{"class":"tour-step-background"}),this.backdrop.$background.appendTo(e.backdropContainer),this.backdrop.overlayElementShown=!0),i={width:n.innerWidth(),height:n.innerHeight(),offset:n.offset()},e.backdropPadding&&(i=this._applyBackdropPadding(e.backdropPadding,i)),this.backdrop.$background.width(i.width).height(i.height).offset(i.offset))},e.prototype._hideOverlayElement=function(){return this.backdrop.overlayElementShown?(this.backdrop.$element.removeClass("tour-step-backdrop"),this.backdrop.$background.remove(),this.backdrop.$element=null,this.backdrop.$background=null,this.backdrop.overlayElementShown=!1):void 0},e.prototype._applyBackdropPadding=function(t,e){return"object"==typeof t?(null==t.top&&(t.top=0),null==t.right&&(t.right=0),null==t.bottom&&(t.bottom=0),null==t.left&&(t.left=0),e.offset.top=e.offset.top-t.top,e.offset.left=e.offset.left-t.left,e.width=e.width+t.left+t.right,e.height=e.height+t.top+t.bottom):(e.offset.top=e.offset.top-t,e.offset.left=e.offset.left-t,e.width=e.width+2*t,e.height=e.height+2*t),e},e.prototype._clearTimer=function(){return window.clearTimeout(this._timer),this._timer=null,this._duration=null},e.prototype._getProtocol=function(t){return t=t.split("://"),t.length>1?t[0]:"http"},e.prototype._getHost=function(t){return t=t.split("//"),t=t.length>1?t[1]:t[0],t.split("/")[0]},e.prototype._getPath=function(t){return t.replace(/\/?$/,"").split("?")[0].split("#")[0]},e.prototype._getQuery=function(t){return this._getParams(t,"?")},e.prototype._getHash=function(t){return this._getParams(t,"#")},e.prototype._getParams=function(t,e){var o,n,r,i,s;if(n=t.split(e),1===n.length)return{};for(n=n[1].split("&"),r={},i=0,s=n.length;s>i;i++)o=n[i],o=o.split("="),r[o[0]]=o[1]||"";return r},e.prototype._equal=function(t,e){var o,n,r,i,s,a;if("[object Object]"==={}.toString.call(t)&&"[object Object]"==={}.toString.call(e)){if(n=Object.keys(t),r=Object.keys(e),n.length!==r.length)return!1;for(o in t)if(i=t[o],!this._equal(e[o],i))return!1;return!0}if("[object Array]"==={}.toString.call(t)&&"[object Array]"==={}.toString.call(e)){if(t.length!==e.length)return!1;for(o=s=0,a=t.length;a>s;o=++s)if(i=t[o],!this._equal(i,e[o]))return!1;return!0}return t===e},e}()}); \ No newline at end of file diff --git a/public/lib/intro/intro.min.js b/public/lib/intro/intro.min.js new file mode 100755 index 0000000000..875a703104 --- /dev/null +++ b/public/lib/intro/intro.min.js @@ -0,0 +1,49 @@ +(function(C,n){"object"===typeof exports?n(exports):"function"===typeof define&&define.amd?define(["exports"],n):n(C)})(this,function(C){function n(a){this._targetElement=a;this._introItems=[];this._options={nextLabel:"Next →",prevLabel:"← Back",skipLabel:"Skip",doneLabel:"Done",hidePrev:!1,hideNext:!1,tooltipPosition:"bottom",tooltipClass:"",highlightClass:"",exitOnEsc:!0,exitOnOverlayClick:!0,showStepNumbers:!0,keyboardNavigation:!0,showButtons:!0,showBullets:!0,showProgress:!1,scrollToElement:!0, +overlayOpacity:0.8,scrollPadding:30,positionPrecedence:["bottom","top","right","left"],disableInteraction:!1,hintPosition:"top-middle",hintButtonLabel:"Got it",hintAnimation:!0}}function V(a){var b=[],c=this;if(this._options.steps)for(var d=0,e=this._options.steps.length;de.length)return!1;d=0;for(f=e.length;dk.width||0>h.left+h.width/2-m?(s(g,"bottom"),s(g,"top")):(h.height+h.top+w>k.height&&s(g,"bottom"),0>h.top-w&&s(g,"top"));h.width+h.left+m>k.width&&s(g,"right");0>h.left-m&&s(g,"left");0g.height?(c.className="introjs-arrow left-bottom",b.style.top="-"+(a.height-f.height-20)+"px"):c.className="introjs-arrow left";break;case "left":e||!0!=this._options.showStepNumbers||(b.style.top="15px");f.top+a.height>g.height?(b.style.top="-"+(a.height-f.height-20)+"px", +c.className="introjs-arrow right-bottom"):c.className="introjs-arrow right";b.style.right=f.width+20+"px";break;case "floating":c.style.display="none";b.style.left="50%";b.style.top="50%";b.style.marginLeft="-"+a.width/2+"px";b.style.marginTop="-"+a.height/2+"px";"undefined"!=typeof d&&null!=d&&(d.style.left="-"+(a.width/2+18)+"px",d.style.top="-"+(a.height/2+18)+"px");break;case "bottom-right-aligned":c.className="introjs-arrow top-right";P(f,0,a,b);b.style.top=f.height+20+"px";break;case "bottom-middle-aligned":c.className= +"introjs-arrow top-middle";c=f.width/2-a.width/2;e&&(c+=5);P(f,c,a,b)&&(b.style.right=null,H(f,c,a,g,b));b.style.top=f.height+20+"px";break;default:c.className="introjs-arrow top",H(f,0,a,g,b),b.style.top=f.height+20+"px"}}}function H(a,b,c,d,e){if(a.left+b+c.width>d.width)return e.style.left=d.width-c.width-a.left+"px",!1;e.style.left=b+"px";return!0}function P(a,b,c,d){if(0>a.left+a.width-b-c.width)return d.style.left=-a.left+"px",!1;d.style.right=b+"px";return!0}function s(a,b){-1 a.active").className="",d.querySelector('.introjs-bullets li > a[data-stepnumber="'+a.step+'"]').className="active");d.querySelector(".introjs-progress .introjs-progressbar").setAttribute("style","width:"+Q.call(b)+"%;");w.style.opacity=1;f&&(f.style.opacity=1);-1===l.tabIndex?m.focus():l.focus()},350)}else{var n=document.createElement("div"),h=document.createElement("div"),c=document.createElement("div"),q=document.createElement("div"),r=document.createElement("div"), +s=document.createElement("div"),v=document.createElement("div"),A=document.createElement("div");n.className=e;h.className="introjs-tooltipReferenceLayer";t.call(b,n);t.call(b,h);this._targetElement.appendChild(n);this._targetElement.appendChild(h);c.className="introjs-arrow";r.className="introjs-tooltiptext";r.innerHTML=a.intro;s.className="introjs-bullets";!1===this._options.showBullets&&(s.style.display="none");for(var n=document.createElement("ul"),e=0,C=this._introItems.length;ec||a.element.clientHeight>p?window.scrollBy(0,c-this._options.scrollPadding):window.scrollBy(0,q+70+this._options.scrollPadding));"undefined"!==typeof this._introAfterChangeCallback&&this._introAfterChangeCallback.call(this,a.element)}function O(){for(var a=document.querySelectorAll(".introjs-showElement"), +b=0,c=a.length;bc||"none"!==d&&void 0!==d)b.className+=" introjs-fixParent";b=b.parentNode}}function J(a, +b){if(a instanceof SVGElement){var c=a.getAttribute("class")||"";a.setAttribute("class",c+" "+b)}else a.className+=" "+b}function r(a,b){var c="";a.currentStyle?c=a.currentStyle[b]:document.defaultView&&document.defaultView.getComputedStyle&&(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b));return c&&c.toLowerCase?c.toLowerCase():c}function I(a){var b=a.parentNode;return b&&"HTML"!==b.nodeName?"fixed"==r(a,"position")?!0:I(b):!1}function G(){if(void 0!=window.innerWidth)return{width:window.innerWidth, +height:window.innerHeight};var a=document.documentElement;return{width:a.clientWidth,height:a.clientHeight}}function Z(a){a=a.getBoundingClientRect();return 0<=a.top&&0<=a.left&&a.bottom+80<=window.innerHeight&&a.right<=window.innerWidth}function W(a){var b=document.createElement("div"),c="",d=this;b.className="introjs-overlay";if(a.tagName&&"body"!==a.tagName.toLowerCase()){var e=u(a);e&&(c+="width: "+e.width+"px; height:"+e.height+"px; top:"+e.top+"px;left: "+e.left+"px;",b.setAttribute("style", +c))}else c+="top: 0;bottom: 0; left: 0;right: 0;position: fixed;",b.setAttribute("style",c);a.appendChild(b);b.onclick=function(){!0==d._options.exitOnOverlayClick&&z.call(d,a)};setTimeout(function(){c+="opacity: "+d._options.overlayOpacity.toString()+";";b.setAttribute("style",c)},10);return!0}function v(){var a=this._targetElement.querySelector(".introjs-hintReference");if(a){var b=a.getAttribute("data-step");a.parentNode.removeChild(a);return b}}function R(a){this._introItems=[];if(this._options.hints){a= +0;for(var b=this._options.hints.length;ac.length)return!1;a=0;for(b=c.length;atd,tr.introjs-showElement>th{z-index:9999999!important}.introjs-disableInteraction{z-index:99999999!important;position:absolute;background-color:white;opacity:0;filter:alpha(opacity=0)}.introjs-relativePosition,tr.introjs-showElement>td,tr.introjs-showElement>th{position:relative}.introjs-helperLayer{box-sizing:content-box;position:absolute;z-index:9999998;background-color:#FFF;background-color:rgba(255,255,255,.9);border:1px solid #777;border:1px solid rgba(0,0,0,.5);border-radius:4px;box-shadow:0 2px 15px rgba(0,0,0,.4);-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.introjs-tooltipReferenceLayer{box-sizing:content-box;position:absolute;visibility:hidden;z-index:10000000;background-color:transparent;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.introjs-helperLayer *,.introjs-helperLayer *:before,.introjs-helperLayer *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;-ms-box-sizing:content-box;-o-box-sizing:content-box;box-sizing:content-box}.introjs-helperNumberLayer{box-sizing:content-box;position:absolute;visibility:visible;top:-16px;left:-16px;z-index:9999999999!important;padding:2px;font-family:Arial,verdana,tahoma;font-size:13px;font-weight:bold;color:white;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.3);background:#ff3019;background:-webkit-linear-gradient(top,#ff3019 0,#cf0404 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ff3019),color-stop(100%,#cf0404));background:-moz-linear-gradient(top,#ff3019 0,#cf0404 100%);background:-ms-linear-gradient(top,#ff3019 0,#cf0404 100%);background:-o-linear-gradient(top,#ff3019 0,#cf0404 100%);background:linear-gradient(to bottom,#ff3019 0,#cf0404 100%);width:20px;height:20px;line-height:20px;border:3px solid white;border-radius:50%;filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3019', endColorstr='#cf0404', GradientType=0)";filter:"progid:DXImageTransform.Microsoft.Shadow(direction=135, strength=2, color=ff0000)";box-shadow:0 2px 5px rgba(0,0,0,.4)}.introjs-arrow{border:5px solid white;content:'';position:absolute}.introjs-arrow.top{top:-10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:white;border-left-color:transparent}.introjs-arrow.top-right{top:-10px;right:10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:white;border-left-color:transparent}.introjs-arrow.top-middle{top:-10px;left:50%;margin-left:-5px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:white;border-left-color:transparent}.introjs-arrow.right{right:-10px;top:10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:white}.introjs-arrow.right-bottom{bottom:10px;right:-10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:white}.introjs-arrow.bottom{bottom:-10px;border-top-color:white;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.introjs-arrow.left{left:-10px;top:10px;border-top-color:transparent;border-right-color:white;border-bottom-color:transparent;border-left-color:transparent}.introjs-arrow.left-bottom{left:-10px;bottom:10px;border-top-color:transparent;border-right-color:white;border-bottom-color:transparent;border-left-color:transparent}.introjs-tooltip{box-sizing:content-box;position:absolute;visibility:visible;padding:10px;background-color:white;min-width:200px;max-width:300px;border-radius:3px;box-shadow:0 1px 10px rgba(0,0,0,.4);-webkit-transition:opacity .1s ease-out;-moz-transition:opacity .1s ease-out;-ms-transition:opacity .1s ease-out;-o-transition:opacity .1s ease-out;transition:opacity .1s ease-out}.introjs-tooltipbuttons{text-align:right;white-space:nowrap}.introjs-button{box-sizing:content-box;position:relative;overflow:visible;display:inline-block;padding:.3em .8em;border:1px solid #d4d4d4;margin:0;text-decoration:none;text-shadow:1px 1px 0 #fff;font:11px/normal sans-serif;color:#333;white-space:nowrap;cursor:pointer;outline:0;background-color:#ececec;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f4f4f4),to(#ececec));background-image:-moz-linear-gradient(#f4f4f4,#ececec);background-image:-o-linear-gradient(#f4f4f4,#ececec);background-image:linear-gradient(#f4f4f4,#ececec);-webkit-background-clip:padding;-moz-background-clip:padding;-o-background-clip:padding-box;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em;zoom:1;*display:inline;margin-top:10px}.introjs-button:hover{border-color:#bcbcbc;text-decoration:none;box-shadow:0 1px 1px #e3e3e3}.introjs-button:focus,.introjs-button:active{background-image:-webkit-gradient(linear,0 0,0 100%,from(#ececec),to(#f4f4f4));background-image:-moz-linear-gradient(#ececec,#f4f4f4);background-image:-o-linear-gradient(#ececec,#f4f4f4);background-image:linear-gradient(#ececec,#f4f4f4)}.introjs-button::-moz-focus-inner{padding:0;border:0}.introjs-skipbutton{box-sizing:content-box;margin-right:5px;color:#7a7a7a}.introjs-prevbutton{-webkit-border-radius:.2em 0 0 .2em;-moz-border-radius:.2em 0 0 .2em;border-radius:.2em 0 0 .2em;border-right:0}.introjs-prevbutton.introjs-fullbutton{border:1px solid #d4d4d4;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em}.introjs-nextbutton{-webkit-border-radius:0 .2em .2em 0;-moz-border-radius:0 .2em .2em 0;border-radius:0 .2em .2em 0}.introjs-nextbutton.introjs-fullbutton{-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em}.introjs-disabled,.introjs-disabled:hover,.introjs-disabled:focus{color:#9a9a9a;border-color:#d4d4d4;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-hidden{display:none}.introjs-bullets{text-align:center}.introjs-bullets ul{box-sizing:content-box;clear:both;margin:15px auto 0;padding:0;display:inline-block}.introjs-bullets ul li{box-sizing:content-box;list-style:none;float:left;margin:0 2px}.introjs-bullets ul li a{box-sizing:content-box;display:block;width:6px;height:6px;background:#ccc;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;text-decoration:none;cursor:pointer}.introjs-bullets ul li a:hover{background:#999}.introjs-bullets ul li a.active{background:#999}.introjs-progress{box-sizing:content-box;overflow:hidden;height:10px;margin:10px 0 5px 0;border-radius:4px;background-color:#ecf0f1}.introjs-progressbar{box-sizing:content-box;float:left;width:0;height:100%;font-size:10px;line-height:10px;text-align:center;background-color:#08c}.introjsFloatingElement{position:absolute;height:0;width:0;left:50%;top:50%}.introjs-fixedTooltip{position:fixed}.introjs-hint{box-sizing:content-box;position:absolute;background:transparent;width:20px;height:15px;cursor:pointer}.introjs-hint:focus{border:0;outline:0}.introjs-hidehint{display:none}.introjs-fixedhint{position:fixed}.introjs-hint:hover>.introjs-hint-pulse{border:5px solid rgba(60,60,60,0.57)}.introjs-hint-pulse{box-sizing:content-box;width:10px;height:10px;border:5px solid rgba(60,60,60,0.27);-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px;background-color:rgba(136,136,136,0.24);z-index:10;position:absolute;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-ms-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out}.introjs-hint-no-anim .introjs-hint-dot{-webkit-animation:none;-moz-animation:none;animation:none}.introjs-hint-dot{box-sizing:content-box;border:10px solid rgba(146,146,146,0.36);background:transparent;-webkit-border-radius:60px;-moz-border-radius:60px;border-radius:60px;height:50px;width:50px;-webkit-animation:introjspulse 3s ease-out;-moz-animation:introjspulse 3s ease-out;animation:introjspulse 3s ease-out;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;animation-iteration-count:infinite;position:absolute;top:-25px;left:-25px;z-index:1;opacity:0}@-moz-keyframes introjspulse{0%{-moz-transform:scale(0);opacity:.0}25%{-moz-transform:scale(0);opacity:.1}50%{-moz-transform:scale(0.1);opacity:.3}75%{-moz-transform:scale(0.5);opacity:.5}100%{-moz-transform:scale(1);opacity:.0}}@-webkit-keyframes introjspulse{0%{-webkit-transform:scale(0);opacity:.0}25%{-webkit-transform:scale(0);opacity:.1}50%{-webkit-transform:scale(0.1);opacity:.3}75%{-webkit-transform:scale(0.5);opacity:.5}100%{-webkit-transform:scale(1);opacity:.0}} \ No newline at end of file diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index db7c42e92b..95b3bec834 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -427,12 +427,6 @@ return [ 'attachment_updated' => 'Updated attachment ":name"', 'upload_max_file_size' => 'Maximum file size: :size', - // tour: - 'prev' => 'Prev', - 'next' => 'Next', - 'end-tour' => 'End tour', - 'pause' => 'Pause', - // transaction index 'title_expenses' => 'Expenses', 'title_withdrawal' => 'Expenses', @@ -500,15 +494,6 @@ return [ 'make_default_currency' => 'make default', 'default_currency' => 'default', - // new user: - 'submit' => 'Submit', - 'getting_started' => 'Getting started', - 'to_get_started' => 'To get started with Firefly, please enter your current bank\'s name, and the balance of your checking account:', - 'savings_balance_text' => 'If you have a savings account, please enter the current balance of your savings account:', - 'cc_balance_text' => 'If you have a credit card, please enter your credit card\'s limit.', - 'stored_new_account_new_user' => 'Yay! Your new account has been stored.', - 'stored_new_accounts_new_user' => 'Yay! Your new accounts have been stored.', - // forms: 'mandatoryFields' => 'Mandatory fields', 'optionalFields' => 'Optional fields', @@ -644,6 +629,12 @@ return [ // new user: 'welcome' => 'Welcome to Firefly!', + 'submit' => 'Submit', + 'getting_started' => 'Getting started', + 'to_get_started' => 'It is good to see you have successfully installed Firefly III. To get started with this tool please enter your bank\'s name and the balance of your main checking account. Do not worry yet if you have multiple accounts. You can add those later. It\'s just that Firefly III needs something to start with.', + 'savings_balance_text' => 'Firefly III will automatically create a savings account for you. By default, there will be no money in your savings account, but if you tell Firefly III the balance it will be stored as such.', + 'finish_up_new_user' => 'That\'s it! You can continue by pressing Submit. You will be taken to the index of Firefly III.', + 'stored_new_accounts_new_user' => 'Yay! Your new accounts have been stored.', // home page: 'yourAccounts' => 'Your accounts', diff --git a/resources/views/index.twig b/resources/views/index.twig index 6cd8914de2..fe9f935511 100644 --- a/resources/views/index.twig +++ b/resources/views/index.twig @@ -4,10 +4,6 @@ {{ Breadcrumbs.renderIfExists }} {% endblock %} {% block content %} - - - - {% include 'partials.boxes' %}
@@ -31,7 +27,7 @@
- + {# CATEGORIES #}

{{ 'categories'|_ }}

@@ -44,7 +40,7 @@
{% if billCount > 0 %} - + {# BILLS #}

{{ 'bills'|_ }}

@@ -59,13 +55,12 @@
{% endif %} - + {# TRANSACTIONS #} {% for data in transactions %}

{{ data[1].name }}

-
@@ -107,7 +102,7 @@
- + {# EXPENSE ACCOUNTS #}

{{ 'expense_accounts'|_ }}

@@ -117,7 +112,7 @@
- + {# OPTIONAL REVENUE ACCOUNTS #} {% if showDepositsFrontpage %}
@@ -134,14 +129,7 @@ {% endblock %} {% block scripts %} - {% if not shownDemo %} diff --git a/resources/views/partials/boxes.twig b/resources/views/partials/boxes.twig index 5ec3003595..3dbf703994 100644 --- a/resources/views/partials/boxes.twig +++ b/resources/views/partials/boxes.twig @@ -8,7 +8,7 @@