Ver código fonte

feat(external-notify): add gotify #1018

Jacky 1 dia atrás
pai
commit
c5274a7a64

+ 51 - 47
app/src/language/ar/app.po

@@ -13,42 +13,42 @@ msgstr ""
 "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
 "X-Generator: Weblate 5.6.2\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] مستخدم ACME: %{name}، البريد الإلكتروني: %{email}، دليل CA: "
 "%{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] يتم إنشاء نسخة احتياطية من الشهادة الحالية لإلغائها لاحقًا"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] تم تجديد الشهادة بنجاح"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] تم إلغاء الشهادة بنجاح"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr "[Nginx UI] تم استخدام الشهادة للخادم، إعادة تحميل شهادة TLS للخادم"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] إنشاء عميل لتسهيل الاتصال مع خادم CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] تم تنظيف متغيرات البيئة"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] تم الانتهاء"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] تم إصدار الشهادة بنجاح"
 
@@ -56,39 +56,39 @@ msgstr "[Nginx UI] تم إصدار الشهادة بنجاح"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] الحصول على الشهادة"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] التحضير لإلغاء الشهادة"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] إعداد تكوينات ليغو"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] إعادة تحميل nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] اكتمال الإلغاء"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] إلغاء الشهادة"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] إبطال الشهادة القديمة"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] تعيين موفر تحدي DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] تعيين متغيرات البيئة"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] تعيين موفر تحدي HTTP01"
 
@@ -96,7 +96,7 @@ msgstr "[Nginx UI] تعيين موفر تحدي HTTP01"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] كتابة مفتاح الشهادة الخاص إلى القرص"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] كتابة الشهادة على القرص"
 
@@ -607,7 +607,7 @@ msgstr "انتهت صلاحية الشهادة"
 msgid "Certificate Expiring Soon"
 msgstr "شهادة على وشك الانتهاء"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "الشهادة غير موجودة: %{error}"
 
@@ -632,7 +632,7 @@ msgstr "الفاصل الزمني لتجديد الشهادة"
 msgid "Certificate renewed successfully"
 msgstr "تم تجديد الشهادة بنجاح"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "تم إلغاء الشهادة بنجاح"
 
@@ -698,7 +698,7 @@ msgstr "تحقق"
 msgid "Check again"
 msgstr "تحقق مرة أخرى"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -716,39 +716,39 @@ msgstr ""
 "تحقق مما إذا كان HTTPS مفعلاً. استخدام HTTP خارج localhost غير آمن ويمنع "
 "استخدام ميزات Passkeys والحافظة"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "تحقق مما إذا كان مسار سجل الوصول لـ nginx موجودًا"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "تحقق مما إذا كان دليل تكوين nginx موجودًا"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "تحقق مما إذا كان ملف إدخال تكوين nginx موجودًا"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "التحقق مما إذا كان مسار سجل أخطاء nginx موجودًا"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "تحقق مما إذا كان مسار معرف عملية Nginx موجودًا"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "تحقق مما إذا كان ملف nginx.conf يتضمن دليل conf.d"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "تحقق مما إذا كان ملف nginx.conf يتضمن دليل sites-enabled"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "تحقق مما إذا كان ملف nginx.conf يتضمن دليل streams-enabled"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -756,7 +756,7 @@ msgstr ""
 "تحقق مما إذا كانت الدلائل sites-available و sites-enabled موجودة ضمن دليل "
 "تكوين nginx"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1330,7 +1330,7 @@ msgstr "هل تريد إزالة هذا المصدر؟"
 msgid "Docker client not initialized"
 msgstr "عميل Docker غير مهيأ"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "مقبس Docker موجود"
 
@@ -1731,7 +1731,7 @@ msgstr "فشل فك تشفير دليل Nginx UI: {0}"
 msgid "Failed to delete certificate"
 msgstr "فشل في حذف الشهادة"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "فشل حذف الشهادة من قاعدة البيانات: %{error}"
 
@@ -1875,7 +1875,7 @@ msgstr "فشل استعادة ملفات واجهة NGINX: {0}"
 msgid "Failed to revoke certificate"
 msgstr "فشل إبطال الشهادة"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "فشل إلغاء الشهادة: %{error}"
 
@@ -1996,6 +1996,10 @@ msgstr "جارٍ الحصول على الشهادة، يرجى الانتظار.
 msgid "Github Proxy"
 msgstr "وكيل Github"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "ضغط GZIP"
@@ -2383,7 +2387,7 @@ msgstr "أماكن"
 msgid "Log"
 msgstr "سجل"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2675,7 +2679,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "مسار سجل الوصول لـ Nginx"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "مسار سجل الوصول إلى Nginx موجود"
 
@@ -2703,11 +2707,11 @@ msgstr "تكوين Nginx لا يتضمن stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "لم يتم تعيين دليل تكوين Nginx"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "دليل تكوين Nginx موجود"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "ملف إدخال تكوين Nginx موجود"
 
@@ -2745,7 +2749,7 @@ msgstr "معدل استخدام وحدة المعالجة المركزية لـ
 msgid "Nginx Error Log Path"
 msgstr "مسار سجل أخطاء Nginx"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "مسار سجل أخطاء Nginx موجود"
 
@@ -2782,7 +2786,7 @@ msgstr "استخدام ذاكرة Nginx"
 msgid "Nginx PID Path"
 msgstr "مسار PID لـ Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "مسار معرف عملية Nginx موجود"
 
@@ -2842,15 +2846,15 @@ msgid ""
 "few seconds."
 msgstr "تمت استعادة تكوين Nginx UI وسيتم إعادة التشغيل تلقائيًا خلال بضع ثوانٍ."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "يتضمن Nginx.conf دليل conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "يتضمن Nginx.conf دليل sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "يتضمن Nginx.conf دليل streams-enabled"
 
@@ -3624,7 +3628,7 @@ msgstr "إحصائيات الطلبات"
 msgid "Request timeout"
 msgstr "انتهت مهلة الطلب"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "تم الطلب باستخدام عوامل خاطئة"
 
@@ -3979,7 +3983,7 @@ msgstr "سجلات الموقع"
 msgid "Site not found"
 msgstr "الموقع غير موجود"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "دليل المواقع موجود"
 
@@ -4092,7 +4096,7 @@ msgstr "تم تمكين البث"
 msgid "Stream not found"
 msgstr "البث غير موجود"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "دليل Streams موجود"
 

+ 51 - 47
app/src/language/de_DE/app.po

@@ -9,45 +9,45 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] ACME-Benutzer: %{name}, E-Mail: %{email}, CA-Verzeichnis: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] Aktuelles Zertifikat wird für spätere Widerrufung gesichert"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Zertifikat erfolgreich erneuert"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Zertifikat erfolgreich widerrufen"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] Zertifikat wurde für den Server verwendet, Server-TLS-Zertifikat "
 "wird neu geladen"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 "[Nginx UI] Erstellung eines Clients zur Erleichterung der Kommunikation mit "
 "dem CA-Server"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Umgebungsvariablen bereinigt"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Abgeschlossen"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Zertifikat erfolgreich ausgestellt"
 
@@ -55,39 +55,39 @@ msgstr "[Nginx UI] Zertifikat erfolgreich ausgestellt"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Zertifikat wird abgerufen"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Vorbereitung auf den Widerruf des Zertifikats"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Vorbereiten der Lego-Konfigurationen"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Nginx wird neu geladen"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Widerruf abgeschlossen"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Zertifikat wird widerrufen"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Altes Zertifikat wird widerrufen"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] DNS01-Herausforderungsanbieter wird eingerichtet"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Umgebungsvariablen werden gesetzt"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] HTTP01-Herausforderungsanbieter wird eingerichtet"
 
@@ -95,7 +95,7 @@ msgstr "[Nginx UI] HTTP01-Herausforderungsanbieter wird eingerichtet"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Schreibe privaten Zertifikatsschlüssel auf die Festplatte"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Zertifikat wird auf die Festplatte geschrieben"
 
@@ -618,7 +618,7 @@ msgstr "Zertifikat abgelaufen"
 msgid "Certificate Expiring Soon"
 msgstr "Zertifikat läuft bald ab"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Zertifikat nicht gefunden: %{error}"
 
@@ -643,7 +643,7 @@ msgstr "Zertifikatserneuerungsintervall"
 msgid "Certificate renewed successfully"
 msgstr "Zertifikat erfolgreich erneuert"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Zertifikat erfolgreich widerrufen"
 
@@ -699,7 +699,7 @@ msgstr "Überprüfen"
 msgid "Check again"
 msgstr "Erneut prüfen"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -718,40 +718,40 @@ msgstr ""
 "von localhost ist unsicher und verhindert die Nutzung von Passkeys und "
 "Zwischenablage-Funktionen"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Überprüfen Sie, ob der Pfad für das Nginx-Zugriffsprotokoll existiert"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Überprüfen Sie, ob das Nginx-Konfigurationsverzeichnis existiert"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Überprüfen Sie, ob die Nginx-Konfigurationsdatei existiert"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Überprüfen Sie, ob der Pfad für das Nginx-Fehlerprotokoll existiert"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Überprüfen Sie, ob der Nginx-PID-Pfad existiert"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Überprüfen Sie, ob die nginx.conf das conf.d-Verzeichnis enthält"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Überprüfen, ob die nginx.conf das sites-enabled-Verzeichnis enthält"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr ""
 "Überprüfen Sie, ob die nginx.conf das streams-enabled-Verzeichnis enthält"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -759,7 +759,7 @@ msgstr ""
 "Überprüfen Sie, ob die Verzeichnisse sites-available und sites-enabled im "
 "Nginx-Konfigurationsverzeichnis enthalten sind"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1344,7 +1344,7 @@ msgstr "Möchten Sie diesen Upstream entfernen?"
 msgid "Docker client not initialized"
 msgstr "Docker-Client nicht initialisiert"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Docker-Socket vorhanden"
 
@@ -1750,7 +1750,7 @@ msgstr "Fehler beim Entschlüsseln des Nginx-UI-Verzeichnisses: {0}"
 msgid "Failed to delete certificate"
 msgstr "Zertifikat konnte nicht gelöscht werden"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Löschen des Zertifikats aus der Datenbank fehlgeschlagen: %{error}"
 
@@ -1894,7 +1894,7 @@ msgstr "Wiederherstellung der Nginx-UI-Dateien fehlgeschlagen: {0}"
 msgid "Failed to revoke certificate"
 msgstr "Zertifikat konnte nicht widerrufen werden"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Zertifikat konnte nicht widerrufen werden: %{error}"
 
@@ -2017,6 +2017,10 @@ msgstr "Hole das Zertifikat, bitte warten..."
 msgid "Github Proxy"
 msgstr "Github-Proxy"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "GZIP-Komprimierung"
@@ -2410,7 +2414,7 @@ msgstr "Orte"
 msgid "Log"
 msgstr "Protokoll"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2703,7 +2707,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Nginx Zugriffslog-Pfad"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Der Pfad für den Nginx-Zugriffslog existiert"
 
@@ -2731,11 +2735,11 @@ msgstr "Nginx-Konfiguration enthält keinen stream-enabled-Ordner"
 msgid "Nginx config directory is not set"
 msgstr "Das Nginx-Konfigurationsverzeichnis ist nicht festgelegt"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Nginx-Konfigurationsverzeichnis existiert"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Nginx-Konfigurationsdatei existiert"
 
@@ -2773,7 +2777,7 @@ msgstr "Nginx-CPU-Auslastung"
 msgid "Nginx Error Log Path"
 msgstr "Nginx Fehlerlog-Pfad"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Nginx-Fehlerprotokollpfad existiert"
 
@@ -2810,7 +2814,7 @@ msgstr "Nginx-Speichernutzung"
 msgid "Nginx PID Path"
 msgstr "Nginx PID-Pfad"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Nginx-PID-Pfad existiert"
 
@@ -2873,15 +2877,15 @@ msgstr ""
 "Die Nginx-UI-Konfiguration wurde wiederhergestellt und wird in wenigen "
 "Sekunden automatisch neu gestartet."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf enthält das conf.d-Verzeichnis"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf enthält das sites-enabled-Verzeichnis"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf enthält das streams-enabled-Verzeichnis"
 
@@ -3684,7 +3688,7 @@ msgstr "Anforderungsstatistiken"
 msgid "Request timeout"
 msgstr "Anfragezeitüberschreitung"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Forderte mit falschen Parametern an"
 
@@ -4045,7 +4049,7 @@ msgstr "Site-Protokolle"
 msgid "Site not found"
 msgstr "Website nicht gefunden"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "Sites-Verzeichnis existiert"
 
