refactor: reorganize self-check tasks and improve task management

- Moved self-check tasks into a structured task manager for better organization.
- Added frontend and backend task definitions with improved error handling.
- Updated SelfCheck.vue to utilize the new task manager for running checks and fixing tasks.
- Introduced HTTPS check task to ensure secure connections and warn about HTTP usage outside localhost.
- Enhanced WebSocket task to verify connection status with improved error reporting.
This commit is contained in:
Jacky 2025-04-02 03:08:41 +00:00
parent 75ad23f1fd
commit 83c9af8cad
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
19 changed files with 601 additions and 200 deletions

View file

@ -218,7 +218,7 @@ msgstr "اطلب المساعدة من ChatGPT"
msgid "Assistant" msgid "Assistant"
msgstr "المساعد" msgstr "المساعد"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
#, fuzzy #, fuzzy
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "محاولات" msgstr "محاولات"
@ -463,21 +463,27 @@ msgstr "قناة"
msgid "Check again" msgid "Check again"
msgstr "تحقق مرة أخرى" msgstr "تحقق مرة أخرى"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1524,6 +1530,10 @@ msgstr "منفذ تحدي HTTP"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -1955,11 +1965,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "مسار سجل الوصول لـ Nginx" msgstr "مسار سجل الوصول لـ Nginx"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2455,7 +2465,7 @@ msgstr "يقرأ"
msgid "Receive" msgid "Receive"
msgstr "يستقبل" msgstr "يستقبل"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2822,7 +2832,7 @@ msgstr "رمز 2FA أو الاسترداد غير صالح"
msgid "Selector" msgid "Selector"
msgstr "المحدد" msgstr "المحدد"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -2921,7 +2931,7 @@ msgstr "سجلات الموقع"
msgid "Site not found" msgid "Site not found"
msgstr "لم يتم العثور على الملف" msgstr "لم يتم العثور على الملف"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "مجلد" msgstr "مجلد"
@ -3034,7 +3044,7 @@ msgstr "معطل"
msgid "Stream not found" msgid "Stream not found"
msgstr "لم يتم العثور على الملف" msgstr "لم يتم العثور على الملف"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "مجلد" msgstr "مجلد"
@ -3053,7 +3063,7 @@ msgstr "مجلد"
msgid "Success" msgid "Success"
msgstr "نجاح" msgstr "نجاح"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3441,6 +3451,10 @@ msgstr "يتطلب المصادقة الثنائية"
msgid "Type" msgid "Type"
msgstr "نوع" msgstr "نوع"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
msgid "Update successfully" msgid "Update successfully"
msgstr "تم التحديث بنجاح" msgstr "تم التحديث بنجاح"

View file

