浏览代码

chore(wip): update translations

Translated by i18n-gettext (Developed by @akinoccc )
Jacky 2 月之前
父节点
当前提交
05fd2173a3

+ 6 - 0
.vscode/settings.json

@@ -7,4 +7,10 @@
         "defaultDomain": "app",
         "sourceLanguage": "en"
     },
+    "i18n-gettext.translatorConfig": {
+    "onlyTranslateUntranslatedAndFuzzy": true,
+    "batch": {
+      "pageSize": 50
+    }
+  }
 }

文件差异内容过多而无法显示
+ 168 - 303
app/src/language/ar/app.po


文件差异内容过多而无法显示
+ 145 - 224
app/src/language/de_DE/app.po


+ 58 - 80
app/src/language/ja_JP/app.po

@@ -5,19 +5,17 @@ msgid ""
 msgstr ""
 "PO-Revision-Date: 2024-09-23 19:14+0000\n"
 "Last-Translator: Kohki Makimoto <kohki.makimoto@gmail.com>\n"
-"Language-Team: Japanese <https://weblate.nginxui.com/projects/nginx-ui/"
-"frontend/ja/>\n"
+"Language-Team: Japanese "
+"<https://weblate.nginxui.com/projects/nginx-ui/frontend/ja/>\n"
 "Language: ja_JP\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 5.6.2\n"
 
 #: src/language/generate.ts:23
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
-msgstr ""
-"[Nginx UI] ACME ユーザー: %{name}、メール: %{email}、CA ディレクトリ: "
-"%{caDir}"
+msgstr "[Nginx UI] ACME ユーザー: %{name}、メール: %{email}、CA ディレクトリ: %{caDir}"
 
 #: src/language/generate.ts:12
 msgid "[Nginx UI] Backing up current certificate for later revocation"
@@ -34,11 +32,8 @@ msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "証明書の削除に成功しました"
 
 #: src/language/generate.ts:25
-msgid ""
-"[Nginx UI] Certificate was used for server, reloading server TLS certificate"
-msgstr ""
-"[Nginx UI] サーバーで証明書が使用されました、サーバーのTLS証明書を再読み込み"
-"中"
+msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
+msgstr "[Nginx UI] サーバーで証明書が使用されました、サーバーのTLS証明書を再読み込み中"
 
 #: src/language/generate.ts:49
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
@@ -427,9 +422,7 @@ msgstr "\"戻る\""
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:155
 msgid "Backup file integrity check failed, it may have been tampered with"
-msgstr ""
-"「バックアップファイルの整合性チェックに失敗しました。改ざんされている可能性"
-"があります」"
+msgstr "「バックアップファイルの整合性チェックに失敗しました。改ざんされている可能性があります」"
 
 #: src/constants/errors/backup.ts:41
 msgid "Backup file not found: {0}"
@@ -554,8 +547,8 @@ msgid ""
 "Calculated based on worker_processes * worker_connections. Actual "
 "performance depends on hardware, configuration, and workload"
 msgstr ""
-"worker_processes * worker_connections に基づいて計算されます。実際のパフォー"
-"マンスはハードウェア、設定、およびワークロードに依存します"
+"worker_processes * worker_connections "
+"に基づいて計算されます。実際のパフォーマンスはハードウェア、設定、およびワークロードに依存します"
 
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/NgxConfigEditor/NgxServer.vue:54
@@ -720,8 +713,8 @@ msgid ""
 "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
 "prevents using Passkeys and clipboard features"
 msgstr ""
-"HTTPS が有効かどうかを確認します。localhost 以外で HTTP を使用すると安全では"
-"なく、Passkeys やクリップボード機能の使用が妨げられます。"
+"HTTPS が有効かどうかを確認します。localhost 以外で HTTP を使用すると安全ではなく、Passkeys "
+"やクリップボード機能の使用が妨げられます。"
 
 #: src/language/generate.ts:28
 msgid "Check if the docker socket exists."
@@ -769,18 +762,14 @@ msgstr "nginx.conf に streams-enabled ディレクトリが含まれている
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
-msgstr ""
-"sites-available と sites-enabled ディレクトリが nginx の設定ディレクトリ配下"
-"にあるか確認します。"
+msgstr "sites-available と sites-enabled ディレクトリが nginx の設定ディレクトリ配下にあるか確認します。"
 
 #: src/language/generate.ts:32
 #, fuzzy
 msgid ""
-"Check if the streams-available and streams-enabled directories are under the "
-"nginx configuration directory"
-msgstr ""
-"streams-available と streams-enabled ディレクトリが nginx の設定ディレクトリ"
-"配下にあるか確認します。"
+"Check if the streams-available and streams-enabled directories are under "
+"the nginx configuration directory"
+msgstr "streams-available と streams-enabled ディレクトリが nginx の設定ディレクトリ配下にあるか確認します。"
 
 #: src/constants/errors/crypto.ts:3
 msgid "Cipher text is too short"
@@ -804,8 +793,7 @@ msgstr "正常に削除しました"
 #: src/components/SystemRestore/SystemRestoreContent.vue:194
 #: src/components/SystemRestore/SystemRestoreContent.vue:271
 msgid "Click or drag backup file to this area to upload"
-msgstr ""
-"この領域にバックアップファイルをクリックまたはドラッグしてアップロードします"
+msgstr "この領域にバックアップファイルをクリックまたはドラッグしてアップロードします"
 
 #: src/views/preference/components/AuthSettings/TOTP.vue:110
 msgid "Click to copy"
@@ -983,8 +971,7 @@ msgstr "CPU使用率"
 
 #: src/views/dashboard/components/ResourceUsageCard.vue:38
 msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
-msgstr ""
-"CPU使用率が比較的高いため、Nginxの設定を最適化することを検討してください"
+msgstr "CPU使用率が比較的高いため、Nginxの設定を最適化することを検討してください"
 
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
@@ -1015,9 +1002,7 @@ msgstr "フォルダーを作成"
 msgid ""
 "Create system backups including Nginx configuration and Nginx UI settings. "
 "Backup files will be automatically downloaded to your computer."
-msgstr ""
-"Nginx 設定と Nginx UI 設定を含むシステムバックアップを作成します。バックアッ"
-"プファイルは自動的にコンピュータにダウンロードされます。"
+msgstr "Nginx 設定と Nginx UI 設定を含むシステムバックアップを作成します。バックアップファイルは自動的にコンピュータにダウンロードされます。"
 
 #: src/views/environments/group/columns.ts:31
 #: src/views/notification/notificationColumns.tsx:45
@@ -2416,8 +2401,8 @@ msgstr ""
 #: src/language/generate.ts:29
 msgid ""
 "Log file %{log_path} is not a regular file. If you are using nginx-ui in "
-"docker container, please refer to https://nginxui.com/zh_CN/guide/config-"
-"nginx-log.html for more information."
+"docker container, please refer to "
+"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
 msgstr ""
 
 #: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:64
@@ -2442,12 +2427,12 @@ msgstr ""
 
 #: src/views/preference/tabs/LogrotateSettings.vue:13
 msgid ""
-"Logrotate, by default, is enabled in most mainstream Linux distributions for "
-"users who install Nginx UI on the host machine, so you don't need to modify "
-"the parameters on this page. For users who install Nginx UI using Docker "
-"containers, you can manually enable this option. The crontab task scheduler "
-"of Nginx UI will execute the logrotate command at the interval you set in "
-"minutes."
+"Logrotate, by default, is enabled in most mainstream Linux distributions "
+"for users who install Nginx UI on the host machine, so you don't need to "
+"modify the parameters on this page. For users who install Nginx UI using "
+"Docker containers, you can manually enable this option. The crontab task "
+"scheduler of Nginx UI will execute the logrotate command at the interval "
+"you set in minutes."
 msgstr ""
 
 #: src/views/site/components/SiteStatusSegmented.vue:138
@@ -2865,8 +2850,8 @@ msgstr ""
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:336
 msgid ""
-"Nginx UI configuration has been restored and will restart automatically in a "
-"few seconds."
+"Nginx UI configuration has been restored and will restart automatically in "
+"a few seconds."
 msgstr ""
 
 #: src/language/generate.ts:15
@@ -3260,8 +3245,8 @@ msgstr ""
 #: src/components/Notification/notifications.ts:166
 #: src/language/constants.ts:59
 msgid ""
-"Please generate new recovery codes in the preferences immediately to prevent "
-"lockout."
+"Please generate new recovery codes in the preferences immediately to "
+"prevent lockout."
 msgstr ""
 
 #: src/views/config/components/Rename.vue:65
@@ -3303,8 +3288,7 @@ msgid "Please log in."
 msgstr ""
 
 #: src/views/certificate/DNSCredential.vue:62
-msgid ""
-"Please note that the unit of time configurations below are all in seconds."
+msgid "Please note that the unit of time configurations below are all in seconds."
 msgstr ""
 
 #: src/views/install/components/InstallView.vue:100
@@ -3943,14 +3927,14 @@ msgstr ""
 
 #: src/constants/errors/nginx_log.ts:8
 msgid ""
-"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
 
 #: src/constants/errors/nginx_log.ts:7
 msgid ""
-"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
 
 #: src/views/install/components/InstallView.vue:64
@@ -4132,9 +4116,9 @@ msgstr ""
 #: src/components/SelfCheck/tasks/frontend/websocket.ts:13
 msgid ""
 "Support communication with the backend through the WebSocket protocol. If "
-"your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
-"link to write the corresponding configuration file: https://nginxui.com/"
-"guide/nginx-proxy-example.html"
+"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
+"this link to write the corresponding configuration file: "
+"https://nginxui.com/guide/nginx-proxy-example.html"
 msgstr ""
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:197
@@ -4292,7 +4276,8 @@ msgstr ""
 
 #: src/constants/errors/nginx_log.ts:2
 msgid ""
-"The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
+"The log path is not under the paths in "
+"settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
 #: src/views/preference/tabs/OpenAISettings.vue:23
@@ -4303,8 +4288,7 @@ msgid ""
 msgstr ""
 
 #: src/views/preference/tabs/OpenAISettings.vue:90
-msgid ""
-"The model used for code completion, if not set, the chat model will be used."
+msgid "The model used for code completion, if not set, the chat model will be used."
 msgstr ""
 
 #: src/views/preference/tabs/NodeSettings.vue:18
@@ -4401,8 +4385,7 @@ msgid "This field should not be empty"
 msgstr ""
 
 #: src/constants/form_errors.ts:6
-msgid ""
-"This field should only contain letters, unicode characters, numbers, and -_."
+msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 
 #: src/views/dashboard/NginxDashBoard.vue:150
@@ -4442,8 +4425,7 @@ msgid ""
 msgstr ""
 
 #: src/views/environments/list/BatchUpgrader.vue:182
-msgid ""
-"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
+msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
 msgstr ""
 
 #: src/views/preference/tabs/AuthSettings.vue:124
@@ -4487,8 +4469,8 @@ msgstr ""
 #: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
 msgid ""
 "To make sure the certification auto-renewal can work normally, we need to "
-"add a location which can proxy the request from authority to backend, and we "
-"need to save this file and reload the Nginx. Are you sure you want to "
+"add a location which can proxy the request from authority to backend, and "
+"we need to save this file and reload the Nginx. Are you sure you want to "
 "continue?"
 msgstr ""
 
@@ -4611,7 +4593,7 @@ msgstr ""
 #: src/views/environments/list/BatchUpgrader.vue:88
 #: src/views/system/Upgrade.vue:77
 msgid "Upgrading Nginx UI, please wait..."
-msgstr ""
+msgstr "Nginx UI をアップグレード中です。しばらくお待ちください..."
 
 #: src/components/NgxConfigEditor/NgxUpstream.vue:173
 msgid "Upstream Name"
@@ -4735,8 +4717,8 @@ msgstr ""
 
 #: src/views/site/site_edit/components/Cert/ObtainCert.vue:140
 msgid ""
-"We will remove the HTTPChallenge configuration from this file and reload the "
-"Nginx. Are you sure you want to continue?"
+"We will remove the HTTPChallenge configuration from this file and reload "
+"the Nginx. Are you sure you want to continue?"
 msgstr ""
 
 #: src/views/preference/tabs/AuthSettings.vue:97
@@ -4819,11 +4801,9 @@ msgstr "はい"
 
 #: src/views/terminal/Terminal.vue:135
 msgid ""
-"You are accessing this terminal over an insecure HTTP connection on a non-"
-"localhost domain. This may expose sensitive information."
-msgstr ""
-"あなたは非localhostドメインで安全でないHTTP接続を介してこのターミナルにアクセ"
-"スしています。これにより機密情報が漏洩する可能性があります。"
+"You are accessing this terminal over an insecure HTTP connection on a "
+"non-localhost domain. This may expose sensitive information."
+msgstr "あなたは非localhostドメインで安全でないHTTP接続を介してこのターミナルにアクセスしています。これにより機密情報が漏洩する可能性があります。"
 
 #: src/views/system/Upgrade.vue:219
 msgid "You are using the latest version"
@@ -4848,8 +4828,7 @@ msgid ""
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:81
-msgid ""
-"You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
+msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:94
@@ -4872,14 +4851,13 @@ msgid "Your passkeys"
 msgstr ""
 
 #~ msgid "Automatically indexed from site and stream configurations."
