Files
1Panel/core/i18n/lang/ru.yaml
ssongliu 30dc36b95d feat: integrate virtual machine migration into XPack (#13740)
* feat: integrate virtual machine migration into XPack

* chore: remove virtual machine test files
2026-09-08 14:20:26 +08:00

531 lines
53 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# базовые ошибки
ErrInvalidParams: 'Неверный запрос: {{ .detail }}'
ErrTokenParse: 'Ошибка токена: {{ .detail }}'
ErrInitialPassword: 'Исходный пароль неверен'
ErrInternalServer: 'Внутренняя ошибка: {{ .detail }}'
ErrInternalServerKey: "Внутренняя ошибка сервера:"
ErrRecordExist: 'Запись уже существует'
ErrRecordNotFound: 'Запись не найдена'
ErrStructTransform: 'Ошибка преобразования: {{ .detail }}'
ErrNotSupportType: 'Тип не поддерживается: {{ .name }}'
ErrDemoEnvironment: 'Недоступно в демо'
ErrCmdTimeout: 'Команда завершилась по тайм-ауту'
ErrPortInUsed: "Порт {{ .name }} уже используется"
ErrFileNotFound: "Файл {{ .name }} не найден"
ErrReqFailed: "{{.name}} запрос не удался: {{ .err }}"
# запрос и вход безопасности
ErrNoSuchHost: "Не удалось найти запрашиваемый сервер {{ .err }}"
ErrHttpReqNotFound: "Не удалось найти запрашиваемый ресурс {{ .err }}"
ErrHttpReqFailed: "Ошибка запроса {{ .err }}"
ErrHttpReqTimeOut: "Время ожидания запроса истекло {{ .err }}"
ErrCreateHttpClient: "Ошибка создания запроса {{ .err }}"
ErrProxy: 'Запрос не удался: {{ .detail }}'
ErrProxySetting: "Информация о прокси-сервере недоступна {{ .err }}, проверьте и повторите попытку"
ErrEntrance: "Ошибка информации о безопасном входе, проверьте и повторите попытку"
ErrEntranceFormat: "Защищенный вход {{ .name }} в настоящее время не поддерживается. Пожалуйста, проверьте и повторите попытку"
# вход и безопасность
ErrNotLogin: 'Не авторизован: {{ .detail }}'
ErrSessionDataNotFound: "Текущая сессия истекла"
ErrSessionDataFormat: "Ненормальный формат данных текущей сессии"
ErrPasswordExpired: 'Пароль истёк: {{ .detail }}'
ErrLoginLocked: "Слишком много неудачных попыток. Вход временно заблокирован на 5 минут."
ErrApiConfigStatusInvalid: 'API отключено: {{ .detail }}'
ErrApiConfigKeyInvalid: 'Неверный API-ключ: {{ .detail }}'
ErrApiConfigIPInvalid: 'IP не в списке: {{ .detail }}'
ErrApiConfigDisable: 'Доступ по API запрещён: {{ .detail }}'
ErrApiConfigKeyTimeInvalid: 'Неверная метка времени: {{ .detail }}'
ErrPasskeyDisabled: "Для Passkey требуется включить HTTPS"
ErrPasskeyNotConfigured: "Passkey не настроен"
ErrPasskeyLimit: "Достигнут лимит Passkey (максимум 5)"
ErrPasskeySession: "Сеанс Passkey истек или недействителен"
ErrPasskeyDuplicate: "Passkey уже существует"
ErrPasskeyVerify: "Не удалось проверить Passkey"
ErrOIDCNotEnabled: "Аутентификация OIDC не включена"
ErrOIDCConfigInvalid: "Конфигурация OIDC недействительна"
ErrOIDCConfigChanged: "Конфигурация OIDC изменилась; запустите аутентификацию заново"
ErrOIDCDiscoveryFailed: "Не удалось обнаружить конфигурацию Provider OIDC"
ErrOIDCIssuerMismatch: "Issuer OIDC не совпадает с настроенным Issuer"
ErrOIDCUnsupportedPKCE: "Provider OIDC не поддерживает требуемый метод PKCE"
ErrOIDCUnsupportedSigningAlgorithm: "Алгоритм подписи OIDC не поддерживается"
ErrOIDCInvalidState: "Состояние входа OIDC недействительно или уже использовано"
ErrOIDCLoginExpired: "Срок действия запроса на вход OIDC истёк; повторите попытку"
ErrOIDCTokenExchange: "Не удалось обменять код авторизации OIDC"
ErrOIDCTokenValidation: "Не удалось проверить Token OIDC"
ErrOIDCUserInfoValidation: "Не удалось проверить сведения о пользователе OIDC"
ErrOIDCNameClaimMissing: "Настроенный Claim имени пользователя OIDC отсутствует или недействителен"
ErrOIDCNameConflictLocal: "Имя пользователя OIDC конфликтует с локальным пользователем"
ErrOIDCNameConflictLDAP: "Имя пользователя OIDC конфликтует с пользователем LDAP"
ErrOIDCNameConflictOIDC: "Имя пользователя OIDC конфликтует с другой идентичностью OIDC"
ErrOIDCDefaultRoleInvalid: "Роль по умолчанию, настроенная для OIDC, недоступна"
ErrOIDCPrivateAddressDenied: "Адрес Endpoint OIDC запрещён политикой сетевой безопасности"
ErrOIDCTLSValidation: "Не удалось проверить сертификат TLS OIDC"
ErrOIDCTestExpired: "Срок действия браузерного теста OIDC истёк; запустите тест снова"
ErrOIDCLocalCredentialsReadonly: "Имена пользователей и пароли OIDC управляются Provider идентификации и не могут быть изменены локально."
ErrOIDCPasswordExpirationUnsupported: "Для пользователей OIDC не применяется локальная политика истечения срока действия пароля."
ErrOIDCInternal: "Во время аутентификации OIDC произошла внутренняя ошибка. Повторите попытку позже."
# пользователь и права
ErrNoSuchUser: "Информация о пользователе не найдена. Проверьте и повторите попытку."
ErrToMaster: "У этого пользователя нет прав для выполнения этой операции на основном узле. Проверьте и повторите попытку."
ErrToNode: "У этого пользователя нет прав для выполнения этой операции на этом узле. Проверьте и повторите попытку."
ErrRBAC: "Недостаточно прав пользователя. Операция не может быть выполнена. Проверьте и повторите попытку."
ErrNoneNode: "У этого пользователя нет прав ни на один узел. Обратитесь к администратору или проверьте и повторите попытку."
ErrOnlySuperAdmin: "Эта функция доступна только супер администраторам."
ErrRolePresetCannotDelete: "Системные предустановленные роли нельзя удалять"
ErrRolePresetCannotUpdate: "Системные предустановленные роли нельзя обновлять"
ErrRoleBoundToUser: "Эта роль уже привязана к пользователям и не может быть удалена"
ErrRolePresetCannotBind: "Системные предустановленные роли нельзя назначать пользователям"
ErrNodeAdminMasterForbidden: "Права администратора узла нельзя добавить к главному узлу"
ErrSuperAdminCannotDelete: "Пользователей супер-администратора нельзя удалять"
ErrGroupIsDefault: "Группу по умолчанию нельзя удалить"
ErrGroupIsInUse: "Группа используется и не может быть удалена."
# лицензия
LicenseCheck: 'Проверить доступность лицензии'
ErrLicenseInUsed: 'Лицензия уже привязана. Пожалуйста, проверьте и повторите попытку'
ErrLicenseExpired: 'Срок действия лицензии истек. Пожалуйста, проверьте и повторите попытку'
ErrLicense: "Неверный формат лицензии, проверьте и повторите попытку"
ErrLicenseCheck: "Ошибка проверки лицензии, проверьте и повторите попытку"
ErrXpackVersion: "Ошибка проверки лицензии, лицензия ограничена по версии, проверьте и повторите попытку"
ErrLicenseSave: "Ошибка сохранения информации о лицензии {{ .err }}, повторите попытку"
ErrLicenseSync: "Ошибка синхронизации информации о лицензии, информация не найдена в базе данных"
ErrLicenseExist: "Данная лицензия уже существует. Вы можете перейти на страницу лицензий для привязки узлов."
ErrXpackNotFound: "Этот раздел доступен в Business Edition. Импортируйте лицензию в Настройки панели > Лицензия"
ErrXpackExceptional: "Этот раздел доступен в Business Edition. Синхронизируйте статус лицензии в Настройки панели > Лицензия"
ErrXpackLost: "Достигнут лимит повторных попыток по лицензии. Перейдите в Настройки панели > Лицензия и выполните ручную синхронизацию"
ErrEnterpriseLicenseRequired: "Лицензия Enterprise Edition не импортирована. Сначала импортируйте лицензию."
ErrDeviceLost: "Необходимые файлы для проверки лицензии отсутствуют, пожалуйста, проверьте и попробуйте снова"
ErrDeviceErr: "Текущая среда не соответствует среде импорта лицензии. Отредактируйте лицензию и повторите импорт"
ErrXpackTimeout: "Время ожидания запроса истекло, возможно нестабильное сетевое соединение, повторите попытку позже"
ErrUnbindMaster: "В управлении узлами обнаружены узлы, сначала удалите их и повторите попытку"
ErrFreeNodeLimit: "Достигнут лимит количества узлов, которые можно добавить. Приобретите лицензию и повторите попытку."
ErrNodeBound: "Эта лицензия уже связана с другим узлом, проверьте и повторите попытку"
ErrNodeBoundDelete: "Эта лицензия привязана и не поддерживает операции удаления. Пожалуйста, проверьте и попробуйте снова"
ErrNodeBoundLimit: "Текущий бесплатный узел достиг предела, пожалуйста, проверьте и попробуйте снова"
ErrLicenseFree: "Бесплатные узлы доступны только при правильной привязке лицензии к узлу. Проверьте и повторите попытку"
ErrLicenseUnbind: "К этой лицензии всё ещё привязаны узлы Community Edition. Отвяжите их в Настройки панели > Лицензия и повторите попытку"
ErrLicenseBindCount: "Количество бесплатных узлов в новой лицензии меньше текущего количества привязанных узлов Community Edition. Проверьте и повторите попытку"
ErrNoSuchNode: "Информация об узле не найдена, проверьте и повторите попытку"
ErrNodeUnbind: "Обнаружен узел вне области действия лицензии, проверьте и повторите попытку"
ErrNodeBind: "Этот узел уже связан с лицензией, проверьте и повторите попытку"
ErrNodeLocalRollback: "Прямой откат на основном узле не поддерживается. Выполните '1pctl restore' вручную для отката"
ErrIntlLicense: "Текущая версия пока не поддерживает импорт международной лицензии. Скоро будет доступно"
InvalidRequestBodyType: "Неверный формат тела запроса. Проверьте, соответствует ли содержимое требуемому формату, и повторите попытку"
InvalidLicenseCodeType: "Указан неверный формат лицензионного кода. Проверьте и повторите попытку"
LicenseNotFoundType: "Лицензия не найдена. В системе нет записей, соответствующих указанной лицензии. Проверьте и повторите попытку"
LicenseRevokedType: "Запрошенная лицензия аннулирована и больше не может быть использована. Проверьте и повторите попытку"
LicenseExpiredType: "Срок действия лицензии истек. Продлите ее или повторно импортируйте в разделе Настройки панели - Лицензия перед повторной попыткой"
LicenseProductMismatchType: "Лицензия не соответствует запрошенному продукту или услуге"
InvalidAssigneeType: "Некорректная информация о целевом пользователе или устройстве для назначения лицензии. Проверьте и повторите попытку"
LicenseUsageNotFoundType: "Записи об использовании отсутствуют. Эта лицензия еще не активирована или не использовалась. Проверьте и повторите попытку"
LicenseUsageLimitExceededType: "Эта лицензия уже привязана к другому узлу. Проверьте и повторите попытку"
# узел и кластер
MasterNode: "Главный узел"
Node: "Узел"
ErrLocalDelete: "Локальный узел нельзя удалить"
ErrMasterDelete: "Невозможно удалить основной узел, сначала удалите подчиненные узлы."
ClusterNameIsExist: "Имя кластера уже существует."
AppStatusUnHealthy: "Получение статуса приложения аномально, пожалуйста, проверьте статус узлов установки в списке узлов."
MasterNodePortNotAvailable: "Проверка подключения порта {{ .port }} узла {{ .name }} не удалась, пожалуйста, проверьте настройки брандмауэра/группы безопасности и статус главного узла."
ClusterMasterNotExist: "Основной узел кластера отключен, пожалуйста, удалите дочерние узлы."
# виртуальная машина
ErrVMNotFound: "Виртуальная машина не существует"
ErrVMAlreadyExists: "Виртуальная машина уже существует"
ErrVMCountLimit: "В редакции Professional можно создать не более {{ .limit }} виртуальных машин. Удалите существующую виртуальную машину или перейдите на Enterprise и повторите попытку."
ErrVMImageAlreadyExists: "Файл образа виртуальной машины уже существует: {{ .detail }}"
ErrVMStoragePathInUse: "Путь пула хранения уже используется [{{ .name }}]"
ErrVMHelperNotFound: "1panel-kvm не найден"
ErrVMBridgeManaged: "Имя моста уже управляется libvirt или Docker"
ErrVMNetworkInUse: "Сеть используется и не может быть удалена"
ErrVMStorageInUse: "Пул хранилища используется и не может быть удалён"
ErrVMStorageNameCannotChange: "Имя пула хранилища нельзя изменить"
ErrVMStoragePathCannotChange: "Путь к пулу хранилища нельзя изменить"
ErrVMRunning: "Виртуальная машина запущена"
ErrVMLibvirtConnect: "Не удалось подключиться к libvirt: {{ .detail }}"
ErrVMPermission: "Нет разрешения на операцию с виртуальной машиной: {{ .detail }}"
ErrVMNetworkNotFound: "Сеть виртуальной машины не существует: {{ .detail }}"
ErrVMInvalidPath: "Недопустимый путь виртуальной машины: {{ .detail }}"
ErrVMInvalidInput: "Недопустимые параметры виртуальной машины: {{ .detail }}"
ErrVMCommandFailed: "Ошибка выполнения команды виртуальной машины: {{ .err }}"
VMCreateTask: "Создать виртуальную машину [{{ .name }}]"
VMCreateFromTemplateTask: "Создать виртуальную машину [{{ .name }}] из шаблона"
VMUpdateTask: "Обновить виртуальную машину [{{ .name }}]"
VMRenameTask: "Переименовать виртуальную машину [{{ .name }}] в [{{ .newName }}]"
VMDeleteTask: "Удалить виртуальную машину [{{ .name }}]"
VMTemplateCreateTask: "Сохранить виртуальную машину [{{ .name }}] как шаблон [{{ .template }}]"
VMTemplateDeleteTask: "Удалить шаблон виртуальной машины [{{ .name }}]"
VMForceDeleteMetadataOnly: "1panel-kvm не найден, принудительно удаляются только метаданные виртуальной машины [{{ .name }}]"
VMForceDeleteMetadataAfterLibvirtFailed: "Не удалось удалить виртуальную машину [{{ .name }}] из libvirt, принудительно удаляются метаданные: {{ .err }}"
VMForceDeleteDiskFailed: "Не удалось принудительно удалить файл диска виртуальной машины [{{ .path }}]: {{ .err }}"
VMForceDeleteDiskSuccess: "Файл диска виртуальной машины [{{ .path }}] принудительно удален"
VMSnapshotCreateTask: "Создать снимок [{{ .snapshot }}] для виртуальной машины [{{ .vm }}]"
VMSnapshotCreateStep: "Создать снимок виртуальной машины [{{ .snapshot }}]"
VMSnapshotRecoverTask: "Восстановить снимок [{{ .snapshot }}] виртуальной машины [{{ .vm }}]"
VMSnapshotRecoverStep: "Восстановить снимок виртуальной машины [{{ .snapshot }}]"
VMSnapshotDeleteTask: "Удалить снимок [{{ .snapshot }}] виртуальной машины [{{ .vm }}]"
VMSnapshotDeleteStep: "Удалить снимок виртуальной машины [{{ .snapshot }}]"
# приложение
CustomAppStoreFileValid: "Пакет магазина приложений должен быть в формате .tar.gz"
AppBackup: 'Резервная копия приложения'
AppBackupPush: 'Передать файл резервной копии приложения {{.file}} на узел {{ .name }}'
ErrSourceTargetSame: 'Исходный узел и целевой узел не могут быть одинаковыми'
AppInstall: 'Установить приложение {{ .name }} на узел {{ .targetNode }}'
AppInstallCheck: 'Проверить среду установки приложения'
# резервное копирование
ErrBackupInUsed: 'Аккаунт бэкапа занят задачей'
ErrBackupCheck: 'Проверка подключения не удалась: {{ .err }}'
ErrBackupLocal: "Локальная учетная запись резервного копирования не поддерживает эту операцию"
ErrBackupPublic: "Обнаружено, что эта учетная запись резервного копирования не является публичной, проверьте и повторите попытку"
ErrOSSConn: "Не удалось получить последнюю версию, проверьте подключение сервера к внешней сети."
MvBackup: "Переместить данные в резервный каталог"
# оповещение
ErrAlertSync: "Ошибка синхронизации информации об оповещениях, пожалуйста, проверьте и повторите попытку"
# AI-шлюз
ErrAIProxyUserGroupIsDefault: "Группу пользователей по умолчанию нельзя удалить."
ErrAIProxyUserGroupInUse: "Группа пользователей используется и не может быть удалена."
ErrAIProxyUserGroupExists: "Имя группы пользователей уже существует."
ErrAIProxyBackendAccountExists: "Эта учетная запись модели уже импортирована в пул аккаунтов AI Gateway."
ErrAIProxyModelGroupInUse: "Группа моделей используется и не может быть удалена."
ErrAIProxyModelGroupExists: "Имя группы моделей уже существует."
ErrAIProxySensitiveGroupInUse: "Группа чувствительных слов используется и не может быть удалена."
ErrAIProxySensitiveGroupExists: "Имя группы чувствительных слов уже существует."
AIProxyContentPolicyViolation: "К сожалению, я не могу обработать этот запрос: его содержимое может не соответствовать политике в отношении контента. Измените запрос и повторите попытку."
AIBenchmarkRun: "Выполнить тест производительности AI"
# задача
TaskStart: "{{ .name }} задача начата [START]"
TaskEnd: "{{ .name }} задача завершена [COMPLETED]"
TaskFailed: "{{ .name }} задача не выполнена"
TaskTimeout: "{{ .name }} истекло время"
TaskSuccess: "{{ .name }} задача выполнена успешно"
TaskRetry: "Начало повторной попытки {{ .name }}"
SubTaskSuccess: "{{ .name }} успешно"
SubTaskFailed: "{{ .name }} не удалось: {{ .err }}"
TaskInstall: "Установить"
TaskUpgrade: "Обновить"
TaskSync: 'Синхронизация'
TaskSyncForNode: "Синхронизировать Данные Узла"
TaskBackup: "Резервная копия"
TaskPush: "Отправить"
TaskRsync: "Синхронизация"
SuccessStatus: "{{ .name }} успешно"
FailedStatus: "{{ .name }} не удалось {{ .err }}"
Start: "Начать"
SubTask: "Подзадача"
Skip: "Пропустить ошибки и продолжить..."
Success: "Успешно"
# задачи умной маршрутизации AI-шлюза
AIProxySmartRouteCreateTask: "Создание образцов умной маршрутизации AI-шлюза"
AIProxySmartRouteCreateSubTask: "Создание образцов и генерация векторов"
AIProxySmartRouteCreateStart: "Начато создание образцов, всего: {{ .total }}"
AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] Ошибка создания: type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] Создано: sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteCreateComplete: "Создание завершено: успешно {{ .success }}, с ошибкой {{ .failed }}"
AIProxySmartRouteCreateError: "Не удалось создать образцы: ошибок {{ .failed }}, последняя ошибка"
AIProxySmartRouteRebuildTask: "Перестроение векторов образцов умной маршрутизации AI-шлюза"
AIProxySmartRouteRebuildSubTask: "Перестроение векторов образцов"
AIProxySmartRouteEmbeddingRequired: "Требуются endpoint и модель Embedding"
AIProxySmartRouteRebuildStart: "Начато перестроение векторов образцов, всего: {{ .total }}"
AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] Ошибка перестроения: sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] Перестроено: sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteRebuildComplete: "Перестроение завершено: успешно {{ .success }}, с ошибкой {{ .failed }}"
AIProxySmartRouteRebuildError: "Не удалось перестроить векторы образцов: ошибок {{ .failed }}, последняя ошибка"
# пакетная задача агента
BatchInstallAgent: "Пакетная установка агентов"
DispatchAgentInstallTasks: "Отправить задачи установки агентов"
BatchUpgradeAgent: "Пакетное обновление агентов"
DispatchAgentUpgradeTasks: "Отправить задачи обновления агентов"
BatchAgentInstallDispatchFailed: "Узел {{ .node }} не смог отправить задачу установки {{ .agentType }} Message: {{ .err }}"
BatchAgentInstallSubmitted: "Узел {{ .node }} успешно отправил задачу установки {{ .agentType }}!"
BatchAgentUpgradeDispatchFailed: "Узел {{ .node }} не смог отправить задачу обновления {{ .agentType }} Message: {{ .err }}"
BatchAgentUpgradeAlreadyLatest: "Узел {{ .node }} {{ .agent }} уже на целевой версии, пропущено"
BatchAgentUpgradeSubmitted: "Узел {{ .node }} успешно отправил задачу обновления {{ .agent }}!"
BatchAgentUpgradeFailed: "Узел {{ .node }} не смог отправить задачу обновления {{ .agent }} Message: {{ .err }}"
BatchInstallAgentSkill: "Пакетная отправка Skill"
DispatchAgentSkillInstallTasks: "Отправить задачи установки Skill"
BatchAgentSkillDispatchFailed: "Узел {{ .node }} не смог отправить {{ .skill }} в {{ .target }} Message: {{ .err }}"
BatchAgentNoAgentsFound: "Узел {{ .node }} не нашел агентов {{ .agentType }}, пропущено"
BatchAgentSkillSkipped: "Узел {{ .node }} {{ .agent }} пропущен Message: {{ .msg }}"
BatchAgentSkillInstallSubmitted: "Узел {{ .node }} успешно отправил задачу установки {{ .skill }} в {{ .agent }}!"
BatchAgentSkillInstallFailed: "Узел {{ .node }} не смог отправить задачу установки {{ .skill }} в {{ .agent }} Message: {{ .err }}"
BatchAgentOperateDispatchFailed: "Узел {{ .node }} не смог отправить задачу {{ .operate }} для {{ .agentType }} Message: {{ .err }}"
BatchAgentOperateSkipped: "Узел {{ .node }} {{ .agent }} пропущен Message: {{ .msg }}"
BatchAgentOperateSubmitted: "Узел {{ .node }} успешно отправил задачу {{ .operate }} для {{ .agent }}!"
BatchAgentOperateFailed: "Узел {{ .node }} не смог отправить задачу {{ .operate }} для {{ .agent }} Message: {{ .err }}"
BatchStartAgent: "Пакетный запуск агентов"
DispatchAgentStartTasks: "Отправить задачи запуска агентов"
BatchStopAgent: "Пакетная остановка агентов"
DispatchAgentStopTasks: "Отправить задачи остановки агентов"
BatchRestartAgent: "Пакетный перезапуск агентов"
DispatchAgentRestartTasks: "Отправить задачи перезапуска агентов"
BatchDeleteAgent: "Пакетное удаление агентов"
DispatchAgentDeleteTasks: "Отправить задачи удаления агентов"
AgentOperateStart: "Запустить"
AgentOperateStop: "Остановить"
AgentOperateRestart: "Перезапустить"
AgentOperateDelete: "Удалить"
# задача приложения и навыка
PushAppInstallTaskToNode: "Отправить задачу установки приложения на узел [{{ .name }}]"
AppInstallTask: "Задача установки приложения"
PushAppFailed: "Не удалось отправить задачу установки приложения"
SkillHubInstallTask: "Установить навык [{{ .name }}]"
SkillHubInstallToTarget: "Установить навык [{{ .name }}] в цель [{{ .target }}]"
# библиотека скриптов
ScriptLibrary: "Библиотека скриптов"
RemoteScriptLibrary: "Удаленная Библиотека Скриптов"
ScriptSyncSkip: "Текущая библиотека скриптов уже является последней версией"
DownloadData: "Загрузка файла библиотеки скриптов data.yaml"
DownloadPackage: "Загрузка архива библиотеки скриптов"
AnalyticCompletion: "Анализ завершён, начинается синхронизация с базой данных..."
# синхронизация узла
SyncNode: "Синхронизировать данные с узлом {{ .name }}"
LocalName: "Имя 'local' используется только для локальной идентификации в системе"
SyncPackageData: "Упаковка данных синхронизации"
SyncPackageEncrypt: "Шифрование пакета данных"
SyncRequest: "Запрос API синхронизации узла"
SyncFailedRetry: "Таймаут синхронизации данных узла (попытка {{ .index }}), повторная попытка..."
SyncFailed: "Ошибка синхронизации, выполните ручную синхронизацию в списке узлов"
SyncSystemProxy: "Настройки системного прокси"
SyncScripts: "Библиотека скриптов"
SyncBackupAccounts: "Резервные аккаунты"
SyncAlertSetting: "Настройки оповещений"
SyncCustomApp: "Пользовательское приложение"
SyncLanguage: "Язык системы"
SyncEdition: "Регион работы"
# обновление узла
NodeUpgrade: "Обновление узла {{ .name }}"
UpgradeCheck: "Проверить обновления узла"
UpgradeCheckLocal: "Локальные узлы не поддерживают массовое обновление, пропуск..."
UpgradeCheckLatest: "Узел уже имеет последнюю версию, пропуск..."
NewSSHClient: "Инициализация SSH-соединения"
BackupBeforeUpgrade: "Резервное копирование данных перед обновлением"
UploadUpgradeFile: "Распределение файлов обновления"
RestartAfterUpgrade: "Запуск службы после обновления"
LoadAutoUpgradeNodesFailed: "Не удалось загрузить узлы автообновления, ошибка: {{ .err }}"
AutoUpgradeNodes: "Узлы автообновления: {{ .nodes }}"
UpdateAutoUpgradeNodesStatusFailed: "Не удалось обновить статус узлов автообновления, ошибка: {{ .err }}"
# добавление узла
MasterData: "Данные главного узла"
LoadSftpClient: "Загрузить SFTP-клиент"
PackageMasterData: "Создать архив резервной копии главного узла"
UploadBackup: "Загрузить резервные данные"
TaskAddNode: "Добавить узел"
LoadNodeArch: "Получить информацию об архитектуре узла"
LoadNodeArchDetail: "Обнаружена архитектура главного узла: {{ .local }}, архитектура дочернего узла: {{ .node }}"
LoadNodeUpgradeDetail: "Используется каталог установки исторической версии v1: {{ .baseDir }}, порт прослушивания службы: {{ .port }}"
SyncAgentBaseInfo: "Синхронизировать базовую информацию узла"
GenerateSSLInfo: "Сгенерировать SSL информацию узла"
ConnInfoNotMatch: "Информация о соединении не совпадает"
MakeAgentPackage: "Сгенерировать установочный пакет узла"
SendAgent: "Отправить установочный пакет узла"
StartService: "Запустить сервис"
NoBackupNode: "Резервный узел в настоящее время пуст. Выберите резервный узел для сохранения и повторите попытку"
# синхронизация файлов и образов узла
LocalNodeIpFailed: "Не удалось получить IP главного узла. Измените главный узел и добавьте IP-адрес и данные аутентификации SSH."
HandlePrivateKey: "Обработать закрытый ключ узла"
HandlePublicKey: "Обработать открытый ключ узла"
ExchangeFile: "Начать синхронизацию {{ .sourcePath }} с узла {{ .source }} на узел {{ .dest }}:{{ .destPath }}"
NodeFile: "Файл узла"
ImageSyncTaskName: "Синхронизировать образы: {{ .count }}"
SSLSyncTaskName: "Синхронизировать сертификаты: {{ .count }}"
AppSyncTaskName: "Синхронизировать приложение {{ .name }}"
SSLSyncToNode: "Отправить сертификат [{{ .cert }}] на узел [{{ .node }}]"
ImageSyncSave: "Сохранить образ {{ .image }}"
ImageSyncSaveTags: "Сохранить теги образа {{ .tags }}"
ImageSyncToNode: "Синхронизировать образ {{ .image }} с узлом {{ .node }}"
ImageSyncLoad: "Загрузить образ {{ .image }} на узел {{ .node }}"
ImageSyncClean: "Очистить временные файлы образа {{ .image }}"
ImageSyncNoTag: "У образа {{ .image }} нет тега, поэтому он будет сохранён по ID образа"
ImageSyncFrontendTagsIgnored: "На исходном узле не найдены теги образа {{ .image }}. Теги из frontend проигнорированы."
ImageSyncHandlePrivateKey: "Обработать закрытый ключ узла синхронизации образов"
ImageSyncHandlePublicKey: "Обработать открытый ключ узла синхронизации образов"
ImageSyncTransfer: "Начать передачу временного файла образа: {{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}"
# командная строка
SudoHelper: "Пожалуйста, используйте {{ .cmd }} или переключитесь на пользователя root"
UsernameNeed: "Для Enterprise-версии необходимо указать --username"
DBConnErr: "Ошибка: не удалось инициализировать соединение с базой данных, {{ .err }}"
SystemVersion: "Версия:"
SystemMode: "Режим:"
# командная строка - приложение
AppVersion: "Версия приложения"
AppCommands: "Команды приложения"
AppInit: "Инициализация приложения"
AppKeyVal: "Ключ приложения (поддерживаются только английские символы)"
AppCreateFileErr: "Не удалось создать файл {{ .name }} {{ .err }}"
AppCreateDirErr: "Не удалось создать папку {{ .name }} {{ .err }}"
AppMissKey: "Отсутствует ключ приложения, используйте -k для указания"
AppMissVersion: "Отсутствует версия приложения, используйте -v для указания"
AppVersionExist: "Версия уже существует"
AppCreateSuccessful: "Успешно создано"
AppWriteErr: "Не удалось записать файл {{ .name }} {{ .err }}"
# командная строка - IP прослушивания
ListenIPCommands: "Переключить IP для прослушивания"
ListenIPv4: "Прослушивание IPv4"
ListenIPv6: "Прослушивание IPv6"
ListenChangeSuccessful: "Переключено успешно Теперь прослушиваем {{ .value }}"
# командная строка - сброс
ResetCommands: "Сбросить информацию о системе"
ResetMFA: "Отменить двухфакторную аутентификацию 1Panel"
ResetHttps: "Отменить вход в 1Panel через https"
ResetEntrance: "Отменить безопасный вход 1Panel"
ResetIPs: "Отменить ограничения авторизованных IP для 1Panel"
ResetDomain: "Отменить привязку домена доступа 1Panel"
ResetPasskey: "Сбросить passkey 1Panel"
# командная строка - пользователь
UserList: "Получить список пользователей 1Panel"
UserTableName: "Имя"
UserTableMFAStatus: "Статус MFA"
UserTableSuperAdmin: "Суперадмин"
UserTableCreatedAt: "Создано"
UserEmptyList: "Пользователи не найдены"
UserInfo: "Получить информацию о панели"
UserInfoAddr: "Адрес панели:"
UserInfoPassHelp: "Подсказка: для изменения пароля можно выполнить команду:"
# командная строка - восстановление
RestoreCommands: "Откатить сервис и данные 1Panel"
RestoreNoSuchFile: "Файлы для отката не найдены"
RestoreStep1: "(1/5) Начинаем откат сервиса и данных 1Panel из каталога {{ .name }}..."
RestoreStep2: "(2/5) Откат бинарного файла 1Panel завершён"
RestoreStep3: "(3/5) Откат скриптов 1Panel завершён"
RestoreStep4: "(4/5) Откат сервиса 1Panel завершён"
RestoreStep5: "(5/5) Откат данных 1Panel завершён"
RestoreSuccessful: "Откат завершён. Возвращено к версии {{ .version }}. Перезапускаем сервис..."
# командная строка - обновление
UpdateCommands: "Изменить информацию панели"
UpdateUser: "Изменить информацию пользователя"
UpdatePassword: "Изменить пароль пользователя"
UpdatePort: "Изменить порт панели"
UpdateUserNull: "Ошибка: введён пустой пользователь"
UpdateUserBlank: "Ошибка: введённый пользователь содержит пробелы"
UpdateUserFormat: "Ошибка: неверный формат имени пользователя Поддерживаются только английские, китайские символы, цифры и _ , длина 3-30 символов"
UpdateUserErr: "Ошибка: не удалось изменить пользователя, {{ .err }}"
UpdateSuccessful: "Успешно изменено"
UpdateUserResult: "Пользователь: {{ .name }}"
UpdatePasswordRead: "Ошибка: не удалось прочитать информацию о пароле пользователя, {{ .err }}"
UpdatePasswordNull: "Ошибка: введён пароль пуст"
UpdateUPasswordBlank: "Ошибка: введён пароль с пробелами"
UpdatePasswordFormat: "Ошибка: пароль пользователя должен содержать только буквы, цифры и специальные символы (@#$%*_,.?) и иметь длину 8-30 символов."
UpdatePasswordLen: "Ошибка: пароль должен быть длиной не менее 6 символов"
UpdatePasswordRe: "Подтверждение пароля:"
UpdatePasswordErr: "Ошибка: не удалось изменить пароль пользователя, {{ .err }}"
UpdatePasswordSame: "Ошибка: пароли не совпадают, пожалуйста, проверьте и попробуйте снова"
UpdatePasswordResult: "Пароль пользователя: {{ .name }}"
UpdatePortFormat: "Ошибка: введённый порт должен быть в пределах от 1 до 65535"
UpdatePortUsed: "Ошибка: этот порт уже занят, пожалуйста, проверьте и попробуйте снова"
UpdatePortErr: "Ошибка: не удалось изменить порт панели, {{ .err }}"
UpdatePortResult: "Порт панели: {{ .name }}"
UpdatePortFirewallAdd: "Не удалось добавить правило фаервола для порта, {{ .err }}, пожалуйста, вручную добавьте порт {{ .name }} в правила фаервола."
UpdatePortFirewallDel: "Ошибка: не удалось удалить правило фаервола для порта, {{ .err }}"
UpdatePortFirewallReload: "Не удалось перезагрузить фаервол, {{ .err }}, пожалуйста, вручную перезагрузите фаервол."
# мобильное приложение
ErrVerifyToken: 'шибка проверки токена, пожалуйста, сбросьте и отсканируйте снова.'
ErrInvalidToken: 'Неверный токен, пожалуйста, сбросьте и отсканируйте снова.'
ErrExpiredToken: 'QR-код недействителен. Создайте новый и отсканируйте его снова.'
# экспорт команд
Name: "Название"
Command: "Команда"
# LDAP
ErrLDAPConnectionTest: "Не удалось выполнить проверку подключения LDAP. Проверьте адрес сервера, учетную запись привязки и настройки сети."
ErrLDAPLoginTest: "Не удалось выполнить проверку входа LDAP. Проверьте имя пользователя и пароль."
LDAPConnectionTestSuccess: "Проверка подключения LDAP выполнена успешно."
ErrLDAPDirectorySearch: "Не удалось прочитать пользователей LDAP. Проверьте подключение и настройки поиска."
ErrLDAPConfigLoad: "Не удалось загрузить конфигурацию LDAP."
ErrLDAPConfigSave: "Не удалось сохранить конфигурацию LDAP."
ErrLDAPURLInvalid: "Адрес сервера LDAP должен использовать ldap:// или ldaps:// и содержать допустимый хост."
ErrLDAPBindDNRequired: "Требуется DN привязки."
ErrLDAPBindPasswordRequired: "Требуется пароль привязки."
ErrLDAPUserOURequired: "Требуется OU пользователей."
ErrLDAPConnectTimeoutRange: "Время ожидания подключения должно быть от 1 до 120 секунд."
ErrLDAPSearchPageSizeRange: "Размер страницы запроса LDAP должен быть от 1 до 10000."
ErrLDAPResultPageSizeRange: "Размер страницы результатов не может превышать 200."
ErrLDAPAttributeMapOnlyName: "Сопоставление атрибутов поддерживает только поле name."
ErrLDAPNameAttributeRequired: "Требуется атрибут LDAP, сопоставленный с name."
ErrLDAPAttributeNameInvalid: "Сопоставление содержит недопустимое имя атрибута LDAP."
ErrLDAPUserFilterRequired: "Требуется фильтр пользователей."
ErrLDAPUserFilterInvalid: "Фильтр пользователей не является допустимым фильтром LDAP."
ErrLDAPAttributeMapObject: "Сопоставление атрибутов должно быть допустимым объектом JSON."
ErrLDAPImportModeInvalid: "Режим импорта должен включать выбранных или всех пользователей."
ErrLDAPImportSelectionRequired: "Выберите хотя бы одного пользователя LDAP для импорта."
ErrLDAPImportSelectionInvalid: "Выбранные пользователи LDAP недействительны или больше не существуют. Повторно прочитайте каталог."
ErrLDAPConfigChanged: "Конфигурация LDAP изменилась. Повторно прочитайте каталог и просмотрите импорт."
ErrLDAPRoleRequired: "Выберите роль для новых пользователей LDAP."
ErrLDAPImportPlanIncomplete: "Неполный план импорта LDAP нельзя выполнить."
ErrLDAPQueryTokenInvalid: "Результат запроса LDAP истек. Повторно прочитайте каталог."
ErrLDAPPlanTokenInvalid: "Предварительный просмотр импорта LDAP истек. Выполните его повторно."
ErrLDAPOperationFailed: "Операция LDAP завершилась ошибкой. Повторите попытку."
ErrLDAPEntryIdentityMissing: "В записи LDAP отсутствует стабильный идентификатор или имя пользователя."
ErrLDAPDuplicateExternalID: "LDAP вернул повторяющиеся идентификаторы пользователей."
ErrLDAPUsernameConflict: "Имя пользователя уже используется другим пользователем."
ErrLDAPUsernameSourceConflict: "Имя пользователя уже используется локальным пользователем или другим источником аутентификации."
ErrLDAPUsernameConcurrentConflict: "Во время импорта имя пользователя было занято другим пользователем."
ErrLDAPLocalCredentialsReadonly: "Имена и пароли пользователей LDAP управляются LDAP и не могут быть изменены локально."
ErrLDAPPasswordExpirationUnsupported: "Для пользователей LDAP не применяется локальная политика срока действия пароля."
ErrLDAPSyncSourceDisabled: "Включите AD/LDAP перед включением или запуском синхронизации."
ErrLDAPSyncConfigSave: "Не удалось сохранить настройки синхронизации LDAP."
ErrLDAPSyncSchedule: "Не удалось обновить расписание синхронизации LDAP."
ErrLDAPSyncCronInvalid: "Введите корректное пятикомпонентное выражение Cron."
ErrLDAPSyncWeekdayInvalid: "Выберите корректный день недели."
ErrLDAPSyncCronRequired: "Введите выражение Cron."
ErrLDAPSyncScheduleTypeInvalid: "Выберите корректный тип расписания синхронизации."
ErrLDAPSyncTimeInvalid: "Введите корректное время выполнения."
ErrLDAPSyncRunning: "Задача синхронизации LDAP уже выполняется."
ErrLDAPSyncDirectoryIncomplete: "LDAP вернул неполный результат полного запроса. Статусы пользователей не были изменены."
ErrLDAPSyncFailed: "Не удалось синхронизировать пользователей LDAP."
LDAPSyncSuccess: "Синхронизация пользователей LDAP успешно завершена."
ErrSAML2NotEnabled: "Аутентификация SAML2 не включена."
ErrSAML2ConfigInvalid: "Конфигурация SAML2 недействительна."
ErrSAML2ConfigChanged: "Конфигурация SAML2 изменилась. Запустите аутентификацию заново."
ErrSAML2PanelOriginMissing: "Введите корректный публичный URL 1Panel, содержащий только схему, хост и необязательный порт."
ErrSAML2MetadataInvalid: "Метаданные IdP отсутствуют или недействительны."
ErrSAML2MetadataURLInvalid: "URL метаданных IdP или одна из конечных точек в метаданных не разрешены."
ErrSAML2MetadataFetch: "Не удалось загрузить метаданные IdP."
ErrSAML2MetadataCertificate: "Метаданные IdP не содержат подходящего сертификата подписи."
ErrSAML2KeyPairInvalid: "Закрытый ключ и сертификат SP недействительны или не соответствуют друг другу."
ErrSAML2NameAttributeMissing: "Настроенный атрибут имени пользователя SAML2 отсутствует или недействителен."
ErrSAML2DefaultRoleInvalid: "Роль по умолчанию, настроенная для SAML2, недоступна."
ErrSAML2SLOUnavailable: "IdP не предоставляет поддерживаемую службу единого выхода."
ErrSAML2TestExpired: "Срок действия теста SAML2 истек. Запустите его снова."
ErrSAML2LoginExpired: "Срок действия запроса на вход SAML2 истек. Повторите попытку."
ErrSAML2InvalidState: "Состояние входа SAML2 недействительно или уже использовано."
ErrSAML2RequestBuild: "Не удалось сформировать запрос SAML2."
ErrSAML2ResponseInvalid: "Ответ SAML2 недействителен."
ErrSAML2SignatureInvalid: "Подпись SAML2 недействительна."
ErrSAML2Replay: "Сообщение SAML2 уже было использовано."
ErrSAML2NameIDMissing: "NameID SAML2 отсутствует или недействителен."
ErrSAML2SessionIndexMissing: "SessionIndex SAML2 отсутствует или недействителен."
ErrSAML2NameConflictLocal: "Имя пользователя SAML2 конфликтует с локальным пользователем."
ErrSAML2NameConflictLDAP: "Имя пользователя SAML2 конфликтует с пользователем LDAP."
ErrSAML2NameConflictOIDC: "Имя пользователя SAML2 конфликтует с пользователем OIDC."
ErrSAML2NameConflictSAML2: "Имя пользователя SAML2 конфликтует с другой учетной записью SAML2."
ErrSAML2Internal: "Во время аутентификации SAML2 произошла внутренняя ошибка. Повторите попытку позже."
ErrSAML2LogoutExpired: "Срок действия запроса на выход SAML2 истек."
ErrSAML2LogoutInvalid: "Сообщение выхода SAML2 недействительно."
ErrSAML2LocalCredentialsReadonly: "Имена пользователей и пароли SAML2 управляются поставщиком удостоверений и не могут быть изменены локально."
ErrSAML2PasswordExpirationUnsupported: "Для пользователей SAML2 не применяется локальная политика срока действия паролей."