@ -232,7 +232,7 @@ msgstr "Frage ChatGPT um Hilfe"
msgid "Assistant" msgid "Assistant"
msgstr "Assistent" msgstr "Assistent"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
#, fuzzy #, fuzzy
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "Versuche" msgstr "Versuche"
@ -480,21 +480,27 @@ msgstr "Kanal"
msgid "Check again" msgid "Check again"
msgstr "Erneut prüfen" msgstr "Erneut prüfen"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1574,6 +1580,10 @@ msgstr ""
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "ICP-Nummer" msgstr "ICP-Nummer"
@ -2032,11 +2042,11 @@ msgstr ""
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx Zugriffslog-Pfad" msgstr "Nginx Zugriffslog-Pfad"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2555,7 +2565,7 @@ msgstr "Aufrufe"
msgid "Receive" msgid "Receive"
msgstr "Empfangen" msgstr "Empfangen"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2948,7 +2958,7 @@ msgstr "Ungültiger 2FA- oder Wiederherstellungscode"
msgid "Selector" msgid "Selector"
msgstr "Auswähler" msgstr "Auswähler"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -3048,7 +3058,7 @@ msgstr "Liste der Seiten"
msgid "Site not found" msgid "Site not found"
msgstr "File Not Found" msgstr "File Not Found"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Anweisung" msgstr "Anweisung"
@ -3165,7 +3175,7 @@ msgstr "Deaktiviert"
msgid "Stream not found" msgid "Stream not found"
msgstr "File Not Found" msgstr "File Not Found"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Anweisung" msgstr "Anweisung"
@ -3182,7 +3192,7 @@ msgstr ""
msgid "Success" msgid "Success"
msgstr "Erfolg" msgstr "Erfolg"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3579,6 +3589,10 @@ msgstr "Zwei-Faktor-Authentifizierung erforderlich"
msgid "Type" msgid "Type"
msgstr "Typ" msgstr "Typ"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -230,7 +230,7 @@ msgstr ""
msgid "Assistant" msgid "Assistant"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "" msgstr ""
@ -474,21 +474,27 @@ msgstr ""
msgid "Check again" msgid "Check again"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1562,6 +1568,10 @@ msgstr ""
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -2011,11 +2021,11 @@ msgstr ""
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2512,7 +2522,7 @@ msgstr "Reads"
msgid "Receive" msgid "Receive"
msgstr "Receive" msgstr "Receive"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2905,7 +2915,7 @@ msgstr "Invalid E-mail!"
msgid "Selector" msgid "Selector"
msgstr "Directive" msgstr "Directive"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -3003,7 +3013,7 @@ msgstr "Sites List"
msgid "Site not found" msgid "Site not found"
msgstr "File Not Found" msgstr "File Not Found"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Directive" msgstr "Directive"
@ -3122,7 +3132,7 @@ msgstr "Disabled"
msgid "Stream not found" msgid "Stream not found"
msgstr "File Not Found" msgstr "File Not Found"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Directive" msgstr "Directive"
@ -3141,7 +3151,7 @@ msgstr "Directive"
msgid "Success" msgid "Success"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3514,6 +3524,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -223,7 +223,7 @@ msgstr "Preguntar por ayuda a ChatGPT"
msgid "Assistant" msgid "Assistant"
msgstr "Asistente" msgstr "Asistente"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
#, fuzzy #, fuzzy
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "Intentos" msgstr "Intentos"
@ -462,21 +462,27 @@ msgstr "Canal"
msgid "Check again" msgid "Check again"
msgstr "Intentar nuevamente" msgstr "Intentar nuevamente"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1525,6 +1531,10 @@ msgstr "Puerto de desafío HTTP"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -1958,11 +1968,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Ruta de registro de acceso de Nginx" msgstr "Ruta de registro de acceso de Nginx"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2476,7 +2486,7 @@ msgstr "Lecturas"
msgid "Receive" msgid "Receive"
msgstr "Recibido" msgstr "Recibido"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2854,7 +2864,7 @@ msgstr "Código 2FA o de recuperación inválido"
msgid "Selector" msgid "Selector"
msgstr "Seleccionador" msgstr "Seleccionador"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -2953,7 +2963,7 @@ msgstr "Registros del sitio"
msgid "Site not found" msgid "Site not found"
msgstr "Archivo no Encontrado" msgstr "Archivo no Encontrado"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Directorio" msgstr "Directorio"
@ -3064,7 +3074,7 @@ msgstr "Certificado automático"
msgid "Stream not found" msgid "Stream not found"
msgstr "Archivo no Encontrado" msgstr "Archivo no Encontrado"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Directorio" msgstr "Directorio"
@ -3082,7 +3092,7 @@ msgstr "Directorio"
msgid "Success" msgid "Success"
msgstr "Éxito" msgstr "Éxito"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3482,6 +3492,10 @@ msgstr "Se requiere autenticación de dos factores"
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -236,7 +236,7 @@ msgstr "Modèle ChatGPT"
msgid "Assistant" msgid "Assistant"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "Tenter de corriger" msgstr "Tenter de corriger"
@ -482,15 +482,21 @@ msgstr "Canal"
msgid "Check again" msgid "Check again"
msgstr "Revérifier" msgstr "Revérifier"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "Vérifie si le nginx.conf inclus le répertoire sites-enabled." msgstr "Vérifie si le nginx.conf inclus le répertoire sites-enabled."
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "Vérifie si le nginx.conf inclus le répertoire streams-enabled." msgstr "Vérifie si le nginx.conf inclus le répertoire streams-enabled."
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -498,7 +504,7 @@ msgstr ""
"Vérifie si les répertoires sites-available et sites-enabled sont dans le " "Vérifie si les répertoires sites-available et sites-enabled sont dans le "
"répertoire de configuration nginx." "répertoire de configuration nginx."
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1586,6 +1592,10 @@ msgstr "Port de challenge HTTP"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -2041,11 +2051,11 @@ msgstr "Journal Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Chemin du journal d'accès Nginx" msgstr "Chemin du journal d'accès Nginx"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2550,7 +2560,7 @@ msgstr "Lectures"
msgid "Receive" msgid "Receive"
msgstr "Recevoir" msgstr "Recevoir"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2940,7 +2950,7 @@ msgstr "Format de la requête invalide"
msgid "Selector" msgid "Selector"
msgstr "Sélecteur" msgstr "Sélecteur"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -3039,7 +3049,7 @@ msgstr "Journaux du site"
msgid "Site not found" msgid "Site not found"
msgstr "Fichier introuvable" msgstr "Fichier introuvable"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Directive" msgstr "Directive"
@ -3156,7 +3166,7 @@ msgstr "Auto Cert"
msgid "Stream not found" msgid "Stream not found"
msgstr "Fichier introuvable" msgstr "Fichier introuvable"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Directive" msgstr "Directive"
@ -3175,7 +3185,7 @@ msgstr "Directive"
msgid "Success" msgid "Success"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3558,6 +3568,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -220,7 +220,7 @@ msgstr "ChatGPT에게 도움 요청"
msgid "Assistant" msgid "Assistant"
msgstr "조수" msgstr "조수"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
#, fuzzy #, fuzzy
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "시도 횟수" msgstr "시도 횟수"
@ -459,21 +459,27 @@ msgstr "채널"
msgid "Check again" msgid "Check again"
msgstr "다시 확인" msgstr "다시 확인"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1525,6 +1531,10 @@ msgstr "HTTP 검증 포트"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -1972,11 +1982,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx 접근 로그 경로" msgstr "Nginx 접근 로그 경로"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2478,7 +2488,7 @@ msgstr "읽기"
msgid "Receive" msgid "Receive"
msgstr "수신" msgstr "수신"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2870,7 +2880,7 @@ msgstr ""
msgid "Selector" msgid "Selector"
msgstr "선택" msgstr "선택"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -2968,7 +2978,7 @@ msgstr "사이트 로그"
msgid "Site not found" msgid "Site not found"
msgstr "파일을 찾을 수 없음" msgstr "파일을 찾을 수 없음"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "디렉토리" msgstr "디렉토리"
@ -3084,7 +3094,7 @@ msgstr "비활성화됨"
msgid "Stream not found" msgid "Stream not found"
msgstr "파일을 찾을 수 없음" msgstr "파일을 찾을 수 없음"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "디렉토리" msgstr "디렉토리"
@ -3102,7 +3112,7 @@ msgstr "디렉토리"
msgid "Success" msgid "Success"
msgstr "성공" msgstr "성공"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3479,6 +3489,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "유형" msgstr "유형"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -207,7 +207,7 @@ msgstr ""
msgid "Assistant" msgid "Assistant"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "" msgstr ""
@ -437,19 +437,23 @@ msgstr ""
msgid "Check again" msgid "Check again"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "Check if the sites-available and sites-enabled directories are under the nginx configuration directory." msgid "Check if the sites-available and sites-enabled directories are under the nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "Check if the streams-available and streams-enabled directories are under the nginx configuration directory." msgid "Check if the streams-available and streams-enabled directories are under the nginx configuration directory."
msgstr "" msgstr ""
@ -1433,6 +1437,10 @@ msgstr ""
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -1838,11 +1846,11 @@ msgstr ""
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2301,7 +2309,7 @@ msgstr ""
msgid "Receive" msgid "Receive"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2652,7 +2660,7 @@ msgid "Selector"
msgstr "" msgstr ""
#: src/routes/modules/system.ts:19 #: src/routes/modules/system.ts:19
#: src/views/system/SelfCheck/SelfCheck.vue:42 #: src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -2738,7 +2746,7 @@ msgstr ""
msgid "Site not found" msgid "Site not found"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
msgid "Sites Directory" msgid "Sites Directory"
msgstr "" msgstr ""
@ -2844,7 +2852,7 @@ msgstr ""
msgid "Stream not found" msgid "Stream not found"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
msgid "Streams Directory" msgid "Streams Directory"
msgstr "" msgstr ""
@ -2861,7 +2869,7 @@ msgstr ""
msgid "Success" msgid "Success"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
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" 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"
msgstr "" msgstr ""
@ -3168,6 +3176,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
msgid "Update successfully" msgid "Update successfully"
msgstr "" msgstr ""