@@ -4162,7 +4166,7 @@ msgstr "Stream ist aktiviert"
 msgid "Stream not found"
 msgstr "Stream nicht gefunden"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Streams-Verzeichnis existiert"
 

+ 51 - 47
app/src/language/en/app.po

@@ -1,37 +1,37 @@
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr ""
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr ""
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr ""
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr ""
 
@@ -39,39 +39,39 @@ msgstr ""
 msgid "[Nginx UI] Obtaining certificate"
 msgstr ""
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr ""
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr ""
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr ""
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr ""
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr ""
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr ""
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr ""
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr ""
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr ""
 
@@ -79,7 +79,7 @@ msgstr ""
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr ""
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr ""
 
@@ -587,7 +587,7 @@ msgstr ""
 msgid "Certificate Expiring Soon"
 msgstr ""
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr ""
 
@@ -612,7 +612,7 @@ msgstr ""
 msgid "Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr ""
 
@@ -670,7 +670,7 @@ msgstr ""
 msgid "Check again"
 msgstr ""
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -683,45 +683,45 @@ msgid ""
 "prevents using Passkeys and clipboard features"
 msgstr ""
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr ""
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr ""
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr ""
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr ""
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr ""
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1291,7 +1291,7 @@ msgstr ""
 msgid "Docker client not initialized"
 msgstr ""
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr ""
 
@@ -1691,7 +1691,7 @@ msgstr ""
 msgid "Failed to delete certificate"
 msgstr ""
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr ""
 
@@ -1835,7 +1835,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr ""
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr ""
 
@@ -1956,6 +1956,10 @@ msgstr ""
 msgid "Github Proxy"
 msgstr ""
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr ""
@@ -2333,7 +2337,7 @@ msgstr ""
 msgid "Log"
 msgstr ""
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2614,7 +2618,7 @@ msgstr ""
 msgid "Nginx Access Log Path"
 msgstr ""
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr ""
 
@@ -2642,11 +2646,11 @@ msgstr ""
 msgid "Nginx config directory is not set"
 msgstr ""
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr ""
 
@@ -2684,7 +2688,7 @@ msgstr ""
 msgid "Nginx Error Log Path"
 msgstr ""
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr ""
 
@@ -2721,7 +2725,7 @@ msgstr ""
 msgid "Nginx PID Path"
 msgstr ""
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr ""
 
@@ -2781,15 +2785,15 @@ msgid ""
 "few seconds."
 msgstr ""
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr ""
 
@@ -3547,7 +3551,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr ""
 
@@ -3892,7 +3896,7 @@ msgstr ""
 msgid "Site not found"
 msgstr ""
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr ""
 
@@ -4005,7 +4009,7 @@ msgstr ""
 msgid "Stream not found"
 msgstr ""
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr ""
 

+ 51 - 47
app/src/language/es/app.po

@@ -16,47 +16,47 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 5.6.2\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] Usuario ACME: %{name}, Correo electrónico: %{email}, Directorio "
 "CA: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 "[Nginx UI] Haciendo copia de seguridad del certificado actual para su "
 "posterior revocación"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Certificado renovado con éxito"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Certificado revocado con éxito"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] El certificado se utilizó para el servidor, recargando el "
 "certificado TLS del servidor"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 "[Nginx UI] Creando cliente para facilitar la comunicación con el servidor CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Variables de entorno limpiadas"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Finalizado"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Certificado emitido con éxito"
 
@@ -64,39 +64,39 @@ msgstr "[Nginx UI] Certificado emitido con éxito"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Obteniendo certificado"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Preparándose para la revocación del certificado"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Preparando configuraciones de lego"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Recargando nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Revocación completada"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Revocando certificado"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Revocando certificado antiguo"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] Configurando el proveedor de desafío DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Configurando variables de entorno"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] Configurando el proveedor de desafío HTTP01"
 
@@ -104,7 +104,7 @@ msgstr "[Nginx UI] Configurando el proveedor de desafío HTTP01"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Escribiendo la clave privada del certificado en el disco"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Escribiendo certificado en el disco"
 
@@ -628,7 +628,7 @@ msgstr "Certificado caducado"
 msgid "Certificate Expiring Soon"
 msgstr "Certificado a punto de expirar"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Certificado no encontrado: %{error}"
 
@@ -653,7 +653,7 @@ msgstr "Intervalo de renovación del Certificado"
 msgid "Certificate renewed successfully"
 msgstr "Certificado renovado con éxito"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Certificado revocado con éxito"
 
@@ -711,7 +711,7 @@ msgstr "Verificar"
 msgid "Check again"
 msgstr "Intentar nuevamente"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -729,39 +729,39 @@ msgstr ""
 "Verifica si HTTPS está habilitado. Usar HTTP fuera de localhost es inseguro "
 "y evita el uso de Passkeys y funciones del portapapeles"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Verificar si existe la ruta del registro de acceso de nginx"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Verificar si existe el directorio de configuración de nginx"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Verificar si existe el archivo de entrada de configuración de nginx"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Verificar si existe la ruta del registro de errores de nginx"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Verificar si existe la ruta del PID de Nginx"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Verificar si el nginx.conf incluye el directorio conf.d"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Verificar si el nginx.conf incluye el directorio sites-enabled"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "Verificar si el nginx.conf incluye el directorio streams-enabled"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -769,7 +769,7 @@ msgstr ""
 "Verificar si los directorios sites-available y sites-enabled están en el "
 "directorio de configuración de nginx"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1351,7 +1351,7 @@ msgstr "¿Quieres eliminar esta transmisión?"
 msgid "Docker client not initialized"
 msgstr "Cliente de Docker no inicializado"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "El socket de Docker existe"
 
@@ -1757,7 +1757,7 @@ msgstr "Error al descifrar el directorio de Nginx UI: {0}"
 msgid "Failed to delete certificate"
 msgstr "No se pudo eliminar el certificado"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Error al eliminar el certificado de la base de datos: %{error}"
 
@@ -1902,7 +1902,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr "No se pudo revocar el certificado"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "No se pudo revocar el certificado: %{error}"
 
@@ -2025,6 +2025,10 @@ msgstr "Obteniendo el certificado, por favor espere..."
 msgid "Github Proxy"
 msgstr "Proxy Github"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "Compresión GZIP"
@@ -2417,7 +2421,7 @@ msgstr "Ubicaciones"
 msgid "Log"
 msgstr "Registro"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2710,7 +2714,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Ruta de registro de acceso de Nginx"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Existe la ruta del registro de acceso de Nginx"
 
@@ -2738,11 +2742,11 @@ msgstr "La configuración de Nginx no incluye stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "El directorio de configuración de Nginx no está establecido"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "El directorio de configuración de Nginx existe"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "El archivo de entrada de configuración de Nginx existe"
 
@@ -2780,7 +2784,7 @@ msgstr "Tasa de uso de CPU de Nginx"
 msgid "Nginx Error Log Path"
 msgstr "Ruta de registro de errores de Nginx"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "La ruta del registro de errores de Nginx existe"
 
@@ -2817,7 +2821,7 @@ msgstr "Uso de memoria de Nginx"
 msgid "Nginx PID Path"
 msgstr "Ruta del PID de Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "La ruta del PID de Nginx existe"
 
@@ -2880,15 +2884,15 @@ msgstr ""
 "La configuración de Nginx UI ha sido restaurada y se reiniciará "
 "automáticamente en unos segundos."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf incluye el directorio conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf incluye el directorio sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf incluye el directorio streams-enabled"
 
@@ -3686,7 +3690,7 @@ msgstr "Estadísticas de solicitudes"
 msgid "Request timeout"
 msgstr "Tiempo de espera agotado"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Pedido con parámetros incorrectos"
 
@@ -4046,7 +4050,7 @@ msgstr "Registros del sitio"
 msgid "Site not found"
 msgstr "Sitio no encontrado"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "El directorio de sitios existe"
 
@@ -4163,7 +4167,7 @@ msgstr "La transmisión está habilitada"
 msgid "Stream not found"
 msgstr "Transmisión no encontrada"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "El directorio de streams existe"
 

+ 51 - 47
app/src/language/fr_FR/app.po

@@ -14,47 +14,47 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 5.9.2\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] Utilisateur ACME : %{name}, Email : %{email}, Répertoire CA : "
 "%{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 "[Nginx UI] Sauvegarde du certificat actuel pour une révocation ultérieure"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Certificat renouvelé avec succès"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Certificat révoqué avec succès"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] Le certificat a été utilisé pour le serveur, rechargement du "
 "certificat TLS du serveur"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 "[Nginx UI] Création d'un client pour faciliter la communication avec le "
 "serveur CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Variables d'environnement nettoyées"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Terminé"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Certificat émis avec succès"
 
@@ -62,39 +62,39 @@ msgstr "[Nginx UI] Certificat émis avec succès"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Obtention du certificat"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Préparation de la révocation du certificat"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Préparation des configurations lego"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Rechargement de nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Révocation terminée"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Révoquer le certificat"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Révoquer l'ancien certificat"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] Configuration du fournisseur de défi DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Configuration des variables d'environnement"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] Configuration du fournisseur de défi HTTP01"
 
@@ -102,7 +102,7 @@ msgstr "[Nginx UI] Configuration du fournisseur de défi HTTP01"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Écriture de la clé privée du certificat sur le disque"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Écriture du certificat sur le disque"
 
@@ -625,7 +625,7 @@ msgstr "Certificat expiré"
 msgid "Certificate Expiring Soon"
 msgstr "Certificat expirant bientôt"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Certificat introuvable : %{error}"
 
@@ -650,7 +650,7 @@ msgstr "Intervalle de renouvellement du certificat"
 msgid "Certificate renewed successfully"
 msgstr "Certificat renouvelé avec succès"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Certificat révoqué avec succès"
 
@@ -706,7 +706,7 @@ msgstr "Vérifier"
 msgid "Check again"
 msgstr "Revérifier"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -725,39 +725,39 @@ msgstr ""
 "sécurisé et empêche l'utilisation des Passkeys et des fonctionnalités du "
 "presse-papiers"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Vérifiez si le chemin du journal d'accès de nginx existe"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Vérifier si le répertoire de configuration de nginx existe"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Vérifier si le fichier d'entrée de configuration nginx existe"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Vérifier si le chemin du journal d'erreurs de nginx existe"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Vérifier si le chemin du PID de Nginx existe"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Vérifier si le nginx.conf inclut le répertoire conf.d"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Vérifier si le nginx.conf inclut le répertoire sites-enabled"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "Vérifier si le nginx.conf inclut le répertoire streams-enabled"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -765,7 +765,7 @@ msgstr ""
 "Vérifier si les répertoires sites-available et sites-enabled se trouvent "
 "dans le répertoire de configuration de nginx"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1352,7 +1352,7 @@ msgstr "Voulez-vous supprimer cet upstream ?"
 msgid "Docker client not initialized"
 msgstr "Client Docker non initialisé"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Le socket Docker existe"
 
@@ -1755,7 +1755,7 @@ msgstr "Échec du décryptage du répertoire Nginx UI : {0}"
 msgid "Failed to delete certificate"
 msgstr "Échec de la suppression du certificat"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Échec de la suppression du certificat de la base de données : %{error}"
 
@@ -1901,7 +1901,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr "Échec de la révocation du certificat"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Échec de la révocation du certificat : %{error}"
 
@@ -2024,6 +2024,10 @@ msgstr "Obtention du certificat, veuillez patienter..."
 msgid "Github Proxy"
 msgstr "Proxy Github"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "Compression GZIP"
@@ -2418,7 +2422,7 @@ msgstr "Emplacements"
 msgid "Log"
 msgstr "Journal"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2711,7 +2715,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Chemin du journal d'accès Nginx"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Le chemin du journal d'accès Nginx existe"
 
@@ -2739,11 +2743,11 @@ msgstr "La configuration Nginx n'inclut pas stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "Le répertoire de configuration de Nginx n'est pas défini"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Le répertoire de configuration Nginx existe"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Le fichier d'entrée de configuration Nginx existe"
 
@@ -2781,7 +2785,7 @@ msgstr "Taux d'utilisation du CPU par Nginx"
 msgid "Nginx Error Log Path"
 msgstr "Chemin du journal des erreurs Nginx"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Le chemin du journal d'erreurs de Nginx existe"
 
@@ -2818,7 +2822,7 @@ msgstr "Utilisation de la mémoire par Nginx"
 msgid "Nginx PID Path"
 msgstr "Chemin du PID de Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Le chemin du PID de Nginx existe"
 
@@ -2882,15 +2886,15 @@ msgstr ""
 "La configuration de Nginx UI a été restaurée et redémarrera automatiquement "
 "dans quelques secondes."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf inclut le répertoire conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf inclut le répertoire sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf inclut le répertoire streams-enabled"
 
