From 7b4e69b5d2097e7e7382dbff468f819b8645f3e4 Mon Sep 17 00:00:00 2001
From: stashenko <34498917+stashenko@users.noreply.github.com>
Date: Sun, 3 Feb 2019 01:07:58 +0300
Subject: [PATCH] Add russian translation (#1460)
---
CHANGELOG.md | 1 +
resources/lang/ru/admin/nests.php | 33 +++
resources/lang/ru/admin/node.php | 23 ++
resources/lang/ru/admin/pack.php | 16 ++
resources/lang/ru/admin/server.php | 31 +++
resources/lang/ru/admin/user.php | 18 ++
resources/lang/ru/auth.php | 22 ++
resources/lang/ru/base.php | 89 +++++++
resources/lang/ru/command/messages.php | 97 +++++++
resources/lang/ru/exceptions.php | 68 +++++
resources/lang/ru/navigation.php | 32 +++
resources/lang/ru/pagination.php | 17 ++
resources/lang/ru/passwords.php | 19 ++
resources/lang/ru/server.php | 334 +++++++++++++++++++++++++
resources/lang/ru/strings.php | 88 +++++++
resources/lang/ru/validation.php | 105 ++++++++
16 files changed, 993 insertions(+)
create mode 100644 resources/lang/ru/admin/nests.php
create mode 100644 resources/lang/ru/admin/node.php
create mode 100644 resources/lang/ru/admin/pack.php
create mode 100644 resources/lang/ru/admin/server.php
create mode 100644 resources/lang/ru/admin/user.php
create mode 100644 resources/lang/ru/auth.php
create mode 100644 resources/lang/ru/base.php
create mode 100644 resources/lang/ru/command/messages.php
create mode 100644 resources/lang/ru/exceptions.php
create mode 100644 resources/lang/ru/navigation.php
create mode 100644 resources/lang/ru/pagination.php
create mode 100644 resources/lang/ru/passwords.php
create mode 100644 resources/lang/ru/server.php
create mode 100644 resources/lang/ru/strings.php
create mode 100644 resources/lang/ru/validation.php
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7223a7ca..0d42043d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@ This project follows [Semantic Versioning](http://semver.org) guidelines.
### Added
* Added support for opening and editing Python files through the web editor.
+* Adds Russian translation.
## v0.7.11 (Derelict Dermodactylus)
### Fixed
diff --git a/resources/lang/ru/admin/nests.php b/resources/lang/ru/admin/nests.php
new file mode 100644
index 00000000..b07441b1
--- /dev/null
+++ b/resources/lang/ru/admin/nests.php
@@ -0,0 +1,33 @@
+.
+ *
+ * This software is licensed under the terms of the MIT license.
+ * https://opensource.org/licenses/MIT
+ */
+
+return [
+ 'notices' => [
+ 'created' => 'Новое гнездо :name успешно создано.',
+ 'deleted' => 'Успешно удалили запрошенное гнездо с панели.',
+ 'updated' => 'Успешно обновлены параметры конфигурации гнезда.',
+ ],
+ 'eggs' => [
+ 'notices' => [
+ 'imported' => 'Успешно импортировано это яйцо и связанные с ним переменные.',
+ 'updated_via_import' => 'Это яйцо было обновлено с использованием предоставленного файла.',
+ 'deleted' => 'Успешно удалили запрошенное яйцо из панели.',
+ 'updated' => 'Конфигурация яйца успешно обновлена.',
+ 'script_updated' => 'Сценарий установки Egg обновлен и будет запускаться всякий раз, когда будут установлены серверы.',
+ 'egg_created' => 'Новое яйцо было добавлено успешно. Вам нужно будет перезапустить все работающие демоны, чтобы применить это новое яйцо.',
+ ],
+ ],
+ 'variables' => [
+ 'notices' => [
+ 'variable_deleted' => 'Переменная ":variable" была удалена и больше не будет доступна серверам после восстановления.',
+ 'variable_updated' => 'Переменная ":variable" была обновлена. Вам нужно будет перестроить все серверы, использующие эту переменную, чтобы применить изменения.',
+ 'variable_created' => 'Новая переменная была успешно создана и назначена этому яйцу.',
+ ],
+ ],
+];
diff --git a/resources/lang/ru/admin/node.php b/resources/lang/ru/admin/node.php
new file mode 100644
index 00000000..b4abb573
--- /dev/null
+++ b/resources/lang/ru/admin/node.php
@@ -0,0 +1,23 @@
+.
+ *
+ * This software is licensed under the terms of the MIT license.
+ * https://opensource.org/licenses/MIT
+ */
+
+return [
+ 'validation' => [
+ 'fqdn_not_resolvable' => 'Указанное полное доменное имя или IP-адрес не преобразуется в действительный IP-адрес.',
+ 'fqdn_required_for_ssl' => 'Для использования SSL для этого узла требуется полное доменное имя, которое разрешается в публичный IP-адрес.',
+ ],
+ 'notices' => [
+ 'allocations_added' => 'Локации успешно добавлены в этот узел.',
+ 'node_deleted' => 'Узел успешно удален с панели.',
+ 'location_required' => 'У вас должно быть настроено хотя бы одно местоположение, прежде чем вы сможете добавить узел на эту панель.',
+ 'node_created' => 'Успешно создан новый узел. Вы можете автоматически настроить демон на этом компьютере, посетив вкладку \'Configuration\'. Прежде чем вы сможете добавить какие-либо серверы, вы должны сначала выделить как минимум один IP-адрес и порт.',
+ 'node_updated' => 'Информация об узле обновлена. Если какие-либо настройки демона были изменены, вам нужно будет перезагрузить их, чтобы эти изменения вступили в силу.',
+ 'unallocated_deleted' => 'Удалил все нераспределенные порты для :ip
.',
+ ],
+];
diff --git a/resources/lang/ru/admin/pack.php b/resources/lang/ru/admin/pack.php
new file mode 100644
index 00000000..0ff9911d
--- /dev/null
+++ b/resources/lang/ru/admin/pack.php
@@ -0,0 +1,16 @@
+.
+ *
+ * This software is licensed under the terms of the MIT license.
+ * https://opensource.org/licenses/MIT
+ */
+
+return [
+ 'notices' => [
+ 'pack_updated' => 'Пак успешно обновлен.',
+ 'pack_deleted' => 'Успешно удален пакет ":name" из системы.',
+ 'pack_created' => 'Новый пакет был успешно создан в системе и теперь доступен для развертывания на серверах.',
+ ],
+];
diff --git a/resources/lang/ru/admin/server.php b/resources/lang/ru/admin/server.php
new file mode 100644
index 00000000..59fb1882
--- /dev/null
+++ b/resources/lang/ru/admin/server.php
@@ -0,0 +1,31 @@
+.
+ *
+ * This software is licensed under the terms of the MIT license.
+ * https://opensource.org/licenses/MIT
+ */
+
+return [
+ 'exceptions' => [
+ 'no_new_default_allocation' => 'Вы пытаетесь удалить выделение по умолчанию для этого сервера, но резервное выделение для использования отсутствует.',
+ 'marked_as_failed' => 'Этот сервер был помечен как Проблемный предыдущей установки. Текущий статус не может быть переключен в этом состоянии.',
+ 'bad_variable' => 'Произошла ошибка проверки с переменной :name.',
+ 'daemon_exception' => 'При попытке установить связь с демоном возникла исключительная ситуация, в результате которой был получен код ответа HTTP / :code. Это исключение было зарегистрировано.',
+ 'default_allocation_not_found' => 'Запрошенное распределение по умолчанию не было найдено в выделениях этого сервера.',
+ ],
+ 'alerts' => [
+ 'startup_changed' => 'Начальная конфигурация для этого сервера была обновлена. Если гнездо или яйцо этого сервера было изменено, то теперь будет происходить переустановка.',
+ 'server_deleted' => 'Сервер успешно удален из системы.',
+ 'server_created' => 'Сервер буспешно создан из панели. Пожалуйста, дайте демону несколько минут, чтобы полностью установить этот сервер.',
+ 'build_updated' => 'Детали сборки для этого сервера были обновлены. Некоторые изменения могут потребовать перезагрузки для вступления в силу.',
+ 'suspension_toggled' => 'Состояние приостановки сервера изменено на :status.',
+ 'rebuild_on_boot' => 'Этот сервер был помечен как требующий перестройки Docker Container. Это произойдет при следующем запуске сервера.',
+ 'install_toggled' => 'Состояние установки для этого сервера переключено.',
+ 'server_reinstalled' => 'Этот сервер поставлен в очередь для начала переустановки.',
+ 'details_updated' => 'Данные сервера успешно обновлены.',
+ 'docker_image_updated' => 'Успешно изменен образ Docker по умолчанию для использования на этом сервере. Чтобы применить это изменение, требуется перезагрузка.',
+ 'node_required' => 'У вас должен быть настроен хотя бы один узел, прежде чем вы сможете добавить сервер на эту панель.',
+ ],
+];
diff --git a/resources/lang/ru/admin/user.php b/resources/lang/ru/admin/user.php
new file mode 100644
index 00000000..6273da77
--- /dev/null
+++ b/resources/lang/ru/admin/user.php
@@ -0,0 +1,18 @@
+.
+ *
+ * This software is licensed under the terms of the MIT license.
+ * https://opensource.org/licenses/MIT
+ */
+
+return [
+ 'exceptions' => [
+ 'user_has_servers' => 'Невозможно удалить пользователя с активными серверами, подключенными к его учетной записи. Пожалуйста, удалите их серверы, прежде чем продолжить.',
+ ],
+ 'notices' => [
+ 'account_created' => 'Аккаунт успешно создан.',
+ 'account_updated' => 'Аккаунт успешно обновлен.',
+ ],
+];
diff --git a/resources/lang/ru/auth.php b/resources/lang/ru/auth.php
new file mode 100644
index 00000000..d14bd8cc
--- /dev/null
+++ b/resources/lang/ru/auth.php
@@ -0,0 +1,22 @@
+ 'Вы не авторизованы для выполнения этого действия.',
+ 'auth_error' => 'Произошла ошибка при попытке войти.',
+ 'authentication_required' => 'Для продолжения требуется Аутентификация.',
+ 'remember_me' => 'Запомнить меня',
+ 'sign_in' => 'Войти в систему',
+ 'forgot_password' => 'Я забыл свой пароль!',
+ 'request_reset_text' => 'Забыли пароль учетной записи? Это не конец света, просто укажите свой адрес электронной почты.',
+ 'reset_password_text' => 'Сбросить пароль вашей учетной записи.',
+ 'reset_password' => 'Сбросить пароль учетной записи',
+ 'email_sent' => 'Вам отправлено электронное письмо с дальнейшими инструкциями по восстановлению пароля.',
+ 'failed' => 'Предоставленные учетные данные не совпадают с теми, которые есть у нас в записи, или предоставленный токен 2FA недействителен.',
+ 'throttle' => 'Слишком много попыток входа в систему. Пожалуйста, повторите попытку через :seconds секунд.',
+ 'password_requirements' => 'Пароли должны содержать как минимум одну заглавную, строчную букву, цифры и содержать не менее 8 символов.',
+ 'request_reset' => 'Найти аккаунт',
+ '2fa_required' => 'Двухфакторная аутентификация',
+ '2fa_failed' => 'Указанный токен 2FA недействителен.',
+ 'totp_failed' => 'Произошла ошибка при попытке проверить TOTP.',
+ '2fa_must_be_enabled' => 'Администратор потребовал, чтобы для вашей учетной записи была включена двухфакторная аутентификация, чтобы использовать панель.',
+];
diff --git a/resources/lang/ru/base.php b/resources/lang/ru/base.php
new file mode 100644
index 00000000..f73f8f42
--- /dev/null
+++ b/resources/lang/ru/base.php
@@ -0,0 +1,89 @@
+ 'Произошла ошибка с одним или несколькими полями в запросе.',
+ 'errors' => [
+ 'return' => 'Вернуться на предыдущую страницу',
+ 'home' => 'Домой',
+ '403' => [
+ 'header' => 'Запрещено',
+ 'desc' => 'У вас нет прав доступа к ресурсам на этом сервере.',
+ ],
+ '404' => [
+ 'header' => 'Файл не найден',
+ 'desc' => 'Нам не удалось найти запрошенный ресурс на сервере.',
+ ],
+ 'installing' => [
+ 'header' => 'Установка сервера',
+ 'desc' => 'Запрошенный сервер все еще завершает процесс установки. Пожалуйста, зайдите через несколько минут, вы должны получить электронное письмо, как только этот процесс будет завершен.',
+ ],
+ 'suspended' => [
+ 'header' => 'Сервер приостановлен',
+ 'desc' => 'Этот сервер был приостановлен и недоступен.',
+ ],
+ 'maintenance' => [
+ 'header' => 'Узел в обслуживании',
+ 'title' => 'Временно недоступен',
+ 'desc' => 'Этот узел находится на обслуживании, поэтому ваш сервер может быть временно недоступен.',
+ ],
+ ],
+ 'index' => [
+ 'header' => 'Ваши серверы',
+ 'header_sub' => 'Серверы, к которым у вас есть доступ.',
+ 'list' => 'Список серверов',
+ ],
+ 'api' => [
+ 'index' => [
+ 'list' => 'Ваши ключи',
+ 'header' => 'API аккаунта',
+ 'header_sub' => 'Управляйте клавишами доступа, которые позволяют вам выполнять действия с панелью.',
+ 'create_new' => 'Создать новый ключ API',
+ 'keypair_created' => 'Ключ API был успешно сгенерирован и показан ниже.',
+ ],
+ 'new' => [
+ 'header' => 'овый ключ API',
+ 'header_sub' => 'Создайте новый ключ доступа к учетной записи.',
+ 'form_title' => 'Подробности',
+ 'descriptive_memo' => [
+ 'title' => 'Описание',
+ 'description' => 'Введите краткое описание этого ключа, которое будет полезно для справки.',
+ ],
+ 'allowed_ips' => [
+ 'title' => 'Разрешенные IP-адреса',
+ 'description' => 'Введите разделенный строкой список IP-адресов, которым разрешен доступ к API с помощью этого ключа. Нотация CIDR разрешена. Оставьте пустым, чтобы разрешить любой IP.',
+ ],
+ ],
+ ],
+ 'account' => [
+ 'details_updated' => 'Данные вашей учетной записи успешно обновлены.',
+ 'invalid_password' => 'Пароль для вашей учетной записи недействителен.',
+ 'header' => 'Ваш аккаунт',
+ 'header_sub' => 'Управляйте данными своей учетной записи.',
+ 'update_pass' => 'Обновить пароль',
+ 'update_email' => 'Обновить адрес электронной почты',
+ 'current_password' => 'Текущий пароль',
+ 'new_password' => 'Новый пароль',
+ 'new_password_again' => 'Повторите новый пароль',
+ 'new_email' => 'Новый E-mail адрес',
+ 'first_name' => 'Имя',
+ 'last_name' => 'Фамилия',
+ 'update_identity' => 'Обновить данные',
+ 'username_help' => 'Ваше имя пользователя должно быть уникальным для вашей учетной записи и может содержать только следующие символы: :requirements.',
+ 'language' => 'Язык',
+ ],
+ 'security' => [
+ 'session_mgmt_disabled' => 'Ваш хост не включил возможность управлять сеансами аккаунта через этот интерфейс.',
+ 'header' => 'Безопасность аккаунта',
+ 'header_sub' => 'Контроль активных сессий и 2-х факторной аутентификации.',
+ 'sessions' => 'Активная сессия',
+ '2fa_header' => '2-х факторная аутентификация',
+ '2fa_token_help' => 'Введите токен 2FA, созданный вашим приложением (Google Authenticator, Authy, и так далее.).',
+ 'disable_2fa' => 'Отключить двухфакторную аутентификацию',
+ '2fa_enabled' => 'В этой учетной записи включена двухфакторная аутентификация, которая потребуется для входа в панель. Если вы хотите отключить 2FA, просто введите действительный токен ниже и отправьте форму.',
+ '2fa_disabled' => 'Двухфакторная аутентификация отключена на вашем аккаунте! Вы должны включить 2FA, чтобы добавить дополнительный уровень защиты для вашей учетной записи.',
+ 'enable_2fa' => 'Включить двухфакторную аутентификацию',
+ '2fa_qr' => 'Настройте 2FA на вашем устройстве',
+ '2fa_checkpoint_help' => 'Используйте приложение 2FA на своем телефоне, чтобы сделать снимок QR-кода, или вручную введите код под ним. После этого сгенерируйте токен и введите его ниже.',
+ '2fa_disable_error' => 'Указанный токен 2FA недействителен. Защита не была отключена для этой учетной записи.',
+ ],
+];
diff --git a/resources/lang/ru/command/messages.php b/resources/lang/ru/command/messages.php
new file mode 100644
index 00000000..b4aab647
--- /dev/null
+++ b/resources/lang/ru/command/messages.php
@@ -0,0 +1,97 @@
+ [
+ 'warning' => 'Похоже, вы уже настроили ключ шифрования приложения. Продолжая этот процесс с перезаписать этот ключ и вызвать повреждение данных для любых существующих зашифрованных данных. НЕ ПРОДОЛЖАЙТЕ, ЕСЛИ ВЫ НЕ ЗНАЕТЕ, ЧТО ВЫ ДЕЛАЕТЕ.',
+ 'confirm' => 'Я понимаю последствия выполнения этой команды и принимаю на себя всю ответственность за потерю зашифрованных данных.',
+ 'final_confirm' => 'Вы уверены, что хотите продолжить? Изменение ключа шифрования приложения приведет к потере данных.',
+ ],
+ 'location' => [
+ 'no_location_found' => 'Не удалось найти запись, соответствующую предоставленному короткому коду.',
+ 'ask_short' => 'Короткий код местоположения',
+ 'ask_long' => 'Описание местоположения',
+ 'created' => 'Успешно создано новое местоположение (:name) с идентификатором :id.',
+ 'deleted' => 'Успешно удалено запрошенное местоположение.',
+ ],
+ 'user' => [
+ 'search_users' => 'Введите имя пользователя, UUID или адрес электронной почты',
+ 'select_search_user' => 'ID пользователя для удаления (Enter \'0\' to re-search)',
+ 'deleted' => 'Пользователь успешно удален из Панели.',
+ 'confirm_delete' => 'Вы уверены, что хотите удалить этого пользователя с панели?',
+ 'no_users_found' => 'По данному запросу не найдено ни одного пользователя.',
+ 'multiple_found' => 'Для предоставленного пользователя было найдено несколько учетных записей, не удалось удалить пользователя из-за --no-interaction flag.',
+ 'ask_admin' => 'Является ли этот пользователь администратором?',
+ 'ask_email' => 'Адрес электронной почты',
+ 'ask_username' => 'Ник пользователя',
+ 'ask_name_first' => 'Имя',
+ 'ask_name_last' => 'Фамилия',
+ 'ask_password' => 'Пароль',
+ 'ask_password_tip' => 'Если вы хотите создать учетную запись со случайным паролем, отправленным пользователю по электронной почте, повторите команду (CTRL + C) и передайте `--no-password` flag.',
+ 'ask_password_help' => 'Пароли должны быть длиной не менее 8 символов и содержать как минимум одну заглавную букву и цифру.',
+ '2fa_help_text' => [
+ 'Эта команда отключит двухфакторную аутентификацию для учетной записи пользователя, если она включена. Это следует использовать только в качестве команды восстановления учетной записи, если пользователь заблокирован в своей учетной записи.',
+ 'Если это не то, что вы хотели сделать, нажмите CTRL + C, чтобы выйти из этого процесса.',
+ ],
+ '2fa_disabled' => 'Двухфакторная аутентификация была отключена для :email.',
+ ],
+ 'schedule' => [
+ 'output_line' => 'Диспетчерская работа для первой задачи в `:schedule` (:hash).',
+ ],
+ 'maintenance' => [
+ 'deleting_service_backup' => 'Удаление файла резервной копии службы :file.',
+ ],
+ 'server' => [
+ 'rebuild_failed' => 'Запрос на перестроение для ":name" (#:id) на узле ":node" завершился ошибкой: :message',
+ 'power' => [
+ 'confirm' => 'Вы собираетесь выполнить :action против :count серверов. Вы хотите продолжить?',
+ 'action_failed' => 'Запрос на действие питания для ":name" (#:id) на узле ":node" завершился ошибкой: :message',
+ ],
+ ],
+ 'environment' => [
+ 'mail' => [
+ 'ask_smtp_host' => 'SMTP Хост (e.g. smtp.gmail.com)',
+ 'ask_smtp_port' => 'SMTP Порт',
+ 'ask_smtp_username' => 'SMTP Пользователь',
+ 'ask_smtp_password' => 'SMTP Password',
+ 'ask_mailgun_domain' => 'Почтовый Домен',
+ 'ask_mailgun_secret' => 'Mailgun Secret',
+ 'ask_mandrill_secret' => 'Mandrill Secret',
+ 'ask_postmark_username' => 'Postmark API Key',
+ 'ask_driver' => 'Какой драйвер следует использовать для отправки писем?',
+ 'ask_mail_from' => 'Адреса электронной почты должны исходить от',
+ 'ask_mail_name' => 'Имя, с которого должны начинаться электронные письма',
+ 'ask_encryption' => 'Метод шифрования для использования',
+ ],
+ 'database' => [
+ 'host_warning' => 'Настоятельно рекомендуется не использовать "localhost" в качестве хоста базы данных, поскольку мы часто сталкиваемся с проблемами подключения к сокету. Если вы хотите использовать локальное соединение, вы должны использовать "127.0.0.1".',
+ 'host' => 'Хост базы данных',
+ 'port' => 'Порт базы данных',
+ 'database' => 'Название базы данных',
+ 'username_warning' => 'Использование учетной записи "root" для подключений MySQL не только не одобряется, но и не допускается этим приложением. Вам нужно создать пользователя MySQL для этого программного обеспечения.',
+ 'username' => 'Имя пользователя базы данных',
+ 'password_defined' => 'Похоже, вы уже определили пароль для подключения к MySQL, хотите изменить его?',
+ 'password' => 'Пароль базы данных',
+ 'connection_error' => 'Невозможно подключиться к серверу MySQL с использованием предоставленных учетных данных. Возвращенная ошибка ":error".',
+ 'creds_not_saved' => 'Ваши учетные данные НЕ были сохранены. Вам нужно будет предоставить действительную информацию о соединении, прежде чем продолжить.',
+ 'try_again' => 'Вернуться и попробуйте снова?',
+ ],
+ 'app' => [
+ 'settings' => 'Включить редактор настроек на основе интерфейса?',
+ 'author' => 'E-mail автора яйца',
+ 'author_help' => 'Укажите адрес электронной почты, с которого должны быть отправлены яйца, экспортируемые этой панелью. Это должен быть действительный адрес электронной почты.',
+ 'app_url_help' => 'URL приложения ДОЛЖЕН начинаться с https:// или http:// в зависимости от того, используете ли вы SSL или нет. Если вы не включите схему, ваши электронные письма и другой контент будут ссылаться на неправильное местоположение.',
+ 'app_url' => 'URL приложения',
+ 'timezone_help' => 'Часовой пояс должен соответствовать одному из поддерживаемых часовых поясов PHP. Если вы не уверены, пожалуйста перейдите по ссылке http://php.net/manual/en/timezones.php.',
+ 'timezone' => 'Часовой пояс приложения',
+ 'cache_driver' => 'Драйвер кеша',
+ 'session_driver' => 'Драйвер сеанса',
+ 'queue_driver' => 'Драйвер очереди ',
+ 'using_redis' => 'Вы выбрали драйвер Redis для одного или нескольких параметров. Пожалуйста, предоставьте действительную информацию о подключении ниже. В большинстве случаев вы можете использовать предоставленные значения по умолчанию, если только вы не изменили настройки.',
+ 'redis_host' => 'Ност Redis',
+ 'redis_password' => 'Пароль Redis',
+ 'redis_pass_help' => 'По умолчанию экземпляр сервера Redis не имеет пароля, поскольку он работает локально и недоступен для внешнего мира. Если это так, просто нажмите Enter, не вводя значение.',
+ 'redis_port' => 'Порт Redis',
+ 'redis_pass_defined' => 'Кажется, пароль для Redis уже определен, вы хотите его изменить?',
+ ],
+ ],
+];
diff --git a/resources/lang/ru/exceptions.php b/resources/lang/ru/exceptions.php
new file mode 100644
index 00000000..6c3afbb4
--- /dev/null
+++ b/resources/lang/ru/exceptions.php
@@ -0,0 +1,68 @@
+ 'При попытке установить связь с демоном возникла исключительная ситуация, в результате которой был получен код ответа HTTP /:code. Это исключение было зарегистрировано.',
+ 'node' => [
+ 'servers_attached' => 'Узел не должен иметь серверов, связанных с ним, для удаления.',
+ 'daemon_off_config_updated' => 'Конфигурация демона была обновлена, однако при попытке автоматического обновления файла конфигурации в демоне произошла ошибка. Вам нужно будет вручную обновить файл конфигурации (core.json), чтобы демон применил эти изменения.',
+ ],
+ 'allocations' => [
+ 'server_using' => 'Сервер в настоящее время назначен на это распределение. Распределение может быть удалено, только если в данный момент не назначен сервер.',
+ 'too_many_ports' => 'Добавление более 1000 портов в одном диапазоне одновременно не поддерживается.',
+ 'invalid_mapping' => 'Отображение, предусмотренное для :port, было недействительным и не могло быть обработано.',
+ 'cidr_out_of_range' => 'Нотация CIDR допускает маски только от / 25 до / 32.',
+ 'port_out_of_range' => 'Порты в распределении должны быть больше 1024 и меньше или равны 65535.',
+ ],
+ 'nest' => [
+ 'delete_has_servers' => 'Гнездо с подключенными к нему активными серверами нельзя удалить с панели.',
+ 'egg' => [
+ 'delete_has_servers' => 'Яйцо с подключенными к нему активными серверами нельзя удалить с панели.',
+ 'invalid_copy_id' => 'Яйцо, выбранное для копирования скрипта, либо не существует, либо копирует сам скрипт.',
+ 'must_be_child' => 'Директива "Copy Settings From" для этого яйца должна быть дочерней для выбранного гнезда.',
+ 'has_children' => 'Это яйцо является родителем одного или нескольких других яиц. Пожалуйста, удалите эти яйца перед удалением этого яйца.',
+ ],
+ 'variables' => [
+ 'env_not_unique' => 'Переменная окружения :name должно быть уникальным для этого яйца.',
+ 'reserved_name' => 'Переменная среды :name защищено и не может быть присвоено переменной.',
+ 'bad_validation_rule' => 'Правило проверки ":rule" не является допустимым правилом для этого приложения.',
+ ],
+ 'importer' => [
+ 'json_error' => 'Произошла ошибка при попытке проанализировать файл JSON: :error.',
+ 'file_error' => 'Предоставленный файл JSON недействителен.',
+ 'invalid_json_provided' => 'Предоставленный файл JSON не в формате, который может быть распознан.',
+ ],
+ ],
+ 'packs' => [
+ 'delete_has_servers' => 'Невозможно удалить пакет, прикрепленный к активным серверам.',
+ 'update_has_servers' => 'Невозможно изменить идентификатор связанной опции, когда серверы в данный момент подключены к пакету.',
+ 'invalid_upload' => 'Предоставленный файл не является действительным.',
+ 'invalid_mime' => 'Предоставленный файл не соответствует требуемому типу :type',
+ 'unreadable' => 'Предоставленный архив не может быть открыт сервером.',
+ 'zip_extraction' => 'Возникла исключительная ситуация при попытке извлечь архив, предоставленный на сервер.',
+ 'invalid_archive_exception' => 'В архиве пакета отсутствует требуемый файл archive.tar.gz или import.json в базовом каталоге.',
+ ],
+ 'subusers' => [
+ 'editing_self' => 'Редактирование вашей учетной записи подпользователя запрещено.',
+ 'user_is_owner' => 'Вы не можете добавить владельца сервера в качестве подпользователя для этого сервера.',
+ 'subuser_exists' => 'Пользователь с таким адресом электронной почты уже назначен в качестве подпользователя для этого сервера.',
+ ],
+ 'databases' => [
+ 'delete_has_databases' => 'Невозможно удалить хост-сервер базы данных, с которым связаны активные базы данных.',
+ ],
+ 'tasks' => [
+ 'chain_interval_too_long' => 'Максимальный интервал времени для связанной задачи составляет 15 минут.',
+ ],
+ 'locations' => [
+ 'has_nodes' => 'Невозможно удалить местоположение, к которому прикреплены активные узлы.',
+ ],
+ 'users' => [
+ 'node_revocation_failed' => 'Не удалось отозвать ключи на Node #:node. :error',
+ ],
+ 'deployment' => [
+ 'no_viable_nodes' => 'Узлы, удовлетворяющие требованиям, указанным для автоматического развертывания, не найдены.',
+ 'no_viable_allocations' => 'Местоположений, удовлетворяющих требованиям для автоматического развертывания, обнаружено не было.',
+ ],
+ 'api' => [
+ 'resource_not_found' => 'Запрашиваемый ресурс не существует на этом сервере.',
+ ],
+];
diff --git a/resources/lang/ru/navigation.php b/resources/lang/ru/navigation.php
new file mode 100644
index 00000000..a924c218
--- /dev/null
+++ b/resources/lang/ru/navigation.php
@@ -0,0 +1,32 @@
+ 'Главная',
+ 'account' => [
+ 'header' => 'УПРАВЛЕНИЕ АККАУНТОМ',
+ 'my_account' => 'Мой аккаунт',
+ 'security_controls' => 'Контроль безопасности',
+ 'api_access' => 'API аккаунта',
+ 'my_servers' => 'Мои серверы',
+ ],
+ 'server' => [
+ 'header' => 'УПРАВЛЕНИЕ СЕРВЕРАМИ',
+ 'console' => 'Консоль',
+ 'console-pop' => 'Полноэкранная консоль',
+ 'file_management' => 'Управление файлами',
+ 'file_browser' => 'Браузер файлов',
+ 'create_file' => 'Создать файл',
+ 'upload_files' => 'Загрузить файлы',
+ 'subusers' => 'Подпользователь',
+ 'schedules' => 'Расписание',
+ 'configuration' => 'Конфигурация',
+ 'port_allocations' => 'Настройки портов',
+ 'sftp_settings' => 'Настройки SFTP',
+ 'startup_parameters' => 'Параметры запуска',
+ 'databases' => 'Базы данных',
+ 'edit_file' => 'Редактировать файл',
+ 'admin_header' => 'АДМИНИСТРАТИВНЫЕ',
+ 'admin' => 'Конфигурация сервера',
+ 'server_name' => 'Название сервера',
+ ],
+];
diff --git a/resources/lang/ru/pagination.php b/resources/lang/ru/pagination.php
new file mode 100644
index 00000000..bae6004c
--- /dev/null
+++ b/resources/lang/ru/pagination.php
@@ -0,0 +1,17 @@
+ '« Предыдущий',
+ 'next' => 'Следующий »',
+];
diff --git a/resources/lang/ru/passwords.php b/resources/lang/ru/passwords.php
new file mode 100644
index 00000000..129e46a6
--- /dev/null
+++ b/resources/lang/ru/passwords.php
@@ -0,0 +1,19 @@
+ 'Пароли должны содержать не менее шести символов и соответствовать подтверждению.',
+ 'reset' => 'Ваш пароль сброшен!',
+ 'sent' => 'Мы отправили вам ссылку для сброса пароля по электронной почте!',
+ 'token' => 'Этот токен сброса пароля недействителен.',
+ 'user' => 'Мы не можем найти пользователя с таким адресом электронной почты.',
+];
diff --git a/resources/lang/ru/server.php b/resources/lang/ru/server.php
new file mode 100644
index 00000000..d37bc589
--- /dev/null
+++ b/resources/lang/ru/server.php
@@ -0,0 +1,334 @@
+ [
+ 'title' => 'Просмотр сервера :name',
+ 'header' => 'Консоль сервера',
+ 'header_sub' => 'Контролируйте свой сервер в режиме реального времени.',
+ ],
+ 'schedule' => [
+ 'header' => 'Диспетчер расписаний',
+ 'header_sub' => 'Управляйте всеми расписаниями этого сервера в одном месте.',
+ 'current' => 'Текущие расписания',
+ 'new' => [
+ 'header' => 'Создать новое расписание',
+ 'header_sub' => 'Создайте новый набор запланированных задач для этого сервера.',
+ 'submit' => 'Создать расписание',
+ ],
+ 'manage' => [
+ 'header' => 'Управление расписанием',
+ 'submit' => 'Обновить расписание',
+ 'delete' => 'Удалить расписание',
+ ],
+ 'task' => [
+ 'time' => 'После',
+ 'action' => 'Выполнить действие',
+ 'payload' => 'С полезной нагрузкой',
+ 'add_more' => 'Добавить еще одну задачу',
+ ],
+ 'actions' => [
+ 'command' => 'Отправить команду',
+ 'power' => 'Управление питанием',
+ ],
+ 'toggle' => 'Переключить статус',
+ 'run_now' => 'Расписание запуска',
+ 'schedule_created' => 'Успешно создано новое расписание для этого сервера.',
+ 'schedule_updated' => 'Расписание обновлено.',
+ 'unnamed' => 'Расписание без имени',
+ 'setup' => 'Настройка расписания',
+ 'day_of_week' => 'День недели',
+ 'day_of_month' => 'День месяца',
+ 'hour' => 'Час дня',
+ 'minute' => 'Минута часа',
+ 'time_help' => 'Система расписаний поддерживает использование синтаксиса Cronjob при определении момента начала выполнения задач. Используйте поля выше, чтобы указать, когда эти задачи должны начать выполняться, или выберите параметры в меню множественного выбора.',
+ 'task_help' => 'Время выполнения заданий относительно ранее определенного задания. Каждому расписанию может быть назначено не более 5 задач, а задачи не могут быть запланированы с интервалом более 15 минут.',
+ ],
+ 'tasks' => [
+ 'task_created' => 'Успешно создано новое задание на панели.',
+ 'task_updated' => 'Задача успешно обновлена. Любые действия задачи, поставленные в очередь, будут отменены и запущены снова в следующее определенное время.',
+ 'header' => 'Запланированные задачи',
+ 'header_sub' => 'Автоматизируйте свой сервер.',
+ 'current' => 'Текущие запланированные задачи',
+ 'actions' => [
+ 'command' => 'Отправить команду',
+ 'power' => 'Опция управленя питанием ',
+ ],
+ 'new_task' => 'Добавить новую задачу',
+ 'toggle' => 'Переключить статус',
+ 'new' => [
+ 'header' => 'Новое задание',
+ 'header_sub' => 'Создайте новое запланированное задание для этого сервера.',
+ 'task_name' => 'Название задачи',
+ 'day_of_week' => 'День недели',
+ 'custom' => 'Пользовательское значение',
+ 'day_of_month' => 'День месяца',
+ 'hour' => 'Час',
+ 'minute' => 'Минута',
+ 'sun' => 'Воскресенье',
+ 'mon' => 'Понедельник',
+ 'tues' => 'Вторник',
+ 'wed' => 'Среда',
+ 'thurs' => 'Четверг',
+ 'fri' => 'Пятница',
+ 'sat' => 'Суббота',
+ 'submit' => 'Создать задачу',
+ 'type' => 'Тип задачи',
+ 'chain_then' => 'Затем после',
+ 'chain_do' => 'Выполнять',
+ 'chain_arguments' => 'С аргументами',
+ 'payload' => 'Задача Полезная нагрузка',
+ 'payload_help' => 'Например, если вы выбрали Send Command
, введите команду здесь. Если вы выбрали Send Power Option
, укажите здесь действие power (например, restart
).',
+ ],
+ 'edit' => [
+ 'header' => 'Управление задачей',
+ 'submit' => 'Обновить задачу',
+ ],
+ ],
+ 'users' => [
+ 'header' => 'Управление пользователями',
+ 'header_sub' => 'Контроль, кто может получить доступ к вашему серверу.',
+ 'configure' => 'Настроить разрешения',
+ 'list' => 'Аккаунты с доступом',
+ 'add' => 'Добавить нового пользователя',
+ 'update' => 'Обновить пользователя',
+ 'user_assigned' => 'Успешно назначен новый пользователь на этот сервер.',
+ 'user_updated' => 'Успешно обновлены разрешения.',
+ 'edit' => [
+ 'header' => 'Редактировать пользователя',
+ 'header_sub' => 'Изменить доступ пользователя к серверу.',
+ ],
+ 'new' => [
+ 'header' => 'Добавить нового пользователя',
+ 'header_sub' => 'Добавьте нового пользователя с разрешениями на этот сервер.',
+ 'email' => 'Адрес электронной почты',
+ 'email_help' => 'Введите адрес электронной почты для пользователя, которого вы хотите пригласить для управления этим сервером.',
+ 'power_header' => 'Управление питанием',
+ 'file_header' => 'Управление файлами',
+ 'subuser_header' => 'Управление пользователями',
+ 'server_header' => 'Управление сервером',
+ 'task_header' => 'Управление расписанием',
+ 'database_header' => 'Управление базой данных',
+ 'power_start' => [
+ 'title' => 'Запустить сервер',
+ 'description' => 'Позволяет пользователю запустить сервер.',
+ ],
+ 'power_stop' => [
+ 'title' => 'Остановить сервер.',
+ 'description' => 'Позволяет пользователю остановить сервер.',
+ ],
+ 'power_restart' => [
+ 'title' => 'Перезагрузить сервер',
+ 'description' => 'Позволяет пользователю перезапустить сервер.',
+ ],
+ 'power_kill' => [
+ 'title' => 'Убить Сервер',
+ 'description' => 'Позволяет пользователю убить процесс сервера.',
+ ],
+ 'send_command' => [
+ 'title' => 'Отправить консольную команду',
+ 'description' => 'Позволяет отправить команду из консоли. Если у пользователя нет разрешений на остановку или перезапуск, он не может отправить команду stop',
+ ],
+ 'access_sftp' => [
+ 'title' => 'SFTP разрешения',
+ 'description' => 'Позволяет пользователю подключаться к SFTP-серверу, предоставленному демоном.',
+ ],
+ 'list_files' => [
+ 'title' => 'Список файлов',
+ 'description' => 'Позволяет пользователю перечислять все файлы и папки на сервере, но не просматривать содержимое файла.',
+ ],
+ 'edit_files' => [
+ 'title' => 'Редактировать файлы',
+ 'description' => 'Позволяет пользователю открыть файл только для просмотра. SFTP не влияет на это разрешение.',
+ ],
+ 'save_files' => [
+ 'title' => 'Сохранить файлы',
+ 'description' => 'По',
+ ],
+ 'move_files' => [
+ 'title' => 'Переименовать и переместить файлы',
+ 'description' => 'Позволяет пользователю перемещать и переименовывать файлы и папки в файловой системе.',
+ ],
+ 'copy_files' => [
+ 'title' => 'Копировать файлы',
+ 'description' => 'Позволяет пользователю копировать файлы и папки в файловой системе.',
+ ],
+ 'compress_files' => [
+ 'title' => 'Сжатие файлов',
+ 'description' => 'Позволяет пользователю создавать архивы файлов и папок в системе.',
+ ],
+ 'decompress_files' => [
+ 'title' => 'Распаковать файлы',
+ 'description' => 'Позволяет пользователю распаковать архивы .zip и .tar (.gz).',
+ ],
+ 'create_files' => [
+ 'title' => 'Создать файлы',
+ 'description' => 'Позволяет пользователю создавать новый файл в панели.',
+ ],
+ 'upload_files' => [
+ 'title' => 'Загрузить файлы',
+ 'description' => 'Позволяет пользователю загружать файлы через файловый менеджер.',
+ ],
+ 'delete_files' => [
+ 'title' => 'Удалить файлы',
+ 'description' => 'Позволяет пользователю удалять файлы из системы.',
+ ],
+ 'download_files' => [
+ 'title' => 'Скачать файлы',
+ 'description' => 'Позволяет пользователю загружать файлы. Если пользователю дано это разрешение, он может загружать и просматривать содержимое файла, даже если это разрешение не назначено на панели.',
+ ],
+ 'list_subusers' => [
+ 'title' => 'Список пользователей',
+ 'description' => 'Позволяет пользователю просматривать список всех суб-пользователей, назначенных серверу.',
+ ],
+ 'view_subuser' => [
+ 'title' => 'Просмотр пользователей',
+ 'description' => 'Позволяет пользователю просматривать разрешения, назначенные для пользователей.',
+ ],
+ 'edit_subuser' => [
+ 'title' => 'Редактировать пользователей',
+ 'description' => 'Позволяет пользователю редактировать разрешения, назначенные другим пользователям.',
+ ],
+ 'create_subuser' => [
+ 'title' => 'Создать пользователя',
+ 'description' => 'Позволяет пользователю создавать дополнительных пользователей на сервере.',
+ ],
+ 'delete_subuser' => [
+ 'title' => 'Удалить пользователя',
+ 'description' => 'Позволяет пользователю удалять других пользователей на сервере.',
+ ],
+ 'view_allocations' => [
+ 'title' => 'Посмотреть распределение',
+ 'description' => 'Позволяет пользователю просматривать все IP-адреса и порты, назначенные серверу.',
+ ],
+ 'edit_allocation' => [
+ 'title' => 'Изменить подключение по умолчанию',
+ 'description' => 'Позволяет пользователю изменять распределение соединения по умолчанию для использования на сервере.',
+ ],
+ 'view_startup' => [
+ 'title' => 'Просмотреть команду запуска',
+ 'description' => 'Позволяет пользователю просматривать команду запуска и связанные переменные для сервера.',
+ ],
+ 'edit_startup' => [
+ 'title' => 'Редактировать команду запуска',
+ 'description' => 'Позволяет пользователю изменять переменные запуска для сервера.',
+ ],
+ 'list_schedules' => [
+ 'title' => 'Список расписаний',
+ 'description' => 'Позволяет пользователю посмотреть все расписания (включенные и отключенные) для этого сервера.',
+ ],
+ 'view_schedule' => [
+ 'title' => 'Посмотреть расписание',
+ 'description' => 'Позволяет пользователю просматривать детали конкретного расписания, включая все назначенные задачи.',
+ ],
+ 'toggle_schedule' => [
+ 'title' => 'Переключить Расписание',
+ 'description' => 'Позволяет пользователю переключать расписание на активные или неактивные.',
+ ],
+ 'queue_schedule' => [
+ 'title' => 'Очередь Расписаний',
+ 'description' => 'Позволяет пользователю ставить в очередь расписание для выполнения его задач в следующем цикле процесса.',
+ ],
+ 'edit_schedule' => [
+ 'title' => 'Изменить расписание',
+ 'description' => 'Позволяет пользователю редактировать расписание, включая все задачи расписания. Это позволит пользователю удалять отдельные задачи, но не удалять само расписание.',
+ ],
+ 'create_schedule' => [
+ 'title' => 'Создать расписание',
+ 'description' => 'Позволяет пользователю создавать новое расписание.',
+ ],
+ 'delete_schedule' => [
+ 'title' => 'Удалить расписание',
+ 'description' => 'Позволяет пользователю удалить расписание с сервера.',
+ ],
+ 'view_databases' => [
+ 'title' => 'Просмотр базы данных',
+ 'description' => 'Позволяет пользователю просматривать все базы данных, связанные с этим сервером, включая имена пользователей и пароли для баз данных.',
+ ],
+ 'reset_db_password' => [
+ 'title' => 'Сбросить пароль базы данных',
+ 'description' => 'Позволяет пользователю сбросить пароли для баз данных.',
+ ],
+ 'delete_database' => [
+ 'title' => 'Удалить базы данных',
+ 'description' => 'Позволяет пользователю удалять базы данных для этого сервера.',
+ ],
+ 'create_database' => [
+ 'title' => 'Создать базу данных',
+ 'description' => 'Позволяет пользователю создавать дополнительные базы данных для этого сервера.',
+ ],
+ ],
+ ],
+ 'allocations' => [
+ 'mass_actions' => 'Массовые акции',
+ 'delete' => 'Удалить распределение',
+ ],
+ 'files' => [
+ 'exceptions' => [
+ 'invalid_mime' => 'Этот тип файла не может быть отредактирован через встроенный редактор.',
+ 'max_size' => 'Этот файл слишком велик для редактирования через встроенный редактор.',
+ ],
+ 'header' => 'Файловый менеджер',
+ 'header_sub' => 'Управляйте всеми своими файлами прямо из Интернета.',
+ 'loading' => 'Загрузка исходной файловой структуры, это может занять несколько секунд.',
+ 'path' => 'При настройке любых путей к файлам в плагинах или настройках вашего сервера вы должны использовать :path в качестве базового пути. Максимальный размер загрузки файлов через Интернет на этот узел: :size.',
+ 'seconds_ago' => 'секунд назад',
+ 'file_name' => 'Имя файла',
+ 'size' => 'Размер',
+ 'last_modified' => 'Последнее изменение',
+ 'add_new' => 'Добавить новый файл',
+ 'add_folder' => 'Добавить новую папку',
+ 'mass_actions' => 'Массовые акции',
+ 'delete' => 'Удалить файлы',
+ 'edit' => [
+ 'header' => 'Редактировать файл',
+ 'header_sub' => 'Внесите изменения в файл из Интернета.',
+ 'save' => 'Сохранить файл',
+ 'return' => 'Вернуться в файловый менеджер',
+ ],
+ 'add' => [
+ 'header' => 'Новый файл',
+ 'header_sub' => 'Создайте новый файл на вашем сервере.',
+ 'name' => 'Имя файла',
+ 'create' => 'Создать файл',
+ ],
+ ],
+ 'config' => [
+ 'name' => [
+ 'header' => 'Название сервера',
+ 'header_sub' => 'Измените имя этого сервера.',
+ 'details' => 'Имя сервера является только ссылкой на этот сервер на панели и не влияет на какие-либо конкретные конфигурации серверов, которые могут отображаться для пользователей в играх.',
+ ],
+ 'startup' => [
+ 'header' => 'Начать настройку',
+ 'header_sub' => 'Управляйте аргументами запуска сервера.',
+ 'command' => 'Команда запуска',
+ 'edit_params' => 'Изменить параметры',
+ 'update' => 'Обновить параметры запуска',
+ 'startup_regex' => 'Правила ввода',
+ 'edited' => 'Переменные запуска были успешно отредактированы. Они вступят в силу при следующем запуске этого сервера.',
+ ],
+ 'sftp' => [
+ 'header' => 'Конфигурация SFTP',
+ 'header_sub' => 'Данные учетной записи для SFTP-соединений.',
+ 'details' => 'Подробности SFTP',
+ 'conn_addr' => 'Адрес подключения',
+ 'warning' => 'Пароль SFTP - это пароль вашей учетной записи. Убедитесь, что ваш клиент настроен на использование SFTP, а не FTP или FTPS для соединений, между протоколами есть разница.',
+ ],
+ 'database' => [
+ 'header' => 'Базы данных',
+ 'header_sub' => 'Все базы данных доступные для этого сервера.',
+ 'your_dbs' => 'Настройки базы данных',
+ 'host' => 'MySQL Хост',
+ 'reset_password' => 'Сброс пароля',
+ 'no_dbs' => 'Для этого сервера нет баз данных.',
+ 'add_db' => 'Добавить новую базу данных.',
+ ],
+ 'allocation' => [
+ 'header' => 'Порты сервера',
+ 'header_sub' => 'Управляйте IP-адресами и портами, доступными на этом сервере.',
+ 'available' => 'Доступные Распределения',
+ 'help' => 'Справка по Распределению портов.',
+ 'help_text' => 'Список включает в себя все доступные IP-адреса и порты, которые открыты для вашего сервера, чтобы использовать для входящих подключений.',
+ ],
+ ],
+];
diff --git a/resources/lang/ru/strings.php b/resources/lang/ru/strings.php
new file mode 100644
index 00000000..0dc9ff55
--- /dev/null
+++ b/resources/lang/ru/strings.php
@@ -0,0 +1,88 @@
+ 'Эл. адрес',
+ 'user_identifier' => 'Имя пользователя или адрес электронной почты',
+ 'password' => 'Пароль',
+ 'confirm_password' => 'Подтвердите Пароль',
+ 'login' => 'Войти',
+ 'home' => 'Домой',
+ 'servers' => 'Серверы',
+ 'id' => 'ID',
+ 'name' => 'Название',
+ 'node' => 'Узел',
+ 'connection' => 'Подключение',
+ 'memory' => 'Память',
+ 'cpu' => 'Процессор',
+ 'status' => 'Статус',
+ 'search' => 'Поиск',
+ 'suspended' => 'Приостановленный',
+ 'account' => 'Аккаунт',
+ 'security' => 'Безопасность',
+ 'ip' => 'IP адрес',
+ 'last_activity' => 'Последняя активность',
+ 'revoke' => 'Отменить',
+ '2fa_token' => 'Токен аутентификации',
+ 'submit' => 'Отправить',
+ 'close' => 'Закрыть',
+ 'settings' => 'Настройки',
+ 'configuration' => 'Конфигурация',
+ 'sftp' => 'SFTP',
+ 'databases' => 'База данных',
+ 'memo' => 'Напоминание',
+ 'created' => 'Созданный',
+ 'expires' => 'Истекает',
+ 'public_key' => 'Токен',
+ 'api_access' => 'Доступ к API',
+ 'never' => 'никогда',
+ 'sign_out' => 'Выход',
+ 'admin_control' => 'Админ панель',
+ 'required' => 'Необходимо',
+ 'port' => 'Порт',
+ 'username' => 'Имя пользователя',
+ 'database' => 'База данных',
+ 'new' => 'Новый',
+ 'danger' => 'Опасность',
+ 'create' => 'Создать',
+ 'select_all' => 'Выбрать все',
+ 'select_none' => 'Выберат ни одного',
+ 'alias' => 'Псевдоним',
+ 'primary' => 'Основной',
+ 'make_primary' => 'Сделать основным',
+ 'none' => 'Никто',
+ 'cancel' => 'Отмена',
+ 'created_at' => 'Создан в',
+ 'action' => 'Действие',
+ 'data' => 'Дата',
+ 'queued' => 'Очередь',
+ 'last_run' => 'Последний запуск',
+ 'next_run' => 'Следующий запуск',
+ 'not_run_yet' => 'Еще не работает',
+ 'yes' => 'Да',
+ 'no' => 'Нет',
+ 'delete' => 'Удалить',
+ '2fa' => '2FA',
+ 'logout' => 'Выйти',
+ 'admin_cp' => 'Панель управления администратора',
+ 'optional' => 'Опциональный',
+ 'read_only' => 'Только чтение',
+ 'relation' => 'Зависимость',
+ 'owner' => 'Владелец',
+ 'admin' => 'Администратор',
+ 'subuser' => 'Доп-пользователь',
+ 'captcha_invalid' => 'Капча недействительна.',
+ 'tasks' => 'Задачи',
+ 'seconds' => 'Секунд',
+ 'minutes' => 'Минут',
+ 'under_maintenance' => 'На техобслуживании',
+ 'days' => [
+ 'sun' => 'Воскресенье',
+ 'mon' => 'Понедельник',
+ 'tues' => 'Вторник',
+ 'wed' => 'Среда',
+ 'thurs' => 'Черверг',
+ 'fri' => 'Пятница',
+ 'sat' => 'Суббота',
+ ],
+ 'last_used' => 'Последний раз был использован',
+];
diff --git a/resources/lang/ru/validation.php b/resources/lang/ru/validation.php
new file mode 100644
index 00000000..9baf6c96
--- /dev/null
+++ b/resources/lang/ru/validation.php
@@ -0,0 +1,105 @@
+ ':attribute должен быть принят.',
+ 'active_url' => ':attribute не является допустимым URL.',
+ 'after' => ':attribute должен быть датой после :date.',
+ 'after_or_equal' => ':attribute должен быть датой после или равен :date.',
+ 'alpha' => ':attribute может содержать только буквы.',
+ 'alpha_dash' => ':attribute может содержать только буквы, цифры и тире.',
+ 'alpha_num' => ':attribute может содержать только буквы и цифры.',
+ 'array' => ':attribute должен быть массивом.',
+ 'before' => ':attribute должен быть датой до :date.',
+ 'before_or_equal' => ':attribute должен быть датой до или равен :date.',
+ 'between' => [
+ 'numeric' => ':attribute должен быть между :min и :max.',
+ 'file' => ':attribute должен быть между :min и :max килобайт.',
+ 'string' => ':attribute должен быть между :min и :max символами.',
+ 'array' => ':attribute должен содержать от :min до :max элементов.',
+ ],
+ 'boolean' => ':attribute должно быть true или false.',
+ 'confirmed' => ':attribute Подтверждение не совпадает.',
+ 'date' => ':attribute не является допустимой датой.',
+ 'date_format' => ':attribute не соответствует формату :format.',
+ 'different' => ':attribute и :other должен быть другим.',
+ 'digits' => ':attribute должен быть :digits цифровым.',
+ 'digits_between' => ':attribute должен быть между :min и :max цифрами.',
+ 'dimensions' => ':attribute имеет недопустимые размеры изображения.',
+ 'distinct' => ':attribute имеет повторяющееся значение.',
+ 'email' => ':attribute должен быть действительным адресом электронной почты.',
+ 'exists' => 'выбранный :attribute недействителен.',
+ 'file' => ':attribute должен быть файлом.',
+ 'filled' => 'поле :attribute обязательно для заполнения.',
+ 'image' => ':attribute должен быть изображением.',
+ 'in' => 'выбранный :attribute недействителен.',
+ 'in_array' => 'поле :attribute не существует в :other.',
+ 'integer' => ':attribute должен быть целым числом.',
+ 'ip' => ':attribute должен быть действительным IP-адресом.',
+ 'json' => ':attribute должен быть допустимой строкой JSON.',
+ 'max' => [
+ 'numeric' => ':attribute не может быть больше чем :max.',
+ 'file' => ':attribute не может быть больше, чем :max килобайт.',
+ 'string' => ':attribute не может быть больше, чем :max символов.',
+ 'array' => ':attribute может содержать не более :max предметов.',
+ ],
+ 'mimes' => ':attribute должен быть файл типа: :values.',
+ 'mimetypes' => ':attribute должен быть файл типа: :values.',
+ 'min' => [
+ 'numeric' => ':attribute должен быть не менее :min.',
+ 'file' => ':attribute должно быть не менее :min килобайт.',
+ 'string' => ':attribute должно быть не менее :min символов.',
+ 'array' => ':attribute должно иметь как минимум :min предметов.',
+ ],
+ 'not_in' => 'выбранный :attribute недействителен.',
+ 'numeric' => ':attribute должен быть числом.',
+ 'present' => ':attribute поле должно присутствовать.',
+ '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.',
+ 'file' => ':attribute должно быть :size килобайт.',
+ 'string' => ':attribute должно быть :size символов.',
+ 'array' => ':attribute должен содержать :size предметов.',
+ ],
+ 'string' => ':attribute должен быть строкой.',
+ 'timezone' => ':attribute должна быть действительной зоной.',
+ 'unique' => ':attribute уже занят.',
+ 'uploaded' => ':attribute не удалось загрузить.',
+ 'url' => ':attribute Формат неверен.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+ // Internal validation logic for Pterodactyl
+ 'internal' => [
+ 'variable_value' => ':env переменная',
+ ],
+];