2018-01-08 19:19:03 +01:00
|
|
|
|
<?php
|
2018-04-28 15:26:45 +02:00
|
|
|
|
|
2018-01-08 19:19:03 +01:00
|
|
|
|
/**
|
|
|
|
|
* validation.php
|
2018-06-01 14:22:37 +02:00
|
|
|
|
* Copyright (c) 2018 thegrumpydictator@gmail.com
|
2018-01-08 19:19:03 +01:00
|
|
|
|
*
|
|
|
|
|
* This file is part of Firefly III.
|
|
|
|
|
*
|
|
|
|
|
* Firefly III is free software: you can redistribute it and/or modify
|
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
* (at your option) any later version.
|
|
|
|
|
*
|
|
|
|
|
* Firefly III is distributed in the hope that it will be useful,
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
|
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
2018-06-01 14:22:37 +02:00
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2018-01-08 19:19:03 +01:00
|
|
|
|
return [
|
|
|
|
|
'iban' => 'Это некорректный IBAN.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'zero_or_more' => 'Это значение не может быть отрицательным.',
|
2019-03-17 09:14:33 +01:00
|
|
|
|
'date_or_time' => 'Значение должно быть корректной датой или временем (ISO 8601).',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'source_equals_destination' => 'Счёт источник и счёт назначения совпадают.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'unique_account_number_for_user' => 'Этот номер счёта уже используется.',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'unique_iban_for_user' => 'Этот IBAN уже используется.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'deleted_user' => 'По соображениям безопасности, вы не можете зарегистрироваться, используя этот адрес электронной почты.',
|
|
|
|
|
'rule_trigger_value' => 'Это значение является недопустимым для выбранного триггера.',
|
|
|
|
|
'rule_action_value' => 'Это значение является недопустимым для выбранного действия.',
|
|
|
|
|
'file_already_attached' => 'Загруженный файл ":name" уже прикреплён к этому объекту.',
|
2019-05-29 18:30:52 +02:00
|
|
|
|
'file_attached' => 'Successfully uploaded file ":name".',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'must_exist' => 'ID в поле field :attribute не существует в базе данных.',
|
|
|
|
|
'all_accounts_equal' => 'Все счета в данном поле должны совпадать.',
|
2019-05-29 18:30:52 +02:00
|
|
|
|
'group_title_mandatory' => 'A group title is mandatory when there is more than one transaction.',
|
|
|
|
|
'transaction_types_equal' => 'All splits must be of the same type.',
|
|
|
|
|
'invalid_transaction_type' => 'Invalid transaction type.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'invalid_selection' => 'Вы сделали неправильный выбор.',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'belongs_user' => 'Данное значение недопустимо для этого поля.',
|
|
|
|
|
'at_least_one_transaction' => 'Необходима как минимум одна транзакция.',
|
2018-08-18 22:11:31 +02:00
|
|
|
|
'at_least_one_repetition' => 'Необходима как минимум одна транзакция.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'require_repeat_until' => 'Требуется либо несколько повторений, либо конечная дата (repeat_until). Но не оба параметра разом.',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'require_currency_info' => 'Содержимое этого поля недействительно без информации о валюте.',
|
2019-05-29 18:30:52 +02:00
|
|
|
|
'require_currency_amount' => 'The content of this field is invalid without foreign amount information.',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'equal_description' => 'Описание транзакции не должно совпадать с глобальным описанием.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'file_invalid_mime' => 'Файл ":name" имеет тип ":mime". Загрузка файлов такого типа невозможна.',
|
|
|
|
|
'file_too_large' => 'Файл ":name" слишком большой.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'belongs_to_user' => 'Значение :attribute неизвестно.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'accepted' => 'Необходимо принять :attribute.',
|
|
|
|
|
'bic' => 'Это некорректный BIC.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'at_least_one_trigger' => 'Правило должно иметь хотя бы одно условие.',
|
|
|
|
|
'at_least_one_action' => 'Правило должно иметь хотя бы одно действие.',
|
|
|
|
|
'base64' => 'Это некорректный формат для данных, зашифрованных с помощью base64.',
|
|
|
|
|
'model_id_invalid' => 'Данный ID кажется недопустимым для этой модели.',
|
2018-08-18 22:11:31 +02:00
|
|
|
|
'more' => ':attribute должен быть больше нуля.',
|
|
|
|
|
'less' => ':attribute должен быть меньше 10,000,000',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'active_url' => ':attribute не является допустимым URL-адресом.',
|
|
|
|
|
'after' => ':attribute должна быть позже :date.',
|
|
|
|
|
'alpha' => ':attribute может содержать только буквы.',
|
|
|
|
|
'alpha_dash' => ':attribute может содержать только буквы, числа и дефис.',
|
|
|
|
|
'alpha_num' => ':attribute может содержать только буквы и числа.',
|
|
|
|
|
'array' => ':attribute должен быть массивом.',
|
|
|
|
|
'unique_for_user' => 'Уже существует запись с этим :attribute.',
|
|
|
|
|
'before' => ':attribute должна быть раньше :date.',
|
2018-08-18 22:11:31 +02:00
|
|
|
|
'unique_object_for_user' => 'Это название уже используется.',
|
|
|
|
|
'unique_account_for_user' => 'Такое название счёта уже используется.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'between.numeric' => ':attribute должен быть больше :min и меньше :max.',
|
|
|
|
|
'between.file' => ':attribute должен быть размером :min - :max килобайт.',
|
|
|
|
|
'between.string' => ':attribute должен содержать :min - :max символов.',
|
|
|
|
|
'between.array' => ':attribute должен содержать :min - :max элементов.',
|
|
|
|
|
'boolean' => 'Поле :attribute должно быть истинным или ложным.',
|
|
|
|
|
'confirmed' => ':attribute не совпадает с подтверждением.',
|
|
|
|
|
'date' => ':attribute не является верной датой.',
|
|
|
|
|
'date_format' => ':attribute не совпадает с форматом :format.',
|
|
|
|
|
'different' => ':attribute и :other не должны совпадать.',
|
|
|
|
|
'digits' => ':attribute должно содержать :digits цифр.',
|
|
|
|
|
'digits_between' => ':attribute должен содержать :min - :max цифр.',
|
|
|
|
|
'email' => ':attribute не является верным email адресом.',
|
|
|
|
|
'filled' => 'Поле :attribute должно быть заполнено.',
|
|
|
|
|
'exists' => 'Выбран неверный :attribute.',
|
|
|
|
|
'image' => ':attribute должен быть изображением.',
|
|
|
|
|
'in' => 'Выбранный :attribute не верный.',
|
|
|
|
|
'integer' => ':attribute должно быть целым числом.',
|
|
|
|
|
'ip' => ':attribute должен быть верным IP-адресом.',
|
|
|
|
|
'json' => ':attribute должно быть верной JSON строкой.',
|
|
|
|
|
'max.numeric' => 'Значение :attribute не может быть больше :max.',
|
|
|
|
|
'max.file' => 'Значение :attribute не может быть больше :max килобайт.',
|
|
|
|
|
'max.string' => 'Значение :attribute не может быть больше :max символов.',
|
|
|
|
|
'max.array' => 'Значение :attribute не может содержать более :max элементов.',
|
|
|
|
|
'mimes' => ':attribute должен быть файлом типа :values.',
|
|
|
|
|
'min.numeric' => ':attribute должен быть минимум :min.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'lte.numeric' => ':attribute должен быть меньше или равен :value.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'min.file' => ':attribute должен быть минимум :min килобайт.',
|
|
|
|
|
'min.string' => 'Значение :attribute должно быть не меньше :min символов.',
|
|
|
|
|
'min.array' => 'Значение :attribute должно содержать не меньше :min элементов.',
|
|
|
|
|
'not_in' => 'Выбранный :attribute не верный.',
|
|
|
|
|
'numeric' => ':attribute должен быть числом.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'numeric_native' => 'Сумма должна быть числом.',
|
|
|
|
|
'numeric_destination' => 'Сумма назначения должна быть числом.',
|
|
|
|
|
'numeric_source' => 'Исходная сумма должна быть числом.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'regex' => 'Формат :attribute некорректен.',
|
|
|
|
|
'required' => 'Поле :attribute является обязательным.',
|
|
|
|
|
'required_if' => 'Значение :attribute является обязательным, когда :other равное :value.',
|
|
|
|
|
'required_unless' => 'Поле :attribute является обязательным, если :other не входит в список :values.',
|
|
|
|
|
'required_with' => 'Поле :attribute является обязательным, когда есть :values.',
|
|
|
|
|
'required_with_all' => 'Поле :attribute является обязательным, когда есть :values.',
|
|
|
|
|
'required_without' => 'Поле :attribute является обязательным, когда отсутствует :values.',
|
|
|
|
|
'required_without_all' => ':attribute поле обязательно для заполнения, так как ни одно из :values не существует.',
|
|
|
|
|
'same' => ':attribute и :other должны совпадать.',
|
|
|
|
|
'size.numeric' => ':attribute должен быть размером :size.',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'amount_min_over_max' => 'Минимальная сумма не может быть больше максимальной суммы.',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
'size.file' => ':attribute должен быть размером :size килобайт.',
|
|
|
|
|
'size.string' => ':attribute должен состоять из :size символов.',
|
|
|
|
|
'size.array' => ':attribute должен содержать :size элементов.',
|
|
|
|
|
'unique' => ':attribute уже занят.',
|
|
|
|
|
'string' => 'Значение :attribute должно быть строкой.',
|
|
|
|
|
'url' => 'Неверный формат ввода :attribute.',
|
|
|
|
|
'timezone' => ':attribute должен быть в допустимом диапазоне.',
|
|
|
|
|
'2fa_code' => ':attribute введен неверно.',
|
|
|
|
|
'dimensions' => 'Недопустимые размеры изображения :attribute.',
|
|
|
|
|
'distinct' => 'Поле :attribute содержит повторяющееся значение.',
|
|
|
|
|
'file' => ':attribute должен быть файлом.',
|
|
|
|
|
'in_array' => 'Поле :attribute не существует в :other.',
|
|
|
|
|
'present' => 'Поле :attribute должно быть заполнено.',
|
2018-08-18 22:11:31 +02:00
|
|
|
|
'amount_zero' => 'Сумма не может быть равна нулю.',
|
2018-06-27 21:37:16 +02:00
|
|
|
|
'unique_piggy_bank_for_user' => 'Название копилки должно быть уникальным.',
|
2018-12-23 18:18:53 +01:00
|
|
|
|
'secure_password' => 'Это не безопасный пароль. Попробуйте еще раз. Подробнее можно узнать по ссылке https://bit.ly/FF3-password-security',
|
|
|
|
|
'valid_recurrence_rep_type' => 'Недопустимый тип для повторяющихся транзакций.',
|
|
|
|
|
'valid_recurrence_rep_moment' => 'Неверный период повторения для данного типа повторений.',
|
|
|
|
|
'invalid_account_info' => 'Неверные данные о счёте.',
|
2018-01-29 19:13:43 +01:00
|
|
|
|
'attributes' => [
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'email' => '"Адрес электронной почты"',
|
|
|
|
|
'description' => '"Описание"',
|
|
|
|
|
'amount' => 'Сумма',
|
|
|
|
|
'name' => '"Название"',
|
|
|
|
|
'piggy_bank_id' => 'ID копилки',
|
|
|
|
|
'targetamount' => '"Целевая сумма"',
|
2019-06-23 10:39:59 +02:00
|
|
|
|
'opening_balance_date' => 'opening balance date',
|
|
|
|
|
'opening_balance' => 'opening balance',
|
2018-03-04 08:54:01 +01:00
|
|
|
|
'match' => '"Ключи для связи"',
|
|
|
|
|
'amount_min' => '"Минимальная сумма"',
|
|
|
|
|
'amount_max' => '"Максимальная сумма"',
|
|
|
|
|
'title' => '"Заголовок"',
|
|
|
|
|
'tag' => '"Метка"',
|
|
|
|
|
'transaction_description' => 'описание транзакции',
|
|
|
|
|
'rule-action-value.1' => '"Значение действия #1"',
|
|
|
|
|
'rule-action-value.2' => '"Значение действия #2"',
|
|
|
|
|
'rule-action-value.3' => '"Значение действия #3"',
|
|
|
|
|
'rule-action-value.4' => '"Значение действия #4"',
|
|
|
|
|
'rule-action-value.5' => '"Значение действия #5"',
|
|
|
|
|
'rule-action.1' => '"Действие #1"',
|
|
|
|
|
'rule-action.2' => '"Действие #2"',
|
|
|
|
|
'rule-action.3' => '"Действие #3"',
|
|
|
|
|
'rule-action.4' => '"Действие #4"',
|
|
|
|
|
'rule-action.5' => '"Действие #5"',
|
|
|
|
|
'rule-trigger-value.1' => '"Значение условия #1"',
|
|
|
|
|
'rule-trigger-value.2' => '"Значение условия #2"',
|
|
|
|
|
'rule-trigger-value.3' => '"Значение условия #3"',
|
|
|
|
|
'rule-trigger-value.4' => '"Значение условия #4"',
|
|
|
|
|
'rule-trigger-value.5' => '"Значение условия #5"',
|
|
|
|
|
'rule-trigger.1' => '"Условие #1"',
|
|
|
|
|
'rule-trigger.2' => '"Условие #2"',
|
|
|
|
|
'rule-trigger.3' => '"Условие #3"',
|
|
|
|
|
'rule-trigger.4' => '"Условие #4"',
|
|
|
|
|
'rule-trigger.5' => '"Условие #5"',
|
2018-01-29 19:13:43 +01:00
|
|
|
|
],
|
2019-05-29 18:30:52 +02:00
|
|
|
|
|
|
|
|
|
// validation of accounts:
|
|
|
|
|
'withdrawal_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
|
|
|
|
'withdrawal_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
|
|
|
|
|
'withdrawal_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
|
2019-06-23 10:39:59 +02:00
|
|
|
|
'withdrawal_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
|
2019-05-29 18:30:52 +02:00
|
|
|
|
|
|
|
|
|
'deposit_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
|
|
|
|
'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
|
|
|
|
|
'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
|
|
|
|
|
'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
|
|
|
|
|
|
|
|
|
|
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
|
|
|
|
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
|
|
|
|
|
'transfer_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
|
|
|
|
|
'transfer_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
|
2019-06-23 10:39:59 +02:00
|
|
|
|
'need_id_in_edit' => 'Each split must have transaction_journal_id (either valid ID or 0).',
|
|
|
|
|
|
|
|
|
|
'ob_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.',
|
|
|
|
|
'ob_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
|
|
|
|
|
'ob_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',
|
2018-01-08 19:19:03 +01:00
|
|
|
|
];
|