-#~ msgstr ""
-#~ "「サイトおよびストリーム設定から自動的にインデックス化されました。」"
+#~ msgstr "「サイトおよびストリーム設定から自動的にインデックス化されました。」"
 
 #~ msgid ""
 #~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
-#~ "Docker Image, please make sure the docker socket is mounted like this: `-"
-#~ "v /var/run/docker.sock:/var/run/docker.sock`."
+#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
+#~ "/var/run/docker.sock:/var/run/docker.sock`."
 #~ msgstr ""
-#~ "/var/run/docker.sock が存在するか確認してください。Nginx UI 公式 Docker "
-#~ "メージを使用している場合は、Docker ソケットが次のようにマウントされている"
-#~ "ことを確認してください: `-v /var/run/docker.sock:/var/run/docker.sock`."
+#~ "/var/run/docker.sock が存在するか確認してください。Nginx UI 公式 Docker "
+#~ "メージを使用している場合は、Docker ソケットが次のようにマウントされていることを確認してください: `-v "
+#~ "/var/run/docker.sock:/var/run/docker.sock`."

+ 110 - 161
app/src/language/pt_PT/app.po

@@ -4,18 +4,17 @@ msgid ""
 msgstr ""
 "PO-Revision-Date: 2024-08-12 17:09+0000\n"
 "Last-Translator: Kleiser Sarifo <kleiser.sarifo@gmail.com>\n"
-"Language-Team: Portuguese (Portugal) <https://weblate.nginxui.com/projects/"
-"nginx-ui/frontend/pt_PT/>\n"
+"Language-Team: Portuguese (Portugal) "
+"<https://weblate.nginxui.com/projects/nginx-ui/frontend/pt_PT/>\n"
 "Language: pt_PT\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 5.6.2\n"
 
 #: src/language/generate.ts:23
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
-msgstr ""
-"[Nginx UI] Utilizador ACME: %{name}, Email: %{email}, Diretório CA: %{caDir}"
+msgstr "[Nginx UI] Utilizador ACME: %{name}, Email: %{email}, Diretório CA: %{caDir}"
 
 #: src/language/generate.ts:12
 msgid "[Nginx UI] Backing up current certificate for later revocation"
@@ -24,40 +23,34 @@ msgstr ""
 "revogação"
 
 #: src/language/generate.ts:41
-#, fuzzy
 msgid "[Nginx UI] Certificate renewed successfully"
-msgstr "Limpo com sucesso"
+msgstr "[Nginx UI] Certificado renovado com sucesso"
 
 #: src/language/generate.ts:31
-#, fuzzy
 msgid "[Nginx UI] Certificate successfully revoked"
-msgstr "Nginx reiniciado com sucesso"
+msgstr "[Nginx UI] Certificado revogado com sucesso"
 
 #: src/language/generate.ts:25
-msgid ""
-"[Nginx UI] Certificate was used for server, reloading server TLS certificate"
+msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] O certificado foi usado para o servidor, a recarregar o "
 "certificado TLS do servidor"
 
 #: src/language/generate.ts:49
-#, fuzzy
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
-msgstr "Criar cliente facilita comunicação com o servidor CA"
+msgstr "[Nginx UI] Criando cliente para facilitar a comunicação com o servidor CA"
 
 #: src/language/generate.ts:24
-#, fuzzy
 msgid "[Nginx UI] Environment variables cleaned"
-msgstr "Variáveis de ambiente limpas"
+msgstr "[Nginx UI] Variáveis de ambiente limpas"
 
 #: src/language/generate.ts:51
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Concluído"
 
 #: src/language/generate.ts:37
-#, fuzzy
 msgid "[Nginx UI] Issued certificate successfully"
-msgstr "Certificado emitido com sucesso"
+msgstr "[Nginx UI] Certificado emitido com sucesso"
 
 #: src/language/generate.ts:46
 msgid "[Nginx UI] Obtaining certificate"
@@ -92,9 +85,8 @@ msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] A configurar o fornecedor de desafio DNS01"
 
 #: src/language/generate.ts:50
-#, fuzzy
 msgid "[Nginx UI] Setting environment variables"
-msgstr "Definindo variáveis de ambiente"
+msgstr "[Nginx UI] Configurando variáveis de ambiente"
 
 #: src/language/generate.ts:18
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
@@ -121,9 +113,8 @@ msgid "About"
 msgstr "Sobre"
 
 #: src/views/nginx_log/NginxLogList.vue:23
-#, fuzzy
 msgid "Access Log"
-msgstr "Logs de Acesso"
+msgstr "Registo de Acesso"
 
 #: src/constants/errors/self_check.ts:21
 msgid "Access log path not exist"
@@ -216,7 +207,8 @@ msgstr "Modo Avançado"
 #: src/views/preference/components/AuthSettings/AddPasskey.vue:99
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
-"Depois, atualize esta página e clique em adicionar chave de acesso novamente."
+"Depois, atualize esta página e clique em adicionar chave de acesso "
+"novamente."
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:115
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
@@ -245,9 +237,8 @@ msgid "API Token"
 msgstr "Token da API"
 
 #: src/views/preference/tabs/OpenAISettings.vue:67
-#, fuzzy
 msgid "API Type"
-msgstr "Token da API"
+msgstr "Tipo de API"
 
 #: src/views/preference/Preference.vue:52
 msgid "App"
@@ -258,9 +249,8 @@ msgid "Apply"
 msgstr "Aplicar"
 
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67
-#, fuzzy
 msgid "Apply bulk action successfully"
-msgstr "Duplicado com sucesso"
+msgstr "Ação em massa aplicada com sucesso"
 
 #: src/views/system/Upgrade.vue:190
 msgid "Arch"
@@ -276,19 +266,16 @@ msgid "Are you sure to delete this passkey immediately?"
 msgstr "Tem certeza que pretende eliminar este IP banido imediatamente?"
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:154
-#, fuzzy
 msgid "Are you sure to generate new recovery codes?"
-msgstr "Tem certeza que pretende recuperar este item?"
+msgstr "Tem a certeza que deseja gerar novos códigos de recuperação?"
 
 #: src/views/preference/components/AuthSettings/TOTP.vue:85
-#, fuzzy
 msgid "Are you sure to reset 2FA?"
-msgstr "Tem certeza que pretende eliminar?"
+msgstr "Tem a certeza de que pretende repor a autenticação de dois fatores?"
 
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96
-#, fuzzy
 msgid "Are you sure you want to apply to all selected?"
-msgstr "Tem certeza que pretende eliminar?"
+msgstr "Tem a certeza que deseja aplicar a todos os selecionados?"
 
 #: src/components/Notification/Notification.vue:112
 #: src/views/notification/Notification.vue:39
@@ -317,9 +304,10 @@ msgid "Are you sure you want to recover this item?"
 msgstr "Tem certeza que pretende recuperar este item?"
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:129
-#, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
-msgstr "Tem certeza que pretende eliminar este item?"
+msgstr ""
+"Tem a certeza que pretende recarregar o Nginx nos seguintes nós de "
+"sincronização?"
 
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:97
 msgid "Are you sure you want to remove this directive?"
@@ -334,9 +322,10 @@ msgid "Are you sure you want to remove this location?"
 msgstr "Tem certeza que pretende eliminar este local?"
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:141
-#, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
-msgstr "Tem certeza que pretende eliminar este item?"
+msgstr ""
+"Tem a certeza de que pretende reiniciar o Nginx nos seguintes nós de "
+"sincronização?"
 
 #: src/components/ChatGPT/ChatGPT.vue:318
 msgid "Ask ChatGPT for Help"
@@ -347,9 +336,8 @@ msgid "Assistant"
 msgstr "Assistente"
 
 #: src/components/SelfCheck/SelfCheck.vue:30
-#, fuzzy
 msgid "Attempt to fix"
-msgstr "Tentativas"
+msgstr "Tentar corrigir"
 
 #: src/views/preference/tabs/AuthSettings.vue:21
 msgid "Attempts"
@@ -423,9 +411,8 @@ msgid "Back to list"
 msgstr "Voltar a lista"
 
 #: src/routes/modules/system.ts:26
-#, fuzzy
 msgid "Backup"
-msgstr "\"Voltar\""
+msgstr "Cópia de segurança"
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:155
 msgid "Backup file integrity check failed, it may have been tampered with"
@@ -439,9 +426,8 @@ msgid "Backup file not found: {0}"
 msgstr "Ficheiro não encontrado"
 
 #: src/views/system/Backup/BackupCreator.vue:42
-#, fuzzy
 msgid "Backup has been downloaded successfully"
-msgstr "Nginx recarregado com sucesso"
+msgstr "O backup foi descarregado com sucesso"
 
 #: src/views/preference/tabs/AuthSettings.vue:129
 msgid "Ban Threshold Minutes"
@@ -475,14 +461,12 @@ msgid "Basic Mode"
 msgstr "Modo Básico"
 
 #: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119
-#, fuzzy
 msgid "Basic Settings"
-msgstr "Definições 2FA"
+msgstr "Configurações básicas"
 
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83
-#, fuzzy
 msgid "Batch Actions"
-msgstr "Acção"
+msgstr "Ações em massa"
 
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:62
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:448
@@ -535,9 +519,8 @@ msgid "Cache Manager Settings"
 msgstr "Configurações do Gestor de Cache"
 
 #: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124
-#, fuzzy
 msgid "Cache Path"
-msgstr "Caminho Alterado"
+msgstr "Caminho da cache"
 
 #: src/composables/usePerformanceMetrics.ts:57
 #: src/views/dashboard/components/ProcessDistributionCard.vue:14
@@ -577,9 +560,8 @@ msgid "Cancel"
 msgstr "Cancelar"
 
 #: src/constants/errors/user.ts:11
-#, fuzzy
 msgid "Cannot change initial user password in demo mode"
-msgstr "Proibir a alteração da password root na demonstração"
+msgstr "Não é possível alterar a senha do usuário inicial no modo de demonstração"
 
 #: src/components/ConfigHistory/DiffViewer.vue:67
 #: src/components/ConfigHistory/DiffViewer.vue:84
@@ -591,9 +573,8 @@ msgid "Cannot get performance data in this state"
 msgstr "Não é possível obter dados de desempenho neste estado"
 
 #: src/constants/errors/user.ts:10
-#, fuzzy
 msgid "Cannot remove initial user"
-msgstr "Utilizador Inicial do Sistema"
+msgstr "Não é possível remover o utilizador inicial"
 
 #: src/views/preference/Preference.vue:88
 msgid "Cert"
@@ -638,9 +619,8 @@ msgid "Certificate Expiring Soon"
 msgstr "Certificado a expirar em breve"
 
 #: src/language/generate.ts:38
-#, fuzzy
 msgid "Certificate not found: %{error}"
-msgstr "Erro de descodificação do certificado"
+msgstr "Certificado não encontrado: %{error}"
 
 #: src/constants/errors/cert.ts:5
 msgid "Certificate parse error"
@@ -660,14 +640,12 @@ msgid "Certificate Renewal Interval"
 msgstr "Intervalo de Renovação do Certificado"
 
 #: src/language/constants.ts:21
-#, fuzzy
 msgid "Certificate renewed successfully"
-msgstr "Limpo com sucesso"
+msgstr "Certificado renovado com sucesso"
 
 #: src/language/generate.ts:39
-#, fuzzy
 msgid "Certificate revoked successfully"
-msgstr "Certificado removido com sucesso"
+msgstr "Certificado revogado com sucesso"
 
 #: src/views/certificate/CertificateEditor.vue:128
 #: src/views/site/site_edit/components/Cert/Cert.vue:58
@@ -716,22 +694,20 @@ msgstr "Chat"
 
 #: src/components/SelfCheck/SelfCheckHeaderBanner.vue:40
 #: src/components/SelfCheck/SelfCheckHeaderBanner.vue:64
-#, fuzzy
 msgid "Check"
-msgstr "Verificar de novo"
+msgstr "Verificar"
 
 #: src/views/system/Upgrade.vue:199
 msgid "Check again"
 msgstr "Verificar de novo"
 
 #: src/components/SelfCheck/tasks/frontend/https-check.ts:14
-#, fuzzy
 msgid ""
 "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
 "prevents using Passkeys and clipboard features"
 msgstr ""
 "Verifique se o HTTPS está ativado. Usar HTTP fora do localhost é inseguro e "
-"impede a utilização de Passkeys e funcionalidades da área de transferência."
+"impede o uso de Passkeys e funcionalidades da área de transferência"
 
 #: src/language/generate.ts:28
 msgid "Check if the docker socket exists."
@@ -742,14 +718,12 @@ msgid "Check if the nginx access log path exists"
 msgstr "Verificar se o caminho do registo de acesso do nginx existe"
 
 #: src/language/generate.ts:35
-#, fuzzy
 msgid "Check if the nginx configuration directory exists"
-msgstr "Verifique se o nginx.conf inclui o diretório conf.d."
+msgstr "Verificar se o diretório de configuração do nginx existe"
 
 #: src/language/generate.ts:43
-#, fuzzy
 msgid "Check if the nginx configuration entry file exists"