View file

@ -218,7 +218,7 @@ msgstr "Обратитесь за помощью к ChatGPT"
msgid "Assistant" msgid "Assistant"
msgstr "Ассистент" msgstr "Ассистент"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "Попытка исправить" msgstr "Попытка исправить"
@ -450,21 +450,27 @@ msgstr "Канал"
msgid "Check again" msgid "Check again"
msgstr "Проверить повторно" msgstr "Проверить повторно"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1508,6 +1514,10 @@ msgstr "Порт HTTP Challenge"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "ICP номер" msgstr "ICP номер"
@ -1938,11 +1948,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Путь для Nginx Access Log" msgstr "Путь для Nginx Access Log"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2445,7 +2455,7 @@ msgstr "Чтение"
msgid "Receive" msgid "Receive"
msgstr "Принято" msgstr "Принято"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2819,7 +2829,7 @@ msgstr "Неверный код восстановления"
msgid "Selector" msgid "Selector"
msgstr "Выбор" msgstr "Выбор"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -2917,7 +2927,7 @@ msgstr "Журналы сайта"
msgid "Site not found" msgid "Site not found"
msgstr "Файл не найден" msgstr "Файл не найден"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Каталог" msgstr "Каталог"
@ -3028,7 +3038,7 @@ msgstr "Авто Сертификат"
msgid "Stream not found" msgid "Stream not found"
msgstr "Файл не найден" msgstr "Файл не найден"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Каталог" msgstr "Каталог"
@ -3046,7 +3056,7 @@ msgstr "Каталог"
msgid "Success" msgid "Success"
msgstr "Успех" msgstr "Успех"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3438,6 +3448,10 @@ msgstr "Требуется двухфакторная аутентификаци
msgid "Type" msgid "Type"
msgstr "Тип" msgstr "Тип"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -218,7 +218,7 @@ msgstr "ChatGPT'den Yardım İsteyin"
msgid "Assistant" msgid "Assistant"
msgstr "Asistan" msgstr "Asistan"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
#, fuzzy #, fuzzy
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "Girişimler" msgstr "Girişimler"
@ -455,21 +455,27 @@ msgstr "Kanal"
msgid "Check again" msgid "Check again"
msgstr "Tekrar kontrol et" msgstr "Tekrar kontrol et"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1537,6 +1543,10 @@ msgstr "HTTP Doğrulama Bağlantı Noktası"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -1996,11 +2006,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx Erişim Günlüğü Yolu" msgstr "Nginx Erişim Günlüğü Yolu"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2569,7 +2579,7 @@ msgstr "Okumalar"
msgid "Receive" msgid "Receive"
msgstr "Teslim almak" msgstr "Teslim almak"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2996,7 +3006,7 @@ msgstr "Geçersiz 2FA veya kurtarma kodu"
msgid "Selector" msgid "Selector"
msgstr "Selektör" msgstr "Selektör"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -3106,7 +3116,7 @@ msgstr "Site Günlükleri"
msgid "Site not found" msgid "Site not found"
msgstr "Dosya bulunamadı" msgstr "Dosya bulunamadı"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Dizin" msgstr "Dizin"
@ -3227,7 +3237,7 @@ msgstr "Devre dışı"
msgid "Stream not found" msgid "Stream not found"
msgstr "Dosya bulunamadı" msgstr "Dosya bulunamadı"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Dizin" msgstr "Dizin"
@ -3246,7 +3256,7 @@ msgstr "Dizin"
msgid "Success" msgid "Success"
msgstr "Başarılı" msgstr "Başarılı"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3683,6 +3693,10 @@ msgstr "İki faktörlü kimlik doğrulama gerekiyor"
msgid "Type" msgid "Type"
msgstr "Tip" msgstr "Tip"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -229,7 +229,7 @@ msgstr "Hỏi ChatGPT"
msgid "Assistant" msgid "Assistant"
msgstr "Trợ lý" msgstr "Trợ lý"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "" msgstr ""
@ -477,21 +477,27 @@ msgstr "Kênh"
msgid "Check again" msgid "Check again"
msgstr "Kiểm tra lại" msgstr "Kiểm tra lại"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1561,6 +1567,10 @@ msgstr ""
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "" msgstr ""
@ -2004,11 +2014,11 @@ msgstr ""
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Vị trí lưu log truy cập (Access log) của Nginx" msgstr "Vị trí lưu log truy cập (Access log) của Nginx"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "" msgstr ""
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "" msgstr ""
@ -2508,7 +2518,7 @@ msgstr "Đọc"
msgid "Receive" msgid "Receive"
msgstr "Nhận" msgstr "Nhận"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "" msgstr ""
@ -2900,7 +2910,7 @@ msgstr ""
msgid "Selector" msgid "Selector"
msgstr "Bộ chọn" msgstr "Bộ chọn"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "" msgstr ""
@ -2999,7 +3009,7 @@ msgstr "Logs"
msgid "Site not found" msgid "Site not found"
msgstr "Không tìm thấy tệp tin" msgstr "Không tìm thấy tệp tin"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
#, fuzzy #, fuzzy
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Thư mục" msgstr "Thư mục"
@ -3111,7 +3121,7 @@ msgstr "Đã tắt"
msgid "Stream not found" msgid "Stream not found"
msgstr "Không tìm thấy tệp tin" msgstr "Không tìm thấy tệp tin"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
#, fuzzy #, fuzzy
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Thư mục" msgstr "Thư mục"
@ -3129,7 +3139,7 @@ msgstr "Thư mục"
msgid "Success" msgid "Success"
msgstr "Thành công" msgstr "Thành công"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3502,6 +3512,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "Loại" msgstr "Loại"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
#, fuzzy #, fuzzy
msgid "Update successfully" msgid "Update successfully"

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2025-03-31 10:36+0800\n" "PO-Revision-Date: 2025-04-02 11:07+0800\n"
"Last-Translator: 0xJacky <me@jackyu.cn>\n" "Last-Translator: 0xJacky <me@jackyu.cn>\n"
"Language-Team: Chinese (Simplified Han script) <https://weblate.nginxui.com/" "Language-Team: Chinese (Simplified Han script) <https://weblate.nginxui.com/"
"projects/nginx-ui/frontend/zh_Hans/>\n" "projects/nginx-ui/frontend/zh_Hans/>\n"
@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n" "X-Generator: Poedit 3.6\n"
"Generated-By: easygettext\n" "Generated-By: easygettext\n"
#: src/views/user/userColumns.tsx:32 #: src/views/user/userColumns.tsx:32
@ -215,7 +215,7 @@ msgstr "与ChatGPT聊天"
msgid "Assistant" msgid "Assistant"
msgstr "助手" msgstr "助手"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "尝试修复" msgstr "尝试修复"
@ -440,21 +440,29 @@ msgstr "通道"
msgid "Check again" msgid "Check again"
msgstr "重新检查" msgstr "重新检查"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
"检查是否启用了 HTTPS。在本地主机之外使用 HTTP 是不安全的,这也会导致无法使用 "
"Passkey 和剪贴板功能。"
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "检查 nginx.conf 是否包含 sites-enabled 的目录。" msgstr "检查 nginx.conf 是否包含 sites-enabled 的目录。"
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录。" msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录。"
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "检查 sites-available 和 sites-enabled 目录是否位于 nginx 配置目录下。" msgstr "检查 sites-available 和 sites-enabled 目录是否位于 nginx 配置目录下。"
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1431,6 +1439,10 @@ msgstr "HTTP Challenge 监听端口"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr "HTTPS 协议"
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "ICP备案号" msgstr "ICP备案号"
@ -1850,11 +1862,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx 访问日志路径" msgstr "Nginx 访问日志路径"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "Nginx Conf 中引用启用站点目录" msgstr "Nginx Conf 中引用启用站点目录"
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "Nginx Conf 中引用启用 Streams 目录" msgstr "Nginx Conf 中引用启用 Streams 目录"
@ -2330,7 +2342,7 @@ msgstr "读"
msgid "Receive" msgid "Receive"
msgstr "下载" msgstr "下载"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "重新检查" msgstr "重新检查"
@ -2680,7 +2692,7 @@ msgstr "安全令牌信息"
msgid "Selector" msgid "Selector"
msgstr "选择器" msgstr "选择器"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "自我检查" msgstr "自我检查"
@ -2729,19 +2741,19 @@ msgstr "使用 HTTP01 challenge provider"
#: src/constants/errors/nginx_log.ts:8 #: src/constants/errors/nginx_log.ts:8
msgid "" msgid ""
"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui." "Settings.NginxLogSettings.AccessLogPath is empty, refer to https://"
"com/guide/config-nginx.html for more information" "nginxui.com/guide/config-nginx.html for more information"
msgstr "" msgstr ""
"Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 https://nginxui." "Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 https://"
"com/guide/config-nginx.html" "nginxui.com/guide/config-nginx.html"
#: src/constants/errors/nginx_log.ts:7 #: src/constants/errors/nginx_log.ts:7
msgid "" msgid ""
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui." "Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://"
"com/guide/config-nginx.html for more information" "nginxui.com/guide/config-nginx.html for more information"
msgstr "" msgstr ""
"Settings.NginxLogSettings.ErrorLogPath为空更多信息请参阅 https://nginxui." "Settings.NginxLogSettings.ErrorLogPath为空更多信息请参阅 https://"
"com/guide/config-nginx.html" "nginxui.com/guide/config-nginx.html"
#: src/components/SensitiveString/SensitiveString.vue:40 #: src/components/SensitiveString/SensitiveString.vue:40
msgid "Show" msgid "Show"
@ -2776,7 +2788,7 @@ msgstr "站点列表"
msgid "Site not found" msgid "Site not found"
msgstr "网站未找到" msgstr "网站未找到"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
msgid "Sites Directory" msgid "Sites Directory"
msgstr "网站目录" msgstr "网站目录"
@ -2880,7 +2892,7 @@ msgstr "Stream 已启用"
msgid "Stream not found" msgid "Stream not found"
msgstr "Stream 未找到" msgstr "Stream 未找到"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Streams 目录" msgstr "Streams 目录"
@ -2896,7 +2908,7 @@ msgstr "Streams-enabled 目录不存在"
msgid "Success" msgid "Success"
msgstr "成功" msgstr "成功"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3257,6 +3269,10 @@ msgstr "需要两步验证"
msgid "Type" msgid "Type"
msgstr "类型" msgstr "类型"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr "未知问题"
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
msgid "Update successfully" msgid "Update successfully"
msgstr "更新成功" msgstr "更新成功"
@ -3540,8 +3556,8 @@ msgstr "你的 Passkeys"
#~ msgstr "从 %{node} 中删除站点 %{site} 错误,响应:%{resp}" #~ msgstr "从 %{node} 中删除站点 %{site} 错误,响应:%{resp}"
#~ msgid "" #~ msgid ""
#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: " #~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %"
#~ "%{resp}" #~ "{resp}"
#~ msgstr "" #~ msgstr ""
#~ "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,响应:%{resp}" #~ "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,响应:%{resp}"