@@ -3687,7 +3691,7 @@ msgstr "Statistiques des requêtes"
 msgid "Request timeout"
 msgstr "Délai de requête dépassé"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Demandé avec des paramètres incorrects"
 
@@ -4048,7 +4052,7 @@ msgstr "Journaux du site"
 msgid "Site not found"
 msgstr "Site non trouvé"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "Le répertoire des sites existe"
 
@@ -4165,7 +4169,7 @@ msgstr "Le flux est activé"
 msgid "Stream not found"
 msgstr "Flux introuvable"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Le répertoire des streams existe"
 

+ 37 - 37
app/src/language/generate.ts

@@ -1,52 +1,52 @@
 // This file is auto-generated. DO NOT EDIT MANUALLY.
 
 export const msg = [
-  $gettext('Nginx.conf includes streams-enabled directory'),
-  $gettext('Nginx PID path exists'),
-  $gettext('[Nginx UI] Environment variables cleaned'),
+  $gettext('[Nginx UI] Issued certificate successfully'),
+  $gettext('Certificate not found: %{error}'),
+  $gettext('[Nginx UI] Setting DNS01 challenge provider'),
   $gettext('[Nginx UI] Writing certificate private key to disk'),
-  $gettext('Nginx error log path exists'),
-  $gettext('Check if the nginx error log path exists'),
   $gettext('[Nginx UI] Preparing for certificate revocation'),
-  $gettext('Certificate revoked successfully'),
-  $gettext('[Nginx UI] Finished'),
-  $gettext('Check if the nginx.conf includes the conf.d directory'),
-  $gettext('Nginx access log path exists'),
-  $gettext('Failed to delete certificate from database: %{error}'),
-  $gettext('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.'),
-  $gettext('[Nginx UI] Setting HTTP01 challenge provider'),
-  $gettext('[Nginx UI] Backing up current certificate for later revocation'),
-  $gettext('[Nginx UI] Reloading nginx'),
-  $gettext('Sites directory exists'),
+  $gettext('[Nginx UI] Revoking certificate'),
+  $gettext('Streams directory exists'),
   $gettext('Nginx configuration entry file exists'),
+  $gettext('Failed to revoke certificate: %{error}'),
+  $gettext('[Nginx UI] Revoking old certificate'),
   $gettext('Check if the nginx PID path exists'),
-  $gettext('Check if the sites-available and sites-enabled directories are under the nginx configuration directory'),
-  $gettext('Check if the nginx configuration entry file exists'),
+  $gettext('Nginx error log path exists'),
+  $gettext('[Nginx UI] Backing up current certificate for later revocation'),
+  $gettext('[Nginx UI] Revocation completed'),
+  $gettext('Nginx.conf includes streams-enabled directory'),
+  $gettext('Check if the nginx.conf includes the streams-enabled directory'),
+  $gettext('Check if the nginx configuration directory exists'),
   $gettext('Check if the nginx access log path exists'),
   $gettext('Docker socket exists'),
-  $gettext('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`.'),
-  $gettext('[Nginx UI] Creating client facilitates communication with the CA server'),
-  $gettext('[Nginx UI] Certificate was used for server, reloading server TLS certificate'),
-  $gettext('Check if the nginx configuration directory exists'),
-  $gettext('[Nginx UI] Revoking certificate'),
-  $gettext('Certificate not found: %{error}'),
-  $gettext('[Nginx UI] Preparing lego configurations'),
-  $gettext('[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}'),
-  $gettext('[Nginx UI] Setting environment variables'),
-  $gettext('[Nginx UI] Revoking old certificate'),
-  $gettext('[Nginx UI] Certificate renewed successfully'),
-  $gettext('Check if the streams-available and streams-enabled directories are under the nginx configuration directory'),
-  $gettext('[Nginx UI] Setting DNS01 challenge provider'),
+  $gettext('Certificate revoked successfully'),
   $gettext('[Nginx UI] Writing certificate to disk'),
-  $gettext('[Nginx UI] Revocation completed'),
-  $gettext('[Nginx UI] Certificate successfully revoked'),
+  $gettext('Sites directory exists'),
   $gettext('Check if the nginx.conf includes the sites-enabled directory'),
-  $gettext('Check if the nginx.conf includes the streams-enabled directory'),
+  $gettext('Check if the nginx.conf includes the conf.d directory'),
+  $gettext('[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}'),
+  $gettext('[Nginx UI] Setting HTTP01 challenge provider'),
+  $gettext('[Nginx UI] Environment variables cleaned'),
+  $gettext('[Nginx UI] Certificate successfully revoked'),
   $gettext('Nginx.conf includes conf.d directory'),
+  $gettext('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`.'),
+  $gettext('[Nginx UI] Finished'),
+  $gettext('Check if the streams-available and streams-enabled directories are under the nginx configuration directory'),
+  $gettext('Nginx.conf includes sites-enabled directory'),
+  $gettext('Check if the nginx configuration entry file exists'),
+  $gettext('Failed to delete certificate from database: %{error}'),
+  $gettext('[Nginx UI] Preparing lego configurations'),
+  $gettext('[Nginx UI] Reloading nginx'),
+  $gettext('[Nginx UI] Certificate renewed successfully'),
+  $gettext('[Nginx UI] Certificate was used for server, reloading server TLS certificate'),
   $gettext('Nginx configuration directory exists'),
-  $gettext('[Nginx UI] Issued certificate successfully'),
-  $gettext('Failed to revoke certificate: %{error}'),
+  $gettext('Nginx PID path exists'),
+  $gettext('Nginx access log path exists'),
+  $gettext('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.'),
+  $gettext('[Nginx UI] Creating client facilitates communication with the CA server'),
+  $gettext('[Nginx UI] Setting environment variables'),
   $gettext('[Nginx UI] Obtaining certificate'),
-  $gettext('Streams directory exists'),
-  $gettext('Nginx.conf includes sites-enabled directory'),
+  $gettext('Check if the sites-available and sites-enabled directories are under the nginx configuration directory'),
+  $gettext('Check if the nginx error log path exists'),
 ]

+ 51 - 47
app/src/language/ja_JP/app.po

@@ -13,44 +13,44 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 5.6.2\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] ACME ユーザー: %{name}、メール: %{email}、CA ディレクトリ: "
 "%{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] 現在の証明書を後で失効させるためにバックアップ中"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] 証明書の更新が成功しました"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] 証明書の失効に成功しました"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] サーバーで証明書が使用されました、サーバーのTLS証明書を再読み込み"
 "中"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] CA サーバーとの通信を容易にするクライアントを作成中"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] 環境変数をクリーンアップしました"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] 完了しました"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] 証明書の発行に成功しました"
 
@@ -58,39 +58,39 @@ msgstr "[Nginx UI] 証明書の発行に成功しました"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] 証明書を取得中"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] 証明書の失効準備中"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Lego 設定の準備中"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Nginx を再読み込み中"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] 失効が完了しました"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] 証明書を失効中"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] 古い証明書を失効中"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] DNS01 チャレンジプロバイダーを設定中"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] 環境変数の設定"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] HTTP01 チャレンジプロバイダーの設定"
 
@@ -98,7 +98,7 @@ msgstr "[Nginx UI] HTTP01 チャレンジプロバイダーの設定"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] 証明書の秘密鍵をディスクに書き込んでいます"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] 証明書をディスクに書き込み中"
 
@@ -610,7 +610,7 @@ msgstr "証明書の有効期限が切れました"
 msgid "Certificate Expiring Soon"
 msgstr "証明書の有効期限が近づいています"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "証明書が見つかりません: %{error}"
 
@@ -635,7 +635,7 @@ msgstr "証明書更新間隔"
 msgid "Certificate renewed successfully"
 msgstr "証明書の更新に成功しました"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "証明書の失効に成功しました"
 
@@ -691,7 +691,7 @@ msgstr "チェック"
 msgid "Check again"
 msgstr "再確認"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -709,39 +709,39 @@ msgstr ""
 "HTTPS が有効かどうかを確認します。localhost 以外で HTTP を使用するとセキュリ"
 "ティ上危険であり、Passkeys やクリップボード機能の使用が妨げられます"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Nginx のアクセスログパスが存在するか確認する"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "nginxの設定ディレクトリが存在するか確認する"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "nginxの設定エントリファイルが存在するか確認する"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Nginx のエラーログパスが存在するか確認する"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Nginx の PID パスが存在するか確認する"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "nginx.conf に conf.d ディレクトリが含まれているか確認する"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "nginx.conf に sites-enabled ディレクトリが含まれているか確認する"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "nginx.conf に streams-enabled ディレクトリが含まれているか確認する"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -749,7 +749,7 @@ msgstr ""
 "nginx の設定ディレクトリに sites-available と sites-enabled ディレクトリがあ"
 "るか確認する"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1325,7 +1325,7 @@ msgstr "このアップストリームを削除しますか?"
 msgid "Docker client not initialized"
 msgstr "Docker クライアントが初期化されていません"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Docker ソケットが存在します"
 
@@ -1726,7 +1726,7 @@ msgstr "Nginx UIディレクトリの復号に失敗しました: {0}"
 msgid "Failed to delete certificate"
 msgstr "証明書の削除に失敗しました"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "データベースから証明書の削除に失敗しました: %{error}"
 
@@ -1870,7 +1870,7 @@ msgstr "Nginx UIファイルの復元に失敗しました: {0}"
 msgid "Failed to revoke certificate"
 msgstr "証明書の失効に失敗しました"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "証明書の失効に失敗しました: %{error}"
 
@@ -1991,6 +1991,10 @@ msgstr "証明書を取得しています。しばらくお待ちください...
 msgid "Github Proxy"
 msgstr "Githubプロキシ"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "GZIP圧縮"
@@ -2383,7 +2387,7 @@ msgstr "ロケーション"
 msgid "Log"
 msgstr "ログ"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2675,7 +2679,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Nginx アクセスログパス"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Nginx アクセスログのパスが存在します"
 
@@ -2703,11 +2707,11 @@ msgstr "Nginx設定にstream-enabledが含まれていません"
 msgid "Nginx config directory is not set"
 msgstr "Nginx設定ディレクトリが設定されていません"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Nginx設定ディレクトリが存在します"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Nginx設定エントリファイルが存在します"
 
@@ -2745,7 +2749,7 @@ msgstr "NginxのCPU使用率"
 msgid "Nginx Error Log Path"
 msgstr "Nginx エラーログのパス"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Nginxエラーログのパスが存在します"
 
@@ -2782,7 +2786,7 @@ msgstr "Nginxメモリ使用量"
 msgid "Nginx PID Path"
 msgstr "Nginx PID パス"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Nginx PID パスが存在します"
 
@@ -2842,15 +2846,15 @@ msgid ""
 "few seconds."
 msgstr "Nginx UI の設定が復元され、数秒後に自動的に再起動します。"
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf は conf.d ディレクトリを含んでいます"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf は sites-enabled ディレクトリを含んでいます"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf には streams-enabled ディレクトリが含まれています"
 
@@ -3630,7 +3634,7 @@ msgstr "リクエスト統計"
 msgid "Request timeout"
 msgstr "リクエストがタイムアウトしました"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "間違ったパラメータでリクエストされました"
 
@@ -3986,7 +3990,7 @@ msgstr "サイトログ"
 msgid "Site not found"
 msgstr "サイトが見つかりません"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "サイトディレクトリが存在します"
 
@@ -4099,7 +4103,7 @@ msgstr "ストリームが有効です"
 msgid "Stream not found"
 msgstr "ストリームが見つかりません"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "ストリームディレクトリが存在します"
 

+ 51 - 47
app/src/language/ko_KR/app.po

@@ -14,42 +14,42 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Weblate 5.10.4\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] ACME 사용자: %{name}, 이메일: %{email}, CA 디렉터리: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] 현재 인증서를 나중에 취소하기 위해 백업 중"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] 인증서 갱신 성공"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] 인증서가 성공적으로 취소되었습니다"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] 서버에 인증서가 사용되었습니다, 서버 TLS 인증서 다시 불러오는 중"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] CA 서버와의 통신을 용이하게 하는 클라이언트 생성"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] 환경 변수가 정리되었습니다"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] 완료됨"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] 인증서가 성공적으로 발급되었습니다"
 
@@ -57,39 +57,39 @@ msgstr "[Nginx UI] 인증서가 성공적으로 발급되었습니다"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] 인증서 획득 중"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] 인증서 해지 준비 중"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] 레고 구성 준비 중"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Nginx 다시 로드 중"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] 해지 완료"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] 인증서 취소 중"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] 이전 인증서 취소 중"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] DNS01 챌린지 공급자 설정 중"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] 환경 변수 설정 중"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] HTTP01 챌린지 공급자 설정 중"
 