-msgstr "Verifique se o nginx.conf inclui o diretório conf.d."
+msgstr "Verificar se o ficheiro de entrada de configuração do nginx existe"
 
 #: src/language/generate.ts:20
 msgid "Check if the nginx error log path exists"
@@ -760,37 +734,32 @@ msgid "Check if the nginx PID path exists"
 msgstr "Verificar se o caminho do PID do Nginx existe"
 
 #: src/language/generate.ts:34
-#, fuzzy
 msgid "Check if the nginx.conf includes the conf.d directory"
-msgstr "Verifique se o nginx.conf inclui o diretório conf.d."
+msgstr "Verificar se o nginx.conf inclui o diretório conf.d"
 
 #: src/language/generate.ts:33
-#, fuzzy
 msgid "Check if the nginx.conf includes the sites-enabled directory"
-msgstr "Verifique se o nginx.conf inclui o diretório sites-enabled."
+msgstr "Verificar se o nginx.conf inclui o diretório sites-enabled"
 
 #: src/language/generate.ts:47
-#, fuzzy
 msgid "Check if the nginx.conf includes the streams-enabled directory"
-msgstr "Verifique se o nginx.conf inclui o diretório streams-enabled."
+msgstr "Verificar se o nginx.conf inclui o diretório streams-enabled"
 
 #: src/language/generate.ts:13
-#, fuzzy
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr ""
 "Verifique se os diretórios sites-available e sites-enabled estão no "
-"diretório de configuração do nginx."
+"diretório de configuração do nginx"
 
 #: src/language/generate.ts:32
-#, fuzzy
 msgid ""
-"Check if the streams-available and streams-enabled directories are under the "
-"nginx configuration directory"
+"Check if the streams-available and streams-enabled directories are under "
+"the nginx configuration directory"
 msgstr ""
 "Verifique se os diretórios streams-available e streams-enabled estão no "
-"diretório de configuração do nginx."
+"diretório de configuração do nginx"
 
 #: src/constants/errors/crypto.ts:3
 msgid "Cipher text is too short"
@@ -814,8 +783,7 @@ msgstr "Limpo com sucesso"
 #: src/components/SystemRestore/SystemRestoreContent.vue:194
 #: src/components/SystemRestore/SystemRestoreContent.vue:271
 msgid "Click or drag backup file to this area to upload"
-msgstr ""
-"Clique ou arraste o arquivo de backup para esta área para fazer o upload"
+msgstr "Clique ou arraste o arquivo de backup para esta área para fazer o upload"
 
 #: src/views/preference/components/AuthSettings/TOTP.vue:110
 msgid "Click to copy"
@@ -873,9 +841,8 @@ msgid "Compare"
 msgstr "Comparar"
 
 #: src/components/ConfigHistory/DiffViewer.vue:388
-#, fuzzy
 msgid "Compare Configurations"
-msgstr "Configurações"
+msgstr "Comparar configurações"
 
 #: src/components/ConfigHistory/ConfigHistory.vue:130
 msgid "Compare Selected"
@@ -898,28 +865,24 @@ msgid "Config entry file not exist"
 msgstr "O ficheiro de entrada de configuração não existe"
 
 #: src/constants/errors/backup.ts:14
-#, fuzzy
 msgid "Config path is empty"
-msgstr "Modelos de Configuração"
+msgstr "O caminho de configuração está vazio"
 
 #: src/views/site/site_edit/components/RightPanel/RightPanel.vue:36
-#, fuzzy
 msgid "Config Template"
-msgstr "Modelos de Configuração"
+msgstr "Modelo de Configuração"
 
 #: src/views/config/InspectConfig.vue:27
 msgid "Configuration file is test successful"
 msgstr "Ficheiro de configuração testado com sucesso"
 
 #: src/components/ConfigHistory/ConfigHistory.vue:138
-#, fuzzy
 msgid "Configuration History"
-msgstr "Configurações"
+msgstr "Histórico de Configuração"
 
 #: src/views/dashboard/components/PerformanceTablesCard.vue:167
-#, fuzzy
 msgid "Configuration information"
-msgstr "Nome da Configuração"
+msgstr "Informações de configuração"
 
 #: src/views/site/site_add/SiteAdd.vue:85
 msgid "Configuration Name"
@@ -968,7 +931,7 @@ msgstr "Copiado"
 #: src/views/system/Backup/BackupCreator.vue:128
 #, fuzzy
 msgid "Copied!"
-msgstr "Copiado"
+msgstr "Copiado!"
 
 #: src/components/SensitiveString/SensitiveString.vue:37
 #: src/views/system/Backup/BackupCreator.vue:128
@@ -976,9 +939,8 @@ msgid "Copy"
 msgstr "Copiar"
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:121
-#, fuzzy
 msgid "Copy Codes"
-msgstr "Código de Recuperação"
+msgstr "Copiar códigos"
 
 #: src/views/system/Upgrade.vue:157
 msgid "Core Upgrade"
@@ -1422,8 +1384,7 @@ msgstr "Domínio"
 
 #: src/views/certificate/CertificateEditor.vue:112
 msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
-msgstr ""
-"A lista de domínios está vazia, tente reabrir o Auto Cert para %{config}"
+msgstr "A lista de domínios está vazia, tente reabrir o Auto Cert para %{config}"
 
 #: src/language/constants.ts:27
 msgid "Download latest release error"
@@ -2192,8 +2153,8 @@ msgid ""
 "ban threshold minutes, the ip will be banned for a period of time."
 msgstr ""
 "Se o número de tentativas de início de sessão falhadas de um IP atingir o "
-"máximo de tentativas em minutos de limite de banimento, o IP será banido por "
-"um período de tempo."
+"máximo de tentativas em minutos de limite de banimento, o IP será banido "
+"por um período de tempo."
 
 #: src/components/AutoCertForm/AutoCertForm.vue:116
 #, fuzzy
@@ -2525,8 +2486,8 @@ msgstr "Log"
 #: src/language/generate.ts:29
 msgid ""
 "Log file %{log_path} is not a regular file. If you are using nginx-ui in "
-"docker container, please refer to https://nginxui.com/zh_CN/guide/config-"
-"nginx-log.html for more information."
+"docker container, please refer to "
+"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
 msgstr ""
 
 #: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:64
@@ -2552,12 +2513,12 @@ msgstr "Logrotate"
 
 #: src/views/preference/tabs/LogrotateSettings.vue:13
 msgid ""
-"Logrotate, by default, is enabled in most mainstream Linux distributions for "
-"users who install Nginx UI on the host machine, so you don't need to modify "
-"the parameters on this page. For users who install Nginx UI using Docker "
-"containers, you can manually enable this option. The crontab task scheduler "
-"of Nginx UI will execute the logrotate command at the interval you set in "
-"minutes."
+"Logrotate, by default, is enabled in most mainstream Linux distributions "
+"for users who install Nginx UI on the host machine, so you don't need to "
+"modify the parameters on this page. For users who install Nginx UI using "
+"Docker containers, you can manually enable this option. The crontab task "
+"scheduler of Nginx UI will execute the logrotate command at the interval "
+"you set in minutes."
 msgstr ""
 "O Logrotate, por defeito, está activado na maioria das distribuições Linux "
 "convencionais para utilizadores que instalam o Nginx UI na máquina host, "
@@ -2993,8 +2954,8 @@ msgstr "Erro na análise de configuração do Nginx"
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:336
 msgid ""
-"Nginx UI configuration has been restored and will restart automatically in a "
-"few seconds."
+"Nginx UI configuration has been restored and will restart automatically in "
+"a few seconds."
 msgstr ""
 
 #: src/language/generate.ts:15
@@ -3196,8 +3157,7 @@ msgstr ""
 
 #: src/views/certificate/DNSCredential.vue:59
 msgid "Once the verification is complete, the records will be removed."
-msgstr ""
-"Assim que a verificação estiver concluída, os registos serão removidos."
+msgstr "Assim que a verificação estiver concluída, os registos serão removidos."
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:159
 #: src/components/NodeSelector/NodeSelector.vue:103
@@ -3403,8 +3363,8 @@ msgstr ""
 #: src/components/Notification/notifications.ts:166
 #: src/language/constants.ts:59
 msgid ""
-"Please generate new recovery codes in the preferences immediately to prevent "
-"lockout."
+"Please generate new recovery codes in the preferences immediately to "
+"prevent lockout."
 msgstr ""
 
 #: src/views/config/components/Rename.vue:65
@@ -3451,10 +3411,8 @@ msgid "Please log in."
 msgstr ""
 
 #: src/views/certificate/DNSCredential.vue:62
-msgid ""
-"Please note that the unit of time configurations below are all in seconds."
-msgstr ""
-"Note que as definições da unidade de tempo abaixo estão todas em segundos."
+msgid "Please note that the unit of time configurations below are all in seconds."
+msgstr "Note que as definições da unidade de tempo abaixo estão todas em segundos."
 
 #: src/views/install/components/InstallView.vue:100
 msgid "Please resolve all issues before proceeding with installation"
@@ -4149,14 +4107,14 @@ msgstr "Definindo provedor de HTTP01 challenge"
 
 #: src/constants/errors/nginx_log.ts:8
 msgid ""
-"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
 
 #: src/constants/errors/nginx_log.ts:7
 msgid ""
-"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
 
 #: src/views/install/components/InstallView.vue:64
@@ -4344,9 +4302,9 @@ msgstr "Sucesso"
 #: src/components/SelfCheck/tasks/frontend/websocket.ts:13
 msgid ""
 "Support communication with the backend through the WebSocket protocol. If "
-"your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
-"link to write the corresponding configuration file: https://nginxui.com/"
-"guide/nginx-proxy-example.html"
+"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
+"this link to write the corresponding configuration file: "
+"https://nginxui.com/guide/nginx-proxy-example.html"
 msgstr ""
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:197
@@ -4378,13 +4336,11 @@ msgstr "Sincronizar Certificado"
 #: src/components/Notification/notifications.ts:46
 #, fuzzy
 msgid "Sync Certificate %{cert_name} to %{env_name} failed"
-msgstr ""
-"Sincronização do Certificado %{cert_name} para %{env_name} feito com sucesso"
+msgstr "Sincronização do Certificado %{cert_name} para %{env_name} feito com sucesso"
 
 #: src/components/Notification/notifications.ts:50
 msgid "Sync Certificate %{cert_name} to %{env_name} successfully"
-msgstr ""
-"Sincronização do Certificado %{cert_name} para %{env_name} feito com sucesso"
+msgstr "Sincronização do Certificado %{cert_name} para %{env_name} feito com sucesso"
 
 #: src/components/Notification/notifications.ts:45 src/language/constants.ts:39
 msgid "Sync Certificate Error"
@@ -4497,8 +4453,8 @@ msgid ""
 "since it was last issued."
 msgstr ""
 "O certificado do domínio será verificado 30 minutos e será renovado se já "
-"tiver passado mais de 1 semana ou o período que definiu nas definições desde "
-"a última emissão."
+"tiver passado mais de 1 semana ou o período que definiu nas definições "
+"desde a última emissão."
 
 #: src/views/install/components/InstallForm.vue:48
 msgid "The filename cannot contain the following characters: %{c}"
@@ -4523,7 +4479,8 @@ msgstr "O valor introduzido não é uma Chave de Certificado SSL"
 
 #: src/constants/errors/nginx_log.ts:2
 msgid ""
-"The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
+"The log path is not under the paths in "
+"settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
 #: src/views/preference/tabs/OpenAISettings.vue:23
@@ -4537,8 +4494,7 @@ msgstr ""
 "travessões e pontos."
 
 #: src/views/preference/tabs/OpenAISettings.vue:90
-msgid ""
-"The model used for code completion, if not set, the chat model will be used."
+msgid "The model used for code completion, if not set, the chat model will be used."
 msgstr ""
 
 #: src/views/preference/tabs/NodeSettings.vue:18
@@ -4578,8 +4534,8 @@ msgid ""
 "version. To avoid potential errors, please upgrade the remote Nginx UI to "
 "match the local version."
 msgstr ""
-"A versão remota do Nginx UI não é compatível com a versão local do Nginx UI. "
-"Para evitar possíveis erros, atualize a versão remota do Nginx UI para "
+"A versão remota do Nginx UI não é compatível com a versão local do Nginx "
+"UI. Para evitar possíveis erros, atualize a versão remota do Nginx UI para "
 "corresponder à versão local."
 
 #: src/components/AutoCertForm/AutoCertForm.vue:43
@@ -4650,8 +4606,7 @@ msgstr "Este campo não pode estar vazio"
 
 #: src/constants/form_errors.ts:6
 #, fuzzy
-msgid ""
-"This field should only contain letters, unicode characters, numbers, and -_."
+msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 "O nome do modelo deve conter apenas letras, unicode, números, hífens, "
 "travessões e pontos."
@@ -4693,10 +4648,10 @@ msgid ""
 msgstr ""
 
 #: src/views/environments/list/BatchUpgrader.vue:182
-msgid ""
-"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
+msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
 msgstr ""
-"Isto vai actualizar ou reinstalar o Nginx UI em %{nodeNames} para %{version}."
+"Isto vai actualizar ou reinstalar o Nginx UI em %{nodeNames} para "
+"%{version}."
 
 #: src/views/preference/tabs/AuthSettings.vue:124
 msgid "Throttle"
