diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json new file mode 100644 index 00000000..fb299914 --- /dev/null +++ b/src/locales/ru-RU.json @@ -0,0 +1,469 @@ +{ + "add_node.alternative_method": "Альтернативный метод", + "add_node.attach_new_node": "Присоединить новый узел", + "add_node.caprover_ip_address": "IP-адрес CapRover", + "add_node.caprover_uses_ssh": "CapRover использует SSH для подключения к вашим узлам и их присоединения к кластеру. Иногда этот процесс не работает из-за нестандартных конфигураций SSH, таких как нестандартные порты, пользовательские имена пользователей и т.д.", + "add_node.depending_on_your_network_configurations": "В зависимости от конфигурации вашей сети вам может также потребоваться добавить к команде", + "add_node.in_these_cases": "В таких случаях будет проще вручную запустить команды из SSH-сессии. Сначала с вашего", + "add_node.it_will_output_something_like_this": "Будет выведено что-то вроде этого:", + "add_node.join_as_manager_node": "Присоединиться как управляющий узел", + "add_node.join_as_worker_node": "Присоединиться как рабочий узел", + "add_node.join_cluster": "Присоединиться к кластеру", + "add_node.main_leader_node": "главный ведущий узел", + "add_node.new_node_ip_address": "IP-адрес нового узла", + "add_node.run_the_following_command": "выполните следующую команду:", + "add_node.see_details_link": "Подробности см. в этой проблеме.", + "add_node.ssh_port": "SSH-порт", + "add_node.ssh_private_key_for": "Приватный SSH-ключ для", + "add_node.ssh_user": "SSH-пользователь", + "add_node.then_copy_the_command": "Затем скопируйте команду из вывода выше и выполните её на рабочем узле.", + "add_node.tip_for_node_count": "Совет: на каждые 5 рабочих узлов добавляйте 2 управляющих узла, сохраняя их количество нечётным. Поэтому используйте рабочие узлы для первых 4 узлов в кластере.", + "add_node.use_rsa_key": "Используйте RSA-ключ. Другие типы, например Ed25519, не поддерживаются — для них используйте альтернативный метод ниже.", + "add_node.using_non_root_users": "Использование непривилегированных пользователей с доступом sudo НЕ РАБОТАЕТ. Если вы хотите использовать непривилегированный аккаунт, он должен иметь возможность запускать команды docker без sudo. Либо используйте альтернативный метод ниже.", + "apps_table.app_name": "Имя приложения", + "apps_table.bulk_delete_tooltip": "Удалить выбранные приложения и проекты", + "apps_table.header_all_apps_projects": "Все приложения из всех проектов", + "apps_table.header_root": "Корень (приложения без проектов)", + "apps_table.instance_count": "Количество инстансов", + "apps_table.last_deployed": "Последнее развертывание", + "apps_table.not_exposed_tooltip": "Нет доступа как к веб-приложение", + "apps_table.open": "Открыть", + "apps_table.persistent_data": "Сохраняемые данные", + "apps_table.search_input_placeholder": "Поиск по имени", + "apps_table.tags": "Теги", + "apps_table.title": "Ваши приложения", + "apps.app_active_ssl": "Нажмите, чтобы активировать HTTPS для этого домена", + "apps.app_active_ssl_button": "Включить HTTPS", + "apps.app_add_new_domain": "Подключить новый домен", + "apps.app_config_add_key_value_env_vars": "Добавить пару ключ/значение", + "apps.app_config_add_port_mapping": "Добавить проброс портов", + "apps.app_config_bulk_edit_button": "Массовое редактирование", + "apps.app_config_instances_force_edit_button": "Редактировать", + "apps.app_config_instances_running_title": "Количество запущенных инстансов этого приложения", + "apps.app_config_instances_running_title_short": "Количество инстансов", + "apps.app_config_instances_warning_hint": "Несколько инстансов приложений с сохраняемыми данными могут быть опасны, так как они могут обращаться к одним и тем же файлам на диске, что приведёт к повреждению данных. Изменяйте количество инстансов только если понимаете риски.", + "apps.app_config_no_env_vars": "У этого приложения пока нет пользовательских переменных окружения.", + "apps.app_config_no_port_mapping": "У этого приложения пока нет проброшеных портов.", + "apps.app_config_no_tags_message": "Сейчас с этим сервисом не связано тегов", + "apps.app_config_port_mapping": "Проброс портов", + "apps.app_config_port_tooltip": "Убедитесь, что порт не занят!", + "apps.app_config_tags": "Теги сервиса", + "apps.app_config_vol_add": "Добавить постоянный volume", + "apps.app_config_vol_directories": "Постоянные volume", + "apps.app_config_vol_host_path": "Путь на хосте", + "apps.app_config_vol_host_path_hint": "ВАЖНО: убедитесь, что путь на хосте существует", + "apps.app_config_vol_label": "Метка", + "apps.app_config_vol_manage_path": "Разрешить CapRover управлять путём", + "apps.app_config_vol_no_directories": "У этого приложения пока нет docker volumes.", + "apps.app_config_vol_node_id": "ID узла", + "apps.app_config_vol_node_id_edit": "Редактировать", + "apps.app_config_vol_node_id_hint": "Оставьте пустым для автоматического размещения", + "apps.app_config_vol_node_id_warning": "ВНИМАНИЕ: изменение ID узла удалит содержимое docker volumes!", + "apps.app_config_vol_path": "Путь в приложении", + "apps.app_config_vol_set_path": "Указать путь на хосте", + "apps.app_configs_tab": "Конфигурации приложения", + "apps.app_deployment_tab": "Развертывание", + "apps.app_logs_tab": "Логи доступа", + "apps.app_edit_description": "Описание", + "apps.app_edit_name": "Имя приложения", + "apps.app_edit_tags": "Теги", + "apps.app_log_button_hide": "Скрыть логи", + "apps.app_log_button_view": "Просмотреть логи", + "apps.app_log_view_full": "Нажмите, чтобы узнать, как просмотреть полные логи (без обрезки)", + "apps.app_public_urls": "Ваше приложение доступно по адресу", + "apps.app_ssl_already_active": "Уже активирован", + "apps.button_enable_auth": "Редактировать HTTP Basic Auth", + "apps.button_enable_auth_active": "активно", + "apps.button_enable_auth_current_state": "Текущее состояние", + "apps.button_enable_auth_inactive": "неактивно", + "apps.close_tooltip": "Закрыть", + "apps.container_http_port": "HTTP-порт контейнера", + "apps.delete_app_apps_deleted": "Приложение(я) удалены!", + "apps.delete_app_apps_list": "Приложения", + "apps.delete_app_button": "Удалить приложение", + "apps.delete_app_confirm": "Введите %s в поле ниже для подтверждения удаления", + "apps.delete_app_failed_confirm": "Текст подтверждения не совпадает. Операция отменена.", + "apps.delete_app_project_deleted": "Проект(ы) удалены!", + "apps.delete_app_projects_list": "Проекты", + "apps.delete_app_title": "Подтвердить удаление?", + "apps.delete_app_volumes_to_delete": "Выберите тома для удаления. Если том используется другими приложениями, он не будет удалён. Удаление может занять более 10 секунд.", + "apps.delete_app_warning": "Внимание: это действие необратимо", + "apps.deploy_app_build_logs_hide": "Скрыть логи сборки", + "apps.deploy_app_build_logs_view": "Просмотреть логи сборки", + "apps.deploy_app_not_found": "Приложение не найдено!", + "apps.deploy_app_token_description": "Включить токен приложения для генерации случайного токена", + "apps.deploy_build_started": "Сборка начата", + "apps.deploy_button_disable_app_token": "Отключить токен", + "apps.deploy_button_enable_app_token": "Включить токен", + "apps.deploy_captain_definition_path_hint": "Не меняйте этот путь, если у вас нет нескольких captain-definition файлов (монорепозитории). См. документацию.", + "apps.deploy_captain_definition_relative_path_hint": "Путь к captain-definition", + "apps.deploy_captain_definition_relative_path_hint_tooltip": "Редактируйте, только если файл находится в подкаталоге", + "apps.deploy_cli_description_part1": "Используйте команду CLI для развертывания. Это самый простой способ. Подробнее в документации: %s", + "apps.deploy_cli_description_part2": "Если вы используете CI/CD для запуска caprover deploy и не хотите вводить пароль, используйте токены приложений.", + "apps.deploy_copied_to_clipboard": "Скопировано в буфер!", + "apps.deploy_current_version_tooltip": "Текущая версия", + "apps.deploy_failed_deploy_tooltip": "Ошибка развертывания", + "apps.deploy_force_build_button": "Принудительная сборка", + "apps.deploy_git_hash": "хэш git", + "apps.deploy_image_name": "Имя образа", + "apps.deploy_method_captain_definition": "Метод 5: Развернуть файл captain-definition", + "apps.deploy_method_cli": "Метод 1: Официальный CLI", + "apps.deploy_method_dockerfile": "Метод 4: Развернуть Dockerfile", + "apps.deploy_method_github": "Метод 3: Развернуть из Github/Bitbucket/Gitlab", + "apps.deploy_method_github_description": "Введите данные репозитория и сохраните. Затем добавьте URL как вебхук на Github/Bitbucket/Gitlab. После пуша CapRover начнёт сборку.", + "apps.deploy_method_github_url_hint": "Добавьте данные репозитория, чтобы появился вебхук", + "apps.deploy_method_image_name": "Метод 6: Развернуть по имени образа", + "apps.deploy_method_tarball": "Метод 2: TAR-архив", + "apps.deploy_now_button": "Развернуть сейчас", + "apps.deploy_revert_to_version_tooltip": "Вернуться к этой версии", + "apps.deploy_rollback_confirm": "Откатить?", + "apps.deploy_rollback_registry_warning": "Образ (%s) находится в Docker Registry. Убедитесь, что он не был удалён.", + "apps.deploy_rollback_warning": "Если вы ранее удалили этот образ, откат завершится ошибкой.", + "apps.deploy_rollback_warning_body": "Продолжить откат приложения до этого образа: ", + "apps.deploy_ssh_key_replacement_description": "Или используйте SSH-ключ вместо логина/пароля:", + "apps.deploy_state": "Состояние", + "apps.deploy_tarball_description": "Создайте TAR-архив (%s) и загрузите его через кнопку.", + "apps.deploy_time": "Время развертывания", + "apps.deploy_upload_app_button": "Загрузить и развернуть", + "apps.deploy_upload_instructions": "Перетащите TAR-файл сюда или нажмите для загрузки", + "apps.deploy_upload_instructions_must_contain": "Должен содержать файл:", + "apps.deploy_version": "Версия", + "apps.deploy_version_history": "История версий", + "apps.description_placeholder": "Это приложение просто потрясающее!\nЕщё одна строка!", + "apps.do_not_wrap_logs_button": "Не переносить логи на новую строку", + "apps.edit_app_config": "Сохранить и перезапустить", + "apps.edit_app_title": "Редактировать приложение: ", + "apps.edit_nginx_config_button": "Редактировать конфигурацию Nginx", + "apps.edit_nginx_description": "Шаблоны используют синтаксис EJS. Не изменяйте области между %s, если не уверены! Для сброса удалите всё содержимое.", + "apps.enable_auth_dialog_body": "Базовая HTTP-аутентификация позволяет ограничить доступ к веб-ресурсам. Полезно для приложений, созданных через One-Click (например, phpMyAdmin).", + "apps.enable_auth_dialog_title": "Редактировать HTTP Basic Auth", + "apps.env_vars_title": "Переменные окружения", + "apps.force_http_hint_warning": "Принудительный HTTPS может нарушить работу доменов без HTTPS. Убедитесь, что HTTPS включён для нужных доменов.", + "apps.force_http_text": "Принудительно перенаправлять HTTP на HTTPS", + "apps.generic_edit_button": "Редактировать", + "apps.hint_http_port": "HTTP-порт внутри контейнера (по умолчанию 80). Измените, если приложение использует другой порт. Только для HTTP-приложений.", + "apps.http_expose_hint": "Используйте, если не хотите публиковать приложение. Оно останется доступным внутри как %s", + "apps.http_expose_title": " Не публиковать как веб-приложение", + "apps.http_hint_address": "Ваше приложение доступно внутри как %s1 для других приложений. Веб-приложения доступны через %s2.", + "apps.http_settings_tab": "Настройки HTTP", + "apps.http_warning_ip_address_hint": "Убедитесь, что новый домен указывает на этот IP, иначе проверка не пройдёт.", + "apps.link_see_here": "(здесь)", + "apps.parent_project": "Родительский проект", + "apps.rename_warning": "Если вы переименуете приложение, используемое другими приложениями, обновите их адреса во избежание ошибок.", + "apps.select_parent_project": "Выбрать родительский проект", + "apps.websock_support_text": "Поддержка WebSocket", + "apps.websock_support_text_hint": "Добавляет заголовки для проксирования WebSocket в конфиг Nginx.", + "apps.wrap_logs_button": "Переносить логи на другую строку", + "automatic_disk_cleanup.by_default_caprover": "По умолчанию CapRover сохраняет несколько последних образов приложений для отката. Также используется планировщик crontab, например,", + "automatic_disk_cleanup.copied_to_clipboard": "Скопировано в буфер!", + "automatic_disk_cleanup.cron_schedule": "Расписание Cron", + "automatic_disk_cleanup.every_time_you_deploy": "Каждое развертывание создаёт новый образ Docker. Обычно большая часть образа общая, но с каждой сборкой объём растёт. Вы можете очистить диски вручную через этот интерфейс.", + "automatic_disk_cleanup.for_example_enter_2": "Например, введите 2, чтобы сохранить 2 последние сборки", + "automatic_disk_cleanup.invalid_data": "Неверные данные", + "automatic_disk_cleanup.keep_most_recent": "Сохранить последние", + "automatic_disk_cleanup.leave_empty_to_disable_cleanup": "оставьте пустым для отключения очистки", + "automatic_disk_cleanup.results_in_running_cleanup": "запускает очистку каждый день в 1:00.", + "automatic_disk_cleanup.save": "Сохранить", + "automatic_disk_cleanup.settings_saved_successfully": "Настройки сохранены!", + "automatic_disk_cleanup.timezone": "Часовой пояс", + "automatic_disk_cleanup.use_a_simple_crontab_expression": "Используйте простое выражение crontab для планирования очистки", + "backup.create_backup": "Создать резервную копию", + "backup.create_backup_info": "Создайте резервную копию конфигураций CapRover, чтобы иметь возможность запустить клон этого сервера. Обратите внимание, что данные ваших приложений (тома и образы) не входят в эту резервную копию. Эта копия включает только детали конфигурации сервера, такие как корневые домены, названия приложений, SSL-сертификаты и т.д.", + "backup.download_started": "Загрузка резервной копии началась...", + "backup.see_documents": "Смотрите документацию для получения дополнительной информации о том, как восстановить ваш сервер с помощью файла резервной копии.", + "change_password.change_password": "Изменить пароль", + "change_password.confirm_new_password": "Подтвердите новый пароль", + "change_password.new_password": "Новый пароль", + "change_password.new_password_cannot_be_empty": "Новый пароль не может быть пустым", + "change_password.new_passwords_confirm_does_not_match": "Подтверждение нового пароля не совпадает", + "change_password.old_password": "Старый пароль", + "change_password.password_changed_successfully": "Пароль успешно изменен!", + "check_update.caprover_unresponsive": "Ваша панель управления CapRover будет недоступна во время обновления. Пожалуйста, подождите, пока эта страница автоматически обновится.", + "check_update.current_version": "Текущая версия", + "check_update.in_place_updates": "CapRover позволяет устанавливать обновления на месте. Однако всегда читайте журнал изменений перед обновлением вашего CapRover. Возможно, там есть критические изменения, о которых вам нужно знать. Обновление обычно занимает около 60 секунд, и ваш CapRover может быть недоступен до завершения процесса обновления. Ваши приложения останутся функциональными и отзывчивыми в это время, за исключением очень короткого периода в 10 секунд или менее.", + "check_update.install_update": "Установить обновление", + "check_update.latest_stable_version": "Последняя стабильная версия", + "check_update.latest_version_message": "Ваш CapRover является последней версией.", + "check_update.nginx_error": "Вы можете увидеть ошибку nginx ненадолго после обновления. Но она исправится сама собой через несколько секунд.", + "check_update.update_time": "Обновление занимает около минуты в зависимости от скорости соединения вашего сервера.", + "cluster.docker_registry_title": "Конфигурация Docker Registry", + "cluster.nodes_section_title": "Узлы", + "create_new_app.button": "Создать новое приложение", + "create_new_app.has_persistent_data": "Имеет постоянные данные", + "create_new_app.has_persistent_data_tooltip": "В основном используется для баз данных, см. документацию для подробностей.", + "create_new_app.one_click_apps": "Приложения/базы данных в один клик", + "create_new_app.or_select_from": "Или выберите из", + "create_new_app.placeholder": "my-amazing-app", + "create_new_app.title": "Создать новое приложение", + "dashboard.caprover_serversetup": "настройка сервера caprover", + "dashboard.caprover_setup_success": "Вы успешно установили и настроили CapRover! Теперь вы можете развертывать свои приложения! Помните, что с помощью CapRover вы можете разворачивать приложения из исходного кода (например, Node.js, PHP, Java, Ruby, Python и т.д.), а также готовые приложения, такие как MySQL, MongoDB, WordPress, Redis и многие другие!", + "dashboard.change_root_domain_anyways": "Все равно изменить корневой домен", + "dashboard.command_line_tool": "Инструмент командной строки (РЕКОМЕНДУЕТСЯ):", + "dashboard.congratulations": "Поздравляем!", + "dashboard.deploy_source_code_info": "Для получения дополнительной информации о том, как развернуть приложения из исходного кода, обязательно посмотрите это: ", + "dashboard.detailed_guide_setup_ip": "Первое, что нужно сделать для CapRover — это настроить корневой домен. Например, если вы владеете %s1, вы можете использовать %s2 или %s3 как ваш корневой домен. Сначала вам нужно убедиться, что IP-адрес всех поддоменов корневого домена указывает на IP-адрес CapRover. Для этого перейдите в настройки DNS на сайте вашего провайдера домена и установите запись A с подстановочным знаком. Например: %s4, где этот IP-адрес — это IP-адрес вашей машины (сервера) CapRover.", + "dashboard.dns_settings_effect_time": "ПРИМЕЧАНИЕ: Настройки DNS могут занять несколько часов, чтобы вступить в силу.", + "dashboard.dns_settings_effect_time_link": "См. эту ссылку для получения дополнительной информации", + "dashboard.enable_https": "Включить HTTPS", + "dashboard.enable_https_button": "Включить HTTPS", + "dashboard.enable_https_button_hint": "Используя бесплатный сервис Let's Encrypt", + "dashboard.enable_https_email_importance": "Этот адрес электронной почты очень важен, так как Let's Encrypt использует его для целей проверки. Пожалуйста, укажите здесь действительный адрес электронной почты.", + "dashboard.enable_https_info": "CapRover использует Let's Encrypt для предоставления бесплатных SSL-сертификатов (HTTPS).", + "dashboard.enable_ssl_dialog_body": "ВАЖНО: После включения HTTPS вы больше не сможете редактировать корневой домен. Убедитесь, что вы используете хороший корневой домен. Хорошей практикой является настройка корневого домена на один уровень глубже. Например, если вы владеете %s1, используйте %s2 как ваш корневой домен. Это позволит вам лучше управлять своими поддоменами, не используйте %s3 как ваш корневой домен.", + "dashboard.force_change_root_domain": "Принудительно изменить корневой домен", + "dashboard.force_change_root_domain_info": "Вы уже включили SSL для вашего корневого домена. Изменение URL корневого домена сделает HTTPS недействительным для корневого домена и всех стандартных поддоменов приложений, если они у вас есть.", + "dashboard.force_change_root_domain_reenable": "Вы все равно сможете повторно включить HTTPS после изменения корневого домена.", + "dashboard.force_https": "Принудительно использовать HTTPS", + "dashboard.force_https_activated": "Принудительное использование HTTPS активировано!", + "dashboard.force_https_button": "Принудительно использовать HTTPS", + "dashboard.force_https_button_hint": "Перенаправлять весь трафик HTTP на HTTPS", + "dashboard.force_https_info": "После активации принудительного использования HTTPS весь трафик HTTP будет перенаправлен на HTTPS.", + "dashboard.force_https_login_again": "Вам придется снова войти в систему, так как теперь вы будете перенаправлены на сайт с HTTPS.", + "dashboard.force_https_proceed": "Вы уверены, что хотите продолжить?", + "dashboard.force_https_redirect": "Теперь весь трафик HTTP перенаправляется на HTTPS.", + "dashboard.force_https_warning": "Поскольку это действие без возможности отмены, настоятельно рекомендуется сначала протестировать сайт с HTTPS.", + "dashboard.https_setup_needed": "Но вам все еще нужно назначить домен и завершить настройку HTTPS, чтобы полностью настроить CapRover!", + "dashboard.ip_example_hint_specific": "Например, если вы установили %s1 как IP-адрес вашего сервера, просто введите %s2 в поле ниже:", + "dashboard.non_guided_version": "Это неподдерживаемая версия метода командной строки. Не забудьте настроить корневой домен, затем включить HTTPS и принудительно его использовать, и, наконец, изменить пароль.", + "dashboard.root_domain_configurations": "Конфигурации корневого домена CapRover", + "dashboard.root_domain_https_activated": "HTTPS для корневого домена активирован!", + "dashboard.root_domain_https_info": "Теперь вы можете использовать эту ссылку:", + "dashboard.root_domain_https_next_step": ". Следующий шаг — принудительно использовать HTTPS, чтобы запретить обычный трафик HTTP.", + "dashboard.root_domain_updated": "Корневой домен обновлен", + "dashboard.root_domain_updated_info": "Нажмите «Ок», чтобы быть перенаправленным на ваш новый корневой домен. Вам нужно будет снова войти в систему.", + "dashboard.run_on_local_machine": "На вашем локальном компьютере просто выполните следующие команды", + "dashboard.sample_apps": "примеры приложений.", + "dashboard.setup_options": "Вы можете настроить свой экземпляр CapRover двумя способами:", + "dashboard.setup_panel_title": "Начальная настройка CapRover", + "dashboard.successful_installation": "Вы успешно установили CapRover!", + "dashboard.update_domain_button": "Обновить домен", + "dashboard.update_root_domain_caution": "Вы всегда можете обновить свой корневой домен, но будьте осторожны! Ваши SSL-сертификаты будут отозваны из-за этого изменения домена.", + "dashboard.use_panel_below": "Используйте панель ниже:", + "default_docker_reg.change_default_registry": "Изменить реестр Docker по умолчанию:", + "default_docker_reg.cluster_warning": "Если у вас есть кластер (более одного сервера), вам нужен реестр отправки по умолчанию. Если у вас только один сервер, отключение реестра отправки по умолчанию допустимо.", + "default_docker_reg.default_push_registry": "Реестр отправки по умолчанию", + "default_docker_reg.default_registry_info": "Реестр Docker по умолчанию — это реестр, который будет использоваться для хранения ваших новых образов. Вы можете выбрать %s1, если не хотите отправлять новые образы в какой-либо реестр Docker. Имейте в виду, что если вы используете %s2, узлы кластера (если у вас более одного сервера) не смогут запускать ваши приложения.", + "default_docker_reg.docker_registry_for_pushing_images": "Реестр Docker для отправки новых образов:", + "default_docker_reg.edit_push_registry": "Редактировать реестр отправки", + "default_docker_reg.save_and_update": "Сохранить и обновить", + "disk_cleanup.default_parameter_info": "При использовании параметров по умолчанию сохраняются две последние сборки всех текущих приложений, и создается список образов, которые можно удалить (нажав кнопку «Получить список»). Вы можете выбрать, какие образы хотите удалить, и нажать кнопку «Удалить образы». Вы можете заметить, что некоторые образы не удаляются, даже если вы нажали «Удалить образы», это означает, что они используются напрямую или косвенно Docker. Распространенный пример косвенного использования — это образ, дочерний образ которого используется живым контейнером.", + "disk_cleanup.get_list": "Получить список", + "disk_cleanup.keep_most_recent": "Сохранить самые последние", + "disk_cleanup.note_about_images": "Образы, которые используются (напрямую или косвенно), не будут удалены, даже если вы их выберете.", + "disk_cleanup.remove_unused_images": "Удалить неиспользуемые образы", + "disk_cleanup.select_images_for_removal": "Выберите образы, которые вы хотите удалить. Вы можете выбрать все из верхней строки.", + "disk_cleanup.tooltip_for_input": "Например, введите 2, чтобы исключить две самые последние сборки во время очистки", + "disk_cleanup.unused_images_deleted": "Неиспользуемые образы удалены.", + "docker_registries.default_push_registry_changed": "Реестр отправки по умолчанию успешно изменен.", + "docker_registries.docker_registry_added": "Реестр Docker успешно добавлен!", + "docker_registries.docker_registry_description": "Реестр Docker — это репозиторий для ваших собранных образов. Это похоже на Github или Bitbucket с приватными репозиториями, но вместо исходного кода он содержит готовые артефакты для вашего приложения. Он необходим для работы в режиме кластера, так как другие узлы должны иметь доступ к собранному образу, чтобы ваше приложение могло работать на них.", + "docker_registries.more_info": "Подробнее", + "docker_registries.no_registries_added": "Пока не добавлено ни одного реестра. Добавьте свой первый реестр!", + "docker_registries.registry_deleted": "Реестр удален.", + "docker_registries.registry_updated": "Реестр обновлен.", + "docker_registries.remote": "Удаленный реестр Docker:", + "docker_registries.remote_description": "Этот подход полагается на удаленную службу, которая выступает в качестве вашего реестра Docker. Используя этот подход, вы получите более надежный кластер, если сторонняя служба, которую вы используете, является надежной! Существует множество частных сервисов Docker Registry: Google Container Registry, Amazon EC2 Container Registry, Quay и т.д. Обратите внимание, что этот подход требует оплаты.", + "docker_registries.self_hosted": "self-hosted реестр Docker:", + "docker_registries.self_hosted_description": "Это самый простой способ настройки реестра Docker. CapRover создает экземпляр Docker Registry на главной машине и управляет им за вас. Однако у него есть свои ограничения. Если ваша основная машина будет уничтожена, ваши локальные образы будут потеряны. В большинстве случаев это не катастрофа, так как вы можете повторно развернуть свои приложения из исходного кода.", + "docker_registries.setup_methods": "CapRover предоставляет два метода для настройки вашего реестра Docker:", + "docker_registries.setup_required": "Настройка Docker Registry требуется только в том случае, если вы планируете запускать CapRover в кластере. Для одиночных развертываний CapRover использование Docker Registry не рекомендуется, так как оно значительно замедляет процесс развертывания.", + "docker_registry_add.add_remote_registry": "Добавить удаленный реестр", + "docker_registry_add.add_self_hosted_registry": "Добавить self-hosted реестр", + "docker_registry_add.enable_self_hosted_registry": "Включить self-hosted реестр", + "docker_registry_add.image_prefix_tooltip": "Ваши образы будут помечены как RegistryDomain/ImagePrefix/ImageName. Для большинства провайдеров префикс Image Prefix — это именно ваше имя пользователя, если только поле DOMAIN не специфично для вас, в этом случае префикс пуст.", + "docker_registry_add.remote_registry": "Удаленный реестр", + "docker_registry_add.remote_registry_info": "Вы можете прочитать больше об этом типе реестра на странице за этим модальным окном, конкретно в разделе «Подробнее».", + "docker_registry_add.self_hosted_registry": "Self-hosted реестр", + "docker_registry_add.self_hosted_registry_info": "Вы можете прочитать больше об этом типе реестра на странице за этим модальным окном, конкретно в разделе «Подробнее». Хотите продолжить и включить self-hosted реестр Docker?", + "docker_registry_table.actions": "Действия", + "docker_registry_table.cannot_delete_default_push": "Невозможно удалить реестр отправки по умолчанию", + "docker_registry_table.cannot_delete_default_push_content": "Этот реестр установлен как реестр отправки по умолчанию. Вы не можете удалить реестр отправки по умолчанию. Чтобы удалить его, сначала вам нужно изменить реестр отправки по умолчанию на другой реестр или полностью отключить реестр отправки по умолчанию. Затем вернитесь и удалите этот реестр.", + "docker_registry_table.cannot_edit_self_hosted_registry": "Вы не можете редактировать self-hosted реестр. Он управляется CapRover.", + "docker_registry_table.confirm_delete": "Подтвердить удаление", + "docker_registry_table.delete_registry": "Удалить реестр", + "docker_registry_table.delete_registry_content": "Вы уверены, что хотите удалить этот реестр из списка? После этого вы больше не сможете отправлять или загружать образы из этого реестра.", + "docker_registry_table.docker_registries": "Реестры Docker", + "docker_registry_table.domain": "Домен", + "docker_registry_table.edit_registry": "Редактировать реестр", + "docker_registry_table.edit_to_see": "Редактировать для просмотра.", + "docker_registry_table.image_prefix": "Префикс образа", + "docker_registry_table.image_prefix_tooltip": "Ваши образы будут помечены как RegistryDomain/ImagePrefix/ImageName. Для большинства провайдеров префикс Image Prefix — это именно ваше имя пользователя, если только поле DOMAIN не специфично для вас, в этом случае префикс пуст.", + "docker_registry_table.password": "Пароль", + "docker_registry_table.save_and_update": "Сохранить и обновить", + "docker_registry_table.user": "Пользователь", + "goaccess.log_analyzer": "Анализатор логов GoAccess", + "goaccess.description_details": "GoAccess — это анализатор логов Nginx на стороне сервера, предназначенный для создания автономных HTML-отчетов в реальном времени с инкрементальной обработкой логов.", + "goaccess.more_details": "Для получения дополнительной информации посетите", + "goaccess.link": "сайт GoAccess", + "goaccess.start_goaccess": "Запустить GoAccess", + "goaccess.stop_goaccess": "Остановить GoAccess", + "goaccess.live": "Живой", + "goaccess.logs_location": "Просмотр журналов доступа на странице деталей приложения", + "goaccess.update": "Обновить GoAccess", + "goaccess.started": "GoAccess запущен и обновлен!", + "goaccess.stopped": "GoAccess остановлен", + "goaccess_settings.custom": "Пользовательский", + "goaccess_settings.every_minute": "Каждую минуту", + "goaccess_settings.every_10_minute": "Каждые 10 минут", + "goaccess_settings.every_hour": "Каждый час", + "goaccess_settings.every_day": "Ежедневно", + "goaccess_settings.weekly": "Еженедельно", + "goaccess_settings.monthly": "Ежемесячно", + "goaccess_settings.every_2_months": "Каждые 2 месяца", + "goaccess_settings.every_4_months": "Каждые 4 месяца", + "goaccess_settings.indefinite": "Бессрочно", + "goaccess_settings.goaccess_settings": "Настройки GoAccess", + "goaccess_settings.rotation_frequency": "Частота ротации логов и генерации отчетов", + "goaccess_settings.log_retention": "Срок хранения логов и отчетов (в днях)", + "goaccess_settings.crontab_placeholder": "Допустимое выражение Crontab", + "goaccess_settings.log_retention_placeholder": "Количество дней", + "load_balancer_stats.active_connections": "Активные соединения", + "load_balancer_stats.active_requests": "Активные запросы", + "load_balancer_stats.reading_requests": "чтение", + "load_balancer_stats.title": "Статистика балансировщика нагрузки", + "load_balancer_stats.total_requests": "Всего запросов", + "load_balancer_stats.total_requests_tooltip": "Постоянно увеличивается при обновлении значений", + "load_balancer_stats.waiting_requests": "Ожидающие запросы", + "load_balancer_stats.writing_requests": "запись", + "login_form.cap_rover": "Вход в CapRover", + "login_form.login": "Войти", + "login_form.no_session_persistence": "Без сохранения сессии (Наиболее безопасно)", + "login_form.password": "Пароль", + "login_form.remember_me": "Запомнить меня", + "login_form.use_local_storage": "Использовать localStorage (Наиболее постоянное)", + "login_form.use_session_storage": "Использовать sessionStorage", + "menu_item.app": "Приложения", + "menu_item.cluster": "Кластер", + "menu_item.dashboard": "Панель управления", + "menu_item.maintenance": "Обслуживание", + "menu_item.monitoring": "Мониторинг", + "menu_item.settings": "Настройки", + "netdata_settings.all_notification_options_are_completely_optional": "Все параметры уведомлений являются ПОЛНОСТЬЮ НЕОБЯЗАТЕЛЬНЫМИ.", + "netdata_settings.allow_non_tls": "разрешить без TLS", + "netdata_settings.default_email_fallback_receiver": "Email по умолчанию (резервный получатель)", + "netdata_settings.email_smtp": "Email", + "netdata_settings.netdata_offers_multiple_ways": "NetData предлагает несколько способов получения уведомлений, если что-то идет не так с использованием ресурсов вашего сервера.", + "netdata_settings.notification_settings": "Настройки уведомлений", + "netdata_settings.push_bullet": "Push Bullet", + "netdata_settings.push_bullet_api_token": "Токен API Push Bullet", + "netdata_settings.recipient_email": "Email получателя", + "netdata_settings.server_tag": "Тег сервера", + "netdata_settings.slack": "Slack", + "netdata_settings.slack_channel": "Канал Slack", + "netdata_settings.slack_webhook": "Webhook Slack", + "netdata_settings.smtp_password": "SMTP пароль", + "netdata_settings.smtp_port": "Порт SMTP", + "netdata_settings.smtp_server": "Сервер SMTP", + "netdata_settings.smtp_username": "Имя пользователя SMTP", + "netdata_settings.telegram": "Telegram", + "netdata_settings.telegram_bot_token": "Токен бота", + "netdata_settings.telegram_chat_id": "ID чата", + "netdata_settings.unsecure": "Небезопасно", + "netdata.caprover_interface": "CapRover предоставляет простой интерфейс для включения NetData на вашем экземпляре CapRover. В настоящее время CapRover поддерживает установку NetData только на основном узле, то есть на узле, где находится экземпляр CapRover. Это ограничение связано с ограничением в интерфейсе Docker.", + "netdata.custom_image": "Вы можете перекомпилировать CapRover с другим пользовательским образом, если хотите.", + "netdata.description_details": "Netdata — один из самых популярных и мощных инструментов мониторинга, предоставляющий веб-интерфейс. Это система для распределенного мониторинга производительности и состояния в реальном времени. Она обеспечивает беспрецедентные возможности анализа всего, что происходит в системе, в которой она работает (включая такие приложения, как веб-серверы и базы данных), используя современные интерактивные веб-панели.", + "netdata.docker_limitation_link": "(подробнее здесь)", + "netdata.github_link": "(подробнее здесь)", + "netdata.more_details": "Для получения дополнительной информации о NetData посетите их страницу на GitHub", + "netdata.net_data_monitoring_tool": "Инструмент мониторинга NetData", + "netdata.netdata_started_and_updated": "NetData запущен и обновлен!", + "netdata.netdata_stopped": "NetData остановлен!", + "netdata.open_net_data": "Открыть NetData", + "netdata.speed_efficiency": "NetData быстр и эффективен, разработан для постоянной работы на всех системах (физических и виртуальных серверах, контейнерах, IoT устройствах), не нарушая их основной функциональности. Текущий образ NetData, встроенный в CapRover, использует стандартную конфигурацию для статистики.", + "netdata.start_net_data_engine": "Запустить движок NetData", + "netdata.statistics_link": "(подробнее здесь)", + "netdata.turn_net_data_off": "Выключить NetData", + "netdata.update_net_data": "Обновить NetData", + "nginx_config.base_config_location": "Базовое расположение конфигурации в контейнере nginx", + "nginx_config.captain_config_location": "Расположение конфигурации CapRover в контейнере nginx", + "nginx_config.customization": "CapRover позволяет задавать пользовательские конфигурации для вашего маршрутизатора nginx. Это позволит достичь высокого уровня настройки в отношении кэширования, специальной маршрутизации, http2 и т.д.", + "nginx_config.load_default": "Загрузить по умолчанию и редактировать", + "nginx_config.save_update": "Сохранить и обновить", + "nginx_config.template_pattern": "Обратите внимание, что шаблоны создаются с использованием шаблонов EJS. Не изменяйте области между <% .... >, если вы точно не знаете, что делаете!", + "nodes.architecture": "Архитектура: ", + "nodes.cpu": "CPU: ", + "nodes.current_cluster_nodes": "Текущие узлы кластера", + "nodes.docker_version": "Версия Docker: ", + "nodes.hostname": "Имя хоста: ", + "nodes.ip_address": "IP: ", + "nodes.leader": "Главный узел", + "nodes.no_default_push_registry": "Вы не можете добавить больше узлов, так как не настроен реестр отправки по умолчанию. Чтобы добавить больше узлов и создать кластер, сначала вам нужно добавить реестр Docker и установить его как реестр отправки по умолчанию.", + "nodes.node_added_successfully": "Узел успешно добавлен!", + "nodes.node_id": "ID узла:", + "nodes.operating_system": "ОС: ", + "nodes.ram": "RAM: ", + "nodes.state": "Состояние: ", + "nodes.status": "Статус: ", + "nodes.type": "Тип: ", + "oneclick_app_selector.app_selection_info": "Выберите приложение, базу данных или набор (приложение + база данных) из списка ниже. Остальное — волшебный, ну... Помощник!", + "oneclick_app_selector.card_title": "Приложения в один клик", + "oneclick_app_selector.custom_template_info": "Это в основном для тестирования. Вы можете скопировать и вставить свой пользовательский шаблон приложения в один клик здесь. Для примеров и идей см. ", + "oneclick_app_selector.invalid_json_alert": "Введенные данные One Click не являются допустимым JSON.", + "oneclick_app_selector.next_button": "Далее", + "oneclick_app_selector.one_click_apps_github_repository": "Репозиторий One Click приложений CapRover", + "oneclick_app_selector.one_click_apps_github_repository_main_repo": "основной репозиторий One Click приложений на GitHub", + "oneclick_app_selector.one_click_apps_source": "One Click приложения берутся из официального ", + "oneclick_app_selector.one_click_apps_source_end": "по умолчанию. Вы можете добавить другие публичные/частные репозитории, если хотите.", + "oneclick_app_selector.safari_warning": "Похоже, вы используете Safari. Развертывание приложений в один клик может быть нестабильным в Safari. Рекомендуется использовать Chrome.", + "oneclick_app_selector.template_description": "Шаблон для создания приложений в один клик. В основном для разработки!", + "page_root.docs_link": "Документация", + "page_root.github_link": "Github", + "page_root.logout": "Выйти", + "pro_features.build_email_alerts": "Уведомления по email о успешной и неудачной сборке", + "pro_features.build_failures_email_alerts": "Уведомления по email о неудачной сборке", + "pro_features.build_success_email_alerts": "Уведомления по email об успешной сборке", + "pro_features.connect_api_key": "Подключить ключ API", + "pro_features.create_pro_account": "Создать PRO аккаунт, используя OAuth провайдер (Google, Github и т.д.)", + "pro_features.email": "Email", + "pro_features.enjoy_premium_features": "Наслаждайтесь премиум-функциями!", + "pro_features.enter_api_key": "Введите ключ API", + "pro_features.enter_api_key_here": "Введите ключ API покупки здесь", + "pro_features.get_notified_build_fail": "Получайте уведомления, когда сборка завершится неудачно", + "pro_features.get_notified_build_success": "Получайте уведомления, когда сборка завершится успешно", + "pro_features.get_notified_login": "Получайте уведомления, когда кто-то войдет в систему", + "pro_features.login_email_alerts": "Уведомления по email о входе", + "pro_features.save": "Сохранить", + "pro_features.sign_up_for_pro": "Зарегистрироваться для PRO подписки", + "pro_features.support_open_source": "И последнее, но не менее важное: поддержите активную разработку OpenSource программного обеспечения!", + "pro_features.two_factor_auth": "Двухфакторная аутентификация для повышения безопасности", + "pro_features.upgrade_now": "Обновить СЕЙЧАС", + "pro_features.upgrade_to_caprover_pro": "Обновите до CapRover PRO, чтобы воспользоваться премиум-функциями!", + "projects.edit_project": "Редактировать проект: ", + "projects.edit_project_cancel": "Отмена", + "projects.edit_project_description": "Описание", + "projects.edit_project_description_placeholder": "Этот проект просто потрясающий!", + "projects.edit_project_hint": "Вы можете задать имя, описание и родительский проект для этого проекта.", + "projects.edit_project_save": "Сохранить", + "projects.new_project": "Создать новый проект", + "projects.parent_project_selector_default": "корень ", + "projects.project_name": "Имя проекта", + "settings.backup": "Резервное копирование", + "settings.change_password": "Изменить пароль", + "settings.check_for_updates": "Проверить обновления", + "settings.confirm_otp": "Подтвердите OTP, введя код проверки", + "settings.disable_otp": "Отключить двухфакторную аутентификацию", + "settings.disabled": "Отключено", + "settings.disk_cleanup": "Очистка диска", + "settings.enable_otp": "Включить двухфакторную аутентификацию", + "settings.enable_otp_verification": "Включить проверку OTP", + "settings.enabled": "Включено", + "settings.enter_otp_code_first": "Сначала введите код проверки OTP.", + "settings.nginx_configurations": "Конфигурации NGINX", + "settings.one_off_cleanup": "Одноразовая очистка", + "settings.otp_authentication": "Двухфакторная аутентификация", + "settings.otp_disabled": "Двухфакторная аутентификация отключена", + "settings.otp_enabled_success": "Двухфакторная аутентификация успешно включена", + "settings.otp_verification_code": "Код проверки OTP", + "settings.themes": "Темы", + "settings.time_to_refresh": "Время до обновления: ", + "settings.update_process_started": "Процесс обновления запущен", + "theme.delete": "Удалить", + "theme.delete_theme_title": "Удалить тему?", + "themes.caprover_extra": "Дополнительная конфигурация, переданная в CapRover", + "themes.customize_theme": "Настроить тему", + "themes.description": "CapRover поставляется с множеством встроенных тем! Выберите свою любимую тему.", + "themes.edit_name": "Название темы", + "themes.head_embed": "Встраивать элементы в ", + "themes.see_here": "Подробнее см. здесь.", + "themes.theme_custom_help": "Вы можете настроить тему CapRover, предоставив пользовательскую тему и внедрив элементы (шрифты, CSS, JS и т.д.) в раздел." +} diff --git a/src/utils/Language.ts b/src/utils/Language.ts index 3d148d49..f19e4ed0 100644 --- a/src/utils/Language.ts +++ b/src/utils/Language.ts @@ -8,6 +8,7 @@ import frFR from 'antd/es/locale/fr_FR' import idID from 'antd/es/locale/id_ID' import nlNL from 'antd/es/locale/nl_NL' import ptBR from 'antd/es/locale/pt_BR' +import ruRU from 'antd/es/locale/ru_RU' import svSE from 'antd/es/locale/sv_SE' import trTR from 'antd/es/locale/tr_TR' import zhCN from 'antd/es/locale/zh_CN' @@ -20,6 +21,7 @@ import frFRMessages from '../locales/fr-FR.json' import idIDMessages from '../locales/id-ID.json' import nlNLMessages from '../locales/nl-NL.json' import ptBRMessages from '../locales/pt-BR.json' +import ruRUMessages from '../locales/ru-RU.json' import svSEMessages from '../locales/sv-SE.json' import trTRMessages from '../locales/tr-TR.json' import zhCNMessages from '../locales/zh-CN.json' @@ -123,6 +125,13 @@ const languagesOptions: LanguageOption[] = [ antdLocale: trTR, messages: trTRMessages, }, + { + label: 'Русский', + value: 'ru-RU', + alias: ['ru'], + antdLocale: ruRU, + messages: ruRUMessages, + }, ] const defaultLanguageOptions = languagesOptions[0]