@@ -97,7 +97,7 @@ msgstr "[Nginx UI] HTTP01 챌린지 공급자 설정 중"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] 인증서 개인 키를 디스크에 기록 중"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] 인증서를 디스크에 작성 중"
 
@@ -607,7 +607,7 @@ msgstr "인증서 만료됨"
 msgid "Certificate Expiring Soon"
 msgstr "인증서 만료 임박"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "인증서를 찾을 수 없음: %{error}"
 
@@ -632,7 +632,7 @@ msgstr "인증서 갱신 간격"
 msgid "Certificate renewed successfully"
 msgstr "인증서 갱신 성공"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "인증서가 성공적으로 취소되었습니다"
 
@@ -689,7 +689,7 @@ msgstr "확인"
 msgid "Check again"
 msgstr "다시 확인"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -707,46 +707,46 @@ msgstr ""
 "HTTPS가 활성화되었는지 확인하세요. localhost 외부에서 HTTP를 사용하는 것은 안"
 "전하지 않으며 Passkeys 및 클립보드 기능 사용을 방해합니다"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Nginx 액세스 로그 경로가 존재하는지 확인"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "nginx 설정 디렉터리가 존재하는지 확인"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "nginx 구성 항목 파일이 존재하는지 확인하세요"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Nginx 오류 로그 경로가 존재하는지 확인"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Nginx PID 경로가 존재하는지 확인"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "nginx.conf에 conf.d 디렉터리가 포함되어 있는지 확인"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "nginx.conf에 sites-enabled 디렉토리가 포함되어 있는지 확인"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "nginx.conf에 streams-enabled 디렉토리가 포함되어 있는지 확인"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr ""
 "nginx 설정 디렉터리에 sites-available 및 sites-enabled 디렉터리가 있는지 확인"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1320,7 +1320,7 @@ msgstr "이 업스트림을 제거하시겠습니까?"
 msgid "Docker client not initialized"
 msgstr "Docker 클라이언트가 초기화되지 않았습니다"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Docker 소켓이 존재합니다"
 
@@ -1722,7 +1722,7 @@ msgstr "Nginx UI 디렉터리 복호화 실패: {0}"
 msgid "Failed to delete certificate"
 msgstr "인증서 삭제 실패"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "데이터베이스에서 인증서 삭제 실패: %{error}"
 
@@ -1866,7 +1866,7 @@ msgstr "Nginx UI 파일 복원 실패: {0}"
 msgid "Failed to revoke certificate"
 msgstr "인증서 취소에 실패했습니다"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "인증서 취소 실패: %{error}"
 
@@ -1987,6 +1987,10 @@ msgstr "인증서를 가져오는 중입니다. 잠시 기다려 주세요..."
 msgid "Github Proxy"
 msgstr "Github 프록시"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "GZIP 압축"
@@ -2373,7 +2377,7 @@ msgstr "위치들"
 msgid "Log"
 msgstr "로그"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2664,7 +2668,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Nginx 접근 로그 경로"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Nginx 접근 로그 경로가 존재합니다"
 
@@ -2692,11 +2696,11 @@ msgstr "Nginx 설정에 stream-enabled가 포함되어 있지 않음"
 msgid "Nginx config directory is not set"
 msgstr "Nginx 설정 디렉터리가 설정되지 않았습니다"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Nginx 설정 디렉터리가 존재합니다"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Nginx 구성 진입 파일이 존재합니다"
 
@@ -2734,7 +2738,7 @@ msgstr "Nginx CPU 사용률"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 오류 로그 경로"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Nginx 오류 로그 경로가 존재합니다"
 
@@ -2771,7 +2775,7 @@ msgstr "Nginx 메모리 사용량"
 msgid "Nginx PID Path"
 msgstr "Nginx PID 경로"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Nginx PID 경로가 존재합니다"
 
@@ -2831,15 +2835,15 @@ msgid ""
 "few seconds."
 msgstr "Nginx UI 설정이 복원되었으며 몇 초 후에 자동으로 재시작됩니다."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf는 conf.d 디렉토리를 포함합니다"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf에 sites-enabled 디렉터리가 포함되어 있습니다"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf에는 streams-enabled 디렉토리가 포함됩니다"
 
@@ -3614,7 +3618,7 @@ msgstr "요청 통계"
 msgid "Request timeout"
 msgstr "요청 시간 초과"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "잘못된 매개변수로 요청됨"
 
@@ -3969,7 +3973,7 @@ msgstr "사이트 로그"
 msgid "Site not found"
 msgstr "사이트를 찾을 수 없음"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "사이트 디렉터리가 존재합니다"
 
@@ -4082,7 +4086,7 @@ msgstr "스트림이 활성화되었습니다"
 msgid "Stream not found"
 msgstr "스트림을 찾을 수 없음"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "스트림 디렉터리가 존재합니다"
 

+ 51 - 46
app/src/language/messages.pot

@@ -2,39 +2,39 @@ msgid ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr ""
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr ""
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr ""
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr ""
 
@@ -42,39 +42,39 @@ msgstr ""
 msgid "[Nginx UI] Obtaining certificate"
 msgstr ""
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr ""
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr ""
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr ""
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr ""
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr ""
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr ""
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr ""
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr ""
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr ""
 
@@ -82,7 +82,7 @@ msgstr ""
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr ""
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr ""
 
@@ -594,7 +594,7 @@ msgstr ""
 msgid "Certificate Expiring Soon"
 msgstr ""
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr ""
 
@@ -619,7 +619,7 @@ msgstr ""
 msgid "Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr ""
 