@@ -4741,8 +4696,8 @@ msgstr ""
 #: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
 msgid ""
 "To make sure the certification auto-renewal can work normally, we need to "
-"add a location which can proxy the request from authority to backend, and we "
-"need to save this file and reload the Nginx. Are you sure you want to "
+"add a location which can proxy the request from authority to backend, and "
+"we need to save this file and reload the Nginx. Are you sure you want to "
 "continue?"
 msgstr ""
 "Para garantir que a renovação automática da certificação funciona "
@@ -5001,8 +4956,8 @@ msgstr ""
 
 #: src/views/site/site_edit/components/Cert/ObtainCert.vue:140
 msgid ""
-"We will remove the HTTPChallenge configuration from this file and reload the "
-"Nginx. Are you sure you want to continue?"
+"We will remove the HTTPChallenge configuration from this file and reload "
+"the Nginx. Are you sure you want to continue?"
 msgstr ""
 "Removeremos a configuração HTTPChallenge deste ficheiro e reiniciaremos o "
 "Nginx. Tem a certeza de que quer continuar?"
@@ -5087,8 +5042,8 @@ msgstr "Sim"
 
 #: src/views/terminal/Terminal.vue:135
 msgid ""
-"You are accessing this terminal over an insecure HTTP connection on a non-"
-"localhost domain. This may expose sensitive information."
+"You are accessing this terminal over an insecure HTTP connection on a "
+"non-localhost domain. This may expose sensitive information."
 msgstr ""
 "Está a aceder a este terminal através de uma ligação HTTP insegura num "
 "domínio que não é localhost. Isto pode expor informações sensíveis."
@@ -5116,8 +5071,7 @@ msgid ""
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:81
-msgid ""
-"You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
+msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:94
@@ -5148,13 +5102,12 @@ msgstr ""
 #~ msgstr "Este item Auto Cert é inválido, por favor remova-o."
 
 #~ msgid "Automatically indexed from site and stream configurations."
-#~ msgstr ""
-#~ "Indexado automaticamente a partir das configurações de site e stream."
+#~ msgstr "Indexado automaticamente a partir das configurações de site e stream."
 
 #~ msgid ""
 #~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
-#~ "Docker Image, please make sure the docker socket is mounted like this: `-"
-#~ "v /var/run/docker.sock:/var/run/docker.sock`."
+#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
+#~ "/var/run/docker.sock:/var/run/docker.sock`."
 #~ msgstr ""
 #~ "Verifique se /var/run/docker.sock existe. Se estiver a utilizar a imagem "
 #~ "Docker oficial do Nginx UI, certifique-se de que o socket Docker está "
@@ -5181,9 +5134,7 @@ msgstr ""
 #~ msgstr "Ambiente"
 
 #~ msgid "Failed to save, syntax error(s) was detected in the configuration."
-#~ msgstr ""
-#~ "Falha ao salvar, erro(s) de sintaxe detectados no ficheiro de "
-#~ "configuração."
+#~ msgstr "Falha ao salvar, erro(s) de sintaxe detectados no ficheiro de configuração."
 
 #~ msgid "File"
 #~ msgstr "Ficheiro"
@@ -5192,11 +5143,11 @@ msgstr ""
 #~ msgstr "Erro de Formato %{msg}"
 
 #~ msgid ""
-#~ "If you lose your mobile phone, you can use the recovery code to reset "
-#~ "your 2FA."
+#~ "If you lose your mobile phone, you can use the recovery code to reset your "
+#~ "2FA."
 #~ msgstr ""
-#~ "Se perder o seu telemóvel, pode utilizar o código de recuperação para "
-#~ "repor o seu 2FA."
+#~ "Se perder o seu telemóvel, pode utilizar o código de recuperação para repor "
+#~ "o seu 2FA."
 
 #~ msgid "Incorrect username or password"
 #~ msgstr "Utilizador ou senha incorrectos"
@@ -5224,8 +5175,7 @@ msgstr ""
 #~ "Sincronização do Certificado %{cert_name} para %{env_name} falhou, por "
 #~ "favor actualize a versão remota do Nginx UI para a última versão"
 
-#~ msgid ""
-#~ "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
+#~ msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
 #~ msgstr ""
 #~ "Sincronização do Certificado %{cert_name} para %{env_name} falhou, "
 #~ "resposta: %{resp}"
@@ -5245,8 +5195,7 @@ msgstr ""
 #~ msgid "Target"
 #~ msgstr "Destino"
 
-#~ msgid ""
-#~ "The recovery code is only displayed once, please save it in a safe place."
+#~ msgid "The recovery code is only displayed once, please save it in a safe place."
 #~ msgstr ""
 #~ "O código de recuperação é apresentado apenas uma vez, guarde-o num local "
 #~ "seguro."

+ 113 - 154
app/src/language/ru_RU/app.po

@@ -7,60 +7,54 @@ msgstr ""
 "POT-Creation-Date: \n"
 "PO-Revision-Date: 2025-03-28 02:45+0300\n"
 "Last-Translator: Artyom Isrofilov <artyom@isrofilov.ru>\n"
-"Language-Team: Russian <https://weblate.nginxui.com/projects/nginx-ui/"
-"frontend/ru/>\n"
+"Language-Team: Russian "
+"<https://weblate.nginxui.com/projects/nginx-ui/frontend/ru/>\n"
 "Language: ru_RU\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 3.5\n"
 
 #: src/language/generate.ts:23
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
-msgstr ""
-"[Nginx UI] Пользователь ACME: %{name}, Email: %{email}, Каталог CA: %{caDir}"
+msgstr "[Nginx UI] Пользователь ACME: %{name}, Email: %{email}, Каталог CA: %{caDir}"
 
 #: src/language/generate.ts:12
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
-"[Nginx UI] Резервное копирование текущего сертификата для последующего отзыва"
+"[Nginx UI] Резервное копирование текущего сертификата для последующего "
+"отзыва"
 
 #: src/language/generate.ts:41
-#, fuzzy
 msgid "[Nginx UI] Certificate renewed successfully"
-msgstr "Сертификат успешно продлен"
+msgstr "[Nginx UI] Сертификат успешно обновлен"
 
 #: src/language/generate.ts:31
-#, fuzzy
 msgid "[Nginx UI] Certificate successfully revoked"
-msgstr "Nginx успешно перезапущен"
+msgstr "[Nginx UI] Сертификат успешно отозван"
 
 #: src/language/generate.ts:25
-msgid ""
-"[Nginx UI] Certificate was used for server, reloading server TLS certificate"
+msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
-"[Nginx UI] Сертификат использовался для сервера, перезагрузка TLS-"
-"сертификата сервера"
+"[Nginx UI] Сертификат использовался для сервера, перезагрузка "
+"TLS-сертификата сервера"
 
 #: src/language/generate.ts:49
-#, fuzzy
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
-msgstr "Создание клиента облегчает связь с сервером CA"
+msgstr "[Nginx UI] Создание клиента для облегчения связи с сервером CA"
 
 #: src/language/generate.ts:24
-#, fuzzy
 msgid "[Nginx UI] Environment variables cleaned"
-msgstr "Переменные окружения очищены"
+msgstr "[Nginx UI] Переменные окружения очищены"
 
 #: src/language/generate.ts:51
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Завершено"
 
 #: src/language/generate.ts:37
-#, fuzzy
 msgid "[Nginx UI] Issued certificate successfully"
-msgstr "Сертификат успешно выдан"
+msgstr "[Nginx UI] Сертификат успешно выдан"
 
 #: src/language/generate.ts:46
 msgid "[Nginx UI] Obtaining certificate"
@@ -95,9 +89,8 @@ msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] Настройка провайдера проверки DNS01"
 
 #: src/language/generate.ts:50
-#, fuzzy
 msgid "[Nginx UI] Setting environment variables"
-msgstr "Настройка переменных сред"
+msgstr "[Nginx UI] Установка переменных окружения"
 
 #: src/language/generate.ts:18
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
@@ -124,9 +117,8 @@ msgid "About"
 msgstr "О проекте"
 
 #: src/views/nginx_log/NginxLogList.vue:23
-#, fuzzy
 msgid "Access Log"
-msgstr "Журналы доступа"
+msgstr "Журнал доступа"
 
 #: src/constants/errors/self_check.ts:21
 msgid "Access log path not exist"
@@ -218,8 +210,7 @@ msgstr "Расширенный режим"
 
 #: src/views/preference/components/AuthSettings/AddPasskey.vue:99
 msgid "Afterwards, refresh this page and click add passkey again."
-msgstr ""
-"После этого обновите эту страницу и снова нажмите «Добавить ключ доступа»."
+msgstr "После этого обновите эту страницу и снова нажмите «Добавить ключ доступа»."
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:115
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
@@ -284,9 +275,8 @@ msgid "Are you sure to reset 2FA?"
 msgstr "Вы уверены, что хотите сбросить 2FA?"
 
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96
-#, fuzzy
 msgid "Are you sure you want to apply to all selected?"
-msgstr "Вы уверены, что хотите удалить?"
+msgstr "Вы уверены, что хотите применить ко всем выбранным?"
 
 #: src/components/Notification/Notification.vue:112
 #: src/views/notification/Notification.vue:39
@@ -315,9 +305,10 @@ msgid "Are you sure you want to recover this item?"
 msgstr "Вы уверены, что хотите восстановить этот элемент?"
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:129
-#, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
-msgstr "Вы уверены, что хотите удалить?"
+msgstr ""
+"Вы уверены, что хотите перезагрузить Nginx на следующих синхронизированных "
+"узлах?"
 
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:97
 msgid "Are you sure you want to remove this directive?"
@@ -332,9 +323,10 @@ msgid "Are you sure you want to remove this location?"
 msgstr "Вы уверены, что хотите удалить location?"
 
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:141
-#, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
-msgstr "Вы уверены, что хотите очистить все уведомления?"
+msgstr ""
+"Вы уверены, что хотите перезапустить Nginx на следующих синхронизированных "
+"узлах?"
 
 #: src/components/ChatGPT/ChatGPT.vue:318
 msgid "Ask ChatGPT for Help"
@@ -420,9 +412,8 @@ msgid "Back to list"
 msgstr "Возврат к списку"
 
 #: src/routes/modules/system.ts:26
-#, fuzzy
 msgid "Backup"
-msgstr "Назад"
+msgstr "Резервная копия"
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:155
 msgid "Backup file integrity check failed, it may have been tampered with"
@@ -435,9 +426,8 @@ msgid "Backup file not found: {0}"
 msgstr "Файл резервной копии не найден: {0}"
 
 #: src/views/system/Backup/BackupCreator.vue:42
-#, fuzzy
 msgid "Backup has been downloaded successfully"
-msgstr "Nginx успешно перезагружен"
+msgstr "Резервная копия успешно загружена"
 
 #: src/views/preference/tabs/AuthSettings.vue:129
 msgid "Ban Threshold Minutes"
@@ -471,14 +461,12 @@ msgid "Basic Mode"
 msgstr "Простой режим"
 
 #: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119
-#, fuzzy
 msgid "Basic Settings"
-msgstr "Настройки 2FA"
+msgstr "Основные настройки"
 
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83
-#, fuzzy
 msgid "Batch Actions"
-msgstr "Действие"
+msgstr "Пакетные действия"
 
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:62
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:448
@@ -512,7 +500,8 @@ msgstr "Кэш"
 #: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178
 msgid "Cache items not accessed within this time will be removed"
 msgstr ""
-"Элементы кэша, к которым не обращались в течение этого времени, будут удалены"
+"Элементы кэша, к которым не обращались в течение этого времени, будут "
+"удалены"
 
 #: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350
 msgid "Cache loader processing time threshold"
@@ -532,9 +521,8 @@ msgid "Cache Manager Settings"
 msgstr "Настройки менеджера кэша"
 
 #: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124
-#, fuzzy
 msgid "Cache Path"
-msgstr "Путь изменён"
+msgstr "Путь к кешу"
 
 #: src/composables/usePerformanceMetrics.ts:57
 #: src/views/dashboard/components/ProcessDistributionCard.vue:14
@@ -632,9 +620,8 @@ msgid "Certificate Expiring Soon"
 msgstr "Сертификат скоро истекает"
 
 #: src/language/generate.ts:38
-#, fuzzy
 msgid "Certificate not found: %{error}"
-msgstr "Ошибка декодирования сертификата"
+msgstr "Сертификат не найден: %{error}"
 
 #: src/constants/errors/cert.ts:5
 msgid "Certificate parse error"
@@ -658,9 +645,8 @@ msgid "Certificate renewed successfully"
 msgstr "Сертификат успешно продлен"
 
 #: src/language/generate.ts:39
-#, fuzzy
 msgid "Certificate revoked successfully"
-msgstr "Сертификат успешно удален"
+msgstr "Сертификат успешно отозван"
 
 #: src/views/certificate/CertificateEditor.vue:128
 #: src/views/site/site_edit/components/Cert/Cert.vue:58
@@ -709,22 +695,20 @@ msgstr "Чат"
 
 #: src/components/SelfCheck/SelfCheckHeaderBanner.vue:40
 #: src/components/SelfCheck/SelfCheckHeaderBanner.vue:64
