mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/1Panel-dev/1Panel.git
synced 2026-09-20 08:03:55 +08:00
* feat: integrate virtual machine migration into XPack * chore: remove virtual machine test files
531 lines
53 KiB
YAML
531 lines
53 KiB
YAML
# базовые ошибки
|
||
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 не применяется локальная политика срока действия паролей."
|