View file

@ -220,7 +220,7 @@ msgstr "向 ChatGPT 尋求幫助"
msgid "Assistant" msgid "Assistant"
msgstr "助理" msgstr "助理"
#: src/views/system/SelfCheck/SelfCheck.vue:54 #: src/views/system/SelfCheck/SelfCheck.vue:50
msgid "Attempt to fix" msgid "Attempt to fix"
msgstr "嘗試修復" msgstr "嘗試修復"
@ -448,22 +448,28 @@ msgstr "通道"
msgid "Check again" msgid "Check again"
msgstr "再次檢查" msgstr "再次檢查"
#: src/views/system/SelfCheck/tasks.ts:12 #: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory." msgid "Check if the nginx.conf includes the sites-enabled directory."
msgstr "請確認 nginx.conf 是否有包含 sites-enabled 資料夾。" msgstr "請確認 nginx.conf 是否有包含 sites-enabled 資料夾。"
#: src/views/system/SelfCheck/tasks.ts:16 #: src/views/system/SelfCheck/tasks/backend/index.ts:21
msgid "Check if the nginx.conf includes the streams-enabled directory." msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr "請確認 nginx.conf 是否有包含 streams-enabled 資料夾。" msgstr "請確認 nginx.conf 是否有包含 streams-enabled 資料夾。"
#: src/views/system/SelfCheck/tasks.ts:4 #: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "" msgid ""
"Check if the sites-available and sites-enabled directories are under the " "Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
msgstr "" msgstr ""
"請確認 sites-available 和 sites-enabled 資料夾是否位於 Nginx 設定資料夾內。" "請確認 sites-available 和 sites-enabled 資料夾是否位於 Nginx 設定資料夾內。"
#: src/views/system/SelfCheck/tasks.ts:8 #: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "" msgid ""
"Check if the streams-available and streams-enabled directories are under the " "Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory." "nginx configuration directory."
@ -1491,6 +1497,10 @@ msgstr "HTTP 挑戰埠"
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:10
msgid "HTTPS Protocol"
msgstr ""
#: src/views/preference/NodeSettings.vue:34 #: src/views/preference/NodeSettings.vue:34
msgid "ICP Number" msgid "ICP Number"
msgstr "ICP 編號" msgstr "ICP 編號"
@ -1915,11 +1925,11 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx 存取日誌路徑" msgstr "Nginx 存取日誌路徑"
#: src/views/system/SelfCheck/tasks.ts:11 #: src/views/system/SelfCheck/tasks/backend/index.ts:15
msgid "Nginx Conf Include Sites Enabled" msgid "Nginx Conf Include Sites Enabled"
msgstr "Nginx 配置檔包含 sites-enabled" msgstr "Nginx 配置檔包含 sites-enabled"
#: src/views/system/SelfCheck/tasks.ts:15 #: src/views/system/SelfCheck/tasks/backend/index.ts:20
msgid "Nginx Conf Include Streams Enabled" msgid "Nginx Conf Include Streams Enabled"
msgstr "Nginx 配置檔包含 streams-enabled" msgstr "Nginx 配置檔包含 streams-enabled"
@ -2407,7 +2417,7 @@ msgstr "讀取"
msgid "Receive" msgid "Receive"
msgstr "接收" msgstr "接收"
#: src/views/system/SelfCheck/SelfCheck.vue:47 #: src/views/system/SelfCheck/SelfCheck.vue:43
msgid "Recheck" msgid "Recheck"
msgstr "重新檢查" msgstr "重新檢查"
@ -2774,7 +2784,7 @@ msgstr "無效的請求格式"
msgid "Selector" msgid "Selector"
msgstr "選擇器" msgstr "選擇器"
#: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:42 #: src/routes/modules/system.ts:19 src/views/system/SelfCheck/SelfCheck.vue:38
msgid "Self Check" msgid "Self Check"
msgstr "自我檢測" msgstr "自我檢測"
@ -2872,7 +2882,7 @@ msgstr "網站日誌"
msgid "Site not found" msgid "Site not found"
msgstr "站點未找到" msgstr "站點未找到"
#: src/views/system/SelfCheck/tasks.ts:3 #: src/views/system/SelfCheck/tasks/backend/index.ts:5
msgid "Sites Directory" msgid "Sites Directory"
msgstr "Sites 資料夾" msgstr "Sites 資料夾"
@ -2982,7 +2992,7 @@ msgstr "站點已啓用"
msgid "Stream not found" msgid "Stream not found"
msgstr "站點未找到" msgstr "站點未找到"
#: src/views/system/SelfCheck/tasks.ts:7 #: src/views/system/SelfCheck/tasks/backend/index.ts:10
msgid "Streams Directory" msgid "Streams Directory"
msgstr "Streams 資料夾" msgstr "Streams 資料夾"
@ -2998,7 +3008,7 @@ msgstr "streams-enabled 資料夾不存在"
msgid "Success" msgid "Success"
msgstr "成功" msgstr "成功"
#: src/views/system/SelfCheck/SelfCheck.vue:78 #: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "" msgid ""
"Support communication with the backend through the WebSocket protocol. If " "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 " "your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
@ -3367,6 +3377,10 @@ msgstr "需要多重因素驗證"
msgid "Type" msgid "Type"
msgstr "類型" msgstr "類型"
#: src/views/system/SelfCheck/SelfCheck.vue:63
msgid "Unknown issue"
msgstr ""
#: src/views/preference/components/Passkey.vue:39 #: src/views/preference/components/Passkey.vue:39
msgid "Update successfully" msgid "Update successfully"
msgstr "更新成功" msgstr "更新成功"