-#, fuzzy
 msgid "Check"
-msgstr "Проверить повторно"
+msgstr "Проверить"
 
 #: src/views/system/Upgrade.vue:199
 msgid "Check again"
 msgstr "Проверить повторно"
 
 #: src/components/SelfCheck/tasks/frontend/https-check.ts:14
-#, fuzzy
 msgid ""
 "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
 "prevents using Passkeys and clipboard features"
 msgstr ""
-"Проверьте, включён ли HTTPS. Использование HTTP вне localhost небезопасно и "
-"блокирует функции Passkeys и буфера обмена."
+"Проверьте, включен ли HTTPS. Использование HTTP вне localhost небезопасно и "
+"препятствует использованию Passkeys и функций буфера обмена"
 
 #: src/language/generate.ts:28
 msgid "Check if the docker socket exists."
@@ -735,14 +719,12 @@ msgid "Check if the nginx access log path exists"
 msgstr "Проверить, существует ли путь к журналу доступа nginx"
 
 #: src/language/generate.ts:35
-#, fuzzy
 msgid "Check if the nginx configuration directory exists"
-msgstr "Проверьте, включает ли файл nginx.conf каталог conf.d."
+msgstr "Проверить, существует ли каталог конфигурации nginx"
 
 #: src/language/generate.ts:43
-#, fuzzy
 msgid "Check if the nginx configuration entry file exists"
-msgstr "Проверьте, включает ли файл nginx.conf каталог conf.d."
+msgstr "Проверить, существует ли файл конфигурации nginx"
 
 #: src/language/generate.ts:20
 msgid "Check if the nginx error log path exists"
@@ -753,37 +735,32 @@ msgid "Check if the nginx PID path exists"
 msgstr "Проверить, существует ли путь к PID Nginx"
 
 #: src/language/generate.ts:34
-#, fuzzy
 msgid "Check if the nginx.conf includes the conf.d directory"
-msgstr "Проверьте, включает ли файл nginx.conf каталог conf.d."
+msgstr "Проверить, включает ли файл nginx.conf директорию conf.d"
 
 #: src/language/generate.ts:33
-#, fuzzy
 msgid "Check if the nginx.conf includes the sites-enabled directory"
-msgstr "Проверьте, включает ли файл nginx.conf каталог sites-enabled."
+msgstr "Проверить, включает ли nginx.conf каталог sites-enabled"
 
 #: src/language/generate.ts:47
-#, fuzzy
 msgid "Check if the nginx.conf includes the streams-enabled directory"
-msgstr "Проверьте, включает ли файл nginx.conf каталог streams-enabled."
+msgstr "Проверить, включает ли nginx.conf каталог streams-enabled"
 
 #: src/language/generate.ts:13
-#, fuzzy
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr ""
 "Проверьте, находятся ли каталоги sites-available и sites-enabled в каталоге "
-"конфигурации nginx."
+"конфигурации nginx"
 
 #: src/language/generate.ts:32
-#, fuzzy
 msgid ""
-"Check if the streams-available and streams-enabled directories are under the "
-"nginx configuration directory"
+"Check if the streams-available and streams-enabled directories are under "
+"the nginx configuration directory"
 msgstr ""
 "Проверьте, находятся ли каталоги streams-available и streams-enabled в "
-"директории конфигурации nginx."
+"каталоге конфигурации nginx"
 
 #: src/constants/errors/crypto.ts:3
 msgid "Cipher text is too short"
@@ -867,9 +844,8 @@ msgid "Compare"
 msgstr "Сравнивать"
 
 #: src/components/ConfigHistory/DiffViewer.vue:388
-#, fuzzy
 msgid "Compare Configurations"
-msgstr "Конфигурации"
+msgstr "Сравнить конфигурации"
 
 #: src/components/ConfigHistory/ConfigHistory.vue:130
 msgid "Compare Selected"
@@ -892,28 +868,24 @@ msgid "Config entry file not exist"
 msgstr "Файл входа конфигурации не существует"
 
 #: src/constants/errors/backup.ts:14
-#, fuzzy
 msgid "Config path is empty"
-msgstr "Шаблоны конфигурации"
+msgstr "Путь конфигурации пуст"
 
 #: src/views/site/site_edit/components/RightPanel/RightPanel.vue:36
-#, fuzzy
 msgid "Config Template"
-msgstr "Шаблоны конфигурации"
+msgstr "Шаблон конфигурации"
 
 #: src/views/config/InspectConfig.vue:27
 msgid "Configuration file is test successful"
 msgstr "Проверка конфигурации успешна"
 
 #: src/components/ConfigHistory/ConfigHistory.vue:138
-#, fuzzy
 msgid "Configuration History"
-msgstr "Конфигурации"
+msgstr "История конфигурации"
 
 #: src/views/dashboard/components/PerformanceTablesCard.vue:167
-#, fuzzy
 msgid "Configuration information"
-msgstr "Конфигурации"
+msgstr "Информация о конфигурации"
 
 #: src/views/site/site_add/SiteAdd.vue:85
 msgid "Configuration Name"
@@ -960,9 +932,8 @@ msgid "Copied"
 msgstr "Скопировано"
 
 #: src/views/system/Backup/BackupCreator.vue:128
-#, fuzzy
 msgid "Copied!"
-msgstr "Скопировано"
+msgstr "Скопировано!"
 
 #: src/components/SensitiveString/SensitiveString.vue:37
 #: src/views/system/Backup/BackupCreator.vue:128
@@ -1408,8 +1379,7 @@ msgstr "Домен"
 
 #: src/views/certificate/CertificateEditor.vue:112
 msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
-msgstr ""
-"Список доменов пуст, попробуйте заново создать авто-сертификат для %{config}"
+msgstr "Список доменов пуст, попробуйте заново создать авто-сертификат для %{config}"
 
 #: src/language/constants.ts:27
 msgid "Download latest release error"
@@ -2055,8 +2025,8 @@ msgid ""
 "Follow the instructions in the dialog to complete the passkey registration "
 "process."
 msgstr ""
-"Следуйте инструкциям в всплывающем окне, чтобы завершить процесс регистрации "
-"ключа доступа."
+"Следуйте инструкциям в всплывающем окне, чтобы завершить процесс "
+"регистрации ключа доступа."
 
 #: src/views/preference/tabs/NodeSettings.vue:42
 #: src/views/preference/tabs/NodeSettings.vue:54
@@ -2211,8 +2181,7 @@ msgstr ""
 
 #: src/views/preference/components/AuthSettings/AddPasskey.vue:70
 msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
-msgstr ""
-"Если ваш браузер поддерживает WebAuthn Passkey, появится диалоговое окно."
+msgstr "Если ваш браузер поддерживает WebAuthn Passkey, появится диалоговое окно."
 
 #: src/components/AutoCertForm/AutoCertForm.vue:107
 msgid ""
@@ -2529,8 +2498,8 @@ msgstr "Журнал"
 #: src/language/generate.ts:29
 msgid ""
 "Log file %{log_path} is not a regular file. If you are using nginx-ui in "
-"docker container, please refer to https://nginxui.com/zh_CN/guide/config-"
-"nginx-log.html for more information."
+"docker container, please refer to "
+"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
 msgstr ""
 
 #: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:64
@@ -2556,18 +2525,18 @@ msgstr "Прокрутка"
 
 #: src/views/preference/tabs/LogrotateSettings.vue:13
 msgid ""
-"Logrotate, by default, is enabled in most mainstream Linux distributions for "
-"users who install Nginx UI on the host machine, so you don't need to modify "
-"the parameters on this page. For users who install Nginx UI using Docker "
-"containers, you can manually enable this option. The crontab task scheduler "
-"of Nginx UI will execute the logrotate command at the interval you set in "
-"minutes."
+"Logrotate, by default, is enabled in most mainstream Linux distributions "
+"for users who install Nginx UI on the host machine, so you don't need to "
+"modify the parameters on this page. For users who install Nginx UI using "
+"Docker containers, you can manually enable this option. The crontab task "
+"scheduler of Nginx UI will execute the logrotate command at the interval "
+"you set in minutes."
 msgstr ""
 "Logrotate по умолчанию включен в большинстве основных дистрибутивов Linux "
 "для пользователей, которые устанавливают Nginx UI на хост-машину, поэтому "
-"вам не нужно изменять параметры на этой странице. Для пользователей, которые "
-"устанавливают Nginx UI с использованием Docker-контейнеров, вы можете "
-"вручную включить эту опцию. Планировщик задач crontab Nginx UI будет "
+"вам не нужно изменять параметры на этой странице. Для пользователей, "
+"которые устанавливают Nginx UI с использованием Docker-контейнеров, вы "
+"можете вручную включить эту опцию. Планировщик задач crontab Nginx UI будет "
 "выполнять команду logrotate с интервалом, который вы установите в минутах."
 
 #: src/views/site/components/SiteStatusSegmented.vue:138
@@ -3007,8 +2976,8 @@ msgstr "Ошибка разбора конфигурации Nginx"
 #: src/components/SystemRestore/SystemRestoreContent.vue:336
 #, fuzzy
 msgid ""
-"Nginx UI configuration has been restored and will restart automatically in a "
-"few seconds."
+"Nginx UI configuration has been restored and will restart automatically in "
+"a few seconds."
 msgstr "Ошибка разбора конфигурации Nginx"
 
 #: src/language/generate.ts:15
@@ -3402,8 +3371,8 @@ msgid ""
 "Please fill in the API authentication credentials provided by your DNS "
 "provider."
 msgstr ""
-"Пожалуйста, заполните учетные данные API, предоставленные вашим DNS-"
-"провайдером."
+"Пожалуйста, заполните учетные данные API, предоставленные вашим "
+"DNS-провайдером."
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:106
 msgid "Please fill in the required fields"
@@ -3421,8 +3390,8 @@ msgstr ""
 #: src/components/Notification/notifications.ts:166
 #: src/language/constants.ts:59
 msgid ""
-"Please generate new recovery codes in the preferences immediately to prevent "
-"lockout."
+"Please generate new recovery codes in the preferences immediately to "
+"prevent lockout."
 msgstr ""
 
 #: src/views/config/components/Rename.vue:65
@@ -3468,8 +3437,7 @@ msgid "Please log in."
 msgstr ""
 
 #: src/views/certificate/DNSCredential.vue:62
-msgid ""
-"Please note that the unit of time configurations below are all in seconds."
+msgid "Please note that the unit of time configurations below are all in seconds."
 msgstr ""
 "Обратите внимание, что единица измерения времени в конфигурациях ниже "
 "указана в секундах."
@@ -3612,8 +3580,8 @@ msgid ""
 "Recovery codes are used to access your account when you lose access to your "
 "2FA device. Each code can only be used once."
 msgstr ""
-"Коды восстановления используются для доступа к аккаунту при утере 2FA-"
-"устройства. Каждый код можно использовать только один раз."
+"Коды восстановления используются для доступа к аккаунту при утере "
+"2FA-устройства. Каждый код можно использовать только один раз."
 
 #: src/views/preference/tabs/CertSettings.vue:40
 msgid "Recursive Nameservers"
@@ -4154,14 +4122,14 @@ msgstr "Настройка провайдера проверки HTTP01"
 
 #: src/constants/errors/nginx_log.ts:8
 msgid ""
-"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
 
 #: src/constants/errors/nginx_log.ts:7
 msgid ""
-"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
 
 #: src/views/install/components/InstallView.vue:64
@@ -4353,9 +4321,9 @@ msgstr "Успех"
 #: src/components/SelfCheck/tasks/frontend/websocket.ts:13
 msgid ""
 "Support communication with the backend through the WebSocket protocol. If "
-"your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
-"link to write the corresponding configuration file: https://nginxui.com/"
-"guide/nginx-proxy-example.html"
+"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
+"this link to write the corresponding configuration file: "
+"https://nginxui.com/guide/nginx-proxy-example.html"
 msgstr ""
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:197
@@ -4526,7 +4494,8 @@ msgstr "Введенные данные не являются ключом SSL 
 
 #: src/constants/errors/nginx_log.ts:2
 msgid ""
-"The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
+"The log path is not under the paths in "
+"settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
 #: src/views/preference/tabs/OpenAISettings.vue:23
@@ -4540,8 +4509,7 @@ msgstr ""
 "точки."
 
 #: src/views/preference/tabs/OpenAISettings.vue:90
-msgid ""
-"The model used for code completion, if not set, the chat model will be used."
+msgid "The model used for code completion, if not set, the chat model will be used."
 msgstr ""
 
 #: src/views/preference/tabs/NodeSettings.vue:18
@@ -4590,8 +4558,8 @@ msgid ""
 "The server_name in the current configuration must be the domain name you "
 "need to get the certificate, supportmultiple domains."
 msgstr ""
-"server_name в текущей конфигурации должен быть доменным именем, для которого "
-"вам нужно получить сертификат, поддержка нескольких доменов."
+"server_name в текущей конфигурации должен быть доменным именем, для "
+"которого вам нужно получить сертификат, поддержка нескольких доменов."
 
 #: src/views/preference/tabs/CertSettings.vue:22
 #: src/views/preference/tabs/HTTPSettings.vue:14