@@ -677,7 +677,7 @@ msgstr ""
 msgid "Check again"
 msgstr ""
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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`."
 msgstr ""
 
@@ -685,43 +685,43 @@ msgstr ""
 msgid "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and prevents using Passkeys and clipboard features"
 msgstr ""
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr ""
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr ""
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr ""
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr ""
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid "Check if the sites-available and sites-enabled directories are under the nginx configuration directory"
 msgstr ""
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid "Check if the streams-available and streams-enabled directories are under the nginx configuration directory"
 msgstr ""
 
@@ -1294,7 +1294,7 @@ msgstr ""
 msgid "Docker client not initialized"
 msgstr ""
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr ""
 
@@ -1697,7 +1697,7 @@ msgstr ""
 msgid "Failed to delete certificate"
 msgstr ""
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr ""
 
@@ -1841,7 +1841,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr ""
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr ""
 
@@ -1961,6 +1961,10 @@ msgstr ""
 msgid "Github Proxy"
 msgstr ""
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr ""
@@ -2327,7 +2331,7 @@ msgstr ""
 msgid "Log"
 msgstr ""
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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."
 msgstr ""
 
@@ -2608,7 +2612,7 @@ msgstr ""
 msgid "Nginx Access Log Path"
 msgstr ""
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr ""
 
@@ -2636,11 +2640,11 @@ msgstr ""
 msgid "Nginx config directory is not set"
 msgstr ""
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr ""
 
@@ -2678,7 +2682,7 @@ msgstr ""
 msgid "Nginx Error Log Path"
 msgstr ""
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr ""
 
@@ -2716,7 +2720,7 @@ msgstr ""
 msgid "Nginx PID Path"
 msgstr ""
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr ""
 
@@ -2776,15 +2780,15 @@ msgstr ""
 msgid "Nginx UI configuration has been restored and will restart automatically in a few seconds."
 msgstr ""
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr ""
 
@@ -3526,6 +3530,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
+#: src/constants/errors/validate.ts:2
 #: src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr ""
@@ -3863,7 +3868,7 @@ msgstr ""
 msgid "Site not found"
 msgstr ""
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr ""
 
@@ -3978,7 +3983,7 @@ msgstr ""
 msgid "Stream not found"
 msgstr ""
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr ""
 

+ 51 - 47
app/src/language/pt_PT/app.po

@@ -12,46 +12,46 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 5.6.2\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] Utilizador ACME: %{name}, Email: %{email}, Diretório CA: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 "[Nginx UI] A fazer cópia de segurança do certificado atual para posterior "
 "revogação"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Certificado renovado com sucesso"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Certificado revogado com sucesso"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 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:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 "[Nginx UI] Criando cliente para facilitar a comunicação com o servidor CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Variáveis de ambiente limpas"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Concluído"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Certificado emitido com sucesso"
 
@@ -59,39 +59,39 @@ msgstr "[Nginx UI] Certificado emitido com sucesso"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] A obter certificado"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Preparando para a revogação do certificado"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] A preparar configurações do lego"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] A recarregar o nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Revogação concluída"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Revogar certificado"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Revogar certificado antigo"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] A configurar o fornecedor de desafio DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Configurando variáveis de ambiente"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] A configurar o fornecedor de desafio HTTP01"
 
@@ -99,7 +99,7 @@ msgstr "[Nginx UI] A configurar o fornecedor de desafio HTTP01"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] A gravar a chave privada do certificado no disco"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] A escrever o certificado no disco"
 
@@ -620,7 +620,7 @@ msgstr "Certificado expirado"
 msgid "Certificate Expiring Soon"
 msgstr "Certificado a expirar em breve"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Certificado não encontrado: %{error}"
 
@@ -645,7 +645,7 @@ msgstr "Intervalo de Renovação do Certificado"
 msgid "Certificate renewed successfully"
 msgstr "Certificado renovado com sucesso"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Certificado revogado com sucesso"
 
@@ -703,7 +703,7 @@ msgstr "Verificar"
 msgid "Check again"
 msgstr "Verificar de novo"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -721,39 +721,39 @@ msgstr ""
 "Verifique se o HTTPS está ativado. Usar HTTP fora do localhost é inseguro e "
 "impede o uso de Passkeys e funcionalidades da área de transferência"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 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:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Verificar se o diretório de configuração do nginx existe"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Verificar se o ficheiro de entrada de configuração do nginx existe"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Verificar se o caminho do registo de erros do nginx existe"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Verificar se o caminho do PID do Nginx existe"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Verificar se o nginx.conf inclui o diretório conf.d"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Verificar se o nginx.conf inclui o diretório sites-enabled"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "Verificar se o nginx.conf inclui o diretório streams-enabled"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -761,7 +761,7 @@ msgstr ""
 "Verifique se os diretórios sites-available e sites-enabled estão no "
 "diretório de configuração do nginx"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1341,7 +1341,7 @@ msgstr "Remover este upstream?"
 msgid "Docker client not initialized"
 msgstr "Cliente Docker não inicializado"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "O socket do Docker existe"
 
@@ -1743,7 +1743,7 @@ msgstr "Falha ao desencriptar o diretório Nginx UI: {0}"
 msgid "Failed to delete certificate"
 msgstr "Falha ao eliminar o certificado"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Falha ao eliminar o certificado da base de dados: %{error}"
 
@@ -1888,7 +1888,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr "Falha ao revogar o certificado"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Falha ao revogar o certificado: %{error}"
 
@@ -2011,6 +2011,10 @@ msgstr "Obtendo certificado, por favor aguarde..."
 msgid "Github Proxy"
 msgstr "Github Proxy"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "Compressão GZIP"
@@ -2404,7 +2408,7 @@ msgstr "Localizações"
 msgid "Log"
 msgstr "Log"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2696,7 +2700,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Caminho para Logs de Acesso do Nginx"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "O caminho do log de acesso do Nginx existe"
 
@@ -2724,11 +2728,11 @@ msgstr "A configuração do Nginx não inclui stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "O diretório de configuração do Nginx não está definido"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "O diretório de configuração do Nginx existe"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "O ficheiro de entrada de configuração do Nginx existe"
 
@@ -2766,7 +2770,7 @@ msgstr "Taxa de utilização da CPU do Nginx"
 msgid "Nginx Error Log Path"
 msgstr "Caminho para Logs de Erro do Nginx"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "O caminho do log de erros do Nginx existe"
 
@@ -2803,7 +2807,7 @@ msgstr "Uso de memória do Nginx"
 msgid "Nginx PID Path"
 msgstr "Caminho do PID do Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "O caminho do PID do Nginx existe"
 
@@ -2866,15 +2870,15 @@ msgstr ""
 "A configuração do Nginx UI foi restaurada e irá reiniciar automaticamente em "
 "alguns segundos."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf inclui o diretório conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf inclui o diretório sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf inclui o diretório streams-enabled"
 
@@ -3669,7 +3673,7 @@ msgstr "Estatísticas de pedidos"
 msgid "Request timeout"
 msgstr "Tempo limite da solicitação"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Solicitado com parâmetros errados"
 
@@ -4029,7 +4033,7 @@ msgstr "Logs do Site"
 msgid "Site not found"
 msgstr "Site não encontrado"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "O diretório de sites existe"
 
@@ -4145,7 +4149,7 @@ msgstr "O fluxo está ativado"
 msgid "Stream not found"
 msgstr "Transmissão não encontrada"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "O diretório de streams existe"
 

+ 51 - 47
app/src/language/ru_RU/app.po

@@ -16,44 +16,44 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 3.5\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] Пользователь ACME: %{name}, Email: %{email}, Каталог CA: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 "[Nginx UI] Резервное копирование текущего сертификата для последующего отзыва"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Сертификат успешно обновлен"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Сертификат успешно отозван"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] Сертификат использовался для сервера, перезагрузка TLS-"
 "сертификата сервера"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] Создание клиента для облегчения связи с сервером CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Переменные окружения очищены"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Завершено"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Сертификат успешно выдан"
 
@@ -61,39 +61,39 @@ msgstr "[Nginx UI] Сертификат успешно выдан"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Получение сертификата"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Подготовка к отзыву сертификата"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Подготовка конфигураций lego"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Перезагрузка nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Отзыв завершен"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Отзыв сертификата"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Отзыв старого сертификата"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] Настройка провайдера проверки DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Установка переменных окружения"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] Настройка провайдера HTTP01-проверки"
 
@@ -101,7 +101,7 @@ msgstr "[Nginx UI] Настройка провайдера HTTP01-проверк
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Запись закрытого ключа сертификата на диск"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Запись сертификата на диск"
 
@@ -619,7 +619,7 @@ msgstr "Сертификат истёк"
 msgid "Certificate Expiring Soon"
 msgstr "Сертификат скоро истекает"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Сертификат не найден: %{error}"
 
@@ -644,7 +644,7 @@ msgstr "Интервал обновления сертификата"
 msgid "Certificate renewed successfully"
 msgstr "Сертификат успешно продлен"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Сертификат успешно отозван"
 
@@ -702,7 +702,7 @@ msgstr "Проверить"
 msgid "Check again"
 msgstr "Проверить повторно"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -720,39 +720,39 @@ msgstr ""
 "Проверьте, включен ли HTTPS. Использование HTTP вне localhost небезопасно и "
 "препятствует использованию Passkeys и функций буфера обмена"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Проверить, существует ли путь к журналу доступа nginx"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Проверить, существует ли каталог конфигурации nginx"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Проверить, существует ли файл конфигурации nginx"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Проверить, существует ли путь к журналу ошибок nginx"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Проверить, существует ли путь к PID Nginx"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Проверить, включает ли файл nginx.conf директорию conf.d"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Проверить, включает ли nginx.conf каталог sites-enabled"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "Проверить, включает ли nginx.conf каталог streams-enabled"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -760,7 +760,7 @@ msgstr ""
 "Проверьте, находятся ли каталоги sites-available и sites-enabled в каталоге "
 "конфигурации nginx"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1339,7 +1339,7 @@ msgstr "Хотите удалить этот сервер?"
 msgid "Docker client not initialized"
 msgstr "Клиент Docker не инициализирован"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Сокет Docker существует"
 
@@ -1742,7 +1742,7 @@ msgstr "Не удалось расшифровать каталог Nginx UI: {0
 msgid "Failed to delete certificate"
 msgstr "Не удалось удалить сертификат"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Не удалось удалить сертификат из базы данных: %{error}"
 
@@ -1886,7 +1886,7 @@ msgstr "Не удалось восстановить файлы пользова
 msgid "Failed to revoke certificate"
 msgstr "Не удалось отозвать сертификат"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Не удалось отозвать сертификат: %{error}"
 
@@ -2009,6 +2009,10 @@ msgstr "Получение сертификата, пожалуйста, под
 msgid "Github Proxy"
 msgstr "Прокси Github"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "Сжатие GZIP"
@@ -2400,7 +2404,7 @@ msgstr "Локации"
 msgid "Log"
 msgstr "Журнал"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2692,7 +2696,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Путь для Nginx Access Log"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Путь к журналу доступа Nginx существует"
 
@@ -2720,11 +2724,11 @@ msgstr "Конфигурация Nginx не включает stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "Каталог конфигурации Nginx не задан"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Каталог конфигурации Nginx существует"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Файл конфигурации Nginx существует"
 
@@ -2762,7 +2766,7 @@ msgstr "Уровень использования CPU Nginx"
 msgid "Nginx Error Log Path"
 msgstr "Путь для Nginx Error Log"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Путь к журналу ошибок Nginx существует"
 
@@ -2799,7 +2803,7 @@ msgstr "Использование памяти Nginx"
 msgid "Nginx PID Path"
 msgstr "Путь к PID Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Путь PID Nginx существует"
 
@@ -2861,15 +2865,15 @@ msgstr ""
 "Конфигурация Nginx UI была восстановлена и автоматически перезапустится "
 "через несколько секунд."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf включает каталог conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf включает каталог sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf включает каталог streams-enabled"
 
@@ -3663,7 +3667,7 @@ msgstr "Статистика запросов"
 msgid "Request timeout"
 msgstr "Время запроса истекло"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Запрос с неправильными параметрами"
 
@@ -4021,7 +4025,7 @@ msgstr "Журналы сайта"
 msgid "Site not found"
 msgstr "Сайт не найден"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "Каталог сайтов существует"
 
@@ -4135,7 +4139,7 @@ msgstr "Поток включен"
 msgid "Stream not found"
 msgstr "Поток не найден"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Каталог потоков существует"
 

+ 51 - 47
app/src/language/tr_TR/app.po

@@ -14,45 +14,45 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 5.10.4\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] ACME Kullanıcısı: %{name}, E-posta: %{email}, CA Dizini: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 "[Nginx UI] Geçerli sertifika daha sonra iptal edilmek üzere yedekleniyor"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Sertifika başarıyla yenilendi"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Sertifika başarıyla iptal edildi"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] Sertifika sunucu için kullanıldı, sunucu TLS sertifikası yeniden "
 "yükleniyor"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 "[Nginx UI] CA sunucusu ile iletişimi kolaylaştırmak için istemci oluşturma"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Ortam değişkenleri temizlendi"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Tamamlandı"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Sertifika başarıyla verildi"
 
@@ -60,39 +60,39 @@ msgstr "[Nginx UI] Sertifika başarıyla verildi"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Sertifika alınıyor"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Sertifika iptali için hazırlanıyor"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Lego yapılandırmaları hazırlanıyor"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Nginx yeniden yükleniyor"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] İptal tamamlandı"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Sertifika iptal ediliyor"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Eski sertifika iptal ediliyor"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] DNS01 meydan okuma sağlayıcısı ayarlanıyor"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Ortam değişkenleri ayarlanıyor"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] HTTP01 meydan okuma sağlayıcısı ayarlanıyor"
 
@@ -100,7 +100,7 @@ msgstr "[Nginx UI] HTTP01 meydan okuma sağlayıcısı ayarlanıyor"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Sertifika özel anahtarı diske yazılıyor"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Sertifika diske yazılıyor"
 
@@ -617,7 +617,7 @@ msgstr "Sertifikanın süresi doldu"
 msgid "Certificate Expiring Soon"
 msgstr "Sertifika Yakında Sona Eriyor"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Sertifika bulunamadı: %{error}"
 
@@ -642,7 +642,7 @@ msgstr "Sertifika Yenileme Aralığı"
 msgid "Certificate renewed successfully"
 msgstr "Sertifika başarıyla yenilendi"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Sertifika başarıyla iptal edildi"
 
@@ -700,7 +700,7 @@ msgstr "Kontrol et"
 msgid "Check again"
 msgstr "Tekrar kontrol et"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -719,42 +719,42 @@ msgstr ""
 "kullanmak güvensizdir ve Passkeys ile panosu özelliklerinin kullanılmasını "
 "engeller"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Nginx erişim günlüğü yolunun var olup olmadığını kontrol edin"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Nginx yapılandırma dizininin var olup olmadığını kontrol edin"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Nginx yapılandırma giriş dosyasının var olup olmadığını kontrol edin"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Nginx hata günlüğü yolunun var olup olmadığını kontrol edin"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Nginx PID yolunun var olup olmadığını kontrol edin"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "nginx.conf dosyasının conf.d dizinini içerip içermediğini kontrol edin"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr ""
 "nginx.conf dosyasının sites-enabled dizinini içerip içermediğini kontrol edin"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr ""
 "nginx.conf dosyasının streams-enabled dizinini içerip içermediğini kontrol "
 "edin"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -762,7 +762,7 @@ msgstr ""
 "sites-available ve sites-enabled dizinlerinin nginx yapılandırma dizini "
 "altında olup olmadığını kontrol edin"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1341,7 +1341,7 @@ msgstr "Bu upstream'i kaldırmak istiyor musunuz?"
 msgid "Docker client not initialized"
 msgstr "Docker istemcisi başlatılmadı"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Docker soketi mevcut"
 
@@ -1745,7 +1745,7 @@ msgstr "Nginx UI dizininin şifresi çözülemedi: {0}"
 msgid "Failed to delete certificate"
 msgstr "Sertifika silinemedi"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Sertifika veritabanından silinemedi: %{error}"
 
@@ -1889,7 +1889,7 @@ msgstr "Nginx UI dosyaları geri yüklenemedi: {0}"
 msgid "Failed to revoke certificate"
 msgstr "Sertifika iptal edilemedi"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Sertifika iptal edilemedi: %{error}"
 
@@ -2012,6 +2012,10 @@ msgstr "Sertifika alınıyor, lütfen bekleyin..."
 msgid "Github Proxy"
 msgstr "Github Proxy"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "GZIP Sıkıştırma"
@@ -2405,7 +2409,7 @@ msgstr "Konumlar"
 msgid "Log"
 msgstr "Günlük"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2697,7 +2701,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Nginx Erişim Günlüğü Yolu"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Nginx erişim günlüğü yolu mevcut"
 
@@ -2725,11 +2729,11 @@ msgstr "Nginx yapılandırması stream-enabled içermiyor"
 msgid "Nginx config directory is not set"
 msgstr "Nginx yapılandırma dizini ayarlanmamış"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Nginx yapılandırma dizini mevcut"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Nginx yapılandırma giriş dosyası mevcut"
 
@@ -2767,7 +2771,7 @@ msgstr "Nginx CPU kullanım oranı"
 msgid "Nginx Error Log Path"
 msgstr "Nginx Hata Günlüğü Yolu"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Nginx hata günlüğü yolu mevcut"
 
@@ -2804,7 +2808,7 @@ msgstr "Nginx Bellek Kullanımı"
 msgid "Nginx PID Path"
 msgstr "Nginx PID Yolu"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Nginx PID yolu mevcut"
 
@@ -2866,15 +2870,15 @@ msgstr ""
 "Nginx UI yapılandırması geri yüklendi ve birkaç saniye içinde otomatik "
 "olarak yeniden başlatılacak."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf, conf.d dizinini içerir"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf, sites-enabled dizinini içerir"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf, streams-enabled dizinini içerir"
 
@@ -3674,7 +3678,7 @@ msgstr "İstek istatistikleri"
 msgid "Request timeout"
 msgstr "İstek zaman aşımına uğradı"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Yanlış parametrelerle istek yapıldı"
 
@@ -4030,7 +4034,7 @@ msgstr "Site Kayıtları"
 msgid "Site not found"
 msgstr "Site bulunamadı"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "Siteler dizini mevcut"
 
@@ -4143,7 +4147,7 @@ msgstr "Yayın etkinleştirildi"
 msgid "Stream not found"
 msgstr "Akış bulunamadı"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Akışlar dizini mevcut"
 

+ 51 - 47
app/src/language/uk_UA/app.po

@@ -14,46 +14,46 @@ msgstr ""
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 5.11\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] Користувач ACME: %{name}, Електронна пошта: %{email}, Каталог CA: "
 "%{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 "[Nginx UI] Резервне копіювання поточного сертифіката для подальшого "
 "відкликання"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Сертифікат успішно оновлено"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Сертифікат успішно відкликано"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] Сертифікат використовувався для сервера, перезавантаження TLS-"
 "сертифіката сервера"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] Створення клієнта для спрощення зв’язку з сервером CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Змінні середовища очищено"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Завершено"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Сертифікат успішно видано"
 
@@ -61,39 +61,39 @@ msgstr "[Nginx UI] Сертифікат успішно видано"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Отримання сертифіката"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Підготовка до відкликання сертифіката"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Підготовка конфігурацій lego"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Перезавантаження nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Відкликання завершено"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Відкликання сертифіката"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Відкликання старого сертифіката"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] Налаштування провайдера виклику DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Налаштування змінних середовища"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] Налаштування провайдера HTTP01-виклику"
 
@@ -101,7 +101,7 @@ msgstr "[Nginx UI] Налаштування провайдера HTTP01-викл
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Запис приватного ключа сертифіката на диск"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Запис сертифіката на диск"
 
@@ -620,7 +620,7 @@ msgstr "Термін дії сертифіката закінчився"
 msgid "Certificate Expiring Soon"
 msgstr "Сертифікат незабаром закінчується"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Сертифікат не знайдено: %{error}"
 
@@ -645,7 +645,7 @@ msgstr "Інтервал оновлення сертифіката"
 msgid "Certificate renewed successfully"
 msgstr "Сертифікат успішно поновлено"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Сертифікат успішно відкликано"
 
@@ -701,7 +701,7 @@ msgstr "Перевірити"
 msgid "Check again"
 msgstr "Перевірте ще раз"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -719,39 +719,39 @@ msgstr ""
 "Перевірте, чи увімкнено HTTPS. Використання HTTP за межами localhost є "
 "небезпечним і перешкоджає використанню Passkeys та функцій буфера обміну"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Перевірити, чи існує шлях до журналу доступу nginx"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Перевірити, чи існує каталог конфігурації nginx"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Перевірити, чи існує файл конфігурації nginx"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Перевірити, чи існує шлях до журналу помилок nginx"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Перевірити, чи існує шлях до PID Nginx"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Перевірити, чи включає файл nginx.conf директорію conf.d"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Перевірити, чи nginx.conf включає каталог sites-enabled"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "Перевірити, чи включає nginx.conf каталог streams-enabled"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -759,7 +759,7 @@ msgstr ""
 "Перевірте, чи каталоги sites-available та sites-enabled знаходяться в "
 "каталозі конфігурації nginx"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1412,7 +1412,7 @@ msgstr "Ви хочете видалити цей апстрім?"
 msgid "Docker client not initialized"
 msgstr "Клієнт Docker не ініціалізовано"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Сокет Docker існує"
 
@@ -1814,7 +1814,7 @@ msgstr "Не вдалося розшифрувати каталог Nginx UI: {0
 msgid "Failed to delete certificate"
 msgstr "Не вдалося видалити сертифікат"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Не вдалося видалити сертифікат з бази даних: %{error}"
 
@@ -1958,7 +1958,7 @@ msgstr "Не вдалося відновити файли Nginx UI: {0}"
 msgid "Failed to revoke certificate"
 msgstr "Не вдалося відкликати сертифікат"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Не вдалося відкликати сертифікат: %{error}"
 
@@ -2081,6 +2081,10 @@ msgstr "Отримання сертифіката, зачекайте..."
 msgid "Github Proxy"
 msgstr "Github Проксі"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "Стиснення GZIP"
@@ -2472,7 +2476,7 @@ msgstr "Розташування"
 msgid "Log"
 msgstr "Журнал"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2764,7 +2768,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Шлях до журналу доступу Nginx"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Шлях до журналу доступу Nginx існує"
 
@@ -2792,11 +2796,11 @@ msgstr "Конфігурація Nginx не містить stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "Каталог конфігурації Nginx не встановлено"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Каталог конфігурації Nginx існує"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Файл входу конфігурації Nginx існує"
 
@@ -2834,7 +2838,7 @@ msgstr "Рівень використання CPU Nginx"
 msgid "Nginx Error Log Path"
 msgstr "Шлях до журналу помилок Nginx"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Шлях до журналу помилок Nginx існує"
 
@@ -2871,7 +2875,7 @@ msgstr "Використання пам'яті Nginx"
 msgid "Nginx PID Path"
 msgstr "Шлях до PID Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Шлях PID Nginx існує"
 
@@ -2933,15 +2937,15 @@ msgstr ""
 "Конфігурацію Nginx UI відновлено, і вона автоматично перезавантажиться за "
 "кілька секунд."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf включає каталог conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf включає каталог sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf включає каталог streams-enabled"
 
@@ -3733,7 +3737,7 @@ msgstr "Статистика запитів"
 msgid "Request timeout"
 msgstr "Час запиту вичерпано"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Запит з неправильними параметрами"
 
@@ -4093,7 +4097,7 @@ msgstr "Журнали сайту"
 msgid "Site not found"
 msgstr "Сайт не знайдено"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "Каталог сайтів існує"
 
@@ -4207,7 +4211,7 @@ msgstr "Потік увімкнено"
 msgid "Stream not found"
 msgstr "Потік не знайдено"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Каталог Streams існує"
 

+ 51 - 47
app/src/language/vi_VN/app.po

@@ -9,43 +9,43 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 "[Nginx UI] Người dùng ACME: %{name}, Email: %{email}, Thư mục CA: %{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] Đang sao lưu chứng chỉ hiện tại để thu hồi sau này"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] Gia hạn chứng chỉ thành công"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] Hủy chứng chỉ thành công"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 "[Nginx UI] Chứng chỉ đã được sử dụng cho máy chủ, đang tải lại chứng chỉ TLS "
 "của máy chủ"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] Tạo máy khách để tạo điều kiện giao tiếp với máy chủ CA"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] Đã dọn dẹp biến môi trường"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] Đã hoàn thành"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] Đã cấp chứng chỉ thành công"
 
@@ -53,39 +53,39 @@ msgstr "[Nginx UI] Đã cấp chứng chỉ thành công"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] Đang lấy chứng chỉ"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] Chuẩn bị thu hồi chứng chỉ"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] Đang chuẩn bị cấu hình lego"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] Đang tải lại nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] Đã hoàn tất thu hồi"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] Đang thu hồi chứng chỉ"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] Đang thu hồi chứng chỉ cũ"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] Đang thiết lập nhà cung cấp thử thách DNS01"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] Đang thiết lập biến môi trường"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] Đang thiết lập nhà cung cấp thử thách HTTP01"
 
@@ -93,7 +93,7 @@ msgstr "[Nginx UI] Đang thiết lập nhà cung cấp thử thách HTTP01"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] Đang ghi khóa riêng của chứng chỉ vào ổ đĩa"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] Đang ghi chứng chỉ vào ổ đĩa"
 
@@ -605,7 +605,7 @@ msgstr "Chứng chỉ đã hết hạn"
 msgid "Certificate Expiring Soon"
 msgstr "Chứng chỉ sắp hết hạn"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "Không tìm thấy chứng chỉ: %{error}"
 
@@ -630,7 +630,7 @@ msgstr "Khoảng thời gian gia hạn chứng chỉ"
 msgid "Certificate renewed successfully"
 msgstr "Gia hạn chứng chỉ thành công"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "Hủy chứng chỉ thành công"
 
@@ -686,7 +686,7 @@ msgstr "Kiểm tra"
 msgid "Check again"
 msgstr "Kiểm tra lại"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -704,39 +704,39 @@ msgstr ""
 "Kiểm tra xem HTTPS có được bật không. Sử dụng HTTP bên ngoài localhost không "
 "an toàn và ngăn chặn việc sử dụng tính năng Passkeys và clipboard"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "Kiểm tra xem đường dẫn nhật ký truy cập nginx có tồn tại không"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "Kiểm tra xem thư mục cấu hình nginx có tồn tại không"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "Kiểm tra xem tệp cấu hình đầu vào của nginx có tồn tại không"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "Kiểm tra xem đường dẫn nhật ký lỗi nginx có tồn tại không"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "Kiểm tra xem đường dẫn PID của Nginx có tồn tại không"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "Kiểm tra xem tệp nginx.conf có bao gồm thư mục conf.d không"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "Kiểm tra xem tệp nginx.conf có bao gồm thư mục sites-enabled không"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "Kiểm tra xem tệp nginx.conf có bao gồm thư mục streams-enabled không"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
@@ -744,7 +744,7 @@ msgstr ""
 "Kiểm tra xem các thư mục sites-available và sites-enabled có nằm trong thư "
 "mục cấu hình nginx không"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1319,7 +1319,7 @@ msgstr "Bạn có muốn xóa upstream này không?"
 msgid "Docker client not initialized"
 msgstr "Máy khách Docker chưa được khởi tạo"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Ổ cắm Docker tồn tại"
 
@@ -1722,7 +1722,7 @@ msgstr "Không thể giải mã thư mục Nginx UI: {0}"
 msgid "Failed to delete certificate"
 msgstr "Xóa chứng chỉ không thành công"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "Xóa chứng chỉ từ cơ sở dữ liệu thất bại: %{error}"
 
@@ -1866,7 +1866,7 @@ msgstr "Khôi phục tệp giao diện Nginx thất bại: {0}"
 msgid "Failed to revoke certificate"
 msgstr "Không thể thu hồi chứng chỉ"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "Không thể thu hồi chứng chỉ: %{error}"
 
@@ -1989,6 +1989,10 @@ msgstr "Đang lấy chứng chỉ, vui lòng đợi..."
 msgid "Github Proxy"
 msgstr "Proxy Github"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "Nén GZIP"
@@ -2377,7 +2381,7 @@ msgstr "Locations"
 msgid "Log"
 msgstr "Nhật ký"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2669,7 +2673,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Vị trí lưu log truy cập (Access log) của Nginx"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Đường dẫn nhật ký truy cập Nginx tồn tại"
 
@@ -2697,11 +2701,11 @@ msgstr "Cấu hình Nginx không bao gồm stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "Thư mục cấu hình Nginx chưa được thiết lập"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Thư mục cấu hình Nginx tồn tại"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Tập tin cấu hình đầu vào Nginx tồn tại"
 
@@ -2739,7 +2743,7 @@ msgstr "Tỷ lệ sử dụng CPU của Nginx"
 msgid "Nginx Error Log Path"
 msgstr "Vị trí lưu log lỗi (Error log) của Nginx"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Đường dẫn nhật ký lỗi Nginx tồn tại"
 
@@ -2776,7 +2780,7 @@ msgstr "Mức sử dụng bộ nhớ Nginx"
 msgid "Nginx PID Path"
 msgstr "Đường dẫn PID của Nginx"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Đường dẫn PID của Nginx tồn tại"
 
@@ -2837,15 +2841,15 @@ msgid ""
 msgstr ""
 "Cấu hình Nginx UI đã được khôi phục và sẽ tự động khởi động lại sau vài giây."
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf bao gồm thư mục conf.d"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf bao gồm thư mục sites-enabled"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf bao gồm thư mục streams-enabled"
 
@@ -3625,7 +3629,7 @@ msgstr "Thống kê yêu cầu"
 msgid "Request timeout"
 msgstr "Hết thời gian yêu cầu"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "Yêu cầu có chứa tham số sai"
 
@@ -3983,7 +3987,7 @@ msgstr "Nhật ký trang web"
 msgid "Site not found"
 msgstr "Không tìm thấy trang web"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "Thư mục trang web tồn tại"
 
@@ -4096,7 +4100,7 @@ msgstr "Luồng đã được bật"
 msgid "Stream not found"
 msgstr "Không tìm thấy luồng"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Thư mục Streams tồn tại"
 

+ 51 - 47
app/src/language/zh_CN/app.po

@@ -15,40 +15,40 @@ msgstr ""
 "X-Generator: Poedit 3.6\n"
 "Generated-By: easygettext\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr "[Nginx UI] ACME 用户:%{name},邮箱:%{email},CA 目录:%{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] 正在备份当前证书以便后续撤销"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] 证书更新成功"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] 证书成功撤销"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr "[Nginx UI] 证书已用于服务器,正在重新加载服务器 TLS 证书"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] 正在创建客户端用于与 CA 服务器通信"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] 环境变量已清理"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] 已完成"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] 证书申请成功"
 
@@ -56,39 +56,39 @@ msgstr "[Nginx UI] 证书申请成功"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] 正在获取证书"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] 准备撤销证书"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] 正在准备 lego 配置"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] 重新加载 Nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] 吊销完成"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] 正在撤销证书"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] 正在撤销旧证书"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] 正在设置 DNS01 验证提供程序"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] 正在设置环境变量"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] 正在设置 HTTP01 验证提供程序"
 
@@ -96,7 +96,7 @@ msgstr "[Nginx UI] 正在设置 HTTP01 验证提供程序"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] 正在将证书私钥写入磁盘"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] 正在将证书写入磁盘"
 
@@ -606,7 +606,7 @@ msgstr "证书已过期"
 msgid "Certificate Expiring Soon"
 msgstr "证书即将过期"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "未找到证书:%{error}"
 
@@ -631,7 +631,7 @@ msgstr "证书续期间隔"
 msgid "Certificate renewed successfully"
 msgstr "证书更新成功"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "证书撤销成功"
 
@@ -687,7 +687,7 @@ msgstr "检查"
 msgid "Check again"
 msgstr "重新检查"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -705,45 +705,45 @@ msgstr ""
 "检查是否启用了 HTTPS。在本地主机之外使用 HTTP 是不安全的,这也会导致无法使用 "
 "Passkey 和剪贴板功能"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "检查 Nginx 访问日志路径是否存在"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "检查 Nginx 配置目录是否存在"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "检查 nginx 配置入口文件是否存在"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "检查 Nginx 错误日志路径是否存在"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "检查 Nginx PID 路径是否存在"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "检查 nginx.conf 是否包含 conf.d 目录"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "检查 nginx.conf 是否包含 sites-enabled 目录"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr "检查 sites-available 和 sites-enabled 目录是否位于 Nginx 配置目录下"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1314,7 +1314,7 @@ msgstr "你想删除这个 Upstream 吗?"
 msgid "Docker client not initialized"
 msgstr "Docker 客户端未初始化"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Docker Socket 存在"
 
@@ -1715,7 +1715,7 @@ msgstr "解密 Nginx UI 目录失败:{0}"
 msgid "Failed to delete certificate"
 msgstr "删除证书失败"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "从数据库中删除证书失败:%{error}"
 
@@ -1859,7 +1859,7 @@ msgstr "恢复 Nginx UI 文件失败:{0}"
 msgid "Failed to revoke certificate"
 msgstr "证书撤销失败"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "撤销证书失败:%{error}"
 
@@ -1980,6 +1980,10 @@ msgstr "正在获取证书,请稍等..."
 msgid "Github Proxy"
 msgstr "Github 代理"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "GZIP压缩"
@@ -2360,7 +2364,7 @@ msgstr "Locations"
 msgid "Log"
 msgstr "日志"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2649,7 +2653,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Nginx 访问日志路径"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "存在 Nginx 访问日志路径"
 
@@ -2677,11 +2681,11 @@ msgstr "Nginx Conf 中未引用 stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "未设置 Nginx 配置目录"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Nginx 配置目录存在"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "存在 Nginx 配置入口文件"
 
@@ -2719,7 +2723,7 @@ msgstr "Nginx CPU 使用率"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 错误日志路径"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "存在 Nginx 错误日志路径"
 
@@ -2756,7 +2760,7 @@ msgstr "Nginx 内存使用量"
 msgid "Nginx PID Path"
 msgstr "Nginx PID 路径"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Nginx PID 路径存在"
 
@@ -2816,15 +2820,15 @@ msgid ""
 "few seconds."
 msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。"
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf 包括 conf.d 目录"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf 包含 sites-enabled 目录"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录"
 
@@ -3588,7 +3592,7 @@ msgstr "请求统计"
 msgid "Request timeout"
 msgstr "请求超时"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "请求参数错误"
 
@@ -3939,7 +3943,7 @@ msgstr "站点列表"
 msgid "Site not found"
 msgstr "网站未找到"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "网站目录存在"
 
@@ -4052,7 +4056,7 @@ msgstr "Stream 已启用"
 msgid "Stream not found"
 msgstr "Stream 未找到"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Streams 目录存在"
 

+ 51 - 47
app/src/language/zh_TW/app.po

@@ -19,40 +19,40 @@ msgstr ""
 "X-Generator: Weblate 5.10.4\n"
 "Generated-By: easygettext\n"
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:28
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr "[Nginx UI] ACME 使用者:%{name},電子郵件:%{email},CA 目錄:%{caDir}"
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:16
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr "[Nginx UI] 正在備份當前憑證以便後續撤銷"
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr "[Nginx UI] 憑證更新成功"
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:31
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr "[Nginx UI] 證書已成功撤銷"
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:42
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr "[Nginx UI] 憑證已用於伺服器,正在重新載入伺服器 TLS 憑證"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr "[Nginx UI] 創建客戶端以促進與 CA 伺服器的通信"
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:30
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr "[Nginx UI] 環境變數已清理"
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Finished"
 msgstr "[Nginx UI] 已完成"
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:4
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr "[Nginx UI] 證書簽發成功"
 
@@ -60,39 +60,39 @@ msgstr "[Nginx UI] 證書簽發成功"
 msgid "[Nginx UI] Obtaining certificate"
 msgstr "[Nginx UI] 正在取得憑證"
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:8
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr "[Nginx UI] 準備撤銷憑證"
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr "[Nginx UI] 正在準備 lego 配置"
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Reloading nginx"
 msgstr "[Nginx UI] 重新載入 Nginx"
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:17
 msgid "[Nginx UI] Revocation completed"
 msgstr "[Nginx UI] 撤銷完成"
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:9
 msgid "[Nginx UI] Revoking certificate"
 msgstr "[Nginx UI] 正在撤銷證書"
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:13
 msgid "[Nginx UI] Revoking old certificate"
 msgstr "[Nginx UI] 正在撤銷舊憑證"
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:6
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr "[Nginx UI] 正在設定 DNS01 驗證提供者"
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting environment variables"
 msgstr "[Nginx UI] 設定環境變數"
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:29
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr "[Nginx UI] 正在設定 HTTP01 驗證提供者"
 
@@ -100,7 +100,7 @@ msgstr "[Nginx UI] 正在設定 HTTP01 驗證提供者"
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr "[Nginx UI] 正在將證書私鑰寫入磁碟"
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:24
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr "[Nginx UI] 正在將憑證寫入磁碟"
 
@@ -610,7 +610,7 @@ msgstr "憑證已過期"
 msgid "Certificate Expiring Soon"
 msgstr "憑證即將到期"
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:5
 msgid "Certificate not found: %{error}"
 msgstr "找不到證書: %{error}"
 
@@ -635,7 +635,7 @@ msgstr "憑證更新間隔"
 msgid "Certificate renewed successfully"
 msgstr "憑證更新成功"
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:23
 msgid "Certificate revoked successfully"
 msgstr "證書撤銷成功"
 
@@ -691,7 +691,7 @@ msgstr "檢查"
 msgid "Check again"
 msgstr "再次檢查"
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:33
 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 /"
@@ -709,45 +709,45 @@ msgstr ""
 "檢查是否啟用了 HTTPS。在 localhost 之外使用 HTTP 不安全,並且會阻止使用 "
 "Passkeys 和剪貼簿功能"
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:21
 msgid "Check if the nginx access log path exists"
 msgstr "檢查 Nginx 存取日誌路徑是否存在"
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:20
 msgid "Check if the nginx configuration directory exists"
 msgstr "檢查 nginx 配置目錄是否存在"
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:37
 msgid "Check if the nginx configuration entry file exists"
 msgstr "檢查 nginx 配置入口文件是否存在"
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:51
 msgid "Check if the nginx error log path exists"
 msgstr "檢查 Nginx 錯誤日誌路徑是否存在"
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:14
 msgid "Check if the nginx PID path exists"
 msgstr "檢查 Nginx PID 路徑是否存在"
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:27
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr "檢查 nginx.conf 是否包含 conf.d 目錄"
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:26
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr "檢查 nginx.conf 是否包含 sites-enabled 目錄"
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:19
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr "檢查 nginx.conf 是否包含 streams-enabled 目錄"
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:50
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr "檢查 sites-available 和 sites-enabled 目錄是否位於 nginx 配置目錄下"
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:35
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -1319,7 +1319,7 @@ msgstr "您要移除這個 Upstream 嗎?"
 msgid "Docker client not initialized"
 msgstr "Docker 客戶端未初始化"
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:22
 msgid "Docker socket exists"
 msgstr "Docker 套接字存在"
 
@@ -1720,7 +1720,7 @@ msgstr "解密 Nginx UI 目錄失敗:{0}"
 msgid "Failed to delete certificate"
 msgstr "憑證刪除失敗"
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:38
 msgid "Failed to delete certificate from database: %{error}"
 msgstr "從資料庫刪除憑證失敗: %{error}"
 
@@ -1864,7 +1864,7 @@ msgstr "還原 Nginx UI 檔案失敗:{0}"
 msgid "Failed to revoke certificate"
 msgstr "撤銷憑證失敗"
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:12
 msgid "Failed to revoke certificate: %{error}"
 msgstr "撤銷憑證失敗: %{error}"
 
@@ -1985,6 +1985,10 @@ msgstr "正在取得憑證,請稍候..."
 msgid "Github Proxy"
 msgstr "Github 代理"
 
+#: src/views/preference/components/ExternalNotify/gotify.ts:5
+msgid "Gotify"
+msgstr ""
+
 #: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
 msgid "GZIP Compression"
 msgstr "GZIP 壓縮"
@@ -2365,7 +2369,7 @@ msgstr "Locations"
 msgid "Log"
 msgstr "日誌"
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:46
 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-"
@@ -2653,7 +2657,7 @@ msgstr "Nginx"
 msgid "Nginx Access Log Path"
 msgstr "Nginx 存取日誌路徑"
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:45
 msgid "Nginx access log path exists"
 msgstr "Nginx 訪問日誌路徑存在"
 
@@ -2681,11 +2685,11 @@ msgstr "Nginx 設定檔未包含 stream-enabled"
 msgid "Nginx config directory is not set"
 msgstr "Nginx 設定目錄未設定"
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:43
 msgid "Nginx configuration directory exists"
 msgstr "Nginx 配置目錄存在"
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:11
 msgid "Nginx configuration entry file exists"
 msgstr "Nginx 設定入口檔案存在"
 
@@ -2723,7 +2727,7 @@ msgstr "Nginx CPU 使用率"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 錯誤日誌路徑"
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:15
 msgid "Nginx error log path exists"
 msgstr "Nginx 錯誤日誌路徑存在"
 
@@ -2760,7 +2764,7 @@ msgstr "Nginx 記憶體使用量"
 msgid "Nginx PID Path"
 msgstr "Nginx PID 路徑"
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:44
 msgid "Nginx PID path exists"
 msgstr "Nginx PID 路徑存在"
 
@@ -2820,15 +2824,15 @@ msgid ""
 "few seconds."
 msgstr "Nginx UI 設定已恢復,將在幾秒後自動重新啟動。"
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:32
 msgid "Nginx.conf includes conf.d directory"
 msgstr "Nginx.conf 包含 conf.d 目錄"
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:36
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr "Nginx.conf 包含 sites-enabled 目錄"
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:18
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr "Nginx.conf 包含 streams-enabled 目錄"
 
@@ -3591,7 +3595,7 @@ msgstr "請求統計"
 msgid "Request timeout"
 msgstr "請求逾時"
 
-#: src/language/constants.ts:33
+#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
 msgid "Requested with wrong parameters"
 msgstr "請求參數錯誤"
 
@@ -3942,7 +3946,7 @@ msgstr "網站日誌"
 msgid "Site not found"
 msgstr "站點未找到"
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:25
 msgid "Sites directory exists"
 msgstr "站點目錄存在"
 
@@ -4055,7 +4059,7 @@ msgstr "串流已啟用"
 msgid "Stream not found"
 msgstr "串流未找到"
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:10
 msgid "Streams directory exists"
 msgstr "Streams 目錄存在"
 

+ 22 - 0
app/src/views/preference/components/ExternalNotify/gotify.ts

@@ -0,0 +1,22 @@
+// This file is auto-generated by notification generator. DO NOT EDIT.
+import type { ExternalNotifyConfig } from './types'
+
+const GotifyConfig: ExternalNotifyConfig = {
+  name: () => $gettext('Gotify'),
+  config: [
+    {
+      key: 'url',
+      label: 'URL',
+    },
+    {
+      key: 'token',
+      label: 'Token',
+    },
+    {
+      key: 'priority',
+      label: 'Priority',
+    },
+  ],
+}
+
+export default GotifyConfig

+ 2 - 0
app/src/views/preference/components/ExternalNotify/index.ts

@@ -1,6 +1,7 @@
 // This file is auto-generated by notification generator. DO NOT EDIT.
 import BarkConfig from './bark'
 import DingTalkConfig from './dingtalk'
+import GotifyConfig from './gotify'
 import LarkConfig from './lark'
 import LarkCustomConfig from './lark_custom'
 import TelegramConfig from './telegram'
@@ -8,6 +9,7 @@ import TelegramConfig from './telegram'
 const configMap = {
   bark: BarkConfig,
   dingtalk: DingTalkConfig,
+  gotify: GotifyConfig,
   lark: LarkConfig,
   lark_custom: LarkCustomConfig,
   telegram: TelegramConfig,

+ 1 - 0
go.mod

@@ -314,6 +314,7 @@ require (
 
 replace (
 	code.pfad.fr/risefront => github.com/nginxui/risefront v1.2.2
+	github.com/nikoksr/notify => github.com/nginxui/notify v0.0.0-20250331063720-85da6054fae8
 	github.com/tufanbarisyildirim/gonginx => github.com/0xJacky/gonginx v0.0.0-20250420001451-d120448e89a4
 	gorm.io/gorm => gorm.io/gorm v1.25.12
 	gorm.io/plugin/dbresolver => gorm.io/plugin/dbresolver v1.5.3

+ 4 - 44
go.sum

@@ -178,7 +178,6 @@ cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvj
 cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA=
 cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
 cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU=
-cloud.google.com/go/compute v1.37.0 h1:XxtZlXYkZXub3LNaLu90TTemcFqIU1yZ4E4q9VlR39A=
 cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
 cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
 cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
@@ -793,7 +792,6 @@ github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@@ -1315,9 +1313,8 @@ github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dv
 github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
 github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
 github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
-github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww=
-github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg=
 github.com/jarcoal/httpmock v1.4.0 h1:BvhqnH0JAYbNudL2GMJKgOHe2CtKlzJ/5rWKyp+hc2k=
+github.com/jarcoal/httpmock v1.4.0/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0=
 github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs=
 github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM=
 github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
@@ -1407,8 +1404,6 @@ github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
 github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
 github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
-github.com/linode/linodego v1.49.0 h1:MNd3qwvQzbXB5mCpvdCqlUIu1RPA9oC+50LyB9kK+GQ=
-github.com/linode/linodego v1.49.0/go.mod h1:B+HAM3//4w1wOS0BwdaQBKwBxlfe6kYJ7bSC6jJ/xtc=
 github.com/linode/linodego v1.50.0 h1:5y79VvvQnWb5JyPIjTwyUrU3ArHcs7XZQFdkPS/lNpw=
 github.com/linode/linodego v1.50.0/go.mod h1:9S+REoPCtUNWCm63D1vjjxIJZfwEL2t2kTDnwt620FM=
 github.com/liquidweb/go-lwApi v0.0.0-20190605172801-52a4864d2738/go.mod h1:0sYF9rMXb0vlG+4SzdiGMXHheCZxjguMq+Zb4S2BfBs=
@@ -1426,8 +1421,6 @@ github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WV
 github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.4/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
-github.com/mark3labs/mcp-go v0.25.0 h1:UUpcMT3L5hIhuDy7aifj4Bphw4Pfx1Rf8mzMXDe8RQw=
-github.com/mark3labs/mcp-go v0.25.0/go.mod h1:rXqOudj/djTORU/ThxYx8fqEVj/5pvTuuebQ2RC7uk4=
 github.com/mark3labs/mcp-go v0.26.0 h1:xz/Kv1cHLYovF8txv6btBM39/88q3YOjnxqhi51jB0w=
 github.com/mark3labs/mcp-go v0.26.0/go.mod h1:rXqOudj/djTORU/ThxYx8fqEVj/5pvTuuebQ2RC7uk4=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
@@ -1527,13 +1520,11 @@ github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1t
 github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
 github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
-github.com/nginxui/risefront v1.2.1 h1:CXu4c+bM6iBRVZHXQTUy9ceQa2p3YqIPNEdTPeCjIQ0=
-github.com/nginxui/risefront v1.2.1/go.mod h1:QX3OyvazX3Mi/X2NZKl9ylDrFVUeaogwSMKyEsnRCHE=
+github.com/nginxui/notify v0.0.0-20250331063720-85da6054fae8 h1:VAUjTqQzG4oaBEtUQhSIivrdLBx24n0yVmh4CrL6ErQ=
+github.com/nginxui/notify v0.0.0-20250331063720-85da6054fae8/go.mod h1:5xiIPJd5HveRkca2gA8K//HLdupJuB7uHHBdzDQQN6g=
 github.com/nginxui/risefront v1.2.2 h1:mcKWv+2DnZBC97IwqWQQOXrTvqVWHWGCOEvjdM8Zv8o=
 github.com/nginxui/risefront v1.2.2/go.mod h1:QX3OyvazX3Mi/X2NZKl9ylDrFVUeaogwSMKyEsnRCHE=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/nikoksr/notify v1.3.0 h1:UxzfxzAYGQD9a5JYLBTVx0lFMxeHCke3rPCkfWdPgLs=
-github.com/nikoksr/notify v1.3.0/go.mod h1:Xor2hMmkvrCfkCKvXGbcrESez4brac2zQjhd6U2BbeM=
 github.com/nrdcg/auroradns v1.1.0 h1:KekGh8kmf2MNwqZVVYo/fw/ZONt8QMEmbMFOeljteWo=
 github.com/nrdcg/auroradns v1.1.0/go.mod h1:O7tViUZbAcnykVnrGkXzIJTHoQCHcgalgAe6X1mzHfk=
 github.com/nrdcg/bunny-go v0.0.0-20250327222614-988a091fc7ea h1:OSgRS4kqOs/WuxuFOObP2gwrenL4/qiKXQbQugr/Two=
@@ -1590,8 +1581,6 @@ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYr
 github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A=
 github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mod h1:AC62GU6hc0BrNm+9RK9VSiwa/EUe1bkIeFORAMcHvJU=
 github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE=
-github.com/oracle/oci-go-sdk/v65 v65.89.3 h1:KSUykb5Ou54jF4SeJNjBwcDg+umbAwcvT+xhrvNDog0=
-github.com/oracle/oci-go-sdk/v65 v65.89.3/go.mod h1:u6XRPsw9tPziBh76K7GrrRXPa8P8W3BQeqJ6ZZt9VLA=
 github.com/oracle/oci-go-sdk/v65 v65.90.0 h1:XGoPkq0oThnIzmreyWOG3PkP3r1I1JrEWxOlGocJXt0=
 github.com/oracle/oci-go-sdk/v65 v65.90.0/go.mod h1:u6XRPsw9tPziBh76K7GrrRXPa8P8W3BQeqJ6ZZt9VLA=
 github.com/ovh/go-ovh v1.7.0 h1:V14nF7FwDjQrZt9g7jzcvAAQ3HN6DNShRFRMC3jLoPw=
@@ -1856,8 +1845,6 @@ github.com/vinyldns/go-vinyldns v0.9.16 h1:GZJStDkcCk1F1AcRc64LuuMh+ENL8pHA0CVd4
 github.com/vinyldns/go-vinyldns v0.9.16/go.mod h1:5qIJOdmzAnatKjurI+Tl4uTus7GJKJxb+zitufjHs3Q=
 github.com/volcengine/volc-sdk-golang v1.0.206 h1:7NG8FCpvu9wbx+Z4I/p3tcTS2zdBqTZtJXgydunGy6g=
 github.com/volcengine/volc-sdk-golang v1.0.206/go.mod h1:stZX+EPgv1vF4nZwOlEe8iGcriUPRBKX8zA19gXycOQ=
-github.com/vultr/govultr/v3 v3.19.1 h1:31rOP5Tz40AOc8h6Ws4ryzqAniUBffgRhy9uMG/EFvs=
-github.com/vultr/govultr/v3 v3.19.1/go.mod h1:q34Wd76upKmf+vxFMgaNMH3A8BbsPBmSYZUGC8oZa5w=
 github.com/vultr/govultr/v3 v3.20.0 h1:O+Om6gXpN6ehwAIIKq5DyGuekpyHaoRlwrxTb44bDzA=
 github.com/vultr/govultr/v3 v3.20.0/go.mod h1:q34Wd76upKmf+vxFMgaNMH3A8BbsPBmSYZUGC8oZa5w=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
@@ -1871,8 +1858,6 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2
 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
-github.com/yandex-cloud/go-genproto v0.1.0 h1:X/z0b1BdkZxJnJFh1enoGxuKENFaeGQJ2gjIZtGSajU=
-github.com/yandex-cloud/go-genproto v0.1.0/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo=
 github.com/yandex-cloud/go-genproto v0.2.0 h1:r/K224sA9c2KYZVWk2Tdcq7qPl9E0npIM3hNfmi9qg0=
 github.com/yandex-cloud/go-genproto v0.2.0/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo=
 github.com/yandex-cloud/go-sdk v0.3.0 h1:1lRrzBbcTpX4ZFXJnJZyCkNKWDvtiFC4USrbuNQUEQQ=
@@ -1970,8 +1955,6 @@ go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
 go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
 go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
 go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
-golang.org/x/arch v0.16.0 h1:foMtLTdyOmIniqWCHjY6+JxuC54XP1fDwx4N0ASyW+U=
-golang.org/x/arch v0.16.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE=
 golang.org/x/arch v0.17.0 h1:4O3dfLzd+lQewptAHqjewQZQDyEdejz3VwgeYwkZneU=
 golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -2011,8 +1994,6 @@ golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq
 golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
 golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ=
 golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
 golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
 golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -2153,8 +2134,6 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
 golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
 golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
 golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -2186,8 +2165,6 @@ golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec
 golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
 golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
 golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
-golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98=
-golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
 golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
 golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -2206,8 +2183,6 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
 golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
 golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
 golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -2332,8 +2307,6 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
-golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
 golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
@@ -2352,9 +2325,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
 golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
 golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
 golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
-golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
-golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
 golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
+golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -2374,8 +2346,6 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
 golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
 golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -2462,8 +2432,6 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
 golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
 golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
 golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -2542,8 +2510,6 @@ google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60c
 google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0=
 google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
 google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
-google.golang.org/api v0.231.0 h1:LbUD5FUl0C4qwia2bjXhCMH65yz1MLPzA/0OYEsYY7Q=
-google.golang.org/api v0.231.0/go.mod h1:H52180fPI/QQlUc0F4xWfGZILdv09GCWKt2bcsn164A=
 google.golang.org/api v0.232.0 h1:qGnmaIMf7KcuwHOlF3mERVzChloDYwRfOJOrHt8YC3I=
 google.golang.org/api v0.232.0/go.mod h1:p9QCfBWZk1IJETUdbTKloR5ToFdKbYh2fkjsUL6vNoY=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -2686,16 +2652,10 @@ google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOl
 google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
 google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
-google.golang.org/genproto v0.0.0-20250428153025-10db94c68c34 h1:oklGWmm0ZiCw4efmdYZo5MF9t6nRvGzM5+0klSjOmGM=
-google.golang.org/genproto v0.0.0-20250428153025-10db94c68c34/go.mod h1:hiH/EqX5GBdTyIpkqMqDGUHDiBniln8b4FCw+NzPxQY=
 google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 h1:1tXaIXCracvtsRxSBsYDiSBN0cuJvM7QYW+MrpIRY78=
 google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:49MsLSx0oWMOZqcpB3uL8ZOkAh1+TndpJ8ONoCBWiZk=
-google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34 h1:0PeQib/pH3nB/5pEmFeVQJotzGohV0dq4Vcp09H5yhE=
-google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34/go.mod h1:0awUlEkap+Pb1UMeJwJQQAdJQrt3moU7J2moTy69irI=
 google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2 h1:vPV0tzlsK6EzEDHNNH5sa7Hs9bd7iXR7B1tSiPepkV0=
 google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:pKLAc5OolXC3ViWGI62vvC0n10CpwAtRcTNCFwTKBEw=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34 h1:h6p3mQqrmT1XkHVTfzLdNz1u7IhINeZkz67/xTbOuWs=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 h1:IqsN8hx+lWLqlN+Sc3DoMy/watjofWiU8sRFgQ8fhKM=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=

+ 33 - 0
internal/notification/gotify.go

@@ -0,0 +1,33 @@
+package notification
+
+import (
+	"context"
+
+	"github.com/0xJacky/Nginx-UI/model"
+	"github.com/nikoksr/notify/service/gotify"
+	"github.com/uozi-tech/cosy/map2struct"
+)
+
+// @external_notifier(Gotify)
+type Gotify struct {
+	URL      string `json:"url" title:"URL"`
+	Token    string `json:"token" title:"Token"`
+	Priority int    `json:"priority" title:"Priority"`
+}
+
+func init() {
+	RegisterExternalNotifier("gotify", func(ctx context.Context, n *model.ExternalNotify, msg *ExternalMessage) error {
+		gotifyConfig := &Gotify{}
+		err := map2struct.WeakDecode(n.Config, gotifyConfig)
+		if err != nil {
+			return err
+		}
+		if gotifyConfig.URL == "" || gotifyConfig.Token == "" {
+			return ErrInvalidNotifierConfig
+		}
+
+		gotifyService := gotify.NewWithPriority(gotifyConfig.Token, gotifyConfig.URL, gotifyConfig.Priority)
+
+		return gotifyService.Send(ctx, msg.GetTitle(n.Language), msg.GetContent(n.Language))
+	})
+}