View file

@ -1,24 +1,18 @@
<script setup lang="ts"> <script setup lang="ts">
import type { Report } from '@/api/self_check' import type { TaskReport } from './tasks'
import selfCheck from '@/api/self_check' import { CheckCircleOutlined, CloseCircleOutlined, WarningOutlined } from '@ant-design/icons-vue'
import { CheckCircleOutlined, CloseCircleOutlined } from '@ant-design/icons-vue' import { taskManager } from './tasks'
import tasks from './tasks'
const data = ref<Report[]>()
const data = ref<TaskReport[]>()
const loading = ref(false) const loading = ref(false)
const supportWebsocket = ref(false)
function check() { async function check() {
loading.value = true loading.value = true
selfCheck.run().then(r => { try {
data.value = r data.value = await taskManager.runAllChecks()
}).finally(() => { }
finally {
loading.value = false loading.value = false
})
const ws = selfCheck.websocket()
ws.onopen = () => {
supportWebsocket.value = true
} }
} }
@ -28,13 +22,15 @@ onMounted(() => {
const fixing = reactive({}) const fixing = reactive({})
function fix(taskName: string) { async function fix(taskName: string) {
fixing[taskName] = true fixing[taskName] = true
selfCheck.fix(taskName).then(() => { try {
await taskManager.fixTask(taskName)
check() check()
}).finally(() => { }
finally {
fixing[taskName] = false fixing[taskName] = false
}) }
} }
</script> </script>
@ -42,47 +38,36 @@ function fix(taskName: string) {
<ACard :title="$gettext('Self Check')"> <ACard :title="$gettext('Self Check')">
<template #extra> <template #extra>
<AButton <AButton
type="link" size="small" :loading @click="check" type="link" size="small" :loading="loading" @click="check"
> >
{{ $gettext('Recheck') }} {{ $gettext('Recheck') }}
</AButton> </AButton>
</template> </template>
<AList> <AList>
<AListItem v-for="(item, index) in data" :key="index"> <AListItem v-for="(item, index) in data" :key="index">
<template v-if="item.err" #actions> <template v-if="item.status === 'error'" #actions>
<AButton type="link" size="small" :loading="fixing[item.name]" @click="fix(item.name)"> <AButton type="link" size="small" :loading="fixing[item.name]" @click="fix(item.name)">
{{ $gettext('Attempt to fix') }} {{ $gettext('Attempt to fix') }}
</AButton> </AButton>
</template> </template>
<AListItemMeta> <AListItemMeta>
<template #title> <template #title>
{{ tasks?.[item.name]?.name?.() }} {{ taskManager.getTask(item.name)?.name?.() }}
</template> </template>
<template #description> <template #description>
{{ tasks?.[item.name]?.description?.() }} <div>
</template> {{ taskManager.getTask(item.name)?.description?.() }}
<template #avatar> </div>
<div class="text-23px"> <div v-if="item.status !== 'success'" class="mt-1">
<CheckCircleOutlined v-if="!item.err" class="text-green" /> <ATag :color="item.status === 'warning' ? 'warning' : 'error'">
<CloseCircleOutlined v-else class="text-red" /> {{ item.message || item.err?.message || $gettext('Unknown issue') }}
</ATag>
</div> </div>
</template> </template>
</AListItemMeta>
</AListItem>
<AListItem>
<AListItemMeta>
<template #title>
WebSocket
</template>
<template #description>
{{ $gettext('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') }}
</template>
<template #avatar> <template #avatar>
<div class="text-23px"> <div class="text-23px">
<CheckCircleOutlined v-if="supportWebsocket" class="text-green" /> <CheckCircleOutlined v-if="item.status === 'success'" class="text-green" />
<WarningOutlined v-else-if="item.status === 'warning'" class="text-yellow" />
<CloseCircleOutlined v-else class="text-red" /> <CloseCircleOutlined v-else class="text-red" />
</div> </div>
</template> </template>
@ -96,4 +81,8 @@ function fix(taskName: string) {
:deep(.ant-list-item-meta) { :deep(.ant-list-item-meta) {
align-items: center !important; align-items: center !important;
} }
.text-yellow {
color: #faad14;
}
</style> </style>

View file

@ -1,20 +1,26 @@
const tasks = { import type { BackendTask } from '../types'
const backendTasks: Record<string, BackendTask> = {
'Directory-Sites': { 'Directory-Sites': {
name: () => $gettext('Sites Directory'), name: () => $gettext('Sites Directory'),
description: () => $gettext('Check if the sites-available and sites-enabled directories are under the nginx configuration directory.'), description: () => $gettext('Check if the sites-available and sites-enabled directories are under the nginx configuration directory.'),
type: 'backend',
}, },
'Directory-Streams': { 'Directory-Streams': {
name: () => $gettext('Streams Directory'), name: () => $gettext('Streams Directory'),
description: () => $gettext('Check if the streams-available and streams-enabled directories are under the nginx configuration directory.'), description: () => $gettext('Check if the streams-available and streams-enabled directories are under the nginx configuration directory.'),
type: 'backend',
}, },
'NginxConf-Sites-Enabled': { 'NginxConf-Sites-Enabled': {
name: () => $gettext('Nginx Conf Include Sites Enabled'), name: () => $gettext('Nginx Conf Include Sites Enabled'),
description: () => $gettext('Check if the nginx.conf includes the sites-enabled directory.'), description: () => $gettext('Check if the nginx.conf includes the sites-enabled directory.'),
type: 'backend',
}, },
'NginxConf-Streams-Enabled': { 'NginxConf-Streams-Enabled': {
name: () => $gettext('Nginx Conf Include Streams Enabled'), name: () => $gettext('Nginx Conf Include Streams Enabled'),
description: () => $gettext('Check if the nginx.conf includes the streams-enabled directory.'), description: () => $gettext('Check if the nginx.conf includes the streams-enabled directory.'),
type: 'backend',
}, },
} }
export default tasks export default backendTasks

View file

@ -0,0 +1,51 @@
import type { FrontendTask, TaskReport } from '../types'
/**
* HTTPS Check Task
*
* Checks if the application is accessed via HTTPS protocol
* Warns (not errors) when HTTP is used outside of localhost/127.0.0.1
*/
const HttpsCheckTask: FrontendTask = {
name: () => $gettext('HTTPS Protocol'),
description: () => $gettext('Check if HTTPS is enabled. Using HTTP outside localhost is insecure and prevents using Passkeys and clipboard features.'),
type: 'frontend',
check: async (): Promise<TaskReport> => {
// Get current protocol and hostname
const isSecure = window.location.protocol === 'https:'
const isLocalhost = ['localhost', '127.0.0.1'].includes(window.location.hostname)
// Task name for the report
const name = 'Frontend-HttpsCheck'
// Check result
if (isSecure) {
return {
name,
status: 'success',
type: 'frontend',
message: 'HTTPS protocol is enabled.',
}
}
if (isLocalhost) {
return {
name,
status: 'success',
type: 'frontend',
message: 'HTTP is acceptable for localhost.',
}
}
// Return warning for non-localhost HTTP
return {
name,
status: 'warning',
type: 'frontend',
message: 'HTTP protocol detected. Consider enabling HTTPS for security features.',
err: new Error('HTTP protocol detected. Consider enabling HTTPS for security features.'),
}
},
}
export default HttpsCheckTask

View file

@ -0,0 +1,12 @@
import type { FrontendTask } from '../types'
import HttpsCheckTask from './https-check'
import WebsocketTask from './websocket'
// Collection of all frontend tasks
const frontendTasks: Record<string, FrontendTask> = {
'Frontend-Websocket': WebsocketTask,
'Frontend-HttpsCheck': HttpsCheckTask,
// Add more frontend tasks here
}
export default frontendTasks

View file

@ -0,0 +1,60 @@
import type { FrontendTask, TaskReport } from '../types'
import selfCheck from '@/api/self_check'
const WebsocketTask: FrontendTask = {
name: () => 'WebSocket',
description: () => $gettext('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'),
type: 'frontend',
check: async (): Promise<TaskReport> => {
// Task name for the report
const name = 'Frontend-Websocket'
try {
const connected = await new Promise<boolean>(resolve => {
const ws = selfCheck.websocket()
ws.onopen = () => {
resolve(true)
}
ws.onerror = () => {
resolve(false)
}
// Set a timeout for the connection attempt
setTimeout(() => {
resolve(false)
}, 5000)
})
if (connected) {
return {
name,
status: 'success',
type: 'frontend',
message: 'WebSocket connection successful.',
}
}
else {
return {
name,
status: 'error',
type: 'frontend',
message: 'WebSocket connection failed.',
err: new Error('WebSocket connection failed.'),
}
}
}
catch (error) {
return {
name,
status: 'error',
type: 'frontend',
message: 'WebSocket connection error.',
err: error instanceof Error ? error : new Error(String(error)),
}
}
},
}
export default WebsocketTask

View file

@ -0,0 +1,88 @@
import type { TaskDefinition, TaskReport, TaskStatus } from './types'
import selfCheck from '@/api/self_check'
import backendTasks from './backend'
import frontendTasks from './frontend'
// Combine all tasks
const allTasks: Record<string, TaskDefinition> = {
...backendTasks,
...frontendTasks,
}
// Task manager
export const taskManager = {
// Get all task definitions
getAllTasks() {
return allTasks
},
// Execute all self-checks
async runAllChecks(): Promise<TaskReport[]> {
// Execute backend checks
const backendReports = await selfCheck.run()
// Convert backend reports to include status field
const convertedBackendReports = backendReports.map(report => {
const status: TaskStatus = report.err ? 'error' : 'success'
return {
...report,
type: 'backend' as const,
status,
}
})
// Execute frontend checks - they now directly return TaskReport objects
const frontendReports = await Promise.all(
Object.entries(frontendTasks).map(async ([key, task]) => {
try {
return await task.check()
}
catch (err) {
// Fallback error handling in case a task throws instead of returning a report
return {
name: key,
type: 'frontend' as const,
status: 'error' as const,
message: 'Task execution failed',
err: err instanceof Error ? err : new Error(String(err)),
}
}
}),
)
// Merge results
return [
...convertedBackendReports,
...frontendReports,
]
},
// Fix task
async fixTask(taskName: string): Promise<boolean> {
// Backend task
if (taskName in backendTasks) {
await selfCheck.fix(taskName)
return true
}
// Frontend task
if (taskName in frontendTasks) {
const task = frontendTasks[taskName]
if (task.fix) {
return await task.fix()
}
return false
}
return false
},
// Get task definition
getTask(taskName: string) {
return allTasks[taskName]
},
}
export default allTasks
export * from './types'

View file

@ -0,0 +1,27 @@
import type { CosyError } from '@/lib/http'
export type TaskStatus = 'success' | 'warning' | 'error'
export interface TaskDefinition {
name: () => string
description: () => string
type: 'backend' | 'frontend'
}
export interface BackendTask extends TaskDefinition {
type: 'backend'
}
export interface FrontendTask extends TaskDefinition {
type: 'frontend'
check: () => Promise<TaskReport>
fix?: () => Promise<boolean>
}
export interface TaskReport {
name: string
status: TaskStatus
message?: string
err?: CosyError | Error
type: 'backend' | 'frontend'
}