@@ -4653,8 +4621,7 @@ msgstr "Это поле обязательно к заполнению"
 
 #: src/constants/form_errors.ts:6
 #, fuzzy
-msgid ""
-"This field should only contain letters, unicode characters, numbers, and -_."
+msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 "Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и "
 "точки."
@@ -4696,8 +4663,7 @@ msgid ""
 msgstr ""
 
 #: src/views/environments/list/BatchUpgrader.vue:182
-msgid ""
-"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
+msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
 msgstr ""
 "Это обновит или переустановит интерфейс Nginx на %{nodeNames} до версии "
 "%{version}."
@@ -4745,8 +4711,8 @@ msgstr ""
 #: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
 msgid ""
 "To make sure the certification auto-renewal can work normally, we need to "
-"add a location which can proxy the request from authority to backend, and we "
-"need to save this file and reload the Nginx. Are you sure you want to "
+"add a location which can proxy the request from authority to backend, and "
+"we need to save this file and reload the Nginx. Are you sure you want to "
 "continue?"
 msgstr ""
 "Чтобы убедиться, что автоматическое обновление сертификата может работать "
@@ -5006,11 +4972,11 @@ msgstr ""
 
 #: src/views/site/site_edit/components/Cert/ObtainCert.vue:140
 msgid ""
-"We will remove the HTTPChallenge configuration from this file and reload the "
-"Nginx. Are you sure you want to continue?"
+"We will remove the HTTPChallenge configuration from this file and reload "
+"the Nginx. Are you sure you want to continue?"
 msgstr ""
-"Мы удалим конфигурацию HTTPChallenge из этого файла и перезагрузим Nginx. Вы "
-"уверены, что хотите продолжить?"
+"Мы удалим конфигурацию HTTPChallenge из этого файла и перезагрузим Nginx. "
+"Вы уверены, что хотите продолжить?"
 
 #: src/views/preference/tabs/AuthSettings.vue:97
 msgid "Webauthn"
@@ -5093,8 +5059,8 @@ msgstr "Да"
 
 #: src/views/terminal/Terminal.vue:135
 msgid ""
-"You are accessing this terminal over an insecure HTTP connection on a non-"
-"localhost domain. This may expose sensitive information."
+"You are accessing this terminal over an insecure HTTP connection on a "
+"non-localhost domain. This may expose sensitive information."
 msgstr ""
 "Вы обращаетесь к этому терминалу через небезопасное HTTP-соединение в "
 "домене, отличном от localhost. Это может раскрыть конфиденциальную "
@@ -5123,8 +5089,7 @@ msgid ""
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:81
-msgid ""
-"You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
+msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:94
@@ -5159,8 +5124,8 @@ msgstr ""
 
 #~ msgid ""
 #~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
-#~ "Docker Image, please make sure the docker socket is mounted like this: `-"
-#~ "v /var/run/docker.sock:/var/run/docker.sock`."
+#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
+#~ "/var/run/docker.sock:/var/run/docker.sock`."
 #~ msgstr ""
 #~ "Проверьте, существует ли /var/run/docker.sock. Если вы используете "
 #~ "официальный образ Docker Nginx UI, убедитесь, что сокет Docker подключен "
@@ -5174,8 +5139,7 @@ msgstr ""
 #~ msgstr "Ошибка формата %{msg}"
 
 #~ msgid "Failed to save, syntax error(s) was detected in the configuration."
-#~ msgstr ""
-#~ "Не удалось сохранить, обнаружены синтаксические ошибки в конфигурации."
+#~ msgstr "Не удалось сохранить, обнаружены синтаксические ошибки в конфигурации."
 
 #, fuzzy
 #~ msgid "Access Token"
@@ -5238,16 +5202,13 @@ msgstr ""
 #~ "Синхронизация конфигурации %{cert_name} с %{env_name} не удалась, "
 #~ "пожалуйста, обновите удаленный Nginx UI до последней версии"
 
-#~ msgid ""
-#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: "
-#~ "%{resp}"
+#~ msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 #~ msgstr ""
-#~ "Переименование %{orig_path} в %{new_path} на %{env_name} не удалось, "
-#~ "ответ: %{resp}"
+#~ "Переименование %{orig_path} в %{new_path} на %{env_name} не удалось, ответ: "
+#~ "%{resp}"
 
 #, fuzzy
-#~ msgid ""
-#~ "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+#~ msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
 #~ msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно"
 
 #, fuzzy
@@ -5263,16 +5224,15 @@ msgstr ""
 #~ "Синхронизация сертификата %{cert_name} с %{env_name} не удалась, "
 #~ "пожалуйста, обновите удаленный интерфейс Nginx до последней версии"
 
-#~ msgid ""
-#~ "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
+#~ msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
 #~ msgstr ""
 #~ "Синхронизация сертификата %{cert_name} с %{env_name} не удалась, ответ: "
 #~ "%{resp}"
 
 #~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 #~ msgstr ""
-#~ "Синхронизация конфигурации %{config_name} с %{env_name} не удалась, "
-#~ "ответ: %{resp}"
+#~ "Синхронизация конфигурации %{config_name} с %{env_name} не удалась, ответ: "
+#~ "%{resp}"
 
 #~ msgid "Target"
 #~ msgstr "Цель"
@@ -5281,8 +5241,8 @@ msgstr ""
 #~ msgstr "Файл"
 
 #~ msgid ""
-#~ "If you lose your mobile phone, you can use the recovery code to reset "
-#~ "your 2FA."
+#~ "If you lose your mobile phone, you can use the recovery code to reset your "
+#~ "2FA."
 #~ msgstr ""
 #~ "Если вы потеряете свой мобильный телефон, вы можете использовать код "
 #~ "восстановления для сброса 2FA."
@@ -5296,11 +5256,10 @@ msgstr ""
 #~ msgid "Server error"
 #~ msgstr "Ошибка сервера"
 
-#~ msgid ""
-#~ "The recovery code is only displayed once, please save it in a safe place."
+#~ msgid "The recovery code is only displayed once, please save it in a safe place."
 #~ msgstr ""
-#~ "Код восстановления отображается только один раз, пожалуйста, сохраните "
-#~ "его в безопасном месте."
+#~ "Код восстановления отображается только один раз, пожалуйста, сохраните его "
+#~ "в безопасном месте."
 
 #~ msgid "Too many login failed attempts, please try again later"
 #~ msgstr "Слишком много неудачных попыток входа, попробуйте позже"

文件差异内容过多而无法显示
+ 151 - 215
app/src/language/tr_TR/app.po


文件差异内容过多而无法显示
+ 161 - 185
app/src/language/uk_UA/app.po


文件差异内容过多而无法显示
+ 165 - 288
app/src/language/vi_VN/app.po


+ 103 - 169
app/src/language/zh_CN/app.po

@@ -5,11 +5,11 @@ msgstr ""
 "POT-Creation-Date: \n"
 "PO-Revision-Date: 2025-04-30 09:20+0800\n"
 "Last-Translator: 0xJacky <me@jackyu.cn>\n"
-"Language-Team: Chinese (Simplified Han script) <https://weblate.nginxui.com/"
-"projects/nginx-ui/frontend/zh_Hans/>\n"
+"Language-Team: Chinese (Simplified Han script) "
+"<https://weblate.nginxui.com/projects/nginx-ui/frontend/zh_Hans/>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 3.6\n"
@@ -32,8 +32,7 @@ msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] 证书成功撤销"
 
 #: src/language/generate.ts:25
-msgid ""
-"[Nginx UI] Certificate was used for server, reloading server TLS certificate"
+msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr "[Nginx UI] 证书已用于服务器,正在重新加载服务器 TLS 证书"
 
 #: src/language/generate.ts:49
@@ -530,9 +529,7 @@ msgstr "CADir"
 msgid ""
 "Calculated based on worker_processes * worker_connections. Actual "
 "performance depends on hardware, configuration, and workload"
-msgstr ""
-"基于 worker_processes * worker_connections 计算得出。实际性能取决于硬件、配置"
-"和工作负载"
+msgstr "基于 worker_processes * worker_connections 计算得出。实际性能取决于硬件、配置和工作负载"
 
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/NgxConfigEditor/NgxServer.vue:54
@@ -691,9 +688,7 @@ msgstr "重新检查"
 msgid ""
 "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
 "prevents using Passkeys and clipboard features"
-msgstr ""
-"检查是否启用了 HTTPS。在本地主机之外使用 HTTP 是不安全的,这也会导致无法使用 "
-"Passkey 和剪贴板功能"
+msgstr "检查是否启用了 HTTPS。在本地主机之外使用 HTTP 是不安全的,这也会导致无法使用 Passkey 和剪贴板功能"
 
 #: src/language/generate.ts:28
 msgid "Check if the docker socket exists."
@@ -739,8 +734,8 @@ msgstr "检查 sites-available 和 sites-enabled 目录是否位于 Nginx 配置
 
 #: src/language/generate.ts:32
 msgid ""
-"Check if the streams-available and streams-enabled directories are under the "
-"nginx configuration directory"
+"Check if the streams-available and streams-enabled directories are under "
+"the nginx configuration directory"
 msgstr "检查 Nginx 配置目录下是否有 streams-available 和 streams-enabled 目录"
 
 #: src/constants/errors/crypto.ts:3
@@ -967,8 +962,7 @@ msgstr "创建文件夹"
 msgid ""
 "Create system backups including Nginx configuration and Nginx UI settings. "
 "Backup files will be automatically downloaded to your computer."
-msgstr ""
-"创建系统备份,包括 Nginx 配置和 Nginx UI 设置。备份文件将自动下载到你的电脑。"
+msgstr "创建系统备份,包括 Nginx 配置和 Nginx UI 设置。备份文件将自动下载到你的电脑。"
 
 #: src/views/environments/group/columns.ts:31
 #: src/views/notification/notificationColumns.tsx:45
@@ -1140,7 +1134,7 @@ msgstr "详情"
 
 #: src/views/system/Upgrade.vue:211
 msgid "Dev"
-msgstr ""
+msgstr "开发版"
 
 #: src/views/system/About.vue:28
 msgid "Development Mode"
@@ -1351,9 +1345,7 @@ msgstr "试运行模式已启动"
 msgid ""
 "Due to the security policies of some browsers, you cannot use passkeys on "
 "non-HTTPS websites, except when running on localhost."
-msgstr ""
-"由于某些浏览器的安全策略,除非在 localhost 上使用,否则不能在非 HTTPS 网站上"
-"使用 Passkey。"
+msgstr "由于某些浏览器的安全策略,除非在 localhost 上使用,否则不能在非 HTTPS 网站上使用 Passkey。"
 
 #: src/views/site/site_list/SiteDuplicate.vue:72
 #: src/views/site/site_list/SiteList.vue:103
@@ -2045,9 +2037,7 @@ msgstr "如果留空,则使用默认 CA Dir。"
 msgid ""
 "If the number of login failed attempts from a ip reach the max attempts in "
 "ban threshold minutes, the ip will be banned for a period of time."
-msgstr ""
-"如果某个 IP 的登录失败次数达到禁用阈值分钟内的最大尝试次数,该 IP 将被禁止登"
-"录一段时间。"
+msgstr "如果某个 IP 的登录失败次数达到禁用阈值分钟内的最大尝试次数,该 IP 将被禁止登录一段时间。"
 
 #: src/components/AutoCertForm/AutoCertForm.vue:116
 msgid ""
@@ -2231,8 +2221,7 @@ msgstr "Jwt 密钥"
 msgid ""
 "Keep your recovery codes as safe as your password. We recommend saving them "
 "with a password manager."
-msgstr ""
-"请像保护密码一样安全地保管您的恢复代码。我们建议使用密码管理器保存它们。"
+msgstr "请像保护密码一样安全地保管您的恢复代码。我们建议使用密码管理器保存它们。"
 
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60
 msgid "Keepalive Timeout"
@@ -2362,8 +2351,8 @@ msgstr "日志"
 #: src/language/generate.ts:29
 msgid ""
 "Log file %{log_path} is not a regular file. If you are using nginx-ui in "
-"docker container, please refer to https://nginxui.com/zh_CN/guide/config-"
-"nginx-log.html for more information."
+"docker container, please refer to "
+"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
 msgstr ""
 "日志文件 %{log_path} 不是常规文件。如果在 Docker 容器中使用 Nginx UI,请参阅 "
 "https://nginxui.com/zh_CN/guide/config-nginx-log.html 获取更多信息。"
@@ -2390,17 +2379,16 @@ msgstr "Logrotate"
 
 #: src/views/preference/tabs/LogrotateSettings.vue:13
 msgid ""
-"Logrotate, by default, is enabled in most mainstream Linux distributions for "
-"users who install Nginx UI on the host machine, so you don't need to modify "
-"the parameters on this page. For users who install Nginx UI using Docker "
-"containers, you can manually enable this option. The crontab task scheduler "
-"of Nginx UI will execute the logrotate command at the interval you set in "
-"minutes."
+"Logrotate, by default, is enabled in most mainstream Linux distributions "
+"for users who install Nginx UI on the host machine, so you don't need to "
+"modify the parameters on this page. For users who install Nginx UI using "
+"Docker containers, you can manually enable this option. The crontab task "
+"scheduler of Nginx UI will execute the logrotate command at the interval "
+"you set in minutes."
 msgstr ""
