diff --git a/agent/i18n/lang/en.yaml b/agent/i18n/lang/en.yaml index 366eda33e89f..9398427b2143 100644 --- a/agent/i18n/lang/en.yaml +++ b/agent/i18n/lang/en.yaml @@ -55,7 +55,7 @@ ErrAgentApiKeyRequired: 'API key is required' ErrAgentComposeRequired: 'Compose content is required' ErrAgentIDRequired: 'Agent ID is required' ErrAgentAccountIDRequired: 'Account ID is required' -ErrAgentLimitReached: 'Community Edition supports up to {{ .max }} AI agents. Upgrade to Professional Edition for unlimited agents' +ErrAgentLimitReached: 'Community Edition supports up to {{ .max }} AI agents. Upgrade to Pro Edition for unlimited agents' #backup Localhost: 'Local' diff --git a/agent/i18n/lang/es-ES.yaml b/agent/i18n/lang/es-ES.yaml index e25a8288f479..62269d35456e 100644 --- a/agent/i18n/lang/es-ES.yaml +++ b/agent/i18n/lang/es-ES.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'Clave API requerida' ErrAgentComposeRequired: 'Contenido compose requerido' ErrAgentIDRequired: 'ID de agente requerido' ErrAgentAccountIDRequired: 'ID de cuenta requerido' -ErrAgentLimitReached: 'La edición Community admite hasta {{ .max }} agentes de IA. Actualice a la edición Professional para eliminar el límite' +ErrAgentLimitReached: 'La edición Community admite hasta {{ .max }} agentes de IA. Actualiza a la edición Pro para usar agentes ilimitados' Localhost: 'Máquina local' ErrBackupInUsed: 'Cuenta de respaldo en uso por tarea programada' ErrBackupCheck: 'Conexión de respaldo falló: {{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: 'El archivo de certificado no existe' ErrSSLKeyFormat: 'Error en la verificación del archivo de clave privada' ErrSSLCertificateFormat: 'Formato de certificado incorrecto, use formato pem' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid o EabHmacKey no pueden estar en blanco' -ErrOpenrestyNotFound: 'El modo Http requiere tener Openresty instalado primero' +ErrOpenrestyNotFound: 'El modo HTTP requiere OpenResty' ApplySSLStart: 'Iniciando solicitud de certificado, dominio [{{ .domain }}] método de solicitud [{{ .type }}]' dnsAccount: 'DNS Automático' dnsManual: 'DNS Manual' @@ -343,9 +343,9 @@ sqlInject: 'Inyección SQL' ErrDBNotExist: 'La base de datos no existe' allow: 'permitir' deny: 'denegar' -OpenrestyNotFound: 'Openresty no está instalado' +OpenrestyNotFound: 'OpenResty no está instalado' remoteIpIsNull: 'La lista de IP está vacía' -OpenrestyVersionErr: 'La versión de Openresty es demasiado baja, actualice a 1.27.1.2-2-2-focal' +OpenrestyVersionErr: 'La versión de OpenResty es demasiado antigua. Actualízalo a 1.27.1.2-2-2-focal' ErrFileTooLarge: 'El archivo supera 1 MB y no se puede cargar' TaskStart: 'La tarea {{ .name }} inicia [INICIO]' TaskEnd: 'La tarea {{ .name }} completada [COMPLETADA]' @@ -369,7 +369,7 @@ TaskRollback: 'Revertir' TaskPull: 'Descargar' TaskCommit: 'Commit' TaskBuild: 'Construir' -TaskPush: 'Subir' +TaskPush: 'Enviar' TaskClean: 'Limpieza' TaskHandle: 'Ejecutar' TaskImport: 'Importar' @@ -379,7 +379,7 @@ App: 'Aplicación' Runtime: 'Entorno de ejecución' Database: 'Base de datos' ConfigFTP: 'Crear usuario FTP {{ .name }}' -ConfigOpenresty: 'Crear archivo de configuración Openresty' +ConfigOpenresty: 'Crear archivo de configuración de OpenResty' InstallAppSuccess: 'Aplicación {{ .name }} instalada correctamente' ConfigRuntime: 'Configurar entorno de ejecución' ConfigApp: 'Configurar aplicación' diff --git a/agent/i18n/lang/ja.yaml b/agent/i18n/lang/ja.yaml index a555e4a31744..b10614be82d2 100644 --- a/agent/i18n/lang/ja.yaml +++ b/agent/i18n/lang/ja.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'APIキーが必要です' ErrAgentComposeRequired: 'Composeが必要です' ErrAgentIDRequired: 'エージェントIDが必要です' ErrAgentAccountIDRequired: 'アカウントIDが必要です' -ErrAgentLimitReached: 'Community Edition では AI エージェントを最大 {{ .max }} 件まで作成できます。Professional Edition にアップグレードすると数の制限はありません' +ErrAgentLimitReached: 'Community Edition では AI エージェントを最大 {{ .max }} 件まで作成できます。Pro Edition にアップグレードすると無制限で利用できます' Localhost: 'ローカルマシン' ErrBackupInUsed: 'バックアップアカウントがスケジュールで使用中' ErrBackupCheck: '接続テストに失敗しました: {{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: '証明書ファイルが存在しません' ErrSSLKeyFormat: '秘密鍵ファイルの検証に失敗しました' ErrSSLCertificateFormat: '証明書ファイルの形式が正しくありません。pem 形式を使用してください' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid または EabHmacKey は空白にできません' -ErrOpenrestyNotFound: 'Http モードでは、まず Openresty をインストールする必要があります' +ErrOpenrestyNotFound: 'HTTP モードでは OpenResty が必要です' ApplySSLStart: '証明書の申請を開始します。ドメイン名 [{{ .domain }}] 申請方法 [{{ .type }}]' dnsAccount: 'DNS 自動' dnsManual: 'DNS マニュアル' @@ -343,9 +343,9 @@ sqlInject: 'SQL インジェクション' ErrDBNotExist: 'データベースが存在しません' allow: '許可' deny: '拒否' -OpenrestyNotFound: 'Openresty がインストールされていません' +OpenrestyNotFound: 'OpenResty がインストールされていません' remoteIpIsNull: 'IPリストが空です' -OpenrestyVersionErr: 'Openrestyのバージョンが低すぎます。Openrestyを1.27.1.2-2-2-focalにアップグレードしてください' +OpenrestyVersionErr: 'OpenResty のバージョンが古すぎます。1.27.1.2-2-2-focal 以降にアップグレードしてください' ErrFileTooLarge: 'ファイルが 1MB を超えているためアップロードできません' TaskStart: '{{ .name }} タスクが開始されました [START]' TaskEnd: '{{ .name }} タスクが完了しました [COMPLETED]' @@ -369,7 +369,7 @@ TaskRollback: 'ロールバック' TaskPull: 'プル' TaskCommit: 'コミット' TaskBuild: 'ビルド' -TaskPush: 'プッシュ' +TaskPush: '送信' TaskClean: 'クリーンアップ' TaskHandle: '実行' TaskImport: 'インポート' @@ -379,7 +379,7 @@ App: 'アプリケーション' Runtime: 'ランタイム環境' Database: 'データベース' ConfigFTP: 'FTP ユーザー {{ .name }} を作成します' -ConfigOpenresty: 'Openresty 構成ファイルを作成する' +ConfigOpenresty: 'OpenResty の設定ファイルを作成' InstallAppSuccess: 'アプリケーション {{ .name }} が正常にインストールされました' ConfigRuntime: 'ランタイム環境を構成する' ConfigApp: '構成アプリケーション' diff --git a/agent/i18n/lang/ko.yaml b/agent/i18n/lang/ko.yaml index b296f89a6324..2d5684e74dd4 100644 --- a/agent/i18n/lang/ko.yaml +++ b/agent/i18n/lang/ko.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'API 키 필요' ErrAgentComposeRequired: 'Compose 내용 필요' ErrAgentIDRequired: '에이전트 ID 필요' ErrAgentAccountIDRequired: '계정 ID 필요' -ErrAgentLimitReached: '커뮤니티 에디션에서는 AI 에이전트를 최대 {{ .max }}개까지 생성할 수 있으며, Professional 에디션으로 업그레이드하면 수량 제한이 없습니다' +ErrAgentLimitReached: '커뮤니티 에디션에서는 AI 에이전트를 최대 {{ .max }}개까지 만들 수 있습니다. Pro Edition으로 업그레이드하면 제한 없이 사용할 수 있습니다' Localhost: '로컬 머신' ErrBackupInUsed: '백업 계정이 예약에 사용 중' ErrBackupCheck: '연결 테스트 실패: {{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: '인증서 파일이 존재하지 않습니다' ErrSSLKeyFormat: '개인 키 파일 검증에 실패했습니다' ErrSSLCertificateFormat: '인증서 파일 형식이 올바르지 않습니다. pem 형식을 사용하세요.' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 또는 EabHmacKey는 비워둘 수 없습니다' -ErrOpenrestyNotFound: 'Http 모드를 사용하려면 먼저 Openresty를 설치해야 합니다.' +ErrOpenrestyNotFound: 'HTTP 모드에서는 OpenResty가 필요합니다' ApplySSLStart: '인증서 신청 시작, 도메인 이름 [{{ .domain }}] 신청 방법 [{{ .type }}]' dnsAccount: 'DNS 자동' dnsManual: 'DNS 매뉴얼' @@ -343,9 +343,9 @@ sqlInject: 'SQL 주입' ErrDBNotExist: '데이터베이스가 존재하지 않습니다' allow: '허용하다' deny: '거부하다' -OpenrestyNotFound: 'Openresty가 설치되지 않았습니다' +OpenrestyNotFound: 'OpenResty가 설치되어 있지 않습니다' remoteIpIsNull: 'IP 목록이 비어 있습니다' -OpenrestyVersionErr: 'Openresty 버전이 너무 낮습니다. Openresty를 1.27.1.2-2-2-focal로 업그레이드하세요' +OpenrestyVersionErr: 'OpenResty 버전이 너무 낮습니다. 1.27.1.2-2-2-focal 이상으로 업그레이드하세요' ErrFileTooLarge: '파일이 1MB를 초과하여 업로드할 수 없습니다' TaskStart: '[START] {{ .name }} 작업이 시작됩니다.' TaskEnd: '{{ .name }} 작업이 완료되었습니다 [완료]' @@ -369,7 +369,7 @@ TaskRollback: '롤백' TaskPull: '당기기' TaskCommit: '커밋' TaskBuild: '빌드' -TaskPush: '푸시' +TaskPush: '전송' TaskClean: '정리' TaskHandle: '실행' TaskImport: '가져오기' @@ -379,7 +379,7 @@ App: '애플리케이션' Runtime: '런타임 환경' Database: '데이터베이스' ConfigFTP: 'FTP 사용자 {{ .name }} 생성' -ConfigOpenresty: 'Openresty 구성 파일 생성' +ConfigOpenresty: 'OpenResty 구성 파일 생성' InstallAppSuccess: '애플리케이션 {{ .name }}이 성공적으로 설치되었습니다.' ConfigRuntime: '런타임 환경 구성' ConfigApp: '구성 애플리케이션' diff --git a/agent/i18n/lang/ms.yaml b/agent/i18n/lang/ms.yaml index 65bb32a73f8a..5a26d077f5c5 100644 --- a/agent/i18n/lang/ms.yaml +++ b/agent/i18n/lang/ms.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'Kunci API diperlukan' ErrAgentComposeRequired: 'Kandungan compose diperlukan' ErrAgentIDRequired: 'ID ejen diperlukan' ErrAgentAccountIDRequired: 'ID akaun diperlukan' -ErrAgentLimitReached: 'Edisi Community menyokong sehingga {{ .max }} ejen AI. Naik taraf ke edisi Professional untuk tiada had bilangan' +ErrAgentLimitReached: 'Edisi Community menyokong sehingga {{ .max }} ejen AI. Naik taraf ke Edisi Pro untuk penggunaan tanpa had' Localhost: 'Mesin Tempatan' ErrBackupInUsed: 'Akaun sandaran sedang digunakan oleh tugas' ErrBackupCheck: 'Ujian sambungan gagal: {{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: 'Fail sijil tidak wujud' ErrSSLKeyFormat: 'Pengesahan fail kunci peribadi gagal' ErrSSLCertificateFormat: 'Format fail sijil tidak betul, sila gunakan format pem' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid atau EabHmacKey tidak boleh kosong' -ErrOpenrestyNotFound: 'Mod Http memerlukan Openresty dipasang dahulu' +ErrOpenrestyNotFound: 'Mod HTTP memerlukan OpenResty dipasang terlebih dahulu' ApplySSLStart: 'Mula memohon sijil, nama domain [{{ .domain }}] kaedah permohonan [{{ .type }}]' dnsAccount: 'DNS Auto' dnsManual: 'Manual DNS' @@ -254,8 +254,8 @@ ErrScriptsNotFound: 'Item konfigurasi skrip tidak ditemui dalam package.json' ErrContainerNameNotFound: 'Tidak dapat mendapatkan nama kontena, sila semak fail.env' ErrNodeModulesNotFound: 'Folder node_modules tidak wujud Sila edit persekitaran masa jalan atau tunggu persekitaran masa jalan berjaya dimulakan' ErrContainerNameIsNull: 'Nama kontena tidak wujud' -ErrPHPPortIsDefault: 'Порт 9000 является портом по умолчанию, пожалуйста, измените и попробуйте снова' -ErrPHPRuntimePortFailed: 'Порт {{ .name }} уже используется текущей средой выполнения, пожалуйста, измените и попробуйте снова' +ErrPHPPortIsDefault: 'Port 9000 ialah port lalai. Sila tukar dan cuba lagi' +ErrPHPRuntimePortFailed: 'Port {{ .name }} sudah digunakan oleh runtime semasa. Sila tukar dan cuba lagi' ErrConfigNotFound: 'Fail konfigurasi tidak wujud' ErrConfigParse: 'Format fail konfigurasi tidak betul' ErrConfigIsNull: 'Fail konfigurasi tidak boleh kosong' @@ -343,10 +343,10 @@ sqlInject: 'Suntikan SQL' ErrDBNotExist: 'Pangkalan data tidak wujud' allow: 'membenarkan' deny: 'menafikan' -OpenrestyNotFound: 'Openresty tidak dipasang' +OpenrestyNotFound: 'OpenResty tidak dipasang' remoteIpIsNull: 'Senarai IP kosong' -OpenrestyVersionErr: 'Versi Openresty terlalu rendah, sila naik taraf Openresty ke 1.27.1.2-2-2-focal' -ErrFileTooLarge: 'File is larger than 1 MB and cannot be uploaded' +OpenrestyVersionErr: 'Versi OpenResty terlalu lama. Naik taraf ke 1.27.1.2-2-2-focal' +ErrFileTooLarge: 'Fail melebihi 1 MB dan tidak boleh dimuat naik' TaskStart: '{{ .name }} Task mula [MULA]' TaskEnd: '{{ .name }} Task selesai [SELESAI]' TaskFailed: 'tugas {{ .name }} gagal' @@ -369,7 +369,7 @@ TaskRollback: 'Rollback' TaskPull: 'Tarik' TaskCommit: 'Komit' TaskBuild: 'Bina' -TaskPush: 'Tolak' +TaskPush: 'Hantar' TaskClean: 'Pembersihan' TaskHandle: 'Laksanakan' TaskImport: 'Import' @@ -379,7 +379,7 @@ App: 'Aplikasi' Runtime: 'Persekitaran masa jalan' Database: 'Pangkalan Data' ConfigFTP: 'Buat pengguna FTP {{ .name }}' -ConfigOpenresty: 'Buat fail konfigurasi Openresty' +ConfigOpenresty: 'Buat fail konfigurasi OpenResty' InstallAppSuccess: 'Aplikasi {{ .name }} berjaya dipasang' ConfigRuntime: 'Konfigurasikan persekitaran masa jalan' ConfigApp: 'Aplikasi Konfigurasi' @@ -436,7 +436,7 @@ SnapCompressSize: 'Saiz fail syot kilat {{ .name }}' SnapUpload: 'Muat naik fail syot kilat' SnapUploadTo: 'Muat naik fail syot kilat ke {{ .name }}' SnapUploadRes: 'Muat naik fail syot kilat ke {{ .name }}' -SnapshotRecover: 'Snapshot Restore' +SnapshotRecover: 'Pulihkan syot kilat' RecoverDownload: 'Muat turun fail syot kilat' Download: 'Muat turun' RecoverDownloadAccount: 'Dapatkan syot kilat muat turun akaun sandaran {{ .name }}' diff --git a/agent/i18n/lang/pt-BR.yaml b/agent/i18n/lang/pt-BR.yaml index 08ba589034cf..1a64bf492b02 100644 --- a/agent/i18n/lang/pt-BR.yaml +++ b/agent/i18n/lang/pt-BR.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'Chave API obrigatória' ErrAgentComposeRequired: 'Conteúdo de compose obrigatório' ErrAgentIDRequired: 'ID do agente obrigatório' ErrAgentAccountIDRequired: 'ID da conta obrigatório' -ErrAgentLimitReached: 'A edição Community suporta até {{ .max }} agentes de IA. Atualize para a edição Professional para remover o limite' +ErrAgentLimitReached: 'A edição Community suporta até {{ .max }} agentes de IA. Faça upgrade para a edição Pro para usar agentes ilimitados' Localhost: 'Máquina Local' ErrBackupInUsed: 'Conta de backup em uso por tarefa' ErrBackupCheck: 'Teste de conexão falhou: {{ .err }}' @@ -162,14 +162,14 @@ SSL: 'Certificado' Set: 'Configurações' ErrSSLCannotDelete: 'O certificado {{ .name }} está sendo usado por um site e não pode ser excluído' ErrAccountCannotDelete: 'A conta está associada a um certificado e não pode ser excluída' -ErrSSLApply: 'Renovação do certificado bem-sucedida, falha na recarga do Openresty, verifique a configuração' +ErrSSLApply: 'Renovação do certificado concluída, mas a recarga do OpenResty falhou. Verifique a configuração' ErrEmailIsExist: 'A caixa de correio já existe' ErrSSLKeyNotFound: 'O arquivo de chave privada não existe' ErrSSLCertificateNotFound: 'O arquivo de certificado não existe' ErrSSLKeyFormat: 'Falha na verificação do arquivo de chave privada' ErrSSLCertificateFormat: 'O formato do arquivo de certificado está incorreto, use o formato pem' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid ou EabHmacKey não podem estar em branco' -ErrOpenrestyNotFound: 'O modo HTTP requer que o Openresty seja instalado primeiro' +ErrOpenrestyNotFound: 'O modo HTTP requer o OpenResty instalado' ApplySSLStart: 'Comece a solicitar um certificado, nome de domínio [{{ .domain }}] método de solicitação [{{ .type }}]' dnsAccount: 'DNS Automático' dnsManual: 'Manual DNS' @@ -254,8 +254,8 @@ ErrScriptsNotFound: 'O item de configuração de scripts não foi encontrado em ErrContainerNameNotFound: 'Não foi possível obter o nome do contêiner, verifique o arquivo.env' ErrNodeModulesNotFound: 'A pasta node_modules não existe Edite o ambiente de execução ou aguarde até que o ambiente de execução inicie com sucesso' ErrContainerNameIsNull: 'O nome do contêiner não existe' -ErrPHPPortIsDefault: 'Port 9000 adalah port lalai, sila ubah dan cuba lagi' -ErrPHPRuntimePortFailed: 'Port {{ .name }} telah digunakan oleh persekitaran runtime semasa, sila ubah dan cuba lagi' +ErrPHPPortIsDefault: 'A porta 9000 é a porta padrão. Altere-a e tente novamente' +ErrPHPRuntimePortFailed: 'A porta {{ .name }} já está em uso neste runtime. Altere-a e tente novamente' ErrConfigNotFound: 'O arquivo de configuração não existe' ErrConfigParse: 'O formato do arquivo de configuração está incorreto' ErrConfigIsNull: 'O arquivo de configuração não pode estar vazio' @@ -343,9 +343,9 @@ sqlInject: 'injeção de SQL' ErrDBNotExist: 'O banco de dados não existe' allow: 'permitir' deny: 'negar' -OpenrestyNotFound: 'Openresty não está instalado' +OpenrestyNotFound: 'OpenResty não está instalado' remoteIpIsNull: 'A lista de IP está vazia' -OpenrestyVersionErr: 'A versão do Openresty é muito baixa atualize o Openresty para 1.27.1.2-2-2-focal' +OpenrestyVersionErr: 'A versão do OpenResty é muito antiga. Atualize para 1.27.1.2-2-2-focal' ErrFileTooLarge: 'O arquivo excede 1 MB e não pode ser enviado' TaskStart: '{{ .name }} A tarefa inicia [START]' TaskEnd: '{{ .name }} Tarefa concluída [CONCLUÍDA]' @@ -369,7 +369,7 @@ TaskRollback: 'Reverter' TaskPull: 'Puxar' TaskCommit: 'Commit' TaskBuild: 'Construir' -TaskPush: 'Empurrar' +TaskPush: 'Enviar' TaskClean: 'Limpeza' TaskHandle: 'Executar' TaskImport: 'Importar' @@ -379,7 +379,7 @@ App: 'Aplicativo' Runtime: 'Ambiente de tempo de execução' Database: 'Banco de dados' ConfigFTP: 'Criar usuário FTP {{ .name }}' -ConfigOpenresty: 'Criar arquivo de configuração Openresty' +ConfigOpenresty: 'Criar arquivo de configuração do OpenResty' InstallAppSuccess: 'Aplicativo {{ .name }} instalado com sucesso' ConfigRuntime: 'Configurar o ambiente de tempo de execução' ConfigApp: 'Aplicativo de configuração' diff --git a/agent/i18n/lang/ru.yaml b/agent/i18n/lang/ru.yaml index 4014540cb6f3..9ccf2e3ef554 100644 --- a/agent/i18n/lang/ru.yaml +++ b/agent/i18n/lang/ru.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'Нужен API-ключ' ErrAgentComposeRequired: 'Нужен compose' ErrAgentIDRequired: 'Нужен ID агента' ErrAgentAccountIDRequired: 'Нужен ID аккаунта' -ErrAgentLimitReached: 'Community Edition поддерживает до {{ .max }} AI-агентов. Перейдите на Professional Edition, чтобы снять ограничение' +ErrAgentLimitReached: 'Community Edition поддерживает до {{ .max }} AI-агентов. Обновитесь до Pro Edition, чтобы использовать их без ограничений' Localhost: 'Локальная машина' ErrBackupInUsed: 'Аккаунт бэкапа занят задачей' ErrBackupCheck: 'Проверка подключения не удалась: {{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: 'Файл сертификата не существ ErrSSLKeyFormat: 'Проверка файла закрытого ключа не удалась' ErrSSLCertificateFormat: 'Неверный формат файла сертификата, используйте формат pem' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid или EabHmacKey не могут быть пустыми' -ErrOpenrestyNotFound: 'Для режима HTTP необходимо сначала установить Openresty' +ErrOpenrestyNotFound: 'Для режима HTTP требуется OpenResty' ApplySSLStart: 'Начать подачу заявки на сертификат, доменное имя [{{ .domain }}], метод подачи заявки [{{ .type }}]' dnsAccount: 'DNS Авто' dnsManual: 'Руководство по DNS' @@ -254,8 +254,8 @@ ErrScriptsNotFound: 'Элемент конфигурации скриптов н ErrContainerNameNotFound: 'Не удалось получить имя контейнера, проверьте файл.env' ErrNodeModulesNotFound: 'Папка node_modules не существует Измените среду выполнения или дождитесь ее успешного запуска' ErrContainerNameIsNull: 'Имя контейнера не существует' -ErrPHPPortIsDefault: 'A porta 9000 é a porta padrão, por favor, modifique e tente novamente' -ErrPHPRuntimePortFailed: 'A porta {{ .name }} já está sendo usada pelo ambiente de tempo de execução atual, por favor, modifique e tente novamente' +ErrPHPPortIsDefault: 'Порт 9000 зарезервирован как стандартный. Укажите другой порт' +ErrPHPRuntimePortFailed: 'Порт {{ .name }} уже используется этой средой выполнения' ErrConfigNotFound: 'Файл конфигурации не существует' ErrConfigParse: 'Неверный формат файла конфигурации' ErrConfigIsNull: 'Файл конфигурации не может быть пустым' @@ -343,10 +343,10 @@ sqlInject: 'SQL-инъекция' ErrDBNotExist: 'База данных не существует' allow: 'разрешить' deny: 'отрицать' -OpenrestyNotFound: 'Openresty не установлен' +OpenrestyNotFound: 'OpenResty не установлен' remoteIpIsNull: 'Список IP пуст' -OpenrestyVersionErr: 'Версия Openresty слишком низкая, пожалуйста, обновите Openresty до 1.27.1.2-2-2-focal' -ErrFileTooLarge: 'File is larger than 1 MB and cannot be uploaded' +OpenrestyVersionErr: 'Версия OpenResty слишком старая. Обновите до 1.27.1.2-2-2-focal' +ErrFileTooLarge: 'Файл больше 1 МБ и не может быть загружен' TaskStart: '{{ .name }} Задача начинается [START]' TaskEnd: '{{ .name }} Задача выполнена [ЗАВЕРШЕНО]' TaskFailed: 'Задача {{ .name }} не выполнена' @@ -369,7 +369,7 @@ TaskRollback: 'Откат' TaskPull: 'Вытянуть' TaskCommit: 'Kоммит' TaskBuild: 'Сборка' -TaskPush: 'Push' +TaskPush: 'Отправить' TaskClean: 'Очистка' TaskHandle: 'Выполнить' TaskImport: 'Импорт' @@ -379,7 +379,7 @@ App: 'Приложение' Runtime: 'Среда выполнения' Database: 'База данных' ConfigFTP: 'Создать пользователя FTP {{ .name }}' -ConfigOpenresty: 'Создать файл конфигурации Openresty' +ConfigOpenresty: 'Создать файл конфигурации OpenResty' InstallAppSuccess: 'Приложение {{ .name }} успешно установлено' ConfigRuntime: 'Настройка среды выполнения' ConfigApp: 'Приложение конфигурации' diff --git a/agent/i18n/lang/tr.yaml b/agent/i18n/lang/tr.yaml index 2a59029e3f40..ef8a6589ede3 100644 --- a/agent/i18n/lang/tr.yaml +++ b/agent/i18n/lang/tr.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'API anahtarı gerekli' ErrAgentComposeRequired: 'Compose içeriği gerekli' ErrAgentIDRequired: 'Ajans ID gerekli' ErrAgentAccountIDRequired: 'Hesap ID gerekli' -ErrAgentLimitReached: 'Community sürümü en fazla {{ .max }} AI ajanını destekler. Sınırı kaldırmak için Professional sürüme yükseltin' +ErrAgentLimitReached: 'Community sürümü en fazla {{ .max }} AI ajanını destekler. Sınırsız kullanım için Pro Sürüme yükseltin' Localhost: 'Yerel Makine' ErrBackupInUsed: 'Yedek hesabı görevde kullanılıyor' ErrBackupCheck: 'Bağlantı testi başarısız: {{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: 'Sertifika dosyası mevcut değil' ErrSSLKeyFormat: 'Özel anahtar dosyası doğrulama başarısız' ErrSSLCertificateFormat: 'Sertifika dosyası formatı yanlış, lütfen pem formatını kullanın' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid veya EabHmacKey boş olamaz' -ErrOpenrestyNotFound: 'Http modu önce Openresty yüklenmesini gerektiriyor' +ErrOpenrestyNotFound: 'HTTP modu için OpenResty gereklidir' ApplySSLStart: 'Sertifika başvurusu başlatılıyor, alan adı [{{ .domain }}] başvuru yöntemi [{{ .type }}]' dnsAccount: 'DNS Otomatik' dnsManual: 'DNS Manuel' @@ -343,10 +343,10 @@ sqlInject: 'SQL enjeksiyonu' ErrDBNotExist: 'Veritabanı mevcut değil' allow: 'izin ver' deny: 'reddet' -OpenrestyNotFound: 'Openresty yüklü değil' +OpenrestyNotFound: 'OpenResty yüklü değil' remoteIpIsNull: 'IP listesi boş' -OpenrestyVersionErr: 'Openresty sürümü çok düşük, lütfen Openresty''i 1.27.1.2-2-2-focal olarak güncelleyin' -ErrFileTooLarge: 'File is larger than 1 MB and cannot be uploaded' +OpenrestyVersionErr: 'OpenResty sürümü çok eski. 1.27.1.2-2-2-focal sürümüne yükseltin' +ErrFileTooLarge: 'Dosya 1 MB''den büyük olduğu için yüklenemiyor' TaskStart: '{{ .name }} görevi başlıyor [BAŞLAT]' TaskEnd: '{{ .name }} Görev tamamlandı [TAMAMLANDI]' TaskFailed: '{{ .name }} görev başarısız' @@ -379,7 +379,7 @@ App: 'Uygulama' Runtime: 'Çalışma ortamı' Database: 'Veritabanı' ConfigFTP: 'FTP kullanıcısı {{ .name }} oluştur' -ConfigOpenresty: 'Openresty yapılandırma dosyası oluştur' +ConfigOpenresty: 'OpenResty yapılandırma dosyası oluştur' InstallAppSuccess: 'Uygulama {{ .name }} başarıyla yüklendi' ConfigRuntime: 'Çalışma ortamını yapılandır' ConfigApp: 'Uygulama Yapılandırması' diff --git a/agent/i18n/lang/zh-Hant.yaml b/agent/i18n/lang/zh-Hant.yaml index aea2abd46ad2..bb1129466fb0 100644 --- a/agent/i18n/lang/zh-Hant.yaml +++ b/agent/i18n/lang/zh-Hant.yaml @@ -50,7 +50,7 @@ ErrAgentApiKeyRequired: 'API Key 不可為空,請重試' ErrAgentComposeRequired: '自訂編排內容不可為空,請重試' ErrAgentIDRequired: '智能體 ID 不可為空,請重試' ErrAgentAccountIDRequired: '帳號 ID 不可為空,請重試' -ErrAgentLimitReached: '社群版最多支援建立 {{ .max }} 個智能體,升級至專業版則無數量限制' +ErrAgentLimitReached: '社群版最多支援建立 {{ .max }} 個 AI 智能體,升級至 Pro 版即可無限制使用' Localhost: '本機' ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除' ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}' @@ -169,7 +169,7 @@ ErrSSLCertificateNotFound: '憑證檔案不存在' ErrSSLKeyFormat: '私鑰檔案驗證失敗' ErrSSLCertificateFormat: '憑證檔案格式錯誤,請使用 pem 格式' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 或 EabHmacKey 不可為空' -ErrOpenrestyNotFound: 'Http 模式需要先安裝OpenResty' +ErrOpenrestyNotFound: 'HTTP 模式需要先安裝 OpenResty' ApplySSLStart: '開始申請憑證,網域名稱[{{ .domain }}] 申請方式[{{ .type }}]' dnsAccount: 'DNS 自動' dnsManual: 'DNS 手排' @@ -379,7 +379,7 @@ App: '應用程式' Runtime: '運作環境' Database: '資料庫' ConfigFTP: '建立FTP 使用者{{ .name }}' -ConfigOpenresty: '建立OpenResty 設定檔' +ConfigOpenresty: '建立 OpenResty 設定檔' InstallAppSuccess: '應用程式{{ .name }} 安裝成功' ConfigRuntime: '設定執行環境' ConfigApp: '設定應用程式' diff --git a/core/i18n/lang/en.yaml b/core/i18n/lang/en.yaml index 7ced8d58b80b..ace9737db027 100644 --- a/core/i18n/lang/en.yaml +++ b/core/i18n/lang/en.yaml @@ -69,23 +69,23 @@ ErrXpackVersion: "License validation failed, this license is version-limited, ca ErrLicenseSave: "Failed to save license information, error {{ .err }}, retry!" ErrLicenseSync: "License synchronization failed, no license info detected in database!" ErrLicenseExist: "This license record already exists. You can directly go to the license page for node binding." -ErrXpackNotFound: "This section requires Professional Edition. Import a license in Panel Settings - License" -ErrXpackExceptional: "This section requires Professional Edition. Sync license status in Panel Settings - License" -ErrXpackLost: "License reached max retry count. Go to [Panel Settings] [License] and run manual sync" +ErrXpackNotFound: "This section requires Pro Edition. Import a license in Panel Settings > License." +ErrXpackExceptional: "This section requires Pro Edition. Sync the license status in Panel Settings > License." +ErrXpackLost: "The license retry limit has been reached. Go to Panel Settings > License and run a manual sync." ErrDeviceLost: "Required files for license verification are missing, check and try again!" ErrDeviceErr: "Current environment does not match the license import environment. Edit the license and re-import." ErrXpackTimeout: "Request timeout, network connection might be unstable, try again later!" ErrUnbindMaster: "Nodes exist in node management. Remove nodes first, then unbind the current license." -ErrFreeNodeLimit: "Community edition node limit reached. Go to www.lxware.cn/1panel to purchase and retry." +ErrFreeNodeLimit: "Community Edition node limit reached. Visit www.lxware.cn/1panel to upgrade and try again." ErrNodeBound: "This license is bound to another node, check and retry!" ErrNodeBoundDelete: "This license is bound and does not support delete operations. Check and try again!" ErrNodeBoundLimit: "The current free node has reached its limit, check and try again!" ErrLicenseFree: "Free nodes are available only when the license is correctly bound to a node. Verify and retry." -ErrLicenseUnbind: "Community Edition nodes detected for this license. Unbind in [Panel Settings - License] and retry." +ErrLicenseUnbind: "Community Edition nodes are still linked to this license. Unbind them in Panel Settings > License and try again." ErrNoSuchNode: "Node information not found, check and retry!" ErrNodeUnbind: "This node is not within the license binding range, check and retry!" ErrNodeBind: "This node is already bound to a license, check and retry!" -ErrNodeLocalRollback: "The primary node does not support direct rollback. Manually execute the '1pctl restore' command to rollback!" +ErrNodeLocalRollback: "The primary node does not support direct rollback. Run '1pctl restore' manually to roll back." ErrIntlLicense: "The current version does not support importing international licenses yet. Stay tuned!" InvalidRequestBodyType: "Invalid request body format. Ensure content matches the required format and retry." @@ -202,14 +202,14 @@ ResetEntrance: "Cancel 1Panel secure entrance" ResetIPs: "Cancel 1Panel authorized ip restrictions" ResetDomain: "Cancel 1Panel domain binding" ResetPasskey: "Clear 1Panel passkeys" -RestoreCommands: "Rollback 1Panel service and data" +RestoreCommands: "Roll back 1Panel service and data" RestoreNoSuchFile: "No rollback files found" RestoreStep1: "(1/5) Starting rollback of 1Panel service and data from {{ .name }} directory..." -RestoreStep2: "(2/5) 1Panel binary rollback successful" -RestoreStep3: "(3/5) 1Panel script rollback successful" -RestoreStep4: "(4/5) 1Panel service rollback successful" -RestoreStep5: "(5/5) 1Panel data rollback successful" -RestoreSuccessful: "Rollback succeeded. Reverted to {{ .version }}, restarting service..." +RestoreStep2: "(2/5) 1Panel binary rollback completed" +RestoreStep3: "(3/5) 1Panel script rollback completed" +RestoreStep4: "(4/5) 1Panel service rollback completed" +RestoreStep5: "(5/5) 1Panel data rollback completed" +RestoreSuccessful: "Rollback completed. Reverted to {{ .version }}. Restarting service..." UpdateCommands: "Update panel info" UpdateUser: "Update panel user" UpdatePassword: "Update panel password" diff --git a/core/i18n/lang/es-ES.yaml b/core/i18n/lang/es-ES.yaml index 6d36406f88b5..d730dbfb9755 100644 --- a/core/i18n/lang/es-ES.yaml +++ b/core/i18n/lang/es-ES.yaml @@ -68,24 +68,24 @@ ErrXpackVersion: "Validación de licencia fallida, esta licencia está limitada ErrLicenseSave: "Error al guardar la información de la licencia, error {{ .err }}, reintente" ErrLicenseSync: "Sincronización de licencia fallida, no se detectó información de licencia en la base de datos" ErrLicenseExist: "Este registro de licencia ya existe. Puede ir directamente a la página de licencia para la vinculación del nodo." -ErrXpackNotFound: "Esta sección es para la edición profesional, importe la licencia en Panel > Ajustes > Licencia" -ErrXpackExceptional: "Esta sección es para la edición profesional, sincronice el estado de la licencia en Panel > Ajustes > Licencia" +ErrXpackNotFound: "Esta sección requiere la edición Pro. Importa una licencia en Configuración del panel > Licencia." +ErrXpackExceptional: "Esta sección requiere la edición Pro. Sincroniza el estado de la licencia en Configuración del panel > Licencia." ErrXpackOutOfDate: "La licencia actual ha expirado, importe nuevamente la licencia en Panel > Ajustes > Licencia" -ErrXpackLost: "La licencia ha alcanzado el número máximo de reintentos, vaya a [Ajustes del Panel] [Licencia] y haga clic en el botón de sincronización manualmente para asegurar el funcionamiento correcto de las funciones profesionales" +ErrXpackLost: "La licencia alcanzó el límite de reintentos. Ve a Configuración del panel > Licencia y ejecuta una sincronización manual." ErrDeviceLost: "Faltan archivos necesarios para la verificación de licencia, verifique e intente de nuevo" ErrDeviceErr: "El entorno actual no coincide con el entorno de importación de la licencia. Edite la licencia e impórtela de nuevo" ErrXpackTimeout: "Tiempo de espera de la solicitud, puede que la conexión de red sea inestable, intente más tarde" ErrUnbindMaster: "Se detectaron nodos en la gestión de nodos, no se puede desvincular la licencia actual, elimine los nodos primero e intente de nuevo" -ErrFreeNodeLimit: "Se alcanzó el límite de nodos en la versión comunitaria, vaya a www.lxware.cn/1panel para comprar y reintentar" +ErrFreeNodeLimit: "Se alcanzó el límite de nodos de la edición Community. Ve a www.lxware.cn/1panel para actualizar y vuelve a intentarlo." ErrNodeBound: "Esta licencia está vinculada a otro nodo, verifique e intente de nuevo" ErrNodeBoundDelete: "Esta licencia está vinculada y no admite operaciones de eliminación. Verifique e intente de nuevo" ErrNodeBoundLimit: "El nodo gratuito actual ha alcanzado su límite, verifique e intente de nuevo" ErrLicenseFree: "Los nodos gratuitos solo pueden usarse si la licencia está correctamente vinculada a un nodo. Verifique e intente de nuevo" -ErrLicenseUnbind: "Se detectaron nodos de la Edición Comunitaria para esta licencia. Desvincule en [Panel > Ajustes > Licencia] y vuelva a intentarlo" +ErrLicenseUnbind: "Esta licencia todavía tiene nodos de la edición Community vinculados. Desvincúlalos en Configuración del panel > Licencia y vuelve a intentarlo." ErrNoSuchNode: "Información del nodo no encontrada, verifique e intente de nuevo" ErrNodeUnbind: "Este nodo no está dentro del rango de vinculación de la licencia, verifique e intente de nuevo" ErrNodeBind: "Este nodo ya está vinculado a una licencia, verifique e intente de nuevo" -ErrNodeLocalRollback: "El nodo principal no admite la reversión directa. Ejecute manualmente el comando '1pctl restore' para revertir" +ErrNodeLocalRollback: "El nodo principal no admite la reversión directa. Ejecuta manualmente '1pctl restore' para revertir." ErrIntlLicense: "La versión actual aún no admite importar licencias de la edición internacional. Próximamente" InvalidRequestBodyType: "Formato del cuerpo de la solicitud no válido, por favor revisa y asegúrate de que el contenido cumpla con el formato requerido antes de reintentar." InvalidLicenseCodeType: "Formato de código de licencia no válido, por favor revisa e inténtalo de nuevo." @@ -196,14 +196,14 @@ ResetEntrance: "Cancelar entrada segura de 1Panel" ResetIPs: "Cancelar restricciones de IP autorizadas de 1Panel" ResetDomain: "Cancelar vinculación de dominio de 1Panel" ResetPasskey: "Eliminar passkeys de 1Panel" -RestoreCommands: "Revertir servicio y datos de 1Panel" -RestoreNoSuchFile: "No hay archivos disponibles para revertir" -RestoreStep1: "(1/5) Iniciando reversión del servicio y datos de 1Panel desde el directorio {{ .name }}..." -RestoreStep2: "(2/5) Reversión de binarios de 1Panel finalizada con éxito" -RestoreStep3: "(3/5) Reversión de scripts de 1Panel finalizada con éxito" -RestoreStep4: "(4/5) Reversión de servicio de 1Panel finalizada con éxito" -RestoreStep5: "(5/5) Reversión de datos de 1Panel finalizada con éxito" -RestoreSuccessful: "Reversión exitosa Revertido a {{ .version }}, reiniciando servicio, espere por favor..." +RestoreCommands: "Revertir el servicio y los datos de 1Panel" +RestoreNoSuchFile: "No se encontraron archivos de reversión" +RestoreStep1: "(1/5) Iniciando la reversión del servicio y los datos de 1Panel desde el directorio {{ .name }}..." +RestoreStep2: "(2/5) Reversión del binario de 1Panel completada" +RestoreStep3: "(3/5) Reversión del script de 1Panel completada" +RestoreStep4: "(4/5) Reversión del servicio de 1Panel completada" +RestoreStep5: "(5/5) Reversión de los datos de 1Panel completada" +RestoreSuccessful: "Reversión completada. Se volvió a {{ .version }}. Reiniciando el servicio..." UpdateCommands: "Actualizar información del panel" UpdateUser: "Actualizar usuario del panel" UpdatePassword: "Actualizar contraseña del panel" diff --git a/core/i18n/lang/ja.yaml b/core/i18n/lang/ja.yaml index cb75d7030a74..971c793f5830 100644 --- a/core/i18n/lang/ja.yaml +++ b/core/i18n/lang/ja.yaml @@ -64,23 +64,23 @@ ErrXpackVersion: "ライセンスの確認に失敗しました、このライ ErrLicenseSave: "ライセンス情報の保存に失敗しました、エラー {{ .err }}、再試行してください" ErrLicenseSync: "ライセンス情報の同期に失敗しました、データベースにライセンス情報が検出されませんでした" ErrLicenseExist: "このライセンス記録は既に存在します。ライセンスページで直接ノードの紐付けが可能です。" -ErrXpackNotFound: "この部分はプロフェッショナル版機能です、まず「パネル設定-ライセンス」画面でライセンスをインポートしてください" -ErrXpackExceptional: "この部分はプロフェッショナル版機能です、まず「パネル設定-ライセンス」画面でライセンス状態を同期してください" -ErrXpackLost: "ライセンスの最大試行回数に達しました、「パネル設定」「ライセンス」ページに移動し、手動で同期ボタンをクリックして、プロフェッショナル版機能が正常に使用できることを確認してください" +ErrXpackNotFound: "この機能は Pro Edition で利用できます。パネル設定 > ライセンス でライセンスをインポートしてください" +ErrXpackExceptional: "この機能は Pro Edition で利用できます。パネル設定 > ライセンス でライセンス状態を同期してください" +ErrXpackLost: "ライセンスの再試行回数が上限に達しました。パネル設定 > ライセンス で手動同期を実行してください" ErrDeviceLost: "ライセンス検証に必要なファイルが失われました。確認して再試行してください!" ErrDeviceErr: "現在の環境とライセンスのインポート環境が一致しません。ライセンスを編集して再度インポートしてください!" ErrXpackTimeout: "リクエストタイムアウト、ネットワーク接続が不安定な可能性があります。後で再試行してください" ErrUnbindMaster: "ノード管理にノードが存在するため、現在のライセンスを解除できません。ノードを削除してから再試行してください" -ErrFreeNodeLimit: "コミュニティ版のノード数が無料上限に達しました、www.lxware.cn/1panel で購入して再試行してください" +ErrFreeNodeLimit: "Community Edition のノード上限に達しました。www.lxware.cn/1panel からアップグレードして、もう一度お試しください" ErrNodeBound: "このライセンスは他のノードにバインドされています、確認して再試行してください" ErrNodeBoundDelete: "このライセンスはバインドされており、削除操作はサポートされていません。確認して再試行してください!" ErrNodeBoundLimit: "現在の無料ノードは上限に達しました。確認して再試行してください!" ErrLicenseFree: "ライセンスがノードに正常にバインドされている場合のみ、その無料ノードを使用できます。確認して再試行してください!" -ErrLicenseUnbind: "このライセンスにコミュニティ版ノードが存在します。[パネル設定 - ライセンス]でバインド解除してから再試行してください!" +ErrLicenseUnbind: "このライセンスには Community Edition のノードがまだ紐付いています。パネル設定 > ライセンス で解除してから、もう一度お試しください" ErrNoSuchNode: "そのノード情報が見つかりませんでした、確認して再試行してください" ErrNodeUnbind: "そのノードはライセンスのバインド範囲内ではありません、確認して再試行してください" ErrNodeBind: "そのノードはライセンスにバインドされています、確認して再試行してください" -ErrNodeLocalRollback: "マスターノードは直接ロールバックをサポートしていません。手動で「1pctl restore」コマンドを実行してロールバックしてください!" +ErrNodeLocalRollback: "マスターノードでは直接ロールバックできません。'1pctl restore' を手動で実行してロールバックしてください" ErrIntlLicense: "現在のバージョンでは国際版ライセンスのインポートはまだサポートされていません。しばらくお待ちください!" InvalidRequestBodyType: "リクエストボディの形式が無効です。内容が要求された形式に準拠しているか確認してから再試行してください!" @@ -115,10 +115,10 @@ FailedStatus: "{{ .name }} 失敗 {{ .err }}" Start: "開始" SubTask: "サブタスク" Skip: "エラーを無視して続行..." -PushAppInstallTaskToNode: "アプリインストールタスクをノード [{{ .name }}] にプッシュ" -TaskPush: "プッシュ" +PushAppInstallTaskToNode: "ノード [{{ .name }}] にアプリインストールタスクを送信" +TaskPush: "送信" AppInstallTask: "アプリインストールタスク" -PushAppFailed: "アプリインストールタスクのプッシュに失敗しました" +PushAppFailed: "アプリインストールタスクの送信に失敗しました" Success: "成功" #script @@ -197,14 +197,14 @@ ResetEntrance: "1パネルの安全な入り口をキャンセルします" ResetIPs: "1パネル認定IP制限をキャンセルします" ResetDomain: "1パネルドメインバインディングをキャンセルします" ResetPasskey: "1Panel のパスキーをクリアします" -RestoreCommands: "ロールバック1パネルサービスとデータ" -RestoreNoSuchFile: "ロールバックに使用できるファイルはありません" -RestoreStep1: "(1/5){{ .name }}ディレクトリからの1パネルサービスとデータの開始ロールバック..." -RestoreStep2: "(2/5)1パネルバイナリロールバックが成功しました" -RestoreStep3: "(3/5)1パネルスクリプトロールバック成功" -RestoreStep4: "(4/5)1パネルサービスロールバックが成功しました" -RestoreStep5: "(5/5)1パネルデータロールバックが成功しました" -RestoreSuccessful: "ロールバック成功!{{ .version }} にロールバックしました。サービスを再起動中です。しばらくお待ちください..." +RestoreCommands: "1Panel のサービスとデータをロールバック" +RestoreNoSuchFile: "ロールバックに使えるファイルが見つかりません" +RestoreStep1: "(1/5){{ .name }} ディレクトリから 1Panel のサービスとデータのロールバックを開始しています..." +RestoreStep2: "(2/5)1Panel バイナリのロールバックが完了しました" +RestoreStep3: "(3/5)1Panel スクリプトのロールバックが完了しました" +RestoreStep4: "(4/5)1Panel サービスのロールバックが完了しました" +RestoreStep5: "(5/5)1Panel データのロールバックが完了しました" +RestoreSuccessful: "ロールバックが完了しました。{{ .version }} に戻し、サービスを再起動しています..." UpdateCommands: "パネル情報を更新します" UpdateUser: "パネルユーザーを更新します" UpdatePassword: "パスワードを更新します" diff --git a/core/i18n/lang/ko.yaml b/core/i18n/lang/ko.yaml index 8d97566d88db..b00d54d516f6 100644 --- a/core/i18n/lang/ko.yaml +++ b/core/i18n/lang/ko.yaml @@ -63,23 +63,23 @@ ErrXpackVersion: "라이선스 검증 실패, 이 라이선스는 버전 제한 ErrLicenseSave: "라이선스 정보 저장 실패, 오류 {{ .err }}, 다시 시도해 주세요" ErrLicenseSync: "라이선스 정보 동기화 실패, 데이터베이스에서 라이선스 정보를 찾을 수 없습니다" ErrLicenseExist: "해당 라이선스 기록이 이미 존재합니다. 라이선스 페이지에서 직접 노드 바인딩이 가능합니다." -ErrXpackNotFound: "이 섹션은 프로페셔널 에디션 기능입니다. 먼저 [패널 설정]-[라이선스] 인터페이스에서 라이선스를 가져오세요." -ErrXpackExceptional: "이 섹션은 프로페셔널 에디션 기능입니다. 먼저 [패널 설정]-[라이선스] 인터페이스에서 라이선스 상태를 동기화하세요." -ErrXpackLost: "라이선스가 최대 재시도 횟수에 도달했습니다. [패널 설정][라이선스] 페이지로 이동하여 수동으로 동기화 버튼을 클릭하여 프로페셔널 기능을 정상적으로 사용할 수 있도록 하세요." +ErrXpackNotFound: "이 기능은 Pro Edition에서 사용할 수 있습니다. 패널 설정 > 라이선스에서 라이선스를 가져오세요" +ErrXpackExceptional: "이 기능은 Pro Edition에서 사용할 수 있습니다. 패널 설정 > 라이선스에서 라이선스 상태를 동기화하세요" +ErrXpackLost: "라이선스 재시도 한도에 도달했습니다. 패널 설정 > 라이선스에서 수동 동기화를 실행하세요" ErrDeviceLost: "라이센스 검증에 필요한 파일이 누락되었습니다. 확인 후 다시 시도해 주세요" ErrDeviceErr: "현재 환경이 라이선스 가져오기 환경과 일치하지 않습니다. 라이선스를 편집하고 다시 가져오십시오" ErrXpackTimeout: "요청 시간 초과, 네트워크 연결이 불안정할 수 있습니다. 나중에 다시 시도해 주세요" ErrUnbindMaster: "노드 관리 내에 노드가 존재함을 감지하였습니다. 현재 라이선스를 해제할 수 없습니다. 먼저 제거 후 다시 시도해 주세요" -ErrFreeNodeLimit: "커뮤니티 에디션 노드 수가 무료 한도에 도달하였습니다. www.lxware.cn/1panel 에서 구매 후 다시 시도해 주세요" +ErrFreeNodeLimit: "커뮤니티 에디션 노드 한도에 도달했습니다. www.lxware.cn/1panel에서 업그레이드한 뒤 다시 시도해 주세요" ErrNodeBound: "이 라이선스는 다른 노드에 바인딩되어 있습니다. 다시 확인하고 시도해 주세요" ErrNodeBoundDelete: "이 라이센스는 바인딩되어 있으며 삭제 작업을 지원하지 않습니다. 확인 후 다시 시도해 주세요" ErrNodeBoundLimit: "현재 무료 노드가 한도에 도달했습니다. 확인 후 다시 시도해 주세요" ErrLicenseFree: "라이선스가 노드에 정상적으로 바인딩된 경우에만 무료 노드를 사용할 수 있습니다. 확인 후 다시 시도하세요" -ErrLicenseUnbind: "이 라이선스에 커뮤니티 에디션 노드가 존재합니다. [패널 설정 - 라이선스]에서 바인딩 해제 후 다시 시도하세요" +ErrLicenseUnbind: "이 라이선스에는 아직 커뮤니티 에디션 노드가 연결되어 있습니다. 패널 설정 > 라이선스에서 연결을 해제한 뒤 다시 시도해 주세요" ErrNoSuchNode: "노드 정보를 찾을 수 없습니다. 다시 확인하고 시도해 주세요" ErrNodeUnbind: "이 노드가 라이선스 바인딩 범위에 있지 않음을 감지하였습니다. 다시 확인하고 시도해 주세요" ErrNodeBind: "이 노드가 이미 라이선스에 바인딩되어 있음을 감지하였습니다. 다시 확인하고 시도해 주세요" -ErrNodeLocalRollback: "마스터 노드는 직접 롤백을 지원하지 않습니다. 수동으로 '1pctl restore' 명령어를 실행하여 롤백하세요" +ErrNodeLocalRollback: "마스터 노드는 직접 롤백을 지원하지 않습니다. '1pctl restore'를 수동으로 실행해 롤백하세요" ErrIntlLicense: "현재 버전에서는 국제판 라이선스 가져오기를 아직 지원하지 않습니다. 곧 제공될 예정입니다" InvalidRequestBodyType: "요청 본문 형식이 잘못되었습니다. 내용이 형식 요구 사항을 충족하는지 확인한 후 다시 시도하세요" @@ -114,10 +114,10 @@ FailedStatus: "{{ .name }} 실패 {{ .err }}" Start: "시작" SubTask: "서브 작업" Skip: "오류 무시하고 계속..." -PushAppInstallTaskToNode: "노드 [{{ .name }}]에 앱 설치 작업 푸시" -TaskPush: "푸시" +PushAppInstallTaskToNode: "노드 [{{ .name }}]로 앱 설치 작업 전송" +TaskPush: "전송" AppInstallTask: "앱 설치 작업" -PushAppFailed: "앱 설치 작업 푸시 실패" +PushAppFailed: "앱 설치 작업 전송 실패" Success: "성공" #script @@ -196,14 +196,14 @@ ResetEntrance: "1Panel 보안 입구 취소" ResetIPs: "1Panel 허용 IP 제한 취소" ResetDomain: "1Panel 도메인 바인딩 취소" ResetPasskey: "1Panel 패스키 초기화" -RestoreCommands: "1Panel 서비스 및 데이터 복구" -RestoreNoSuchFile: "복구 가능한 파일이 없습니다." -RestoreStep1: "(1/5) {{ .name }} 디렉토리에서 1Panel 서비스 및 데이터 복구 시작..." -RestoreStep2: "(2/5) 1Panel 바이너리 복구 성공" -RestoreStep3: "(3/5) 1Panel 스크립트 복구 성공" -RestoreStep4: "(4/5) 1Panel 서비스 복구 성공" -RestoreStep5: "(5/5) 1Panel 데이터 복구 성공" -RestoreSuccessful: "롤백 성공 {{ .version }}(으)로 롤백되었습니다. 서비스를 재시작 중입니다. 잠시만 기다려 주세요..." +RestoreCommands: "1Panel 서비스와 데이터를 롤백" +RestoreNoSuchFile: "롤백 파일을 찾을 수 없습니다" +RestoreStep1: "(1/5) {{ .name }} 디렉터리에서 1Panel 서비스와 데이터의 롤백을 시작합니다..." +RestoreStep2: "(2/5) 1Panel 바이너리 롤백 완료" +RestoreStep3: "(3/5) 1Panel 스크립트 롤백 완료" +RestoreStep4: "(4/5) 1Panel 서비스 롤백 완료" +RestoreStep5: "(5/5) 1Panel 데이터 롤백 완료" +RestoreSuccessful: "롤백이 완료되었습니다. {{ .version }}(으)로 되돌리고 서비스를 다시 시작합니다..." UpdateCommands: "패널 정보 업데이트" UpdateUser: "패널 사용자 업데이트" UpdatePassword: "패널 비밀번호 업데이트" diff --git a/core/i18n/lang/ms.yaml b/core/i18n/lang/ms.yaml index 0604d3dd2922..e294bebe996d 100644 --- a/core/i18n/lang/ms.yaml +++ b/core/i18n/lang/ms.yaml @@ -58,23 +58,23 @@ ErrXpackVersion: "Pengesahan lesen gagal, lesen ini terhad kepada versi tertentu ErrLicenseSave: "Gagal menyimpan maklumat lesen {{ .err }}, sila cuba lagi" ErrLicenseSync: "Penyelarasan maklumat lesen gagal, maklumat lesen tidak ditemui dalam pangkalan data" ErrLicenseExist: "Rekod lesen ini sudah wujud. Anda boleh terus ke halaman lesen untuk mengikat nod." -ErrXpackNotFound: "Bahagian ini adalah fungsi profesional, sila muatkan lesen di Tetapan Papan Pemuka terlebih dahulu." -ErrXpackExceptional: "Bahagian ini adalah fungsi profesional, sila selaraskan lesen di Tetapan Papan Pemuka terlebih dahulu." -ErrXpackLost: "Lesen telah mencapai bilangan percubaan maksimum, sila ke [Tetapan Papan Pemuka][Lesen] dan klik butang penyelarasan secara manual." +ErrXpackNotFound: "Bahagian ini memerlukan Edisi Pro. Import lesen di Tetapan Panel > Lesen" +ErrXpackExceptional: "Bahagian ini memerlukan Edisi Pro. Segerakkan status lesen di Tetapan Panel > Lesen" +ErrXpackLost: "Lesen telah mencapai had percubaan semula. Pergi ke Tetapan Panel > Lesen dan jalankan penyelarasan manual" ErrDeviceLost: "Fail yang diperlukan untuk pengesahan lesen hilang, sila semak dan cuba lagi" ErrDeviceErr: "Persekitaran semasa tidak sepadan dengan persekitaran import lesen. Sila edit lesen dan import semula" ErrXpackTimeout: "Permintaan tamat masa, sambungan rangkaian mungkin tidak stabil, sila cuba lagi kemudian" ErrUnbindMaster: "Terdapat nod dalam pengurusan nod, sila keluarkan dahulu dan cuba lagi" -ErrFreeNodeLimit: "Jumlah nod versi komuniti telah mencapai had percuma, sila lawati www.lxware.cn/1panel untuk pembelian" +ErrFreeNodeLimit: "Had nod Edisi Community telah dicapai. Pergi ke www.lxware.cn/1panel untuk naik taraf dan cuba lagi" ErrNodeBound: "Lesen ini telah diikat dengan nod lain, sila semak dan cuba lagi" ErrNodeBoundDelete: "Lisensi ini telah diikat dan tidak menyokong operasi penghapusan. Sila semak dan cuba lagi" ErrNodeBoundLimit: "Nod percuma semasa telah mencapai had, sila semak dan cuba lagi" ErrLicenseFree: "Nod percuma hanya boleh digunakan apabila lesen terikat dengan betul pada nod. Sila semak dan cuba lagi" -ErrLicenseUnbind: "Nod Edisi Komuniti dikesan untuk lesen ini. Sila lepaskan ikatan dalam [Tetapan Panel - Lesen] dan cuba lagi" +ErrLicenseUnbind: "Lesen ini masih terikat pada nod Edisi Community. Nyahikat di Tetapan Panel > Lesen dan cuba lagi" ErrNoSuchNode: "Maklumat nod tidak ditemui, sila semak dan cuba lagi" ErrNodeUnbind: "Nod di luar skop lesen dikesan, sila semak dan cuba lagi" ErrNodeBind: "Nod ini telah diikat dengan lesen, sila semak dan cuba lagi" -ErrNodeLocalRollback: "Nod utama tidak menyokong rollback secara langsung. Sila laksanakan arahan '1pctl restore' secara manual untuk rollback" +ErrNodeLocalRollback: "Nod utama tidak menyokong rollback secara langsung. Jalankan '1pctl restore' secara manual untuk rollback" ErrIntlLicense: "Versi semasa belum menyokong import lesen edisi antarabangsa. Nantikan" InvalidRequestBodyType: "Format badan permintaan tidak sah, sila periksa dan pastikan kandungan memenuhi format yang diperlukan sebelum mencuba semula" @@ -109,10 +109,10 @@ FailedStatus: "{{ .name }} gagal {{ .err }}" Start: "Mula" SubTask: "Tugas Sub" Skip: "Abaikan ralat dan teruskan..." -PushAppInstallTaskToNode: "Tolak tugas pemasangan aplikasi ke nod [{{ .name }}]" -TaskPush: "Tolak" +PushAppInstallTaskToNode: "Hantar tugas pemasangan aplikasi ke nod [{{ .name }}]" +TaskPush: "Hantar" AppInstallTask: "Tugas pemasangan aplikasi" -PushAppFailed: "Gagal menolak tugas pemasangan aplikasi" +PushAppFailed: "Gagal menghantar tugas pemasangan aplikasi" Success: "Berjaya" #script @@ -191,14 +191,14 @@ ResetEntrance: "Batal pintu masuk keselamatan 1Panel" ResetIPs: "Batal sekatan IP yang dibenarkan 1Panel" ResetDomain: "Batal pengikatan domain 1Panel" ResetPasskey: "Kosongkan passkey 1Panel" -RestoreCommands: "Pulihkan perkhidmatan dan data 1Panel" -RestoreNoSuchFile: "Tiada fail tersedia untuk pemulihan" -RestoreStep1: "(1/5) Memulakan pemulihan perkhidmatan dan data 1Panel daripada direktori {{ .name }}..." -RestoreStep2: "(2/5) Pemulihan binari 1Panel berjaya" -RestoreStep3: "(3/5) Pemulihan skrip 1Panel berjaya" -RestoreStep4: "(4/5) Pemulihan perkhidmatan 1Panel berjaya" -RestoreStep5: "(5/5) Pemulihan data 1Panel berjaya" -RestoreSuccessful: "Pulangan semula berjaya Dikembalikan ke {{ .version }}, memulakan semula perkhidmatan, sila tunggu..." +RestoreCommands: "Rollback perkhidmatan dan data 1Panel" +RestoreNoSuchFile: "Tiada fail rollback ditemui" +RestoreStep1: "(1/5) Memulakan rollback perkhidmatan dan data 1Panel daripada direktori {{ .name }}..." +RestoreStep2: "(2/5) Rollback binari 1Panel berjaya" +RestoreStep3: "(3/5) Rollback skrip 1Panel berjaya" +RestoreStep4: "(4/5) Rollback perkhidmatan 1Panel berjaya" +RestoreStep5: "(5/5) Rollback data 1Panel berjaya" +RestoreSuccessful: "Rollback berjaya. Dikembalikan ke {{ .version }}. Perkhidmatan sedang dimulakan semula..." UpdateCommands: "Kemas kini maklumat panel" UpdateUser: "Kemas kini pengguna panel" UpdatePassword: "Kemas kini kata laluan panel" diff --git a/core/i18n/lang/pt-BR.yaml b/core/i18n/lang/pt-BR.yaml index 41c32da3901b..607bd0d535f9 100644 --- a/core/i18n/lang/pt-BR.yaml +++ b/core/i18n/lang/pt-BR.yaml @@ -63,19 +63,19 @@ ErrXpackVersion: "Falha na verificação da licença, esta licença é restrita ErrLicenseSave: "Falha ao salvar as informações da licença {{ .err }}, por favor tente novamente" ErrLicenseSync: "Falha ao sincronizar as informações da licença, nenhuma informação foi encontrada no banco de dados" ErrLicenseExist: "Este registro de licença já existe. Você pode ir diretamente para a página de licenças para vincular nós." -ErrXpackNotFound: "Esta parte é uma funcionalidade profissional, por favor importe a licença em Configurações do Painel - Licença." -ErrXpackExceptional: "Esta parte é uma funcionalidade profissional, por favor sincronize a licença em Configurações do Painel - Licença." -ErrXpackLost: "A licença atingiu o número máximo de tentativas, acesse [Configurações do Painel][Licença] e clique no botão de sincronização manual." +ErrXpackNotFound: "Este recurso requer a edição Pro. Importe uma licença em Configurações do Painel > Licença." +ErrXpackExceptional: "Este recurso requer a edição Pro. Sincronize o status da licença em Configurações do Painel > Licença." +ErrXpackLost: "A licença atingiu o limite de tentativas. Acesse Configurações do Painel > Licença e execute uma sincronização manual." ErrDeviceLost: "Arquivos necessários para a verificação da licença estão faltando, por favor verifique e tente novamente" ErrDeviceErr: "O ambiente atual não corresponde ao ambiente de importação da licença. Por favor, edite a licença e reimporte" ErrXpackTimeout: "Requisição expirou, a conexão de rede pode estar instável, por favor tente novamente mais tarde" ErrUnbindMaster: "Foram encontrados nós na gestão de nós, remova-os primeiro e tente novamente" -ErrFreeNodeLimit: "O número de nós da versão comunitária atingiu o limite gratuito, por favor acesse www.lxware.cn/1panel para comprar" +ErrFreeNodeLimit: "O limite de nós da edição Community foi atingido. Acesse www.lxware.cn/1panel para fazer upgrade e tente novamente." ErrNodeBound: "Esta licença já está vinculada a outro nó, por favor verifique e tente novamente" ErrNodeBoundDelete: "Esta licença está vinculada e não suporta operações de exclusão. Por favor, verifique e tente novamente" ErrNodeBoundLimit: "O nó gratuito atual atingiu seu limite, por favor verifique e tente novamente" ErrLicenseFree: "Nós gratuitos só podem ser usados quando a licença está devidamente vinculada a um nó. Por favor verifique e tente novamente" -ErrLicenseUnbind: "Nós da Edição Comunitária detectados para esta licença. Por favor desvincule em [Configurações do Painel - Licença] e tente novamente" +ErrLicenseUnbind: "Ainda há nós da edição Community vinculados a esta licença. Desvincule-os em Configurações do Painel > Licença e tente novamente." ErrNoSuchNode: "As informações deste nó não foram encontradas, por favor verifique e tente novamente" ErrNodeUnbind: "Nó fora do escopo da licença detectado, por favor verifique e tente novamente" ErrNodeBind: "Este nó já está vinculado a uma licença, por favor verifique e tente novamente" @@ -196,14 +196,14 @@ ResetEntrance: "Cancelar entrada segura do 1Panel" ResetIPs: "Cancelar restrições de IP autorizado do 1Panel" ResetDomain: "Cancelar vinculação de domínio do 1Panel" ResetPasskey: "Redefinir passkeys do 1Panel" -RestoreCommands: "Restaurar serviço e dados do 1Panel" -RestoreNoSuchFile: "Nenhum arquivo disponível para restauração" -RestoreStep1: "(1/5) Iniciando a restauração do serviço e dados do 1Panel a partir do diretório {{ .name }}..." -RestoreStep2: "(2/5) Restauração do binário do 1Panel bem-sucedida" -RestoreStep3: "(3/5) Restauração dos scripts do 1Panel bem-sucedida" -RestoreStep4: "(4/5) Restauração do serviço do 1Panel bem-sucedida" -RestoreStep5: "(5/5) Restauração dos dados do 1Panel bem-sucedida" -RestoreSuccessful: "Reversão bem-sucedida Revertido para {{ .version }}, reiniciando serviço, por favor aguarde..." +RestoreCommands: "Fazer rollback do serviço e dos dados do 1Panel" +RestoreNoSuchFile: "Nenhum arquivo de rollback encontrado" +RestoreStep1: "(1/5) Iniciando o rollback do serviço e dos dados do 1Panel a partir do diretório {{ .name }}..." +RestoreStep2: "(2/5) Rollback do binário do 1Panel concluído" +RestoreStep3: "(3/5) Rollback dos scripts do 1Panel concluído" +RestoreStep4: "(4/5) Rollback do serviço do 1Panel concluído" +RestoreStep5: "(5/5) Rollback dos dados do 1Panel concluído" +RestoreSuccessful: "Rollback concluído. Revertido para {{ .version }}. Reiniciando o serviço..." UpdateCommands: "Atualizar informações do painel" UpdateUser: "Atualizar usuário do painel" UpdatePassword: "Atualizar senha do painel" diff --git a/core/i18n/lang/ru.yaml b/core/i18n/lang/ru.yaml index ee2bf8fd785b..d2fc3c657ab9 100644 --- a/core/i18n/lang/ru.yaml +++ b/core/i18n/lang/ru.yaml @@ -63,23 +63,23 @@ ErrXpackVersion: "Ошибка проверки лицензии, лицензи ErrLicenseSave: "Ошибка сохранения информации о лицензии {{ .err }}, повторите попытку" ErrLicenseSync: "Ошибка синхронизации информации о лицензии, информация не найдена в базе данных" ErrLicenseExist: "Данная лицензия уже существует. Вы можете перейти на страницу лицензий для привязки узлов." -ErrXpackNotFound: "Эта часть доступна только в профессиональной версии, сначала импортируйте лицензию в разделе Настройки панели - Лицензия." -ErrXpackExceptional: "Эта часть доступна только в профессиональной версии, сначала синхронизируйте лицензию в разделе Настройки панели - Лицензия." -ErrXpackLost: "Лицензия достигла максимального количества попыток, перейдите в [Настройки панели][Лицензия] и нажмите кнопку синхронизации вручную." +ErrXpackNotFound: "Этот раздел доступен в Pro Edition. Импортируйте лицензию в Настройки панели > Лицензия" +ErrXpackExceptional: "Этот раздел доступен в Pro Edition. Синхронизируйте статус лицензии в Настройки панели > Лицензия" +ErrXpackLost: "Достигнут лимит повторных попыток по лицензии. Перейдите в Настройки панели > Лицензия и выполните ручную синхронизацию" ErrDeviceLost: "Необходимые файлы для проверки лицензии отсутствуют, пожалуйста, проверьте и попробуйте снова" ErrDeviceErr: "Текущая среда не соответствует среде импорта лицензии. Отредактируйте лицензию и повторите импорт" ErrXpackTimeout: "Время ожидания запроса истекло, возможно нестабильное сетевое соединение, повторите попытку позже" ErrUnbindMaster: "В управлении узлами обнаружены узлы, сначала удалите их и повторите попытку" -ErrFreeNodeLimit: "Количество узлов в версии сообщества достигло бесплатного лимита, посетите www.lxware.cn/1panel для покупки" +ErrFreeNodeLimit: "Достигнут лимит узлов Community Edition. Перейдите на www.lxware.cn/1panel, обновите лицензию и повторите попытку" ErrNodeBound: "Эта лицензия уже связана с другим узлом, проверьте и повторите попытку" ErrNodeBoundDelete: "Эта лицензия привязана и не поддерживает операции удаления. Пожалуйста, проверьте и попробуйте снова" ErrNodeBoundLimit: "Текущий бесплатный узел достиг предела, пожалуйста, проверьте и попробуйте снова" ErrLicenseFree: "Бесплатные узлы доступны только при правильной привязке лицензии к узлу. Проверьте и повторите попытку" -ErrLicenseUnbind: "Обнаружены узлы Community Edition для этой лицензии. Отвяжите в [Настройки панели - Лицензия] и повторите попытку" +ErrLicenseUnbind: "К этой лицензии всё ещё привязаны узлы Community Edition. Отвяжите их в Настройки панели > Лицензия и повторите попытку" ErrNoSuchNode: "Информация об узле не найдена, проверьте и повторите попытку" ErrNodeUnbind: "Обнаружен узел вне области действия лицензии, проверьте и повторите попытку" ErrNodeBind: "Этот узел уже связан с лицензией, проверьте и повторите попытку" -ErrNodeLocalRollback: "Основной узел не поддерживает прямой откат. Пожалуйста, вручную выполните команду '1pctl restore' для отката" +ErrNodeLocalRollback: "Прямой откат на основном узле не поддерживается. Выполните '1pctl restore' вручную для отката" ErrIntlLicense: "Текущая версия пока не поддерживает импорт международной лицензии. Скоро будет доступно" InvalidRequestBodyType: "Неверный формат тела запроса. Проверьте, соответствует ли содержимое требуемому формату, и повторите попытку" @@ -195,14 +195,14 @@ ResetEntrance: "Отменить безопасный вход 1Panel" ResetIPs: "Отменить ограничения авторизованных IP для 1Panel" ResetDomain: "Отменить привязку домена доступа 1Panel" ResetPasskey: "Сбросить passkey 1Panel" -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 }}, перезапускаю службу, пожалуйста, подождите..." +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: "Изменить пароль панели" diff --git a/core/i18n/lang/tr.yaml b/core/i18n/lang/tr.yaml index 2c4cc3a4bada..aeda184b9424 100644 --- a/core/i18n/lang/tr.yaml +++ b/core/i18n/lang/tr.yaml @@ -63,22 +63,22 @@ ErrXpackVersion: "Lisans doğrulama başarısız, bu lisans sürüm sınırlıd ErrLicenseSave: "Lisans bilgilerini kaydetme başarısız, hata {{ .err }}, lütfen tekrar deneyin" ErrLicenseSync: "Lisans senkronizasyonu başarısız, veritabanında lisans bilgisi tespit edilmedi" ErrLicenseExist: "Bu lisans kaydı zaten mevcut. Düğüm bağlama için doğrudan lisans sayfasına gidebilirsiniz." -ErrXpackNotFound: "Bu bölüm profesyonel sürüm içindir, lütfen Panel Ayarları - Lisans'ta lisansı içe aktarın" -ErrXpackExceptional: "Bu bölüm profesyonel sürüm içindir, lütfen Panel Ayarları - Lisans'ta lisans durumunu senkronize edin" -ErrXpackLost: "Lisans maksimum yeniden deneme sayısına ulaştı, lütfen [Panel Ayarları] [Lisans] sayfasına gidin ve profesyonel özelliklerin doğru çalışması için manuel olarak senkronize butonuna tıklayın" +ErrXpackNotFound: "Bu bölüm Pro Sürüm gerektirir. Lisansı Panel Ayarları > Lisans bölümünden içe aktarın" +ErrXpackExceptional: "Bu bölüm Pro Sürüm gerektirir. Lisans durumunu Panel Ayarları > Lisans bölümünden senkronize edin" +ErrXpackLost: "Lisans yeniden deneme sınırına ulaştı. Panel Ayarları > Lisans bölümüne gidip manuel senkronizasyon çalıştırın" ErrDeviceLost: "Lisans doğrulama için gerekli dosyalar eksik, lütfen kontrol edip tekrar deneyin" ErrXpackTimeout: "İstek zaman aşımı, ağ bağlantısı kararsız olabilir, lütfen daha sonra tekrar deneyin" ErrUnbindMaster: "Düğüm yönetiminde düğümler tespit edildi, mevcut lisansın bağı çözülemiyor, lütfen önce düğümleri kaldırın ve tekrar deneyin" -ErrFreeNodeLimit: "Topluluk sürümü düğüm limiti ulaşıldı, lütfen www.lxware.cn/1panel adresinden satın alın ve tekrar deneyin" +ErrFreeNodeLimit: "Community Sürümü düğüm sınırına ulaşıldı. www.lxware.cn/1panel üzerinden yükseltip tekrar deneyin" ErrNodeBound: "Bu lisans başka bir düğüme bağlı, lütfen kontrol edip tekrar deneyin" ErrNodeBoundDelete: "Bu lisans bağlı ve silme işlemlerini desteklemiyor. Lütfen kontrol edip tekrar deneyin" ErrNodeBoundLimit: "Mevcut ücretsiz düğüm limitine ulaştı, lütfen kontrol edip tekrar deneyin" ErrLicenseFree: "Ücretsiz düğümler yalnızca lisans bir düğüme düzgün şekilde bağlandığında kullanılabilir. Lütfen doğrulayın ve tekrar deneyin" -ErrLicenseUnbind: "Bu lisans için Topluluk Sürümü düğümleri tespit edildi. Lütfen [Panel Ayarları - Lisans]'ta bağı çözün ve tekrar deneyin" +ErrLicenseUnbind: "Bu lisansa hala Community Sürümü düğümleri bağlı. Panel Ayarları > Lisans bölümünden bağlantıyı kaldırıp tekrar deneyin" ErrNoSuchNode: "Düğüm bilgisi bulunamadı, lütfen kontrol edip tekrar deneyin" ErrNodeUnbind: "Bu düğüm lisans bağlama aralığında değil, lütfen kontrol edip tekrar deneyin" ErrNodeBind: "Bu düğüm zaten bir lisansa bağlı, lütfen kontrol edip tekrar deneyin" -ErrNodeLocalRollback: "Ana düğüm doğrudan geri alma desteklemiyor. Lütfen geri almak için '1pctl restore' komutunu manuel olarak çalıştırın" +ErrNodeLocalRollback: "Ana düğüm doğrudan rollback'i desteklemez. Rollback için '1pctl restore' komutunu manuel çalıştırın" ErrIntlLicense: "Mevcut sürüm uluslararası sürüm lisansının içe aktarılmasını henüz desteklemiyor. Yakında" InvalidRequestBodyType: "Geçersiz istek gövdesi formatı, lütfen içeriğin format gereksinimlerine uygun olduğunu kontrol edip tekrar deneyin" @@ -196,13 +196,13 @@ ResetIPs: "1Panel yetkili IP kısıtlamalarını iptal et" ResetDomain: "1Panel alan adı bağlamasını iptal et" ResetPasskey: "1Panel passkey'lerini sıfırla" RestoreCommands: "1Panel servisini ve verilerini geri al" -RestoreNoSuchFile: "Geri alma için mevcut dosya yok" -RestoreStep1: "(1/5) {{ .name }} dizininden 1Panel servisi ve verilerin geri alınması başlatılıyor..." -RestoreStep2: "(2/5) 1Panel binary geri alımı başarılı" -RestoreStep3: "(3/5) 1Panel betik geri alımı başarılı" -RestoreStep4: "(4/5) 1Panel servis geri alımı başarılı" -RestoreStep5: "(5/5) 1Panel veri geri alımı başarılı" -RestoreSuccessful: "Geri alma başarılı {{ .version }} sürümüne geri alındı, hizmet yeniden başlatılıyor, lütfen bekleyin..." +RestoreNoSuchFile: "Rollback için dosya bulunamadı" +RestoreStep1: "(1/5) {{ .name }} dizininden 1Panel hizmeti ve verileri geri alınıyor..." +RestoreStep2: "(2/5) 1Panel ikili dosyası için geri alma tamamlandı" +RestoreStep3: "(3/5) 1Panel betikleri için geri alma tamamlandı" +RestoreStep4: "(4/5) 1Panel hizmeti için geri alma tamamlandı" +RestoreStep5: "(5/5) 1Panel verileri için geri alma tamamlandı" +RestoreSuccessful: "Geri alma tamamlandı. {{ .version }} sürümüne dönüldü. Hizmet yeniden başlatılıyor..." UpdateCommands: "Panel bilgilerini güncelle" UpdateUser: "Panel kullanıcısını güncelle" UpdatePassword: "Panel şifresini güncelle" diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index 3f7b3b62672b..6ec374f5e1a7 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -63,23 +63,23 @@ ErrXpackVersion: "許可證驗證失敗,該許可證受版本限制,無法 ErrLicenseSave: "許可證資訊儲存失敗,錯誤 {{ .err }},請重試。" ErrLicenseSync: "許可證資訊同步失敗,資料庫中未偵測到許可證資訊!" ErrLicenseExist: "該許可證記錄已存在,您可直接前往許可證頁面進行節點綁定。" -ErrXpackNotFound: "該部分為專業版功能,請先在 面板設定-許可證 介面匯入許可證" -ErrXpackExceptional: "該部分為專業版功能,請先在 面板設定-許可證 介面同步許可證狀態" -ErrXpackLost: "許可證已達到最大重試次數,請進入【面板設定】【許可證】頁面手動點選同步按鈕,以確保專業版功能正常使用" +ErrXpackNotFound: "此功能需要 Pro 版。請在 面板設定 > 許可證 匯入許可證" +ErrXpackExceptional: "此功能需要 Pro 版。請在 面板設定 > 許可證 同步許可證狀態" +ErrXpackLost: "許可證已達重試上限,請前往 面板設定 > 許可證 手動同步" ErrDeviceLost: "許可證驗證必要檔案遺失,請檢查後重試。" ErrDeviceErr: "目前環境與許可證匯入環境不一致,請編輯許可證重新匯入!" ErrXpackTimeout: "請求逾時,網路連接可能不穩定,請稍後再試。" ErrUnbindMaster: "偵測到節點管理內存在節點,無法解綁目前許可證,請先移除後重試!" -ErrFreeNodeLimit: "社區版節點數量已達免費上限,請前往 www.lxware.cn/1panel 購買後重試!" +ErrFreeNodeLimit: "社群版節點已達上限,請前往 www.lxware.cn/1panel 升級後再試" ErrNodeBound: "該許可證已綁定到其他節點,請檢查後重試。" ErrNodeBoundDelete: "該許可證已被綁定,不支援刪除操作,請檢查後重試。" ErrNodeBoundLimit: "目前免費節點已達上限,請檢查後重試。" ErrLicenseFree: "僅當許可證正常綁定到節點後,才能使用其免費節點,請檢查後重試。" -ErrLicenseUnbind: "偵測到該許可證存在社區版節點,請在 [面板設定 - 許可證] 中解除綁定後重試!" +ErrLicenseUnbind: "此許可證仍綁定了社群版節點,請在 面板設定 > 許可證 解除綁定後再試" ErrNoSuchNode: "未能找到該節點資訊,請檢查後重試。" ErrNodeUnbind: "偵測到該節點未在許可證綁定範圍內,請檢查後重試。" ErrNodeBind: "偵測到該節點已綁定許可證,請檢查後重試。" -ErrNodeLocalRollback: "主節點暫不支援直接回滾,請手動執行「1pctl restore」指令回滾!" +ErrNodeLocalRollback: "主節點暫不支援直接回滾,請手動執行 '1pctl restore' 進行回滾" ErrIntlLicense: "當前版本暫不支援匯入國際版許可證,敬請期待!" InvalidRequestBodyType: "請求內容格式錯誤,請檢查請求內容是否符合格式要求後重試!" @@ -114,10 +114,10 @@ FailedStatus: "{{ .name }} 失敗 {{ .err }}" Start: "開始" SubTask: "子任務" Skip: "忽略錯誤並繼續..." -PushAppInstallTaskToNode: "推送應用安裝任務到節點 [{{ .name }}]" -TaskPush: "推送" +PushAppInstallTaskToNode: "傳送應用安裝任務到節點 [{{ .name }}]" +TaskPush: "傳送" AppInstallTask: "應用安裝任務" -PushAppFailed: "推送應用安裝任務失敗" +PushAppFailed: "傳送應用安裝任務失敗" Success: "成功" #script diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 2f5ed5c4b9c6..e24c7319bb5e 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -7,7 +7,7 @@ const message = { colon: ': ', example: 'e.g., ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: 'Run', prev: 'Previous', @@ -15,7 +15,7 @@ const message = { create: 'Create', add: 'Add', save: 'Save', - set: 'Set', + set: 'Settings', sync: 'Sync', delete: 'Delete', edit: 'Edit', @@ -24,26 +24,26 @@ const message = { confirm: 'Confirm', cancel: 'Cancel', reset: 'Reset', - setDefault: 'Restore Default', + setDefault: 'Restore defaults', restart: 'Restart', conn: 'Connect', disConn: 'Disconnect', - clean: 'Clean', - login: 'Login', + clean: 'Clear', + login: 'Sign in', close: 'Close', stop: 'Stop', start: 'Start', view: 'View', - watch: 'Watch', - handle: 'Trigger', + watch: 'Follow', + handle: 'Run', clone: 'Clone', expand: 'Expand', collapse: 'Collapse', log: 'Logs', back: 'Back', - backup: 'Backup', - recover: 'Recover', - retry: 'Retry', + backup: 'Back up', + recover: 'Restore', + retry: 'Try again', upload: 'Upload', download: 'Download', init: 'Initialize', @@ -51,20 +51,20 @@ const message = { saveAndEnable: 'Save and enable', import: 'Import', export: 'Export', - power: 'Permissions', + power: 'Submit', search: 'Search', refresh: 'Refresh', get: 'Get', upgrade: 'Upgrade', update: 'Update', - updateNow: 'Update Now', - ignore: 'Ignore upgrade', + updateNow: 'Update now', + ignore: 'Ignore update', copy: 'Copy', - random: 'Random', + random: 'Generate', install: 'Install', uninstall: 'Uninstall', - fullscreen: 'Enter fullscreen', - quitFullscreen: 'Exit fullscreen', + fullscreen: 'Enter full screen', + quitFullscreen: 'Exit full screen', showAll: 'Show All', hideSome: 'Hide Some', agree: 'Agree', @@ -74,10 +74,10 @@ const message = { notSave: "Don't Save", createNewFolder: 'Create new folder', createNewFile: 'Create new file', - helpDoc: 'Docs', + helpDoc: 'Documentation', bind: 'Bind', unbind: 'Unbind', - cover: 'Cover', + cover: 'Overwrite', skip: 'Skip', fix: 'Fix', down: 'Stop', @@ -85,7 +85,7 @@ const message = { sure: 'Confirm', show: 'Show', hide: 'Hide', - visit: 'Visit', + visit: 'Open', migrate: 'Migrate', tip: 'Tip', }, @@ -380,7 +380,7 @@ const message = { }, }, menu: { - home: 'Dashboard', + home: 'Overview', apps: 'App Store', website: 'Website | WebSites', project: 'Project | Projects', @@ -1518,7 +1518,7 @@ const message = { clam: { clam: 'Virus scan', cron: 'Scheduled scan', - cronHelper: 'Professional version supports scheduled scan feature', + cronHelper: 'Pro supports scheduled scans', specErr: 'Execution schedule format error, please check and retry!', disableMsg: 'Stopping scheduled execution will prevent this scan task from running automatically. Continue?', @@ -1553,7 +1553,7 @@ const message = { clamLog: '@:toolbox.clam.clamConf logs', freshClam: 'FreshClam', freshClamLog: '@:toolbox.clam.freshClam logs', - alertHelper: 'Professional version supports scheduled scan and SMS alert', + alertHelper: 'Pro supports scheduled scans and SMS alerts', alertTitle: 'Virus scan task 「{0}」 detected infected file alert', }, }, @@ -1609,7 +1609,7 @@ const message = { fileName: 'File name', search: 'Search', mode: 'Permissions', - editPermissions: 'Edit @.lower:file.mode', + editPermissions: 'Edit permissions', owner: 'Owner', file: 'File', remoteFile: 'Download from remote', @@ -1890,14 +1890,12 @@ const message = { 'The address will be used for application redirection, container access, and other functions. Each node can be configured with a different address.', proxy: 'Server proxy', proxyHelper: 'It will be effective in the following scenarios after you set up the proxy server:', - proxyHelper1: - 'Installation package download and synchronization from the app store (Professional edition only)', - proxyHelper2: 'System update and update information retrieval (Professional edition only)', + proxyHelper1: 'Installation package downloads and App Store sync (Pro Edition only)', + proxyHelper2: 'System updates and update checks (Pro Edition only)', proxyHelper3: 'System license verification and synchronization', - proxyHelper4: - 'Network requests such as Docker image pulls will go through the proxy server (Professional edition only)', - proxyHelper5: 'Unified download and sync for system-type script libraries (Professional)', - proxyHelper6: 'Apply for certificate (Professional)', + proxyHelper4: 'Network requests such as Docker image pulls go through the proxy server (Pro Edition only)', + proxyHelper5: 'Unified download and sync for system script libraries (Pro Edition)', + proxyHelper6: 'Certificate requests (Pro Edition)', proxyType: 'Proxy type', proxyUrl: 'Proxy Address', proxyPort: 'Proxy Port', @@ -2307,38 +2305,35 @@ const message = { authorizationId: 'Subscription ID', authorizedUser: 'Authorized user', lostHelper: - 'The license has reached the maximum number of retry attempts. Please manually click the sync button to ensure the professional version features are functioning properly.', + 'The license has reached the retry limit. Click Sync manually to make sure Pro features continue to work.', exceptionalHelper: - 'License synchronization verification is abnormal. Please manually click the sync button to ensure the professional version functions properly. detail: ', + 'License sync verification failed. Click Sync manually to make sure Pro features work properly. Detail: ', quickUpdate: 'Quick update', import: 'Import', power: 'Authorize', unbindHelper: 'All Pro related Settings will be cleaned after unbinding. Continue? ', importLicense: 'Import license', importHelper: 'Click or drag the license file here', - levelUpPro: 'Upgrade to Professional Edition', + levelUpPro: 'Upgrade to Pro Edition', licenseSync: 'License Sync', knowMorePro: 'Learn More', closeAlert: 'The current page can be closed in the panel settings', introduce: 'Feature Introduction', - waf: 'Upgrading to the professional version can provide features such as interception map, logs, block records, geographical location blocking, custom rules, custom interception pages, etc.', - tamper: 'Upgrading to the professional version can protect websites from unauthorized modifications or tampering.', + waf: 'Upgrade to Pro to unlock interception maps, logs, block records, geo-blocking, custom rules, custom block pages, and more.', + tamper: 'Upgrade to Pro to protect websites from unauthorized changes or tampering.', tamperHelper: 'Operation failed, the file or folder has tamper protection enabled. Please check and try again!', - setting: - 'Upgrading to the professional version allows customization of panel logo, welcome message, and other information.', + setting: 'Upgrade to Pro to customize the panel logo, welcome message, and more.', monitor: - 'Upgrade to the professional version to view the real-time status of the website, visitor trends, visitor sources, request logs and other information. ', - alert: 'Upgrade to the professional version to receive alarm information via SMS and view alarm logs, fully control various key events, and ensure worry-free system operation', - node: 'Upgrading to the Professional Edition allows you to manage multiple Linux servers with 1Panel.', - nodeApp: - 'Upgrading to the Professional Edition allows unified upgrading of multi-node application versions without manually switching nodes.', + 'Upgrade to Pro to view real-time website status, visitor trends, traffic sources, request logs, and more.', + alert: 'Upgrade to Pro to receive SMS alerts, review alert logs, and stay on top of key events.', + node: 'Upgrade to Pro Edition to manage multiple Linux servers in 1Panel.', + nodeApp: 'Upgrade to Pro Edition to upgrade multi-node app versions without switching nodes manually.', nodeDashboard: - 'Upgrading to the Professional Edition enables centralized management of multi-node applications, websites, databases, and scheduled tasks.', - fileExchange: 'Upgrade to the Professional Edition to quickly transfer files between multiple servers.', - app: 'Upgrade to the professional version to view service information, abnormal monitoring, etc. through the mobile APP. ', - cluster: - 'Upgrading to the Professional Edition allows you to manage MySQL/Postgres/Redis master-slave clusters.', - vllm: 'Upgrade to the Professional Edition to bring vLLM services under 1Panel management, with centralized deployment, configuration, lifecycle operations, and task tracking for local model workloads.', + 'Upgrade to Pro Edition for centralized management of multi-node apps, websites, databases, and scheduled tasks.', + fileExchange: 'Upgrade to Pro Edition to transfer files quickly between servers.', + app: 'Upgrade to Pro to view service details, anomaly monitoring, and more in the mobile app.', + cluster: 'Upgrade to Pro Edition to manage MySQL/Postgres/Redis primary-replica clusters.', + vllm: 'Upgrade to Pro Edition to manage vLLM services in 1Panel with centralized deployment, configuration, lifecycle operations, and task tracking.', }, clean: { scan: 'Start scanning', @@ -4055,7 +4050,7 @@ const message = { alertCount: 'Alert Count', clamHelper: 'Trigger alert when scanning infected files', cronJobHelper: 'Trigger alert when task execution fails', - licenseHelper: 'Professional version supports more alert', + licenseHelper: 'Pro supports additional alert channels', alertCountHelper: 'Maximum daily alarm frequency', alert: 'SMS Alert', logs: 'Alert Logs', @@ -4259,11 +4254,10 @@ const message = { feiShuConfigHelper: 'Feishu alert notification configuration', webhookName: 'Bot name', webhookUrl: 'Webhook URL', - alertConfigProHelper: - 'The Professional edition additionally supports WeCom, DingTalk, Feishu, and SMS alerts.', + alertConfigProHelper: 'Pro Edition also supports WeCom, DingTalk, Feishu, and SMS alerts.', }, theme: { - lingXiaGold: 'Ling Xia Gold', + lingXiaGold: 'LXware Gold', classicBlue: 'Classic Blue', freshGreen: 'Fresh Green', customColor: 'Custom Color', diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index 781afe2ff4d5..661afba352f8 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -7,7 +7,7 @@ const message = { colon: ': ', example: 'p.ej., ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: 'Ejecutar', prev: 'Anterior', @@ -15,7 +15,7 @@ const message = { create: 'Crear', add: 'Agregar', save: 'Guardar', - set: 'Establecer', + set: 'Configuración', sync: 'Sincronizar', delete: 'Eliminar', edit: 'Editar', @@ -34,15 +34,15 @@ const message = { stop: 'Detener', start: 'Iniciar', view: 'Ver', - watch: 'Observar', - handle: 'Disparar', + watch: 'Seguir', + handle: 'Ejecutar', clone: 'Clonar', expand: 'Expandir', collapse: 'Colapsar', log: 'Registros', back: 'Atrás', backup: 'Respaldar', - recover: 'Recuperar', + recover: 'Restaurar', retry: 'Reintentar', upload: 'Subir', download: 'Descargar', @@ -51,7 +51,7 @@ const message = { saveAndEnable: 'Guardar y habilitar', import: 'Importar', export: 'Exportar', - power: 'Permisos', + power: 'Enviar', search: 'Buscar', refresh: 'Actualizar', get: 'Obtener', @@ -60,7 +60,7 @@ const message = { updateNow: 'Actualizar Ahora', ignore: 'Ignorar actualización', copy: 'Copiar', - random: 'Aleatorio', + random: 'Generar', install: 'Instalar', uninstall: 'Desinstalar', fullscreen: 'Pantalla completa', @@ -74,11 +74,11 @@ const message = { notSave: 'No guardar', createNewFolder: 'Crear nueva carpeta', createNewFile: 'Crear nuevo archivo', - helpDoc: 'Docs', + helpDoc: 'Documentación', bind: 'Vincular', unbind: 'Desvincular', - cover: 'cubrir', - skip: 'omitir', + cover: 'Sobrescribir', + skip: 'Omitir', fix: 'Arreglar', down: 'Detener', up: 'Iniciar', @@ -87,7 +87,7 @@ const message = { hide: 'Ocultar', migrate: 'Migrar', disConn: 'Desconectar', - visit: 'Visitar', + visit: 'Abrir', tip: 'Aviso', }, operate: { @@ -1551,7 +1551,7 @@ const message = { clam: { clam: 'Escaneo de virus', cron: 'Escaneo programado', - cronHelper: 'La versión profesional soporta el escaneo programado', + cronHelper: 'Pro admite escaneos programados', specErr: 'Formato de horario incorrecto, ¡verifique e intente nuevamente!', disableMsg: 'Detener la ejecución programada impedirá que esta tarea se ejecute automáticamente. ¿Desea continuar?', @@ -1586,7 +1586,7 @@ const message = { clamLog: '@:toolbox.clam.clamConf logs', freshClam: 'FreshClam', freshClamLog: '@:toolbox.clam.freshClam logs', - alertHelper: 'La versión profesional soporta escaneo programado y alertas por SMS', + alertHelper: 'Pro admite escaneos programados y alertas por SMS', alertTitle: 'La tarea de escaneo de virus 「{0}」 detectó archivos infectados', }, }, @@ -1642,7 +1642,7 @@ const message = { fileName: 'Nombre del archivo', search: 'Buscar', mode: 'Permisos', - editPermissions: 'Editar @.lower:file.mode', + editPermissions: 'Editar permisos', owner: 'Propietario', file: 'Archivo', remoteFile: 'Descargar de remoto', @@ -1924,15 +1924,13 @@ const message = { 'La dirección se utilizará para la redirección de aplicaciones, el acceso a contenedores y otras funciones. Cada nodo puede configurarse con una dirección diferente.', proxy: 'Proxy del servidor', proxyHelper: 'Tendrá efecto en los siguientes escenarios después de configurar el servidor proxy:', - proxyHelper1: - 'Descarga de paquetes de instalación y sincronización desde la tienda de aplicaciones (solo edición profesional)', - proxyHelper2: - 'Actualización del sistema y recuperación de información de actualización (solo edición profesional)', + proxyHelper1: 'Descarga de paquetes de instalación y sincronización de la tienda de aplicaciones (solo Pro)', + proxyHelper2: 'Actualización del sistema y comprobación de actualizaciones (solo Pro)', proxyHelper3: 'Verificación y sincronización de licencias del sistema', proxyHelper4: - 'Las solicitudes de red, como la descarga de imágenes de Docker, se realizarán a través del servidor proxy (solo edición profesional)', - proxyHelper5: 'Descarga y sincronización unificada para bibliotecas de scripts del sistema (Profesional)', - proxyHelper6: 'Solicitud de certificado (Profesional)', + 'Las solicitudes de red, como la descarga de imágenes de Docker, pasarán por el servidor proxy (solo Pro)', + proxyHelper5: 'Descarga y sincronización unificadas de bibliotecas de scripts del sistema (función Pro)', + proxyHelper6: 'Solicitud de certificado (función Pro)', proxyType: 'Tipo de proxy', proxyUrl: 'Dirección del proxy', proxyPort: 'Puerto del proxy', @@ -2368,7 +2366,7 @@ const message = { unbindHelper: 'Se eliminarán todos los ajustes Pro tras desvincular. ¿Desea continuar?', importLicense: 'Importar licencia', importHelper: 'Haga clic o arrastre el archivo de licencia aquí', - levelUpPro: 'Actualizar a Pro', + levelUpPro: 'Actualizar a la edición Pro', licenseSync: 'Sincronizar licencia', knowMorePro: 'Ver más', closeAlert: 'Puede cerrar la página en la configuración del panel', @@ -2380,15 +2378,14 @@ const message = { setting: 'Actualizar a Pro permite personalizar logo, mensaje de bienvenida y más.', monitor: 'Pro permite ver estado web en tiempo real, tendencias, logs, etc.', alert: 'Pro permite recibir alertas SMS y ver logs, control total de eventos clave.', - node: 'Actualizar a la Edición Profesional le permite administrar múltiples servidores Linux con 1Panel.', + node: 'Actualizar a la edición Pro permite administrar varios servidores Linux con 1Panel.', nodeApp: - 'Actualizar a la Edición Profesional permite actualizar de forma unificada las versiones de aplicaciones multi-nodo sin cambiar manualmente entre nodos.', + 'Actualizar a la edición Pro permite actualizar versiones de aplicaciones multinodo sin cambiar de nodo manualmente.', nodeDashboard: - 'Actualizar a la Edición Profesional permite la gestión centralizada de aplicaciones, sitios web, bases de datos y tareas programadas multi-nodo.', + 'Actualizar a la edición Pro permite la gestión centralizada de aplicaciones, sitios web, bases de datos y tareas programadas multinodo.', fileExchange: 'Pro permite transferir archivos entre varios servidores.', app: 'Pro permite ver información de servicio, monitoreo, etc. vía app móvil.', - cluster: - 'Actualizar a la Edición Profesional te permite gestionar clústeres maestro-esclavo de MySQL/Postgres/Redis.', + cluster: 'Actualizar a la edición Pro permite gestionar clústeres primario-réplica de MySQL/Postgres/Redis.', offLine: 'Sin conexión', }, clean: { @@ -4267,11 +4264,10 @@ const message = { feiShuConfigHelper: 'Configuración de notificación de alerta Feishu', webhookName: 'Nombre del bot', webhookUrl: 'URL de Webhook', - alertConfigProHelper: - 'La edición Profesional admite además alertas mediante WeCom, DingTalk, Feishu y SMS.', + alertConfigProHelper: 'La edición Pro también admite alertas mediante WeCom, DingTalk, Feishu y SMS.', }, theme: { - lingXiaGold: 'Ling Xia Gold', + lingXiaGold: 'LXware Gold', classicBlue: 'Azul clásico', freshGreen: 'Verde fresco', customColor: 'Color personalizado', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 245db5ed7610..d79b43634149 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -7,86 +7,86 @@ const message = { colon: ':', example: '例:', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: '実行', - create: '作成する', + create: '作成', add: '追加', save: '保存', - set: '構成を編集します', + set: '設定', sync: '同期', - delete: '消去', + delete: '削除', edit: '編集', - enable: '有効にする', - disable: '無効にします', - confirm: '確認する', + enable: '有効化', + disable: '無効化', + confirm: '確認', cancel: 'キャンセル', reset: 'リセット', restart: '再起動', - conn: '接続する', - disConn: '切断します', - clean: 'クリーン', - login: 'ログイン', - close: '近い', - off: '近い', + conn: '接続', + disConn: '切断', + clean: 'クリア', + login: 'サインイン', + close: '閉じる', + off: '閉じる', stop: '停止', - start: '始める', - view: 'ビュー', - watch: '時計', - handle: 'トリガー', + start: '開始', + view: '表示', + watch: '追従', + handle: '実行', clone: 'クローン', - expand: '拡大する', - collapse: '崩壊', + expand: '展開', + collapse: '折りたたむ', log: 'ログ', back: '戻る', backup: 'バックアップ', - recover: '回復する', - retry: 'リトライ', + recover: '復元', + retry: '再試行', upload: 'アップロード', download: 'ダウンロード', init: '初期化', - verify: '確認する', - saveAndEnable: '保存して有効にします', - import: '輸入', + verify: '検証', + saveAndEnable: '保存して有効化', + import: 'インポート', export: 'エクスポート', - power: '認可', + power: '送信', search: '検索', - refresh: 'リロード', - get: '得る', + refresh: '更新', + get: '取得', upgrade: 'アップグレード', - update: '編集', + update: '更新', updateNow: '今すぐ更新', - ignore: '更新を無視する', + ignore: '更新を無視', copy: 'コピー', - random: 'ランダム', + random: '生成', install: 'インストール', uninstall: 'アンインストール', - fullscreen: 'フルスクリーン', - quitFullscreen: 'フルスクリーンを終了', - showAll: 'すべてを表示します', - hideSome: 'いくつかを隠します', - agree: '同意する', - notAgree: '同意しません', + fullscreen: '全画面表示', + quitFullscreen: '全画面表示を終了', + showAll: 'すべて表示', + hideSome: '一部を非表示', + agree: '同意', + notAgree: '同意しない', preview: 'プレビュー', - open: '開ける', - notSave: '保存しないでください', - createNewFolder: '新しいフォルダーを作成します', - createNewFile: '新しいファイルを作成します', - helpDoc: '文書をヘルプします', - unbind: 'バインド', - cover: 'に覆いを', + open: '開く', + notSave: '保存しない', + createNewFolder: '新しいフォルダ', + createNewFile: '新しいファイル', + helpDoc: 'ドキュメント', + unbind: 'バインド解除', + cover: '上書き', skip: 'スキップ', fix: '修正', down: '停止', up: '起動', sure: '確認', - show: '表示する', + show: '表示', hide: '隠す', - visit: '訪問', + visit: '開く', migrate: '移行', prev: '前へ', next: '次へ', - setDefault: 'デフォルトに戻す', + setDefault: '既定値に戻す', bind: 'バインド', tip: 'ヒント', }, @@ -1525,7 +1525,7 @@ const message = { clam: { clam: 'ウイルススキャン', cron: 'スケジュールされたスキャン', - cronHelper: 'プロフェッショナルバージョンは、スケジュールされたスキャン機能をサポートしています', + cronHelper: 'Pro 版は定期スキャンに対応しています', specErr: '実行スケジュールフォーマットエラー、チェックして再試行してください!', disableMsg: 'スケジュールされた実行を停止すると、このスキャンタスクが自動的に実行されなくなります。続けたいですか?', @@ -1560,7 +1560,7 @@ const message = { clamLog: '@:toolbox.clam.clamconfログ', freshClam: 'フレッシュクラム', freshClamLog: '@:toolbox.clam.freshclamログ', - alertHelper: 'プロフェッショナル版は、定期スキャンとSMSアラート機能をサポートしています', + alertHelper: 'Pro 版は定期スキャンと SMS アラートに対応しています', alertTitle: 'ウイルススキャンタスク({0}」感染したファイルアラートが検出されました', }, }, @@ -1620,7 +1620,7 @@ const message = { fileName: 'ファイル名', search: '検索', mode: '権限', - editPermissions: '編集@:file.mode', + editPermissions: '権限を編集', owner: '所有者', file: 'ファイル', remoteFile: 'リモートダウンロード', @@ -1638,7 +1638,7 @@ const message = { group: 'グループ', path: 'パス', public: 'その他', - setRole: '設定権限', + setRole: '権限を設定', link: 'ファイルリンク', rRole: '読む', wRole: '書く', @@ -1895,12 +1895,11 @@ const message = { 'アプリケーションリダイレクト、コンテナアクセスなどの機能はこのアドレスを使用して転送されます。各ノードで異なるアドレスを設定できます。', proxy: 'サーバープロキシ', proxyHelper: 'プロキシサーバーを設定した後、次のシナリオで効果的になります。', - proxyHelper1: - 'アプリストアからのインストールパッケージのダウンロードと同期(プロフェッショナルエディションのみ)', - proxyHelper2: 'システムの更新と更新情報検索(プロフェッショナルエディションのみ)', + proxyHelper1: 'アプリストアからのインストールパッケージのダウンロードと同期(Pro 版のみ)', + proxyHelper2: 'システムアップデートと更新情報の取得(Pro 版のみ)', proxyHelper4: - 'Docker イメージのプルなどのネットワークリクエストはプロキシサーバー経由でアクセスされます(プロフェッショナルエディションのみ)', - proxyHelper5: 'システムタイプスクリプトライブラリの統一下載と同期(プロフェッショナル版機能)', + 'Docker イメージの取得などのネットワークリクエストはプロキシサーバー経由で処理されます(Pro 版のみ)', + proxyHelper5: 'システム系スクリプトライブラリの一括ダウンロードと同期(Pro 版機能)', proxyHelper6: '証明書を申請する(プロ版機能)', proxyHelper3: 'システムライセンスの確認と同期', proxyType: 'プロキシタイプ', @@ -2333,27 +2332,25 @@ const message = { importHelper: 'ここでライセンスファイルをクリックまたはドラッグしてください', technicalAdvice: '技術的な相談', advice: '相談', - levelUpPro: 'Proにアップグレードします', + levelUpPro: 'Pro Edition にアップグレード', licenseSync: 'ライセンス同期', knowMorePro: 'もっと詳しく知る', closeAlert: '現在のページはパネル設定で閉じることができます', introduce: '機能の紹介', - waf: 'プロフェッショナルバージョンにアップグレードすると、インターセプトマップ、ログ、ブロックレコード、地理的位置ブロッキング、カスタムルール、カスタムインターセプトページなどの機能を提供できます。', - tamper: 'プロのバージョンにアップグレードすると、不正な変更や改ざんからWebサイトを保護できます。', - setting: - 'プロのバージョンにアップグレードすることで、パネルロゴ、ウェルカムメッセージ、その他の情報のカスタマイズが可能になります。', + waf: 'Pro 版にアップグレードすると、インターセプトマップ、ログ、ブロック記録、地域ブロック、カスタムルール、カスタムブロックページなどを利用できます。', + tamper: 'Pro 版にアップグレードすると、Web サイトを不正な変更や改ざんから保護できます。', + setting: 'Pro 版にアップグレードすると、パネルロゴ、ウェルカムメッセージなどをカスタマイズできます。', monitor: - 'プロのバージョンにアップグレードして、Webサイトのリアルタイムステータス、訪問者の傾向、訪問者ソース、リクエストログ、その他の情報を表示します。', - alert: 'プロのバージョンにアップグレードして、SMSを介してアラーム情報を受信し、アラームログを表示し、さまざまなキーイベントを完全に制御し、心配のないシステム操作を確実にする', - app: 'モバイルアプリでサービス情報、異常監視などを表示するには、プロフェッショナル版にアップグレードしてください。', - node: 'プロフェッショナル版にアップグレードすると、1Panel で複数の Linux サーバーを管理できます。', + 'Pro 版にアップグレードすると、Web サイトのリアルタイム状態、訪問者トレンド、流入元、リクエストログなどを確認できます。', + alert: 'Pro 版にアップグレードすると、SMS アラートの受信やアラートログの確認が可能になります。', + app: 'Pro 版にアップグレードすると、モバイルアプリでサービス情報や異常監視を確認できます。', + node: 'Pro Edition にアップグレードすると、1Panel で複数の Linux サーバーを管理できます。', nodeApp: - 'プロフェッショナル版にアップグレードすると、ノードを手動で切り替えることなく、マルチノードアプリケーションのバージョンを一括アップグレードできます。', + 'Pro Edition にアップグレードすると、ノードを手動で切り替えずにマルチノードアプリのバージョンを一括アップグレードできます。', nodeDashboard: - 'プロフェッショナル版にアップグレードすると、マルチノードのアプリケーション、ウェブサイト、データベース、スケジュールタスクを集中管理できます。', - fileExchange: 'プロフェッショナル版にアップグレードすると、複数のサーバー間でファイルを迅速に転送できます。', - cluster: - 'プロフェッショナル版にアップグレードすると、MySQL/Postgres/Redisマスタースレーブクラスタを管理できます。', + 'Pro Edition にアップグレードすると、マルチノードのアプリ、Web サイト、データベース、スケジュールタスクを一元管理できます。', + fileExchange: 'Pro Edition にアップグレードすると、複数サーバー間でファイルをすばやく転送できます。', + cluster: 'Pro Edition にアップグレードすると、MySQL/Postgres/Redis のプライマリ/レプリカ構成を管理できます。', exceptionalHelper: 'ライセンス同期検証が異常です。手動で同期して機能を確認してください。詳細: ', tamperHelper: '操作失敗。ファイル/フォルダの改ざん保護を確認してください。', }, @@ -4265,11 +4262,10 @@ const message = { feiShuConfigHelper: 'Feishuアラート通知設定', webhookName: 'ボット名', webhookUrl: 'Webhook URL', - alertConfigProHelper: - 'プロフェッショナル版では、企業微信(WeCom)、DingTalk、Feishu、およびSMS通知を追加でサポートします。', + alertConfigProHelper: 'Pro 版では、WeCom、DingTalk、Feishu、SMS 通知も利用できます。', }, theme: { - lingXiaGold: '凌霞金', + lingXiaGold: 'LXware Gold', classicBlue: 'クラシックブルー', freshGreen: 'フレッシュグリーン', customColor: 'カスタムカラー', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 3031a4ffec37..022f6137cbb6 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -7,13 +7,13 @@ const message = { colon: ': ', example: '예: ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: '실행', create: '생성', add: '추가', save: '저장', - set: '설정 수정', + set: '설정', sync: '동기화', delete: '삭제', edit: '편집', @@ -25,22 +25,22 @@ const message = { restart: '재시작', conn: '연결', disConn: '연결 해제', - clean: '정리', + clean: '지우기', login: '로그인', close: '닫기', off: '꺼짐', stop: '중지', start: '시작', view: '보기', - watch: '감시', - handle: '트리거', + watch: '실시간 보기', + handle: '실행', clone: '복제', expand: '확장', collapse: '축소', log: '로그', back: '뒤로', backup: '백업', - recover: '복구', + recover: '복원', retry: '재시도', upload: '업로드', download: '다운로드', @@ -49,7 +49,7 @@ const message = { saveAndEnable: '저장 및 활성화', import: '가져오기', export: '내보내기', - power: '권한 부여', + power: '제출', search: '검색', refresh: '새로고침', get: '가져오기', @@ -59,11 +59,11 @@ const message = { ignore: '업그레이드 무시', install: '설치', copy: '복사', - random: '무작위', + random: '생성', uninstall: '제거', fullscreen: '전체 화면', quitFullscreen: '전체 화면 종료', - showAll: '모두 보기', + showAll: '모두 표시', hideSome: '일부 숨기기', agree: '동의', notAgree: '동의하지 않음', @@ -72,7 +72,7 @@ const message = { notSave: '저장하지 않음', createNewFolder: '새 폴더 생성', createNewFile: '새 파일 생성', - helpDoc: '도움말 문서', + helpDoc: '문서', unbind: '연결 해제', cover: '덮어쓰기', skip: '건너뛰기', @@ -80,15 +80,15 @@ const message = { down: '중지', up: '시작', sure: '확인', - show: '보기', + show: '표시', hide: '숨기기', - visit: '방문', + visit: '열기', migrate: '마이그레이션', prev: '이전', next: '다음', setDefault: '기본값 복원', - bind: '바인딩', - tip: '안내', + bind: '연결', + tip: '팁', }, operate: { start: '시작', @@ -1588,7 +1588,7 @@ const message = { fileName: '파일 이름', search: '검색', mode: '권한', - editPermissions: '@:file.mode', + editPermissions: '권한 편집', owner: '소유자', file: '파일', remoteFile: '원격에서 다운로드', @@ -1861,11 +1861,11 @@ const message = { '애플리케이션 리다이렉트, 컨테이너 접근 등의 기능은 이 주소를 사용하여 라우팅됩니다. 각 노드마다 다른 주소를 설정할 수 있습니다.', proxy: '서버 프록시', proxyHelper: '프록시 서버를 설정한 후 다음 시나리오에서 적용됩니다:', - proxyHelper1: '설치 패키지 다운로드 및 앱 스토어 동기화 (전문 버전에서만 제공)', - proxyHelper2: '시스템 업데이트 및 업데이트 정보 가져오기 (전문 버전에서만 제공)', - proxyHelper4: 'Docker 이미지 pull 등 네트워크 요청은 프록시 서버를 통해 이루어집니다 (전문 버전에서만 제공)', + proxyHelper1: '설치 패키지 다운로드 및 앱 스토어 동기화 (Pro Edition 전용)', + proxyHelper2: '시스템 업데이트 및 업데이트 정보 확인 (Pro Edition 전용)', + proxyHelper4: 'Docker 이미지 pull 같은 네트워크 요청은 프록시 서버를 통해 처리됩니다 (Pro Edition 전용)', proxyHelper3: '시스템 라이선스 인증 및 동기화', - proxyHelper5: '시스템 유형 스크립트 라이브러리의 통합 다운로드 및 동기화 (프로페셔널 에디션 기능)', + proxyHelper5: '시스템 스크립트 라이브러리 통합 다운로드 및 동기화 (Pro Edition 기능)', proxyHelper6: '인증서 신청 (프로 버전 기능)', proxyType: '프록시 유형', proxyUrl: '프록시 주소', @@ -2277,28 +2277,27 @@ const message = { importHelper: '라이센스 파일을 여기에 클릭하거나 드래그하세요', technicalAdvice: '기술 상담', advice: '상담', - levelUpPro: 'Pro 로 업그레이드', + levelUpPro: 'Pro Edition으로 업그레이드', licenseSync: '라이센스 동기화', knowMorePro: '더 알아보기', closeAlert: '현재 페이지는 패널 설정에서 닫을 수 있습니다.', introduce: '기능 소개', - waf: '전문 버전으로 업그레이드하면 차단 맵, 로그, 차단 기록, 지리적 위치 차단, 사용자 정의 규칙, 사용자 정의 차단 페이지 등의 기능을 제공받을 수 있습니다.', - tamper: '전문 버전으로 업그레이드하면 웹사이트를 무단 수정이나 변조로부터 보호할 수 있습니다.', - setting: '전문 버전으로 업그레이드하면 패널 로고, 환영 메시지 등 정보를 사용자 정의할 수 있습니다.', + waf: 'Pro로 업그레이드하면 차단 맵, 로그, 차단 기록, 지역 차단, 사용자 정의 규칙, 사용자 정의 차단 페이지 등을 사용할 수 있습니다.', + tamper: 'Pro로 업그레이드하면 웹사이트를 무단 수정이나 변조로부터 보호할 수 있습니다.', + setting: 'Pro로 업그레이드하면 패널 로고, 환영 메시지 등 정보를 사용자 정의할 수 있습니다.', monitor: - '전문 버전으로 업그레이드하면 웹사이트의 실시간 상태, 방문자 트렌드, 방문자 출처, 요청 로그 등 정보를 확인할 수 있습니다.', - alert: '전문 버전으로 업그레이드하면 SMS 를 통해 알림 정보를 받고 알림 로그를 볼 수 있으며, 다양한 주요 이벤트를 완벽하게 제어하여 시스템 운영을 걱정 없이 유지할 수 있습니다.', - node: '프로페셔널 에디션으로 업그레이드하면 1Panel로 여러 Linux 서버를 관리할 수 있습니다.', + 'Pro로 업그레이드하면 웹사이트의 실시간 상태, 방문자 추세, 유입 경로, 요청 로그 등을 확인할 수 있습니다.', + alert: 'Pro로 업그레이드하면 SMS 알림을 받고 알림 로그를 확인할 수 있습니다.', + node: 'Pro Edition으로 업그레이드하면 1Panel에서 여러 Linux 서버를 관리할 수 있습니다.', nodeApp: - '프로페셔널 에디션으로 업그레이드하면 노드를 수동으로 전환하지 않고도 다중 노드 애플리케이션 버전을 통합 업그레이드할 수 있습니다.', + 'Pro Edition으로 업그레이드하면 노드를 수동으로 전환하지 않고도 다중 노드 애플리케이션 버전을 일괄 업그레이드할 수 있습니다.', nodeDashboard: - '프로페셔널 에디션으로 업그레이드하면 다중 노드 애플리케이션, 웹사이트, 데이터베이스 및 예약 작업을 중앙 집중식으로 관리할 수 있습니다.', - fileExchange: '프로페셔널 에디션으로 업그레이드하여 여러 서버 간에 파일을 빠르게 전송할 수 있습니다.', - app: '프로페셔널 버전으로 업그레이드하면 모바일 APP을 통해 서비스 정보, 이상 모니터링 등을 확인할 수 있습니다.', - cluster: - '프로페셔널 에디션으로 업그레이드하면 MySQL/Postgres/Redis 마스터-슬레이브 클러스터를 관리할 수 있습니다.', + 'Pro Edition으로 업그레이드하면 다중 노드 애플리케이션, 웹사이트, 데이터베이스, 예약 작업을 중앙에서 관리할 수 있습니다.', + fileExchange: 'Pro Edition으로 업그레이드하면 여러 서버 간에 파일을 빠르게 전송할 수 있습니다.', + app: 'Pro로 업그레이드하면 모바일 앱에서 서비스 정보와 이상 모니터링을 확인할 수 있습니다.', + cluster: 'Pro Edition으로 업그레이드하면 MySQL/Postgres/Redis 기본-복제 클러스터를 관리할 수 있습니다.', exceptionalHelper: - '라이선스 동기화 검증이 비정상입니다. 수동으로 동기화 버튼을 눌러 프로 버전 기능을 확인하세요. 상세: ', + '라이선스 동기화 검증이 비정상입니다. 수동으로 동기화해 Pro 기능이 정상적으로 동작하는지 확인하세요. 상세: ', tamperHelper: '작업 실패, 파일/폴더에 변조 방지가 활성화되어 있습니다. 확인 후 다시 시도하세요!', }, clean: { @@ -4168,11 +4167,10 @@ const message = { feiShuConfigHelper: 'Feishu 알림 구성', webhookName: '봇 이름', webhookUrl: 'Webhook URL', - alertConfigProHelper: - '프로페셔널 버전에서는 기업 위챗(WeCom), DingTalk, Feishu 및 SMS 알림을 추가로 지원합니다.', + alertConfigProHelper: 'Pro에서는 WeCom, DingTalk, Feishu, SMS 알림도 지원합니다.', }, theme: { - lingXiaGold: '링샤 골드', + lingXiaGold: 'LXware Gold', classicBlue: '클래식 블루', freshGreen: '프레시 그린', customColor: '사용자 정의 색상', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 46d034efc961..d9b9971059e1 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -7,41 +7,41 @@ const message = { colon: ': ', example: 'cth., ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: 'Jalankan', create: 'Cipta', add: 'Tambah', save: 'Simpan', - set: 'Sunting tetapan', + set: 'Tetapan', sync: 'Selaras', delete: 'Padam', edit: 'Sunting', - enable: 'Aktif', - disable: 'Nyahaktif', - confirm: 'Sah', + enable: 'Aktifkan', + disable: 'Nyahaktifkan', + confirm: 'Sahkan', cancel: 'Batal', reset: 'Tetapkan semula', restart: 'Mulakan semula', conn: 'Sambung', disConn: 'Putus sambungan', - clean: 'Bersih', + clean: 'Kosongkan', login: 'Log masuk', close: 'Tutup', off: 'Tutup', stop: 'Henti', start: 'Mula', view: 'Lihat', - watch: 'Pantau', - handle: 'Picu', + watch: 'Ikuti', + handle: 'Jalankan', clone: 'Klon', expand: 'Kembang', collapse: 'Runtuh', log: 'Log', back: 'Kembali', backup: 'Sandaran', - recover: 'Pulih', - retry: 'Cuba semula', + recover: 'Pulihkan', + retry: 'Cuba lagi', upload: 'Muat naik', download: 'Muat turun', init: 'Mulakan', @@ -49,17 +49,17 @@ const message = { saveAndEnable: 'Simpan dan aktifkan', import: 'Import', export: 'Eksport', - power: 'Pemberian Kuasa', + power: 'Hantar', search: 'Cari', refresh: 'Segarkan', get: 'Dapatkan', upgrade: 'Tingkatkan', - update: 'kemas kini', + update: 'Kemas Kini', updateNow: 'Kemas Kini Sekarang', ignore: 'Abaikan peningkatan', - install: 'pasang', + install: 'Pasang', copy: 'Salin', - random: 'Rawak', + random: 'Jana', uninstall: 'Nyahpasang', fullscreen: 'Masuk ke skrin penuh', quitFullscreen: 'Keluar dari skrin penuh', @@ -69,10 +69,10 @@ const message = { notAgree: 'Tidak Setuju', preview: 'Pratonton', open: 'Buka', - notSave: 'Tidak Disimpan', + notSave: 'Jangan simpan', createNewFolder: 'Cipta folder baru', createNewFile: 'Cipta fail baru', - helpDoc: 'Dokumen Bantuan', + helpDoc: 'Dokumentasi', unbind: 'Nyahkaitkan', cover: 'Tindih', skip: 'Langkau', @@ -82,12 +82,12 @@ const message = { sure: 'Sahkan', show: 'Tunjukkan', hide: 'Sembunyikan', - visit: 'Lawati', + visit: 'Buka', migrate: 'Migrasi', prev: 'Sebelumnya', next: 'Seterusnya', setDefault: 'Pulihkan lalai', - bind: 'Ikat', + bind: 'Pautkan', tip: 'Tip', }, operate: { @@ -1549,7 +1549,7 @@ const message = { clam: { clam: 'Imbasan virus', cron: 'Imbasan berjadual', - cronHelper: 'Versi profesional menyokong ciri imbasan berjadual', + cronHelper: 'Edisi Pro menyokong imbasan berjadual', specErr: 'Ralat format jadual pelaksanaan, sila semak dan cuba lagi!', disableMsg: 'Menghentikan pelaksanaan berjadual akan menghalang tugas imbasan ini daripada berjalan secara automatik. Adakah anda mahu meneruskan?', @@ -1584,7 +1584,7 @@ const message = { clamLog: '@:toolbox.clam.clamConf log', freshClam: 'FreshClam', freshClamLog: '@:toolbox.clam.freshClam log', - alertHelper: 'Versi profesional menyokong imbasan berjadual dan amaran SMS', + alertHelper: 'Edisi Pro menyokong imbasan berjadual dan amaran SMS', alertTitle: 'Tugas imbasan virus 「{0}」 mengesan amaran fail dijangkiti', }, }, @@ -1644,7 +1644,7 @@ const message = { fileName: 'Nama fail', search: 'Cari', mode: 'Kebenaran', - editPermissions: 'Edit kebenaran', + editPermissions: 'Sunting kebenaran', owner: 'Pemilik', file: 'Fail', remoteFile: 'Muat turun dari jarak jauh', @@ -1926,12 +1926,11 @@ const message = { 'Penghantaran semula aplikasi, akses kontena dan fungsi lain akan menggunakan alamat ini untuk penghalaan. Setiap nod boleh ditetapkan dengan alamat yang berbeza.', proxy: 'Proksi pelayan', proxyHelper: 'Ia akan berkuat kuasa dalam senario berikut selepas anda menyediakan pelayan proksi:', - proxyHelper1: 'Muat turun pakej pemasangan dan penyelarasan dari kedai aplikasi (Edisi Profesional sahaja)', - proxyHelper2: 'Kemas kini sistem dan pengambilan maklumat kemas kini (Edisi Profesional sahaja)', - proxyHelper4: - 'Permintaan rangkaian seperti tarikan imej Docker akan melalui pelayan proksi (Edisi Profesional sahaja)', + proxyHelper1: 'Muat turun pakej pemasangan dan penyelarasan daripada kedai aplikasi (Edisi Pro sahaja)', + proxyHelper2: 'Kemas kini sistem dan semakan maklumat kemas kini (Edisi Pro sahaja)', + proxyHelper4: 'Permintaan rangkaian seperti tarikan imej Docker akan melalui pelayan proksi (Edisi Pro sahaja)', proxyHelper3: 'Pengesahan dan penyelarasan lesen sistem', - proxyHelper5: 'Muat turun dan penyegerakan bersepadu untuk pustaka skrip jenis sistem (Ciri Edisi Profesional)', + proxyHelper5: 'Muat turun dan penyegerakan bersepadu untuk pustaka skrip sistem (ciri Edisi Pro)', proxyHelper6: 'Mohon sijil (Fungsi versi Pro)', proxyType: 'Jenis proksi', proxyUrl: 'Alamat proksi', @@ -2360,9 +2359,9 @@ const message = { authorizationId: 'ID Langganan', authorizedUser: 'Pengguna yang Dibenarkan', lostHelper: - 'Lesen telah mencapai jumlah percubaan semula maksimum. Sila klik butang penyegerakan secara manual untuk memastikan ciri versi profesional berfungsi dengan baik. butiran: ', + 'Lesen telah mencapai had percubaan semula. Jalankan penyegerakan secara manual untuk memastikan ciri Pro terus berfungsi dengan baik. butiran: ', disableHelper: - 'Pengesahan penyegerakan lesen gagal. Sila klik butang penyegerakan secara manual untuk memastikan ciri versi profesional berfungsi dengan baik. butiran: ', + 'Pengesahan penyegerakan lesen gagal. Jalankan penyegerakan secara manual untuk memastikan ciri Pro berfungsi dengan baik. butiran: ', quickUpdate: 'Kemas Kini Pantas', power: 'Kebenaran', unbindHelper: 'Semua Tetapan berkaitan Pro akan dibersihkan selepas nyahikat. Adakah anda mahu meneruskan?', @@ -2370,27 +2369,25 @@ const message = { importHelper: 'Sila klik atau seret fail lesen ke sini', technicalAdvice: 'Konsultasi Teknikal', advice: 'Konsultasi', - levelUpPro: 'Tingkatkan ke Pro', + levelUpPro: 'Naik taraf ke Edisi Pro', licenseSync: 'Penyegerakan Lesen', knowMorePro: 'Ketahui Lebih Lanjut', closeAlert: 'Halaman semasa boleh ditutup dalam tetapan panel', introduce: 'Pengenalan Ciri', - waf: 'Menaik taraf ke versi profesional boleh menyediakan ciri seperti peta pencegahan, log, rekod blok, sekatan lokasi geografi, peraturan tersuai, halaman pencegahan tersuai, dan sebagainya.', - tamper: 'Menaik taraf ke versi profesional boleh melindungi laman web daripada pengubahsuaian atau manipulasi tanpa kebenaran.', - setting: - 'Menaik taraf ke versi profesional membolehkan penyesuaian logo panel, mesej selamat datang, dan maklumat lain.', + waf: 'Naik taraf ke Edisi Pro untuk menggunakan peta sekatan, log, rekod sekatan, sekatan geografi, peraturan tersuai, halaman sekatan tersuai dan banyak lagi.', + tamper: 'Naik taraf ke Edisi Pro untuk melindungi laman web daripada perubahan atau gangguan tanpa kebenaran.', + setting: 'Naik taraf ke Edisi Pro untuk menyesuaikan logo panel, mesej alu-aluan dan maklumat lain.', monitor: - 'Tingkatkan ke versi profesional untuk melihat status masa nyata laman web, tren pelawat, sumber pelawat, log permintaan dan maklumat lain.', - alert: 'Tingkatkan ke versi profesional untuk menerima maklumat amaran melalui SMS dan melihat log amaran, mengawal sepenuhnya pelbagai acara utama, dan memastikan operasi sistem bebas kerisauan.', - node: 'Menaik taraf ke Edisi Profesional membolehkan anda menguruskan berbilang pelayan Linux dengan 1Panel.', + 'Naik taraf ke Edisi Pro untuk melihat status laman web masa nyata, trend pelawat, sumber trafik, log permintaan dan lain-lain.', + alert: 'Naik taraf ke Edisi Pro untuk menerima amaran SMS dan melihat log amaran.', + node: 'Naik taraf ke Edisi Pro untuk mengurus berbilang pelayan Linux dengan 1Panel.', nodeApp: - 'Menaik taraf ke Edisi Profesional membolehkan peningkatan bersatu versi aplikasi berbilang nod tanpa menukar nod secara manual.', + 'Naik taraf ke Edisi Pro untuk menaik taraf versi aplikasi berbilang nod tanpa menukar nod secara manual.', nodeDashboard: - 'Menaik taraf ke Edisi Profesional membolehkan pengurusan berpusat aplikasi, laman web, pangkalan data dan tugas berjadual berbilang nod.', - fileExchange: 'Naik taraf ke Edisi Professional untuk menghantar fail dengan cepat antara pelbagai pelayan.', - app: 'Tingkatkan ke versi profesional untuk melihat maklumat perkhidmatan, pemantauan abnormal, dll melalui aplikasi mudah alih.', - cluster: - 'Versi Profesional menaik taraf membolehkan anda menguruskan kelompok induk-hamba MySQL/Postgres/Redis.', + 'Naik taraf ke Edisi Pro untuk mengurus aplikasi, laman web, pangkalan data dan tugas berjadual berbilang nod secara berpusat.', + fileExchange: 'Naik taraf ke Edisi Pro untuk memindahkan fail dengan pantas antara pelayan.', + app: 'Naik taraf ke Edisi Pro untuk melihat maklumat perkhidmatan dan pemantauan anomali dalam aplikasi mudah alih.', + cluster: 'Naik taraf ke Edisi Pro untuk mengurus kelompok utama-replika MySQL/Postgres/Redis.', exceptionalHelper: 'Pengesahan penyegerakan lesen tidak normal. Klik butang sync secara manual untuk pastikan fungsi Pro berjalan baik. butiran: ', tamperHelper: 'Operasi gagal, fail atau folder mempunyai perlindungan gangguan. Sila semak dan cuba lagi!', @@ -4114,7 +4111,7 @@ const message = { alertCount: 'Bilangan Amaran', clamHelper: 'Hantar amaran apabila terdapat fail yang dijangkiti semasa imbasan', cronJobHelper: 'Hantar amaran apabila pelaksanaan tugas gagal', - licenseHelper: 'Versi profesional menyokong amaran', + licenseHelper: 'Edisi Pro menyokong lebih banyak saluran amaran', alertCountHelper: 'Kekerapan maksimum amaran harian', alert: 'Amaran SMS', logs: 'Log Amaran', @@ -4323,10 +4320,10 @@ const message = { feiShuConfigHelper: 'Konfigurasi pemberitahuan amaran Feishu', webhookName: 'Nama bot', webhookUrl: 'URL Webhook', - alertConfigProHelper: 'Edisi Profesional turut menyokong amaran WeCom, DingTalk, Feishu dan SMS.', + alertConfigProHelper: 'Edisi Pro turut menyokong amaran WeCom, DingTalk, Feishu dan SMS.', }, theme: { - lingXiaGold: 'Ling Xia Emas', + lingXiaGold: 'LXware Gold', classicBlue: 'Biru Klasik', freshGreen: 'Hijau Segar', customColor: 'Warna Tersuai', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 83baf60b89e1..8c1390ba6d28 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -7,13 +7,13 @@ const message = { colon: ': ', example: 'ex.: ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: 'Executar', create: 'Criar', add: 'Adicionar', save: 'Salvar', - set: 'Editar configuração', + set: 'Configurações', sync: 'Sincronizar', delete: 'Excluir', edit: 'Editar', @@ -32,14 +32,14 @@ const message = { stop: 'Parar', start: 'Iniciar', view: 'Visualizar', - watch: 'Monitorar', - handle: 'Disparar', + watch: 'Acompanhar', + handle: 'Executar', clone: 'Clonar', expand: 'Expandir', collapse: 'Recolher', log: 'Logs', back: 'Voltar', - backup: 'Backup', + backup: 'Fazer backup', recover: 'Restaurar', retry: 'Tentar novamente', upload: 'Fazer upload', @@ -49,17 +49,17 @@ const message = { saveAndEnable: 'Salvar e ativar', import: 'Importar', export: 'Exportar', - power: 'Autorização', + power: 'Enviar', search: 'Pesquisar', refresh: 'Atualizar', get: 'Obter', - upgrade: 'Atualizar versão', - update: 'atualizar', + upgrade: 'Fazer upgrade', + update: 'Atualizar', updateNow: 'Atualizar Agora', ignore: 'Ignorar atualização', - install: 'instalar', + install: 'Instalar', copy: 'Copiar', - random: 'Aleatório', + random: 'Gerar', uninstall: 'Desinstalar', fullscreen: 'Entrar em tela cheia', quitFullscreen: 'Sair da tela cheia', @@ -72,7 +72,7 @@ const message = { notSave: 'Não salvar', createNewFolder: 'Criar nova pasta', createNewFile: 'Criar novo arquivo', - helpDoc: 'Documento de ajuda', + helpDoc: 'Documentação', unbind: 'Desvincular', cover: 'Substituir', skip: 'Pular', @@ -82,11 +82,11 @@ const message = { sure: 'Confirmar', show: 'Exibir', hide: 'Ocultar', - visit: 'Visitar', + visit: 'Abrir', migrate: 'Migrar', prev: 'Anterior', next: 'Próximo', - setDefault: 'Restaurar padrão', + setDefault: 'Restaurar padrões', bind: 'Vincular', tip: 'Dica', }, @@ -1550,7 +1550,7 @@ const message = { clam: { clam: 'Varredura de vírus', cron: 'Varredura agendada', - cronHelper: 'A versão profissional suporta varredura agendada', + cronHelper: 'A edição Pro oferece suporte a varreduras agendadas', specErr: 'Formato do agendamento inválido, verifique e tente novamente!', disableMsg: 'Parar a execução agendada impedirá a execução automática desta tarefa. Continuar?', enableMsg: @@ -1584,7 +1584,7 @@ const message = { clamLog: 'Logs de @:toolbox.clam.clamConf', freshClam: 'FreshClam', freshClamLog: 'Logs de @:toolbox.clam.freshClam', - alertHelper: 'A versão profissional suporta varredura agendada e alerta por SMS', + alertHelper: 'A edição Pro oferece suporte a varreduras agendadas e alertas por SMS', alertTitle: 'Tarefa de varredura de vírus "{0}" detectou arquivo infectado', }, }, @@ -1663,7 +1663,7 @@ const message = { clam: { clam: 'Scan de vírus', cron: 'Scan agendado', - cronHelper: 'A versão profissional suporta a funcionalidade de scan agendado', + cronHelper: 'A edição Pro oferece suporte a scans agendados', specErr: 'Erro no formato do agendamento, por favor, verifique e tente novamente!', disableMsg: 'Parar a execução agendada impedirá que esta tarefa de scan seja executada automaticamente. Deseja continuar?', @@ -1698,7 +1698,7 @@ const message = { clamLog: '@:toolbox.clam.clamConf logs', freshClam: 'FreshClam', freshClamLog: '@:toolbox.clam.freshClam logs', - alertHelper: 'A versão profissional suporta scan agendado e alerta por SMS', + alertHelper: 'A edição Pro oferece suporte a scans agendados e alertas por SMS', alertTitle: 'Tarefa de scan de vírus 「{0}」 detectou alerta de arquivo infectado', }, logs: { @@ -1757,7 +1757,7 @@ const message = { fileName: 'Nome do arquivo', search: 'Pesquisar', mode: 'Permissões', - editPermissions: '@:file.mode', + editPermissions: 'Editar permissões', owner: 'Proprietário', file: 'Arquivo', remoteFile: 'Baixar de remoto', @@ -2041,14 +2041,13 @@ const message = { 'Redirecionamentos de aplicativos, acesso a containers e outras funcionalidades usarão este endereço para roteamento. Cada nó pode ser configurado com um endereço diferente.', proxy: 'Proxy do servidor', proxyHelper: 'Será eficaz nos seguintes cenários após configurar o servidor proxy:', - proxyHelper1: - 'Download de pacotes de instalação e sincronização da loja de aplicativos (apenas edição profissional)', - proxyHelper2: 'Atualização do sistema e recuperação de informações de atualização (apenas edição profissional)', + proxyHelper1: 'Download de pacotes de instalação e sincronização da loja de aplicativos (somente edição Pro)', + proxyHelper2: 'Atualizações do sistema e verificação de atualizações (somente edição Pro)', proxyHelper4: - 'As solicitações de rede, como o pull de imagens do Docker, serão feitas por meio do servidor proxy (apenas edição profissional)', + 'Solicitações de rede, como pull de imagens Docker, serão feitas pelo servidor proxy (somente edição Pro)', proxyHelper3: 'Verificação e sincronização da licença do sistema', proxyHelper5: - 'Download e sincronização unificados para bibliotecas de scripts do tipo sistema (Recurso da Edição Profissional)', + 'Download e sincronização unificados para bibliotecas de scripts do sistema (recurso da edição Pro)', proxyHelper6: 'Solicitar certificado (Funcionalidade da versão Pro)', proxyType: 'Tipo de proxy', proxyUrl: 'Endereço do proxy', @@ -2484,9 +2483,9 @@ const message = { authorizationId: 'ID da Assinatura', authorizedUser: 'Usuário autorizado', lostHelper: - 'A licença atingiu o número máximo de tentativas de reenvio. Por favor, clique manualmente no botão de sincronização para garantir que os recursos da versão profissional estão funcionando corretamente. detalhes: ', + 'A licença atingiu o limite de tentativas. Execute a sincronização manualmente para garantir que os recursos da edição Pro continuem funcionando. detalhes: ', disableHelper: - 'A verificação de sincronização da licença falhou. Por favor, clique manualmente no botão de sincronização para garantir que os recursos da versão profissional estão funcionando corretamente. detalhes: ', + 'A verificação da sincronização da licença falhou. Execute a sincronização manualmente para garantir que os recursos da edição Pro funcionem corretamente. detalhes: ', quickUpdate: 'Atualização rápida', power: 'Autorizar', unbindHelper: @@ -2495,30 +2494,27 @@ const message = { importHelper: 'Clique ou arraste o arquivo de licença aqui', technicalAdvice: 'Consultoria técnica', advice: 'Consultoria', - levelUpPro: 'Upgrade para Pro', + levelUpPro: 'Fazer upgrade para a edição Pro', licenseSync: 'Sincronização de Licença', knowMorePro: 'Saiba mais', closeAlert: 'A página atual pode ser fechada nas configurações do painel', introduce: 'Introdução de recursos', - waf: 'O upgrade para a versão profissional pode fornecer recursos como mapa de intercepção, logs, registros de bloqueio, bloqueio por localização geográfica, regras personalizadas, páginas de intercepção personalizadas, etc.', - tamper: 'O upgrade para a versão profissional pode proteger sites contra modificações ou adulterações não autorizadas.', - setting: - 'O upgrade para a versão profissional permite a personalização do logo do painel, mensagem de boas-vindas e outras informações.', + waf: 'Faça upgrade para a edição Pro para usar mapa de bloqueios, logs, registros de bloqueio, bloqueio geográfico, regras personalizadas, páginas de bloqueio personalizadas e mais.', + tamper: 'Faça upgrade para a edição Pro para proteger sites contra alterações ou adulterações não autorizadas.', + setting: 'Faça upgrade para a edição Pro para personalizar o logo do painel, a mensagem de boas-vindas e mais.', monitor: - 'Upgrade para a versão profissional para visualizar o status em tempo real do site, tendências de visitantes, fontes de visitantes, logs de solicitações e outras informações.', - alert: 'Upgrade para a versão profissional para receber informações de alarme via SMS e visualizar logs de alarmes, controlar completamente vários eventos chave e garantir a operação sem preocupações do sistema', - node: 'Atualizar para a Edição Profissional permite gerenciar vários servidores Linux com o 1Panel.', + 'Faça upgrade para a edição Pro para acompanhar o status do site em tempo real, tendências de visitantes, origens de tráfego, logs de requisições e mais.', + alert: 'Faça upgrade para a edição Pro para receber alertas por SMS e consultar os logs de alertas.', + node: 'Atualize para a edição Pro para gerenciar vários servidores Linux com o 1Panel.', nodeApp: - 'Atualizar para a Edição Profissional permite a atualização unificada de versões de aplicativos multi-nó sem a necessidade de alternar manualmente entre nós.', + 'Atualize para a edição Pro para atualizar versões de aplicativos multi-nó sem alternar manualmente entre os nós.', nodeDashboard: - 'Atualizar para a Edição Profissional permite o gerenciamento centralizado de aplicativos, sites, bancos de dados e tarefas agendadas multi-nó.', - fileExchange: - 'Atualize para a Edição Profissional para transferir arquivos rapidamente entre vários servidores.', - app: 'Upgrade para a versão profissional para visualizar informações do serviço, monitoramento anômalo, etc., através do aplicativo móvel.', - cluster: - 'A atualização para a Edição Profissional permite gerenciar clusters mestre-escravo MySQL/Postgres/Redis.', + 'Atualize para a edição Pro para gerenciar aplicativos, sites, bancos de dados e tarefas agendadas multi-nó de forma centralizada.', + fileExchange: 'Atualize para a edição Pro para transferir arquivos rapidamente entre vários servidores.', + app: 'Faça upgrade para a edição Pro para visualizar informações do serviço e monitoramento de anomalias no aplicativo móvel.', + cluster: 'Atualize para a edição Pro para gerenciar clusters primário-réplica de MySQL/Postgres/Redis.', exceptionalHelper: - 'A verificação de sincronização da licença está anormal. Clique em sincronizar manualmente para garantir o funcionamento da versão profissional. detalhe: ', + 'A verificação da sincronização da licença está anormal. Clique em sincronizar manualmente para garantir o funcionamento da edição Pro. detalhe: ', tamperHelper: 'Falha na operação, o arquivo ou pasta tem proteção contra alteração habilitada. Verifique e tente novamente!', }, @@ -3572,9 +3568,9 @@ const message = { }, xpack: { expiresTrialAlert: - 'Lembrete: Sua versão de avaliação profissional expirará em {0} dias. Após isso, todas as funcionalidades da versão profissional não estarão mais disponíveis. Por favor, renove ou faça upgrade para a versão oficial a tempo.', + 'Lembrete: Sua avaliação Pro expira em {0} dias. Depois disso, todos os recursos da edição Pro deixarão de ficar disponíveis. Renove ou faça upgrade em tempo hábil.', expiresAlert: - 'Lembrete: Sua licença profissional expirará em {0} dias. Após isso, todas as funcionalidades da versão profissional não estarão mais disponíveis. Por favor, renove sua licença para garantir o uso contínuo.', + 'Lembrete: Sua licença Pro expira em {0} dias. Depois disso, todos os recursos da edição Pro deixarão de ficar disponíveis. Renove a licença para manter o uso contínuo.', menu: 'Pro', upage: 'Construtor de Sites com IA', proAlert: 'Atualize para Pro para usar este recurso', @@ -4264,7 +4260,7 @@ const message = { alertCount: 'Contagem de Alertas', clamHelper: 'Dispara alerta via ao detectar arquivos infectados durante a varredura', cronJobHelper: 'Dispara alerta via ao falhar na execução de tarefas', - licenseHelper: 'A versão profissional suporta alertas via', + licenseHelper: 'A edição Pro oferece suporte a alertas via', alertCountHelper: 'Frequência máxima diária de alertas', alert: 'Alerta por SMS', logs: 'Registros de Alerta', @@ -4472,11 +4468,10 @@ const message = { feiShuConfigHelper: 'Configuração de notificação de alerta Feishu', webhookName: 'Nome do bot', webhookUrl: 'URL do Webhook', - alertConfigProHelper: - 'A edição Profissional oferece suporte adicional a alertas via WeCom, DingTalk, Feishu e SMS.', + alertConfigProHelper: 'A edição Pro também oferece suporte a alertas via WeCom, DingTalk, Feishu e SMS.', }, theme: { - lingXiaGold: 'Ling Xia Gold', + lingXiaGold: 'LXware Gold', classicBlue: 'Azul Clássico', freshGreen: 'Verde Fresco', customColor: 'Cor do Tema Personalizada', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index 840e22db52cd..1551a0988367 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -7,16 +7,16 @@ const message = { colon: ': ', example: 'например, ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { - run: 'Запуск', - create: 'Создать ', - add: 'Добавить ', - save: 'Сохранить ', - set: 'Изменить конфигурацию', - sync: 'Синхронизировать ', + run: 'Запустить', + create: 'Создать', + add: 'Добавить', + save: 'Сохранить', + set: 'Настройки', + sync: 'Синхронизировать', delete: 'Удалить', - edit: 'Редактировать ', + edit: 'Редактировать', enable: 'Включить', disable: 'Отключить', confirm: 'Подтвердить', @@ -32,16 +32,16 @@ const message = { stop: 'Остановить', start: 'Запустить', view: 'Просмотр', - watch: 'Наблюдать', + watch: 'Следить', handle: 'Запустить', expand: 'Развернуть', clone: 'Клонировать', collapse: 'Свернуть', log: 'Логи', back: 'Назад', - backup: 'Бэкап', + backup: 'Резервное копирование', recover: 'Восстановить', - retry: 'Повторить', + retry: 'Повторить попытку', upload: 'Загрузить', download: 'Скачать', init: 'Инициализировать', @@ -49,17 +49,17 @@ const message = { saveAndEnable: 'Сохранить и включить', import: 'Импорт', export: 'Экспорт', - power: 'Авторизация', + power: 'Отправить', search: 'Поиск', refresh: 'Обновить', get: 'Получить', upgrade: 'Обновить', - update: 'обновление', - updateNow: 'Обновить Сейчас', + update: 'Обновить', + updateNow: 'Обновить сейчас', ignore: 'Игнорировать обновление', - install: 'установить', + install: 'Установить', copy: 'Копировать', - random: 'Случайно', + random: 'Сгенерировать', uninstall: 'Удалить', fullscreen: 'Полный экран', quitFullscreen: 'Выйти из полного экрана', @@ -72,7 +72,7 @@ const message = { notSave: 'Не сохранять', createNewFolder: 'Создать новую папку', createNewFile: 'Создать новый файл', - helpDoc: 'Справка', + helpDoc: 'Документация', unbind: 'Отвязать', cover: 'Заменить', skip: 'Пропустить', @@ -82,7 +82,7 @@ const message = { sure: 'Подтвердить', show: 'Показать', hide: 'Скрыть', - visit: 'Посетить', + visit: 'Открыть', migrate: 'Мигрировать', prev: 'Назад', next: 'Далее', @@ -1632,7 +1632,7 @@ const message = { fileName: 'Имя файла', search: 'Поиск', mode: 'Права доступа', - editPermissions: '@:file.mode', + editPermissions: 'Изменить права доступа', owner: 'Владелец', file: 'Файл', remoteFile: 'Удалённая загрузка', @@ -2359,7 +2359,7 @@ const message = { importHelper: 'Пожалуйста, нажмите или перетащите файл лицензии сюда', technicalAdvice: 'Техническая консультация', advice: 'Консультация', - levelUpPro: 'Обновить до Pro', + levelUpPro: 'Обновить до версии Pro', licenseSync: 'Синхронизация лицензии', knowMorePro: 'Узнать больше', closeAlert: 'Текущую страницу можно закрыть в настройках панели', @@ -4332,7 +4332,7 @@ const message = { 'Профессиональная версия дополнительно поддерживает уведомления через WeCom, DingTalk, Feishu и SMS.', }, theme: { - lingXiaGold: 'Лин Ся Золотой', + lingXiaGold: 'LXware Gold', classicBlue: 'Классический Синий', freshGreen: 'Свежий Зелёный', customColor: 'Пользовательский Цвет', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 42827e34ba7c..bf404372463e 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -7,43 +7,43 @@ const message = { colon: ': ', example: 'örnek: ', fit2cloud: 'FIT2CLOUD', - lingxia: 'Lingxia', + lingxia: 'LXware', button: { run: 'Çalıştır', prev: 'Önceki', next: 'Sonraki', - create: 'Oluştur ', - add: 'Ekle ', - save: 'Kaydet ', - set: 'Ayarla', - sync: 'Senkronize Et ', + create: 'Oluştur', + add: 'Ekle', + save: 'Kaydet', + set: 'Ayarlar', + sync: 'Senkronize Et', delete: 'Sil', - edit: 'Düzenle ', + edit: 'Düzenle', enable: 'Etkinleştir', disable: 'Devre Dışı Bırak', confirm: 'Onayla', cancel: 'İptal', reset: 'Sıfırla', - setDefault: 'Varsayılanı Geri Yükle', + setDefault: 'Varsayılanları Geri Yükle', restart: 'Yeniden Başlat', conn: 'Bağlan', disconn: 'Bağlantıyı Kes', clean: 'Temizle', - login: 'Giriş Yap', + login: 'Oturum Aç', close: 'Kapat', stop: 'Durdur', start: 'Başlat', view: 'Görüntüle', - watch: 'İzle', - handle: 'Tetikle', + watch: 'Takip Et', + handle: 'Çalıştır', clone: 'Klonla', expand: 'Genişlet', collapse: 'Daralt', - log: 'Günlükleri görüntüle', + log: 'Günlükler', back: 'Geri', backup: 'Yedekle', - recover: 'Kurtar', - retry: 'Tekrar Dene', + recover: 'Geri Yükle', + retry: 'Yeniden Dene', upload: 'Yükle', download: 'İndir', init: 'Başlat', @@ -51,7 +51,7 @@ const message = { saveAndEnable: 'Kaydet ve etkinleştir', import: 'İçe Aktar', export: 'Dışa Aktar', - power: 'Yetkilendirme', + power: 'Gönder', search: 'Ara', refresh: 'Yenile', get: 'Al', @@ -60,7 +60,7 @@ const message = { updateNow: 'Şimdi Güncelle', ignore: 'Yükseltmeyi yoksay', copy: 'Kopyala', - random: 'Rastgele', + random: 'Oluştur', install: 'Yükle', uninstall: 'Kaldır', fullscreen: 'Tam ekrana geç', @@ -68,24 +68,24 @@ const message = { showAll: 'Tümünü Göster', hideSome: 'Bazılarını Gizle', agree: 'Kabul Et', - notAgree: 'Kabul Etme', + notAgree: 'Reddet', preview: 'Önizleme', open: 'Aç', notSave: 'Kaydetme', createNewFolder: 'Yeni klasör oluştur', createNewFile: 'Yeni dosya oluştur', - helpDoc: 'Yardım Belgesi', + helpDoc: 'Dokümantasyon', bind: 'Bağla', unbind: 'Bağlantıyı Çöz', - cover: 'kapla', - skip: 'atla', + cover: 'Üzerine Yaz', + skip: 'Atla', fix: 'Düzelt', down: 'Durdur', up: 'Başlat', sure: 'Onayla', show: 'Göster', hide: 'Gizle', - visit: 'Visit', + visit: 'Aç', migrate: 'Taşı', disConn: 'Bağlantıyı kes', tip: 'İpucu', @@ -1545,7 +1545,7 @@ const message = { clam: { clam: 'Virüs taraması', cron: 'Zamanlanmış tarama', - cronHelper: 'Profesyonel sürüm zamanlanmış tarama özelliğini destekler', + cronHelper: 'Pro sürüm zamanlanmış taramayı destekler', specErr: 'Yürütme programı format hatası, lütfen kontrol edin ve tekrar deneyin!', disableMsg: 'Zamanlanmış yürütmeyi durdurmak bu tarama görevinin otomatik olarak çalışmasını engelleyecektir. Devam etmek istiyor musunuz?', @@ -1580,7 +1580,7 @@ const message = { clamLog: '@:toolbox.clam.clamConf logları', freshClam: 'FreshClam', freshClamLog: '@:toolbox.clam.freshClam logları', - alertHelper: 'Profesyonel sürüm zamanlanmış tarama ve SMS uyarısını destekler', + alertHelper: 'Pro sürüm zamanlanmış tarama ve SMS uyarılarını destekler', alertTitle: 'Virüs tarama görevi「{0}」enfekte dosya tespit uyarısı', }, }, @@ -1636,7 +1636,7 @@ const message = { fileName: 'Dosya adı', search: 'Ara', mode: 'İzinler', - editPermissions: '@.lower:file.mode düzenle', + editPermissions: 'İzinleri Düzenle', owner: 'Sahip', file: 'Dosya', remoteFile: 'Uzak sunucudan indir', @@ -1918,13 +1918,12 @@ const message = { 'Adres, uygulama yönlendirmesi, konteyner erişimi ve diğer işlevler için kullanılacaktır. Her düğüm farklı bir adresle yapılandırılabilir.', proxy: 'Sunucu vekili', proxyHelper: 'Vekil sunucuyu ayarladıktan sonra aşağıdaki senaryolarda etkili olacaktır:', - proxyHelper1: 'Uygulama mağazasından kurulum paketi indirme ve senkronizasyon (Yalnızca Profesyonel sürüm)', - proxyHelper2: 'Sistem güncelleme ve güncelleme bilgisi alma (Yalnızca Profesyonel sürüm)', + proxyHelper1: 'Uygulama mağazasından kurulum paketi indirme ve senkronizasyon (yalnızca Pro sürüm)', + proxyHelper2: 'Sistem güncellemeleri ve güncelleme bilgilerini alma (yalnızca Pro sürüm)', proxyHelper3: 'Sistem lisansı doğrulama ve senkronizasyon', - proxyHelper4: - 'Docker imajı çekme gibi ağ istekleri vekil sunucu üzerinden yapılacaktır (Yalnızca Profesyonel sürüm)', - proxyHelper5: 'Sistem tipi komut kütüphaneleri için birleşik indirme ve senkronizasyon (Profesyonel)', - proxyHelper6: 'Sertifika başvurusu (Profesyonel)', + proxyHelper4: 'Docker imajı çekme gibi ağ istekleri vekil sunucu üzerinden yapılır (yalnızca Pro sürüm)', + proxyHelper5: 'Sistem komut dosyası kütüphaneleri için birleşik indirme ve senkronizasyon (Pro özelliği)', + proxyHelper6: 'Sertifika başvurusu (Pro özelliği)', proxyType: 'Vekil türü', proxyUrl: 'Vekil Adresi', proxyPort: 'Vekil Portu', @@ -2349,37 +2348,37 @@ const message = { authorizationId: 'Abonelik ID', authorizedUser: 'Yetkili kullanıcı', lostHelper: - 'Lisans maksimum yeniden deneme sayısına ulaştı. Profesyonel sürüm özelliklerinin düzgün çalıştığından emin olmak için lütfen senkronizasyon düğmesine manuel olarak tıklayın.', + 'Lisans yeniden deneme sınırına ulaştı. Pro özelliklerinin düzgün çalışması için lütfen senkronizasyonu manuel olarak çalıştırın.', exceptionalHelper: - 'Lisans senkronizasyon doğrulaması anormal. Profesyonel sürüm işlevlerinin düzgün çalıştığından emin olmak için lütfen senkronizasyon düğmesine manuel olarak tıklayın. detay: ', + 'Lisans senkronizasyon doğrulaması başarısız oldu. Pro özelliklerinin düzgün çalışması için lütfen senkronizasyonu manuel olarak çalıştırın. ayrıntı: ', quickUpdate: 'Hızlı güncelleme', import: 'İçe aktar', power: 'Yetkilendir', unbindHelper: 'Bağlantı kaldırıldığında tüm Pro ile ilgili ayarlar temizlenecek. Devam etmek istiyor musunuz? ', importLicense: 'Lisansı içe aktar', importHelper: 'Lütfen lisans dosyasını buraya tıklayın veya sürükleyin', - levelUpPro: 'Profesyonel Sürüme Yükselt', + levelUpPro: 'Pro Sürüme Yükselt', licenseSync: 'Lisans Senkronizasyonu', knowMorePro: 'Daha Fazla Bilgi Edinin', closeAlert: 'Geçerli sayfa panel ayarlarında kapatılabilir', introduce: 'Özellik Tanıtımı', - waf: 'Profesyonel sürüme yükseltme, engelleme haritası, günlükler, engelleme kayıtları, coğrafi konum engelleme, özel kurallar, özel engelleme sayfaları gibi özellikler sağlayabilir.', - tamper: 'Profesyonel sürüme yükseltme, web sitelerini yetkisiz değişikliklerden veya kurcalamalardan koruyabilir.', + waf: 'Pro sürüme yükselterek engelleme haritası, günlükler, engelleme kayıtları, coğrafi konum engelleme, özel kurallar ve özel engelleme sayfaları gibi özellikleri açabilirsiniz.', + tamper: 'Pro sürüme yükselterek web sitelerini yetkisiz değişikliklere ve kurcalamaya karşı koruyabilirsiniz.', tamperHelper: 'İşlem başarısız oldu, dosya veya klasörde kurcalama koruması etkin. Lütfen kontrol edin ve tekrar deneyin!', setting: - 'Profesyonel sürüme yükseltme, panel logosu, hoş geldiniz mesajı ve diğer bilgilerin özelleştirilmesine olanak tanır.', + 'Pro sürüme yükselterek panel logosunu, hoş geldiniz mesajını ve diğer bilgileri özelleştirebilirsiniz.', monitor: - 'Profesyonel sürüme yükseltme, web sitesinin gerçek zamanlı durumunu, ziyaretçi trendlerini, ziyaretçi kaynaklarını, istek günlüklerini ve diğer bilgileri görüntülemenize olanak tanır. ', - alert: 'Profesyonel sürüme yükseltme, SMS yoluyla alarm bilgisi almanızı, alarm günlüklerini görüntülemenizi, çeşitli önemli olayları tamamen kontrol etmenizi ve sistemin sorunsuz çalışmasını sağlar.', - node: 'Profesyonel Sürüme yükseltme, 1Panel ile birden fazla Linux sunucusunu yönetmenize olanak tanır.', + 'Pro sürüme yükselterek web sitesinin gerçek zamanlı durumunu, ziyaretçi eğilimlerini, kaynaklarını ve istek günlüklerini görüntüleyebilirsiniz.', + alert: 'Pro sürüme yükselterek SMS uyarıları alabilir, uyarı günlüklerini görüntüleyebilir ve kritik olayları takip edebilirsiniz.', + node: 'Pro Sürüme yükselterek 1Panel ile birden fazla Linux sunucusunu yönetebilirsiniz.', nodeApp: - 'Profesyonel Sürüme yükseltme, düğümleri manuel olarak değiştirmeye gerek kalmadan çoklu düğüm uygulama sürümlerini birleşik olarak yükseltmenize olanak tanır.', + 'Pro Sürüme yükselterek düğümleri manuel değiştirmeden çok düğümlü uygulama sürümlerini toplu olarak yükseltebilirsiniz.', nodeDashboard: - 'Profesyonel Sürüme yükseltme, çoklu düğüm uygulamaları, web siteleri, veritabanları ve zamanlanmış görevleri merkezi olarak yönetmenizi sağlar.', - fileExchange: 'Profesyonel Sürüme yükseltme, birden fazla sunucu arasında hızlı dosya aktarımı sağlar.', - app: 'Profesyonel sürüme yükseltme, mobil uygulama üzerinden hizmet bilgilerini, anormal izlemeyi vb. görüntülemenize olanak tanır. ', - cluster: 'Profesyonel Sürüme Yükseltme, MySQL/Postgers/Redis ana-çalışan kümelerini yönetmenizi sağlar.', + 'Pro Sürüme yükselterek çok düğümlü uygulamaları, web sitelerini, veritabanlarını ve zamanlanmış görevleri merkezi olarak yönetebilirsiniz.', + fileExchange: 'Pro Sürüme yükselterek birden fazla sunucu arasında dosyaları hızlıca aktarabilirsiniz.', + app: 'Pro sürüme yükselterek mobil uygulamada hizmet bilgilerini ve anormallik izlemeyi görüntüleyebilirsiniz.', + cluster: 'Pro Sürüme yükselterek MySQL/Postgres/Redis birincil-kopya kümelerini yönetebilirsiniz.', }, clean: { scan: 'Taramayı başlat', @@ -4106,7 +4105,7 @@ const message = { alertCount: 'Uyarı Sayısı', clamHelper: 'Enfekte dosyalar tarandığında uyarısını tetikle', cronJobHelper: 'Görev yürütme başarısız olduğunda uyarısını tetikle', - licenseHelper: 'Profesyonel sürüm more uyarısını destekler', + licenseHelper: 'Pro sürüm ek uyarı kanallarını destekler', alertCountHelper: 'Günlük maksimum uyarı sıklığı', alert: 'SMS Uyarısı', logs: 'Uyarı Günlükleri', @@ -4316,11 +4315,10 @@ const message = { feiShuConfigHelper: 'Feishu uyarı bildirim yapılandırması', webhookName: 'Bot adı', webhookUrl: 'Webhook URL', - alertConfigProHelper: - 'Profesyonel sürüm, WeCom, DingTalk, Feishu ve SMS bildirimlerini ek olarak destekler.', + alertConfigProHelper: 'Pro sürüm ayrıca WeCom, DingTalk, Feishu ve SMS bildirimlerini destekler.', }, theme: { - lingXiaGold: 'Ling Xia Altın', + lingXiaGold: 'LXware Gold', classicBlue: 'Klasik Mavi', freshGreen: 'Taze Yeşil', customColor: 'Özel Renk', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 0fbd185733c5..644892f002ba 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -6,7 +6,7 @@ const message = { false: '否', example: '例:', fit2cloud: '飛致雲', - lingxia: '凌霞', + lingxia: 'LXware', colon: ':', button: { run: '執行', @@ -28,12 +28,12 @@ const message = { restart: '重新啟動', conn: '連接', disConn: '斷開', - clean: '清空', + clean: '清除', login: '登入', close: '關閉', - stop: '關閉', - start: '開啟', - view: '詳情', + stop: '停止', + start: '啟動', + view: '查看', watch: '追蹤', handle: '執行', clone: '複製', @@ -51,7 +51,7 @@ const message = { saveAndEnable: '儲存並啟用', import: '匯入', export: '匯出', - power: '授權', + power: '提交', search: '搜尋', refresh: '重新整理', get: '取得', @@ -60,7 +60,7 @@ const message = { updateNow: '立即更新', ignore: '忽略升級', copy: '複製', - random: '隨機密碼', + random: '產生', install: '安裝', uninstall: '移除', fullscreen: '網頁全螢幕', @@ -85,7 +85,7 @@ const message = { sure: '確定', show: '顯示', hide: '隱藏', - visit: '存取', + visit: '開啟', migrate: '遷移', tip: '提示', }, @@ -1515,7 +1515,7 @@ const message = { fileName: '檔案名', search: '在當前目錄下尋找', mode: '權限', - editPermissions: '編輯@:file.mode', + editPermissions: '編輯權限', owner: '所有者', file: '檔案', remoteFile: '遠端下載', @@ -2150,7 +2150,7 @@ const message = { unbindHelper: '解除綁定後將清除該節點所有專業版相關設定,是否繼續?', importLicense: '匯入許可證', importHelper: '請點選或拖動許可檔案到此處', - levelUpPro: '升級專業版', + levelUpPro: '升級至 Pro 版', licenseSync: '許可證同步', knowMorePro: '了解更多', closeAlert: '此頁可在面板設定中關閉顯示', @@ -3929,7 +3929,7 @@ const message = { alertConfigProHelper: '專業版額外支援企業微信、釘釘、飛書及簡訊告警。', }, theme: { - lingXiaGold: '凌霞金', + lingXiaGold: 'LXware Gold', classicBlue: '經典藍', freshGreen: '清新綠', customColor: '自訂主題色', diff --git a/frontend/src/views/website/runtime/php/extension-template/operate/index.vue b/frontend/src/views/website/runtime/php/extension-template/operate/index.vue index 8658a1b24a1b..cdb93340c267 100644 --- a/frontend/src/views/website/runtime/php/extension-template/operate/index.vue +++ b/frontend/src/views/website/runtime/php/extension-template/operate/index.vue @@ -1,7 +1,7 @@