-"对于在宿主机上安装 Nginx UI 的用户,大多数主流 Linux 发行版都默认启用 "
-"logrotate 定时任务,因此您无需修改本页面的参数。对于使用 Docker 容器安装 "
-"Nginx 用户界面的用户,您可以手动启用该选项。Nginx UI 的定时任务任务调度器将按"
-"照您设置的时间间隔(以分钟为单位)执行 logrotate 命令。"
+"对于在宿主机上安装 Nginx UI 的用户,大多数主流 Linux 发行版都默认启用 logrotate "
+"定时任务,因此您无需修改本页面的参数。对于使用 Docker 容器安装 Nginx 用户界面的用户,您可以手动启用该选项。Nginx UI "
+"的定时任务任务调度器将按照您设置的时间间隔(以分钟为单位)执行 logrotate 命令。"
 
 #: src/views/site/components/SiteStatusSegmented.vue:138
 #: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:68
@@ -2420,9 +2408,7 @@ msgstr "成功启用维护模式"
 msgid ""
 "Make sure you have configured a reverse proxy for .well-known directory to "
 "HTTPChallengePort before obtaining the certificate."
-msgstr ""
-"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 "
-"HTTPChallengePort。"
+msgstr "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 HTTPChallengePort。"
 
 #: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115
 #: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72
@@ -2811,8 +2797,8 @@ msgstr "Nginx 用户界面配置已恢复"
 
 #: src/components/SystemRestore/SystemRestoreContent.vue:336
 msgid ""
-"Nginx UI configuration has been restored and will restart automatically in a "
-"few seconds."
+"Nginx UI configuration has been restored and will restart automatically in "
+"a few seconds."
 msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。"
 
 #: src/language/generate.ts:15
@@ -3091,9 +3077,7 @@ msgid ""
 "Passkeys are webauthn credentials that validate your identity using touch, "
 "facial recognition, a device password, or a PIN. They can be used as a "
 "password replacement or as a 2FA method."
-msgstr ""
-"Passkey 是一种网络认证凭据,可通过指纹、面部识别、设备密码或 PIN 码验证身份。"
-"它们可用作密码替代品或二步验证方法。"
+msgstr "Passkey 是一种网络认证凭据,可通过指纹、面部识别、设备密码或 PIN 码验证身份。它们可用作密码替代品或二步验证方法。"
 
 #: src/views/other/Login.vue:183 src/views/user/userColumns.tsx:18
 msgid "Password"
@@ -3197,15 +3181,13 @@ msgstr "请填写必填字段"
 msgid ""
 "Please first add credentials in Certification > DNS Credentials, and then "
 "select one of the credentialsbelow to request the API of the DNS provider."
-msgstr ""
-"请首先在 “证书”> “DNS 凭证” 中添加凭证,然后在下方选择一个凭证,请求 DNS 提供"
-"商的 API。"
+msgstr "请首先在 “证书”> “DNS 凭证” 中添加凭证,然后在下方选择一个凭证,请求 DNS 提供商的 API。"
 
 #: src/components/Notification/notifications.ts:166
 #: src/language/constants.ts:59
 msgid ""
-"Please generate new recovery codes in the preferences immediately to prevent "
-"lockout."
+"Please generate new recovery codes in the preferences immediately to "
+"prevent lockout."
 msgstr "请立即在偏好设置中生成新的恢复码,以防止无法访问您的账户。"
 
 #: src/views/config/components/Rename.vue:65
@@ -3247,8 +3229,7 @@ msgid "Please log in."
 msgstr "请登录。"
 
 #: src/views/certificate/DNSCredential.vue:62
-msgid ""
-"Please note that the unit of time configurations below are all in seconds."
+msgid "Please note that the unit of time configurations below are all in seconds."
 msgstr "请注意,下面的时间单位配置均以秒为单位。"
 
 #: src/views/install/components/InstallView.vue:100
@@ -3380,9 +3361,7 @@ msgstr "恢复代码"
 msgid ""
 "Recovery codes are used to access your account when you lose access to your "
 "2FA device. Each code can only be used once."
-msgstr ""
-"恢复代码用于在您无法访问双重身份验证设备时登录您的账户。每个代码只能使用一"
-"次。"
+msgstr "恢复代码用于在您无法访问双重身份验证设备时登录您的账户。每个代码只能使用一次。"
 
 #: src/views/preference/tabs/CertSettings.vue:40
 msgid "Recursive Nameservers"
@@ -3608,9 +3587,7 @@ msgid ""
 "Resident Set Size: Actual memory resident in physical memory, including all "
 "shared library memory, which will be repeated calculated for multiple "
 "processes"
-msgstr ""
-"驻留集大小:实际驻留在物理内存中的内存,包括所有共享库内存,将为多个进程重复"
-"计算"
+msgstr "驻留集大小:实际驻留在物理内存中的内存,包括所有共享库内存,将为多个进程重复计算"
 
 #: src/composables/usePerformanceMetrics.ts:109
 #: src/views/dashboard/components/PerformanceTablesCard.vue:68
@@ -3884,19 +3861,19 @@ msgstr "使用 HTTP01 challenge provider"
 
 #: src/constants/errors/nginx_log.ts:8
 msgid ""
-"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
-"Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 https://nginxui."
-"com/guide/config-nginx.html"
+"Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 "
+"https://nginxui.com/guide/config-nginx.html"
 
 #: src/constants/errors/nginx_log.ts:7
 msgid ""
-"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui."
-"com/guide/config-nginx.html for more information"
+"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
+"https://nginxui.com/guide/config-nginx.html for more information"
 msgstr ""
-"Settings.NginxLogSettings.ErrorLogPath为空,更多信息请参阅 https://nginxui."
-"com/guide/config-nginx.html"
+"Settings.NginxLogSettings.ErrorLogPath为空,更多信息请参阅 "
+"https://nginxui.com/guide/config-nginx.html"
 
 #: src/views/install/components/InstallView.vue:64
 msgid "Setup your Nginx UI"
@@ -4074,9 +4051,9 @@ msgstr "成功"
 #: src/components/SelfCheck/tasks/frontend/websocket.ts:13
 msgid ""
 "Support communication with the backend through the WebSocket protocol. If "
-"your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
-"link to write the corresponding configuration file: https://nginxui.com/"
-"guide/nginx-proxy-example.html"
+"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
+"this link to write the corresponding configuration file: "
+"https://nginxui.com/guide/nginx-proxy-example.html"
 msgstr ""
 "支持通过 WebSocket 协议与后端通信,如果您正在使用 Nginx 反向代理了 Nginx UI "
 "请参考:https://nginxui.com/guide/nginx-proxy-example.html 编写配置文件"
@@ -4210,9 +4187,7 @@ msgid ""
 "The certificate for the domain will be checked 30 minutes, and will be "
 "renewed if it has been more than 1 week or the period you set in settings "
 "since it was last issued."
-msgstr ""
-"域名证书将在 30 分钟内接受检查,如果距离上次签发证书的时间超过 1 周或您在设置"
-"中设定的时间,证书将被更新。"
+msgstr "域名证书将在 30 分钟内接受检查,如果距离上次签发证书的时间超过 1 周或您在设置中设定的时间,证书将被更新。"
 
 #: src/views/install/components/InstallForm.vue:48
 msgid "The filename cannot contain the following characters: %{c}"
@@ -4234,7 +4209,8 @@ msgstr "输入的内容不是 SSL 证书密钥"
 
 #: src/constants/errors/nginx_log.ts:2
 msgid ""
-"The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
+"The log path is not under the paths in "
+"settings.NginxSettings.LogDirWhiteList"
 msgstr "日志路径不在 settings.NginxSettings.LogDirWhiteList 中的路径之下"
 
 #: src/views/preference/tabs/OpenAISettings.vue:23
@@ -4245,8 +4221,7 @@ msgid ""
 msgstr "模型名称只能包含字母、单码、数字、连字符、破折号、冒号和点。"
 
 #: src/views/preference/tabs/OpenAISettings.vue:90
-msgid ""
-"The model used for code completion, if not set, the chat model will be used."
+msgid "The model used for code completion, if not set, the chat model will be used."
 msgstr "用于代码自动补全的模型,如果未设置,则使用聊天模型。"
 
 #: src/views/preference/tabs/NodeSettings.vue:18
@@ -4278,9 +4253,7 @@ msgid ""
 "The remote Nginx UI version is not compatible with the local Nginx UI "
 "version. To avoid potential errors, please upgrade the remote Nginx UI to "
 "match the local version."
-msgstr ""
-"远程 Nginx UI 版本与本地 Nginx UI版本不兼容。为避免意料之外的错误,请升级远"
-"程 Nginx UI,使其与本地版本一致。"
+msgstr "远程 Nginx UI 版本与本地 Nginx UI版本不兼容。为避免意料之外的错误,请升级远程 Nginx UI,使其与本地版本一致。"
 
 #: src/components/AutoCertForm/AutoCertForm.vue:43
 msgid ""
@@ -4315,9 +4288,7 @@ msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "your password and second factors. If you cannot find these codes, you will "
 "lose access to your account."
-msgstr ""
-"这些代码是在您丢失密码和双重身份验证方式时,访问账户的最后手段。如果找不到这"
-"些代码,您将无法再访问您的账户。"
+msgstr "这些代码是在您丢失密码和双重身份验证方式时,访问账户的最后手段。如果找不到这些代码,您将无法再访问您的账户。"
 
 #: src/views/certificate/CertificateEditor.vue:102
 msgid "This Auto Cert item is invalid, please remove it."
@@ -4347,8 +4318,7 @@ msgid "This field should not be empty"
 msgstr "该字段不能为空"
 
 #: src/constants/form_errors.ts:6
-msgid ""
-"This field should only contain letters, unicode characters, numbers, and -_."
+msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "该字段只能包含字母、unicode 字符、数字和 -_。"
 
 #: src/views/dashboard/NginxDashBoard.vue:150
@@ -4388,8 +4358,7 @@ msgid ""
 msgstr "这将恢复配置文件和数据库。恢复完成后,Nginx UI 将重新启动。"
 
 #: src/views/environments/list/BatchUpgrader.vue:182
-msgid ""
-"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
+msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
 msgstr "将 %{nodeNames} 上的 Nginx UI 升级或重新安装到 %{version} 版本。"
 
 #: src/views/preference/tabs/AuthSettings.vue:124
@@ -4406,8 +4375,7 @@ msgstr "提示"
 msgid ""
 "Tips: You can increase the concurrency processing capacity by increasing "
 "worker_processes or worker_connections"
-msgstr ""
-"提示您可以通过增加 worker_processes 或 worker_connections 来提高并发处理能力"
+msgstr "提示您可以通过增加 worker_processes 或 worker_connections 来提高并发处理能力"
 
 #: src/views/notification/notificationColumns.tsx:52
 msgid "Title"
@@ -4421,28 +4389,25 @@ msgstr "要确认撤销,请在下面的字段中输入 \"撤销\":"
 msgid ""
 "To enable it, you need to install the Google or Microsoft Authenticator app "
 "on your mobile phone."
-msgstr ""
-"要启用该功能,您需要在手机上安装 Google 或 Microsoft Authenticator 应用程序。"
+msgstr "要启用该功能,您需要在手机上安装 Google 或 Microsoft Authenticator 应用程序。"
 
 #: src/views/preference/components/AuthSettings/AddPasskey.vue:89
 msgid ""
 "To ensure security, Webauthn configuration cannot be added through the UI. "
 "Please manually configure the following in the app.ini configuration file "
 "and restart Nginx UI."
-msgstr ""
-"为确保安全,Webauthn 配置不能通过用户界面添加。请在 app.ini 配置文件中手动配"
-"置以下内容,并重启 Nginx UI 服务。"
+msgstr "为确保安全,Webauthn 配置不能通过用户界面添加。请在 app.ini 配置文件中手动配置以下内容,并重启 Nginx UI 服务。"
 
 #: src/views/site/site_edit/components/Cert/IssueCert.vue:34
 #: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
 msgid ""
 "To make sure the certification auto-renewal can work normally, we need to "
-"add a location which can proxy the request from authority to backend, and we "
-"need to save this file and reload the Nginx. Are you sure you want to "
+"add a location which can proxy the request from authority to backend, and "
+"we need to save this file and reload the Nginx. Are you sure you want to "
 "continue?"
 msgstr ""
-"为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的"
-"请求的 Location,并且我们需要保存这个文件并重新加载Nginx。你确定要继续吗?"
+"为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的请求的 "
+"Location,并且我们需要保存这个文件并重新加载Nginx。你确定要继续吗?"
 
 #: src/views/preference/tabs/OpenAISettings.vue:36
 msgid ""
@@ -4450,8 +4415,8 @@ msgid ""
 "provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
 "local API."
 msgstr ""
-"要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 "
-"OpenAI 兼容的 API 端点,因此只需将 baseUrl 设置为本地 API 即可。"
+"要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 OpenAI 兼容的 API 端点,因此只需将 "
+"baseUrl 设置为本地 API 即可。"
 
 #: src/views/dashboard/NginxDashBoard.vue:55
 msgid "Toggle failed"
@@ -4677,9 +4642,7 @@ msgid ""
 "Warning: Restore operation will overwrite current configurations. Make sure "
 "you have a valid backup file and security token, and carefully select what "
 "to restore."
-msgstr ""
-"警告:还原操作将覆盖当前配置。请确保您有有效的备份文件和安全令牌,并仔细选择"
-"要还原的内容。"
+msgstr "警告:还原操作将覆盖当前配置。请确保您有有效的备份文件和安全令牌,并仔细选择要还原的内容。"
 
 #: src/views/certificate/DNSCredential.vue:56
 msgid ""
@@ -4689,10 +4652,9 @@ msgstr "我们将在您域名的 DNS 记录中添加一个或多个 TXT 记录
 
 #: src/views/site/site_edit/components/Cert/ObtainCert.vue:140
 msgid ""
-"We will remove the HTTPChallenge configuration from this file and reload the "
-"Nginx. Are you sure you want to continue?"
-msgstr ""
-"我们将从这个文件中删除HTTPChallenge的配置,并重新加载Nginx。你确定要继续吗?"
+"We will remove the HTTPChallenge configuration from this file and reload "
+"the Nginx. Are you sure you want to continue?"
+msgstr "我们将从这个文件中删除HTTPChallenge的配置,并重新加载Nginx。你确定要继续吗?"
 
 #: src/views/preference/tabs/AuthSettings.vue:97
 msgid "Webauthn"
@@ -4711,18 +4673,14 @@ msgid ""
 "When Enabled, Nginx UI will automatically re-register users upon startup. "
 "Generally, do not enable this unless you are in a dev environment and using "
 "Pebble as CA."
-msgstr ""
-"启用后,Nginx UI 将在启动时自动重新注册用户。一般情况下,除非在开发环境中使"
-"用 Pebble 作为 CA,否则不要启用此功能。"
+msgstr "启用后,Nginx UI 将在启动时自动重新注册用户。一般情况下,除非在开发环境中使用 Pebble 作为 CA,否则不要启用此功能。"
 
 #: src/views/site/site_edit/components/RightPanel/Basic.vue:61
 #: src/views/stream/components/RightPanel/Basic.vue:95
 msgid ""
 "When you enable/disable, delete, or save this site, the nodes set in the "
 "Node Group and the nodes selected below will be synchronized."
-msgstr ""
-"启用/禁用、删除或保存此站点时,环境组中设置的节点和下面选择的节点将同步执行操"
-"作。"
+msgstr "启用/禁用、删除或保存此站点时,环境组中设置的节点和下面选择的节点将同步执行操作。"
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:140
 msgid ""
@@ -4778,10 +4736,9 @@ msgstr "是的"
 
 #: src/views/terminal/Terminal.vue:135
 msgid ""
-"You are accessing this terminal over an insecure HTTP connection on a non-"
-"localhost domain. This may expose sensitive information."
-msgstr ""
-"您正在通过非本地主机域上的不安全 HTTP 连接访问此终端。这可能会暴露敏感信息。"
+"You are accessing this terminal over an insecure HTTP connection on a "
+"non-localhost domain. This may expose sensitive information."
+msgstr "您正在通过非本地主机域上的不安全 HTTP 连接访问此终端。这可能会暴露敏感信息。"
 
 #: src/views/system/Upgrade.vue:219
 msgid "You are using the latest version"
@@ -4806,8 +4763,7 @@ msgid ""
 msgstr "您尚未配置 Webauthn 的设置,因此无法添加 Passkey。"
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:81
-msgid ""
-"You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
+msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
 msgstr "您尚未启用双重身份验证。请启用双重身份验证以生成恢复代码。"
 
 #: src/views/preference/components/AuthSettings/RecoveryCodes.vue:94
@@ -4838,9 +4794,7 @@ msgstr "你的 Passkeys"
 #~ msgid ""
 #~ "If logs are not indexed, please check if the log file is under the "
 #~ "directory in Nginx.LogDirWhiteList."
-#~ msgstr ""
-#~ "如果日志未被索引,请检查日志文件是否位于 Nginx.LogDirWhiteList 中的目录"
-#~ "下。"
+#~ msgstr "如果日志未被索引,请检查日志文件是否位于 Nginx.LogDirWhiteList 中的目录下。"
 
 #~ msgid "Indexed"
 #~ msgstr "已索引"
@@ -4850,12 +4804,11 @@ msgstr "你的 Passkeys"
 
 #~ msgid ""
 #~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
-#~ "Docker Image, please make sure the docker socket is mounted like this: `-"
-#~ "v /var/run/docker.sock:/var/run/docker.sock`."
+#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
+#~ "/var/run/docker.sock:/var/run/docker.sock`."
 #~ msgstr ""
-#~ "检查 /var/run/docker.sock 是否存在。如果你使用的是 Nginx UI 官方 Docker "
-#~ "Image,请确保 Docker Socket 像这样挂载:`-v /var/run/docker.sock:/var/run/"
-#~ "docker.sock`."
+#~ "检查 /var/run/docker.sock 是否存在。如果你使用的是 Nginx UI 官方 Docker Image,请确保 Docker "
+#~ "Socket 像这样挂载:`-v /var/run/docker.sock:/var/run/docker.sock`."
 
 #~ msgid "Docker Socket"
 #~ msgstr "Docker Socket"
@@ -4879,11 +4832,9 @@ msgstr "你的 Passkeys"
 #~ msgstr "保存失败,在配置中检测到语法错误。"
 
 #~ msgid ""
-#~ "When you enable/disable, delete, or save this stream, the nodes set in "
-#~ "the Node Group and the nodes selected below will be synchronized."
-#~ msgstr ""
-#~ "启用/禁用、删除或保存此站点时,环境组中设置的节点和下面选择的节点将同步执"
-#~ "行操作。"
+#~ "When you enable/disable, delete, or save this stream, the nodes set in the "
+#~ "Node Group and the nodes selected below will be synchronized."
+#~ msgstr "启用/禁用、删除或保存此站点时,环境组中设置的节点和下面选择的节点将同步执行操作。"
 
 #~ msgid "KB"
 #~ msgstr "KB"
@@ -4970,16 +4921,11 @@ msgstr "你的 Passkeys"
 #~ msgid "Please upgrade the remote Nginx UI to the latest version"
 #~ msgstr "请将远程 Nginx UI 升级到最新版本"
 
-#~ msgid ""
-#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: "
-#~ "%{resp}"
-#~ msgstr ""
-#~ "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,响应:%{resp}"
+#~ msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
+#~ msgstr "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,响应:%{resp}"
 
-#~ msgid ""
-#~ "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
-#~ msgstr ""
-#~ "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 失败,响应:%{resp}"
+#~ msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+#~ msgstr "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 失败,响应:%{resp}"
 
 #~ msgid "Save site %{site} to %{node} error, response: %{resp}"
 #~ msgstr "保存站点 %{site} 到 %{node} 错误,响应: %{resp}"
@@ -4987,12 +4933,9 @@ msgstr "你的 Passkeys"
 #~ msgid ""
 #~ "Sync Certificate %{cert_name} to %{env_name} failed, please upgrade the "
 #~ "remote Nginx UI to the latest version"
-#~ msgstr ""
-#~ "同步证书 %{cert_name} 到 %{env_name} 失败,请先将远程的 Nginx UI 升级到最"
-#~ "新版本"
+#~ msgstr "同步证书 %{cert_name} 到 %{env_name} 失败,请先将远程的 Nginx UI 升级到最新版本"
 
-#~ msgid ""
-#~ "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
+#~ msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
 #~ msgstr "同步证书 %{cert_name} 到 %{env_name} 失败,响应:%{resp}"
 
 #~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -5002,15 +4945,14 @@ msgstr "你的 Passkeys"
 #~ msgstr "目标"
 
 #~ msgid ""
-#~ "If you lose your mobile phone, you can use the recovery code to reset "
-#~ "your 2FA."
+#~ "If you lose your mobile phone, you can use the recovery code to reset your "
+#~ "2FA."
 #~ msgstr "如果丢失了手机,可以使用恢复代码重置二步验证。"
 
 #~ msgid "Recovery Code:"
 #~ msgstr "恢复代码:"
 
-#~ msgid ""
-#~ "The recovery code is only displayed once, please save it in a safe place."
+#~ msgid "The recovery code is only displayed once, please save it in a safe place."
 #~ msgstr "恢复密码只会显示一次,请妥善保存。"
 
 #~ msgid "Can't scan? Use text key binding"
@@ -5031,9 +4973,7 @@ msgstr "你的 Passkeys"
 #~ msgid ""
 #~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
 #~ "the remote Nginx UI to the latest version"
-#~ msgstr ""
-#~ "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,请将远程 "
-#~ "Nginx UI 升级到最新版本"
+#~ msgstr "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,请将远程 Nginx UI 升级到最新版本"
 
 #~ msgid "Server Name"
 #~ msgstr "服务器名称"
@@ -5110,9 +5050,8 @@ msgstr "你的 Passkeys"
 #~ "Once the verification is complete, the records will be removed.\n"
 #~ "Please note that the unit of time configurations below are all in seconds."
 #~ msgstr ""
-#~ "请填写您的DNS提供商提供的API认证凭证。我们将在你的域名的DNS记录中添加一个"
-#~ "或多个TXT记录,以进行所有权验证。一旦验证完成,这些记录将被删除。请注意,"
-#~ "下面的时间配置都是以秒为单位。"
+#~ "请填写您的DNS提供商提供的API认证凭证。我们将在你的域名的DNS记录中添加一个或多个TXT记录,以进行所有权验证。一旦验证完成,这些记录将被删除。请"
+#~ "注意,下面的时间配置都是以秒为单位。"
 
 #~ msgid "Delete ID: %{id}"
 #~ msgstr "删除 ID: %{id}"
@@ -5133,11 +5072,11 @@ msgstr "你的 Passkeys"
 #~ msgstr "操作同步"
 
 #~ msgid ""
-#~ "Such as Reload and Configs, regex can configure as `/api/nginx/reload|/"
-#~ "api/nginx/test|/api/config/.+`, please see system api"
+#~ "Such as Reload and Configs, regex can configure as "
+#~ "`/api/nginx/reload|/api/nginx/test|/api/config/.+`, please see system api"
 #~ msgstr ""
-#~ "`重载`和`配置管理`的操作同步正则可以配置为`/api/nginx/reload|/api/nginx/"
-#~ "test|/api/config/.+`,详细请查看系统API"
+#~ "`重载`和`配置管理`的操作同步正则可以配置为`/api/nginx/reload|/api/nginx/test|/api/config/.+`"
+#~ ",详细请查看系统API"
 
 #~ msgid "SyncApiRegex"
 #~ msgstr "Api正则表达式"
@@ -5155,11 +5094,9 @@ msgstr "你的 Passkeys"
 #~ msgstr "你想启用自动更新证书吗?"
 
 #~ msgid ""
-#~ "We need to add the HTTPChallenge configuration to this file and reload "
-#~ "the Nginx. Are you sure you want to continue?"
-#~ msgstr ""
-#~ "我们需要将 HTTPChallenge 的配置添加到这个文件中,并重新加载Nginx。你确定要"
-#~ "继续吗?"
+#~ "We need to add the HTTPChallenge configuration to this file and reload the "
+#~ "Nginx. Are you sure you want to continue?"
+#~ msgstr "我们需要将 HTTPChallenge 的配置添加到这个文件中,并重新加载Nginx。你确定要继续吗?"
 
 #~ msgid "Chat with ChatGPT"
 #~ msgstr "与ChatGPT聊天"
@@ -5212,8 +5149,8 @@ msgstr "你的 Passkeys"
 #~ "you do not have a certificate before, please click \"Getting Certificate "
 #~ "from Let's Encrypt\" first."
 #~ msgstr ""
-#~ "系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续"
-#~ "签。<br/>如果您之前没有证书,请先点击 \"从 Let's Encrypt 获取证书\"。"
+#~ "系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续签。<br/>如果您之前没有证书,请先点击 \"从 Let's Encrypt "
+#~ "获取证书\"。"
 
 #~ msgid "Do you want to change the template to support the TLS?"
 #~ msgstr "你想要改变模板以支持 TLS 吗?"
@@ -5231,15 +5168,12 @@ msgstr "你的 Passkeys"
 #~ "The following values will only take effect if you have the corresponding "
 #~ "fields in your configuration file. The configuration filename cannot be "
 #~ "changed after it has been created."
-#~ msgstr ""
-#~ "只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不"
-#~ "可修改。"
+#~ msgstr "只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不可修改。"
 
 #~ msgid "This operation will lose the custom configuration."
 #~ msgstr "该操作将会丢失自定义配置。"
 
-#~ msgid ""
-#~ "Add site here first, then you can configure TLS on the domain edit page."
+#~ msgid "Add site here first, then you can configure TLS on the domain edit page."
 #~ msgstr "在这里添加站点,完成后可进入编辑页面配置 TLS。"
 
 #~ msgid "Server Status"

文件差异内容过多而无法显示
+ 138 - 216
app/src/language/zh_TW/app.po


部分文件因为文件数量过多而无法显示