diff --git a/apps/admin/app/dashboard/subscribe/protocol-form.tsx b/apps/admin/app/dashboard/subscribe/protocol-form.tsx index 250d357..ce58f7c 100644 --- a/apps/admin/app/dashboard/subscribe/protocol-form.tsx +++ b/apps/admin/app/dashboard/subscribe/protocol-form.tsx @@ -248,23 +248,7 @@ export function ProtocolForm() { const handleEdit = (client: API.SubscribeApplication) => { setEditingClient(client); - form.reset({ - name: client.name, - description: client.description || '', - icon: client.icon || '', - user_agent: client.user_agent, - schema: client.proxy_template || '', - template: client.template || '', - output_format: client.output_format || '', - download_link: { - windows: '', - mac: '', - linux: '', - ios: '', - android: '', - harmony: '', - }, - }); + form.reset(client); setOpen(true); }; @@ -302,7 +286,7 @@ export function ProtocolForm() { if (editingClient) { await updateSubscribeApplication({ ...data, - proxy_template: data.schema || '', + proxy_template: '', is_default: editingClient.is_default, id: editingClient.id, }); @@ -310,7 +294,7 @@ export function ProtocolForm() { } else { await createSubscribeApplication({ ...data, - proxy_template: data.schema || '', + proxy_template: '', is_default: false, }); toast.success(t('actions.createSuccess')); @@ -498,14 +482,82 @@ export function ProtocolForm() { name='schema' render={({ field }) => ( - {t('form.fields.schema')} + + {t('form.fields.schema')} + + + { + e.preventDefault(); + e.stopPropagation(); + }} + > + + + +
+
+ {t('form.descriptions.schema.title')} +
+ +
+
+ {t('form.descriptions.schema.variables')} +
+
    +
  • + {'${url}'} -{' '} + {t('form.descriptions.schema.urlVariable')} +
  • +
  • + {'${name}'} -{' '} + {t('form.descriptions.schema.nameVariable')} +
  • +
+
+ +
+
+ {t('form.descriptions.schema.functions')} +
+
    +
  • + + {'${encodeURIComponent(...)}'} + {' '} + - {t('form.descriptions.schema.urlEncoding')} +
  • +
  • + + {'${window.btoa(...)}'} + {' '} + - {t('form.descriptions.schema.base64Encoding')} +
  • +
  • + + {'${JSON.stringify(...)}'} + {' '} + - {t('form.descriptions.schema.jsonStringify')} +
  • +
+
+
+
+
+
+
- {t('form.descriptions.schema')}
)} @@ -516,7 +568,82 @@ export function ProtocolForm() { name='template' render={({ field }) => ( - {t('form.fields.template')} + + {t('form.fields.template')} + + + { + e.preventDefault(); + e.stopPropagation(); + }} + > + + + +
+
+ {t('form.descriptions.template.title')} +
+ +
+
+ {t('form.descriptions.template.variables')} +
+
    +
  • + .SiteName -{' '} + {t('form.descriptions.template.siteName')} +
  • +
  • + .SubscribeName -{' '} + {t('form.descriptions.template.subscribeName')} +
  • +
  • + .Nodes -{' '} + {t('form.descriptions.template.nodes')} +
  • +
  • + .UserInfo -{' '} + {t('form.descriptions.template.userInfo')} +
  • +
+
+ +
+
+ {t('form.descriptions.template.functions')} +
+
    +
  • + + {'{{range .Nodes}}...{{end}}'} + {' '} + - {t('form.descriptions.template.range')} +
  • +
  • + + {'{{if .condition}}...{{end}}'} + {' '} + - {t('form.descriptions.template.if')} +
  • +
  • + {'{{sprig_func}}'} -{' '} + {t('form.descriptions.template.sprig')} +
  • +
+
+
+
+
+
+
field.onChange(value)} /> - {t('form.descriptions.template')}
)} diff --git a/apps/admin/config/navs.ts b/apps/admin/config/navs.ts index 854ff0a..2798654 100644 --- a/apps/admin/config/navs.ts +++ b/apps/admin/config/navs.ts @@ -22,11 +22,7 @@ export const navs = [ url: '/dashboard/payment', icon: 'flat-color-icons:currency-exchange', }, - { - title: 'Subscribe Config', - url: '/dashboard/subscribe', - icon: 'flat-color-icons:ruler', - }, + { title: 'ADS Config', url: '/dashboard/ads', @@ -42,6 +38,11 @@ export const navs = [ { title: 'Server', items: [ + { + title: 'Subscribe Config', + url: '/dashboard/subscribe', + icon: 'flat-color-icons:ruler', + }, { title: 'Server Management', url: '/dashboard/server', diff --git a/apps/admin/locales/cs-CZ/subscribe.json b/apps/admin/locales/cs-CZ/subscribe.json index 302bf84..06931cf 100644 --- a/apps/admin/locales/cs-CZ/subscribe.json +++ b/apps/admin/locales/cs-CZ/subscribe.json @@ -1,27 +1,27 @@ { "actions": { "add": "Přidat", - "batchDelete": "Hromadné mazání", + "batchDelete": "Hromadné smazání", "batchDeleteSuccess": "Úspěšně smazáno {count} klientů", "batchDeleteWarning": "Opravdu chcete smazat vybrané {count} klienty?", "cancel": "Zrušit", "confirm": "Potvrdit", - "confirmDelete": "Potvrdit mazání", + "confirmDelete": "Potvrdit smazání", "createSuccess": "Úspěšně vytvořeno", "delete": "Smazat", - "deleteFailed": "Mazání selhalo", + "deleteFailed": "Smazání se nezdařilo", "deleteSuccess": "Úspěšně smazáno", "deleteWarning": "Tuto operaci nelze vrátit zpět. Opravdu chcete smazat tohoto klienta?", "edit": "Upravit", "save": "Uložit", - "saveFailed": "Uložení selhalo", + "saveFailed": "Uložení se nezdařilo", "update": "Aktualizovat", "updateSuccess": "Úspěšně aktualizováno" }, "config": { "description": "Spravujte nastavení systému předplatného", "singleSubscriptionMode": "Režim jednoho předplatného", - "singleSubscriptionModeDescription": "Omezit uživatele na jedno aktivní předplatné. Stávající předplatná nejsou ovlivněna", + "singleSubscriptionModeDescription": "Omezit uživatele na jedno aktivní předplatné. Existující předplatná nejsou ovlivněna", "subscriptionDomain": "Doména předplatného", "subscriptionDomainDescription": "Vlastní doména pro odkazy na předplatné", "subscriptionDomainPlaceholder": "Zadejte doménu předplatného, jednu na řádek", @@ -29,40 +29,61 @@ "subscriptionPathDescription": "Vlastní cesta pro koncové body předplatného (lepší výkon po restartu systému)", "subscriptionPathPlaceholder": "Zadejte cestu předplatného", "title": "Konfigurace předplatného", - "updateError": "Aktualizace selhala", - "updateSuccess": "Nastavení bylo úspěšně aktualizováno", - "userAgentLimit": "Omezení {userAgent}", + "updateError": "Aktualizace se nezdařila", + "updateSuccess": "Nastavení byla úspěšně aktualizována", + "userAgentLimit": "{userAgent} Omezení", "userAgentLimitDescription": "Povolit omezení přístupu na základě {userAgent}", - "userAgentList": "Whitelist {userAgent}", - "userAgentListDescription": "Povolené {userAgent} pro přístup k odběru, jeden na řádek. Konfigurovaná aplikace {userAgent} bude automaticky zahrnuta", - "userAgentListPlaceholder": "Zadejte povolené {userAgent}, jeden na řádek", + "userAgentList": "{userAgent} Bílá listina", + "userAgentListDescription": "Povolené {userAgent} pro přístup k předplatnému, jedna na řádek. Konfigurovaná aplikace {userAgent} bude automaticky zahrnuta", + "userAgentListPlaceholder": "Zadejte povolené {userAgent}, jedna na řádek", "wildcardResolution": "Řešení zástupných znaků", - "wildcardResolutionDescription": "Povolit řešení domén se zástupnými znaky pro předplatná" + "wildcardResolutionDescription": "Povolit řešení domény se zástupnými znaky pro předplatná" }, "form": { "addTitle": "Přidat klienta", "descriptions": { "description": "Podrobný popis klienta", - "downloadLink": "URL pro stažení platformy", + "downloadLink": "odkaz na stažení platformy", "icon": "URL ikony nebo base64 kódování", - "name": "Zobrazovaný název klienta", + "name": "Název zobrazení klienta", "outputFormat": "Formát konfiguračního souboru předplatného", - "proxyTemplate": "Šablona odkazu na předplatné, podporuje proměnné: {{variables}}", - "template": "Šablona konfigurace předplatného, podporuje různé proměnné", - "userAgentPrefix": "Identifikátor klienta pro rozlišení různých klientů." + "schema": { + "base64Encoding": "Base64 kódování", + "functions": "Podporuje funkce:", + "jsonStringify": "JSON objekt na řetězec", + "nameVariable": "název webu", + "title": "Šablona URL schématu", + "urlEncoding": "URL kódování", + "urlVariable": "URL předplatného", + "variables": "Podporuje proměnné:" + }, + "template": { + "description": "Použijte syntaxi Go šablony k generování konfiguračních souborů předplatného", + "functions": "Funkce šablony:", + "if": "podmínkové příkazy", + "nodes": "seznam proxy uzlů", + "range": "iterovat pole", + "siteName": "název webu", + "sprig": "Knihovna funkcí Sprig (zpracování řetězců, data atd.)", + "subscribeName": "název předplatného", + "title": "Syntaxe Go šablony", + "userInfo": "uživatelské informace (provoz, expirace atd.)", + "variables": "Dostupné proměnné:" + }, + "userAgentPrefix": "Identifikátor klienta pro rozlišení různých klientů" }, "editTitle": "Upravit klienta", "fields": { "description": "Popis", "icon": "Ikona", "name": "Název", - "outputFormat": "Výstupní formát", - "proxyTemplate": "Odkaz na předplatné", - "template": "Konfigurační šablona" + "outputFormat": "Formát výstupu", + "schema": "URL schéma", + "template": "Šablona souboru předplatného" }, "tabs": { "basic": "Základní informace", - "download": "Stažení", + "download": "Stahování", "template": "Šablony" }, "validation": { @@ -72,8 +93,9 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", - "plain": "Prostý text", + "plain": "Čistý text", "yaml": "YAML" }, "platforms": { @@ -92,7 +114,7 @@ "default": "Výchozí", "description": "Popis", "name": "Název klienta", - "outputFormat": "Výstupní formát", + "outputFormat": "Formát výstupu", "supportedPlatforms": "Podporované platformy" } } diff --git a/apps/admin/locales/de-DE/subscribe.json b/apps/admin/locales/de-DE/subscribe.json index 50a9017..ee8a3d2 100644 --- a/apps/admin/locales/de-DE/subscribe.json +++ b/apps/admin/locales/de-DE/subscribe.json @@ -2,7 +2,7 @@ "actions": { "add": "Hinzufügen", "batchDelete": "Massenlöschung", - "batchDeleteSuccess": "{count} Clients erfolgreich gelöscht", + "batchDeleteSuccess": "Erfolgreich {count} Clients gelöscht", "batchDeleteWarning": "Sind Sie sicher, dass Sie die ausgewählten {count} Clients löschen möchten?", "cancel": "Abbrechen", "confirm": "Bestätigen", @@ -11,7 +11,7 @@ "delete": "Löschen", "deleteFailed": "Löschen fehlgeschlagen", "deleteSuccess": "Erfolgreich gelöscht", - "deleteWarning": "Dieser Vorgang kann nicht rückgängig gemacht werden. Sind Sie sicher, dass Sie diesen Client löschen möchten?", + "deleteWarning": "Diese Aktion kann nicht rückgängig gemacht werden. Sind Sie sicher, dass Sie diesen Client löschen möchten?", "edit": "Bearbeiten", "save": "Speichern", "saveFailed": "Speichern fehlgeschlagen", @@ -22,22 +22,22 @@ "description": "Verwalten Sie die Systemeinstellungen für Abonnements", "singleSubscriptionMode": "Einzelnes Abonnement", "singleSubscriptionModeDescription": "Benutzer auf ein aktives Abonnement beschränken. Bestehende Abonnements bleiben unberührt", - "subscriptionDomain": "Abonnementdomäne", - "subscriptionDomainDescription": "Benutzerdefinierte Domäne für Abonnementlinks", - "subscriptionDomainPlaceholder": "Geben Sie die Abonnementdomäne ein, eine pro Zeile", - "subscriptionPath": "Abonnementpfad", - "subscriptionPathDescription": "Benutzerdefinierter Pfad für Abonnementendpunkte (bessere Leistung nach Systemneustart)", - "subscriptionPathPlaceholder": "Geben Sie den Abonnementpfad ein", + "subscriptionDomain": "Abonnement-Domain", + "subscriptionDomainDescription": "Benutzerdefinierte Domain für Abonnement-Links", + "subscriptionDomainPlaceholder": "Geben Sie die Abonnement-Domain ein, eine pro Zeile", + "subscriptionPath": "Abonnement-Pfad", + "subscriptionPathDescription": "Benutzerdefinierter Pfad für Abonnement-Endpunkte (bessere Leistung nach Systemneustart)", + "subscriptionPathPlaceholder": "Geben Sie den Abonnement-Pfad ein", "title": "Abonnementkonfiguration", "updateError": "Aktualisierung fehlgeschlagen", "updateSuccess": "Einstellungen erfolgreich aktualisiert", "userAgentLimit": "{userAgent} Einschränkung", - "userAgentLimitDescription": "Zugriffsrestriktionen basierend auf {userAgent} aktivieren", + "userAgentLimitDescription": "Zugriffsbeschränkungen basierend auf {userAgent} aktivieren", "userAgentList": "{userAgent} Whitelist", - "userAgentListDescription": "Erlaubte {userAgent} für den Abonnementzugang, jeweils eine pro Zeile. Konfigurierte Anwendung {userAgent} wird automatisch hinzugefügt", - "userAgentListPlaceholder": "Erlaubte {userAgent} eingeben, jeweils eine pro Zeile", + "userAgentListDescription": "Erlaubte {userAgent} für den Abonnementzugriff, eine pro Zeile. Konfigurierte Anwendung {userAgent} wird automatisch hinzugefügt", + "userAgentListPlaceholder": "Geben Sie erlaubte {userAgent} ein, eine pro Zeile", "wildcardResolution": "Wildcard-Auflösung", - "wildcardResolutionDescription": "Aktivieren Sie die Wildcard-Domänenauflösung für Abonnements" + "wildcardResolutionDescription": "Aktivieren Sie die Wildcard-Domainauflösung für Abonnements" }, "form": { "addTitle": "Client hinzufügen", @@ -47,8 +47,29 @@ "icon": "Icon-URL oder Base64-Codierung", "name": "Anzeigename des Clients", "outputFormat": "Format der Abonnementkonfigurationsdatei", - "proxyTemplate": "Vorlage für den Abonnementlink, unterstützt Variablen: ", - "template": "Abonnementkonfigurationsvorlage, unterstützt verschiedene Variablen", + "schema": { + "base64Encoding": "Base64-Codierung", + "functions": "Unterstützt Funktionen:", + "jsonStringify": "JSON-Objekt in String", + "nameVariable": "Seitenname", + "title": "URL-Schema-Vorlage", + "urlEncoding": "URL-Codierung", + "urlVariable": "Abonnement-URL", + "variables": "Unterstützt Variablen:" + }, + "template": { + "description": "Verwenden Sie die Go-Template-Syntax zur Erstellung von Abonnementkonfigurationsdateien", + "functions": "Template-Funktionen:", + "if": "Bedingte Anweisungen", + "nodes": "Proxy-Knotenliste", + "range": "Arrays durchlaufen", + "siteName": "Seitenname", + "sprig": "Sprig-Funktionsbibliothek (Stringverarbeitung, Daten usw.)", + "subscribeName": "Abonnementname", + "title": "Go-Template-Syntax", + "userInfo": "Benutzerinformationen (Verkehr, Ablaufdatum usw.)", + "variables": "Verfügbare Variablen:" + }, "userAgentPrefix": "Client-Identifikator zur Unterscheidung verschiedener Clients" }, "editTitle": "Client bearbeiten", @@ -57,8 +78,8 @@ "icon": "Icon", "name": "Name", "outputFormat": "Ausgabeformat", - "proxyTemplate": "Abonnementlink", - "template": "Konfigurationsvorlage" + "schema": "URL-Schema", + "template": "Abonnementdateivorlage" }, "tabs": { "basic": "Basisinformationen", @@ -72,8 +93,9 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", - "plain": "Plain Text", + "plain": "Reiner Text", "yaml": "YAML" }, "platforms": { @@ -85,7 +107,7 @@ "windows": "Windows" }, "protocol": { - "title": "Client-Verwaltung" + "title": "Client-Management" }, "table": { "columns": { diff --git a/apps/admin/locales/en-US/subscribe.json b/apps/admin/locales/en-US/subscribe.json index 982b96f..ea4ed96 100644 --- a/apps/admin/locales/en-US/subscribe.json +++ b/apps/admin/locales/en-US/subscribe.json @@ -61,8 +61,29 @@ "userAgentPrefix": "Client identifier for distinguishing different clients", "description": "Detailed client description", "outputFormat": "Subscription configuration file format", - "schema": "URL Schema template, supports variables: '{url}' subscription URL, '{name}' site name", - "template": "Subscription file template, supports various variables", + "schema": { + "title": "URL Schema template", + "variables": "Supports variables:", + "urlVariable": "subscription URL", + "nameVariable": "site name", + "functions": "Supports functions:", + "urlEncoding": "URL encoding", + "base64Encoding": "Base64 encoding", + "jsonStringify": "JSON object to string" + }, + "template": { + "title": "Go Template Syntax", + "description": "Use Go template syntax to generate subscription configuration files", + "variables": "Available variables:", + "siteName": "site name", + "subscribeName": "subscription name", + "nodes": "proxy nodes list", + "userInfo": "user info (traffic, expiry, etc.)", + "functions": "Template functions:", + "range": "iterate arrays", + "if": "conditional statements", + "sprig": "Sprig function library (string processing, dates, etc.)" + }, "downloadLink": "platform download URL" }, "validation": { diff --git a/apps/admin/locales/es-ES/subscribe.json b/apps/admin/locales/es-ES/subscribe.json index 6a8c108..af4d6f5 100644 --- a/apps/admin/locales/es-ES/subscribe.json +++ b/apps/admin/locales/es-ES/subscribe.json @@ -2,7 +2,7 @@ "actions": { "add": "Agregar", "batchDelete": "Eliminar en lote", - "batchDeleteSuccess": "Se eliminaron con éxito {count} clientes", + "batchDeleteSuccess": "Se eliminaron correctamente {count} clientes", "batchDeleteWarning": "¿Está seguro de que desea eliminar los {count} clientes seleccionados?", "cancel": "Cancelar", "confirm": "Confirmar", @@ -34,7 +34,7 @@ "userAgentLimit": "Restricción de {userAgent}", "userAgentLimitDescription": "Habilitar restricciones de acceso basadas en {userAgent}", "userAgentList": "Lista blanca de {userAgent}", - "userAgentListDescription": "{userAgent} permitidos para acceso a la suscripción, uno por línea. La aplicación configurada {userAgent} se incluirá automáticamente", + "userAgentListDescription": "Permitir {userAgent} para acceso a suscripción, uno por línea. La aplicación configurada {userAgent} se incluirá automáticamente", "userAgentListPlaceholder": "Ingrese {userAgent} permitidos, uno por línea", "wildcardResolution": "Resolución de comodines", "wildcardResolutionDescription": "Habilitar resolución de dominio comodín para suscripciones" @@ -47,9 +47,30 @@ "icon": "URL del ícono o codificación base64", "name": "Nombre para mostrar del cliente", "outputFormat": "Formato del archivo de configuración de suscripción", - "proxyTemplate": "Plantilla de enlace de suscripción, admite variables: ", - "template": "Plantilla de configuración de suscripción, admite varias variables", - "userAgentPrefix": "Identificador del cliente para distinguir diferentes clientes." + "schema": { + "base64Encoding": "Codificación Base64", + "functions": "Soporta funciones:", + "jsonStringify": "Objeto JSON a cadena", + "nameVariable": "nombre del sitio", + "title": "Plantilla de esquema de URL", + "urlEncoding": "Codificación de URL", + "urlVariable": "URL de suscripción", + "variables": "Soporta variables:" + }, + "template": { + "description": "Utilizar la sintaxis de plantilla Go para generar archivos de configuración de suscripción", + "functions": "Funciones de plantilla:", + "if": "declaraciones condicionales", + "nodes": "lista de nodos proxy", + "range": "iterar arreglos", + "siteName": "nombre del sitio", + "sprig": "Biblioteca de funciones Sprig (procesamiento de cadenas, fechas, etc.)", + "subscribeName": "nombre de la suscripción", + "title": "Sintaxis de Plantilla Go", + "userInfo": "información del usuario (tráfico, expiración, etc.)", + "variables": "Variables disponibles:" + }, + "userAgentPrefix": "Identificador del cliente para distinguir diferentes clientes" }, "editTitle": "Editar Cliente", "fields": { @@ -57,8 +78,8 @@ "icon": "Ícono", "name": "Nombre", "outputFormat": "Formato de Salida", - "proxyTemplate": "Enlace de Suscripción", - "template": "Plantilla de Configuración" + "schema": "Esquema de URL", + "template": "Plantilla de Archivo de Suscripción" }, "tabs": { "basic": "Información Básica", @@ -66,12 +87,13 @@ "template": "Plantillas" }, "validation": { - "nameRequired": "El nombre del cliente es obligatorio", - "userAgentRequiredSuffix": "es obligatorio" + "nameRequired": "Se requiere el nombre del cliente", + "userAgentRequiredSuffix": "es requerido" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Texto Plano", "yaml": "YAML" diff --git a/apps/admin/locales/es-MX/subscribe.json b/apps/admin/locales/es-MX/subscribe.json index ae56761..3e45777 100644 --- a/apps/admin/locales/es-MX/subscribe.json +++ b/apps/admin/locales/es-MX/subscribe.json @@ -33,10 +33,10 @@ "updateSuccess": "Configuraciones actualizadas exitosamente", "userAgentLimit": "Restricción de {userAgent}", "userAgentLimitDescription": "Habilitar restricciones de acceso basadas en {userAgent}", - "userAgentList": "Lista blanca de {userAgent}", - "userAgentListDescription": "{userAgent} permitidos para acceso a suscripciones, uno por línea. La aplicación configurada {userAgent} se incluirá automáticamente", - "userAgentListPlaceholder": "Ingresa {userAgent} permitidos, uno por línea", - "wildcardResolution": "Resolución de Comodines", + "userAgentList": "Lista Blanca de {userAgent}", + "userAgentListDescription": "Permitir {userAgent} para acceso a suscripción, uno por línea. La aplicación configurada {userAgent} se incluirá automáticamente", + "userAgentListPlaceholder": "Ingrese {userAgent} permitidos, uno por línea", + "wildcardResolution": "Resolución de Comodín", "wildcardResolutionDescription": "Habilitar resolución de dominio comodín para suscripciones" }, "form": { @@ -47,8 +47,29 @@ "icon": "URL del ícono o codificación base64", "name": "Nombre para mostrar del cliente", "outputFormat": "Formato del archivo de configuración de suscripción", - "proxyTemplate": "Plantilla de enlace de suscripción, soporta variables: ", - "template": "Plantilla de configuración de suscripción, soporta varias variables", + "schema": { + "base64Encoding": "Codificación Base64", + "functions": "Soporta funciones:", + "jsonStringify": "Objeto JSON a cadena", + "nameVariable": "nombre del sitio", + "title": "Plantilla de Esquema de URL", + "urlEncoding": "Codificación de URL", + "urlVariable": "URL de suscripción", + "variables": "Soporta variables:" + }, + "template": { + "description": "Usar sintaxis de plantilla Go para generar archivos de configuración de suscripción", + "functions": "Funciones de plantilla:", + "if": "declaraciones condicionales", + "nodes": "lista de nodos proxy", + "range": "iterar arreglos", + "siteName": "nombre del sitio", + "sprig": "Biblioteca de funciones Sprig (procesamiento de cadenas, fechas, etc.)", + "subscribeName": "nombre de la suscripción", + "title": "Sintaxis de Plantilla Go", + "userInfo": "información del usuario (tráfico, expiración, etc.)", + "variables": "Variables disponibles:" + }, "userAgentPrefix": "Identificador del cliente para distinguir diferentes clientes" }, "editTitle": "Editar Cliente", @@ -57,8 +78,8 @@ "icon": "Ícono", "name": "Nombre", "outputFormat": "Formato de Salida", - "proxyTemplate": "Enlace de Suscripción", - "template": "Plantilla de Configuración" + "schema": "Esquema de URL", + "template": "Plantilla de Archivo de Suscripción" }, "tabs": { "basic": "Información Básica", @@ -66,12 +87,13 @@ "template": "Plantillas" }, "validation": { - "nameRequired": "El nombre del cliente es obligatorio", - "userAgentRequiredSuffix": "es obligatorio" + "nameRequired": "Se requiere el nombre del cliente", + "userAgentRequiredSuffix": "es requerido" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Texto Plano", "yaml": "YAML" diff --git a/apps/admin/locales/fa-IR/subscribe.json b/apps/admin/locales/fa-IR/subscribe.json index 8dbfe5b..08a6242 100644 --- a/apps/admin/locales/fa-IR/subscribe.json +++ b/apps/admin/locales/fa-IR/subscribe.json @@ -1,7 +1,7 @@ { "actions": { - "add": "افزودن", - "batchDelete": "حذف گروهی", + "add": "اضافه کردن", + "batchDelete": "حذف دسته‌ای", "batchDeleteSuccess": "با موفقیت {count} مشتری حذف شد", "batchDeleteWarning": "آیا مطمئن هستید که می‌خواهید {count} مشتری انتخاب شده را حذف کنید؟", "cancel": "لغو", @@ -20,7 +20,7 @@ }, "config": { "description": "مدیریت تنظیمات سیستم اشتراک", - "singleSubscriptionMode": "حالت اشتراک تک", + "singleSubscriptionMode": "حالت اشتراک تکی", "singleSubscriptionModeDescription": "محدود کردن کاربران به یک اشتراک فعال. اشتراک‌های موجود تحت تأثیر قرار نمی‌گیرند", "subscriptionDomain": "دامنه اشتراک", "subscriptionDomainDescription": "دامنه سفارشی برای لینک‌های اشتراک", @@ -31,25 +31,46 @@ "title": "پیکربندی اشتراک", "updateError": "به‌روزرسانی ناموفق بود", "updateSuccess": "تنظیمات با موفقیت به‌روزرسانی شد", - "userAgentLimit": "محدودیت {userAgent}", + "userAgentLimit": "{userAgent} محدودیت", "userAgentLimitDescription": "فعال‌سازی محدودیت‌های دسترسی بر اساس {userAgent}", - "userAgentList": "لیست سفید {userAgent}", - "userAgentListDescription": "{userAgent} های مجاز برای دسترسی به اشتراک، هر کدام در یک خط. {userAgent} های پیکربندی شده به‌طور خودکار شامل خواهند شد", - "userAgentListPlaceholder": "{userAgent} های مجاز را وارد کنید، هر کدام در یک خط", + "userAgentList": "{userAgent} لیست سفید", + "userAgentListDescription": "اجازه دسترسی {userAgent} برای اشتراک، هر کدام در یک خط. برنامه پیکربندی شده {userAgent} به‌طور خودکار شامل خواهد شد", + "userAgentListPlaceholder": "اجازه {userAgent} را وارد کنید، هر کدام در یک خط", "wildcardResolution": "حل wildcard", "wildcardResolutionDescription": "فعال‌سازی حل دامنه wildcard برای اشتراک‌ها" }, "form": { - "addTitle": "افزودن مشتری", + "addTitle": "اضافه کردن مشتری", "descriptions": { "description": "توضیحات دقیق مشتری", - "downloadLink": "آدرس دانلود پلتفرم", - "icon": "آدرس URL آیکون یا کدگذاری base64", + "downloadLink": "URL دانلود پلتفرم", + "icon": "URL آیکون یا کدگذاری base64", "name": "نام نمایشی مشتری", "outputFormat": "فرمت فایل پیکربندی اشتراک", - "proxyTemplate": "الگوی لینک اشتراک، از متغیرها پشتیبانی می‌کند: ", - "template": "الگوی پیکربندی اشتراک، از متغیرهای مختلف پشتیبانی می‌کند", - "userAgentPrefix": "شناسه مشتری برای تمایز بین مشتریان مختلف" + "schema": { + "base64Encoding": "کدگذاری Base64", + "functions": "توابع پشتیبانی شده:", + "jsonStringify": "شی JSON به رشته", + "nameVariable": "نام سایت", + "title": "قالب طرح URL", + "urlEncoding": "کدگذاری URL", + "urlVariable": "URL اشتراک", + "variables": "متغیرهای پشتیبانی شده:" + }, + "template": { + "description": "استفاده از نحو قالب Go برای تولید فایل‌های پیکربندی اشتراک", + "functions": "توابع قالب:", + "if": "عبارات شرطی", + "nodes": "لیست گره‌های پروکسی", + "range": "تکرار آرایه‌ها", + "siteName": "نام سایت", + "sprig": "کتابخانه توابع Sprig (پردازش رشته، تاریخ‌ها و غیره)", + "subscribeName": "نام اشتراک", + "title": "نحو قالب Go", + "userInfo": "اطلاعات کاربر (ترافیک، انقضا و غیره)", + "variables": "متغیرهای موجود:" + }, + "userAgentPrefix": "شناسایی مشتری برای تمایز مشتریان مختلف" }, "editTitle": "ویرایش مشتری", "fields": { @@ -57,13 +78,13 @@ "icon": "آیکون", "name": "نام", "outputFormat": "فرمت خروجی", - "proxyTemplate": "لینک اشتراک", - "template": "الگوی پیکربندی" + "schema": "طرح URL", + "template": "قالب فایل اشتراک" }, "tabs": { "basic": "اطلاعات پایه", "download": "دانلودها", - "template": "الگوها" + "template": "قالب‌ها" }, "validation": { "nameRequired": "نام مشتری الزامی است", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "متن ساده", "yaml": "YAML" diff --git a/apps/admin/locales/fi-FI/subscribe.json b/apps/admin/locales/fi-FI/subscribe.json index 39f2dee..3c40a7d 100644 --- a/apps/admin/locales/fi-FI/subscribe.json +++ b/apps/admin/locales/fi-FI/subscribe.json @@ -43,13 +43,34 @@ "addTitle": "Lisää asiakas", "descriptions": { "description": "Yksityiskohtainen asiakaskuvaus", - "downloadLink": "alustalataus-URL", - "icon": "Ikonin URL-osoite tai base64-koodaus", + "downloadLink": "alustan lataus-URL", + "icon": "Ikonin URL tai base64-koodaus", "name": "Asiakkaan näyttönimi", - "outputFormat": "Tilauksen asetustiedoston muoto", - "proxyTemplate": "Tilauksen linkkimalli, tukee muuttujia: ", - "template": "Tilauksen asetusmalli, tukee erilaisia muuttujia", - "userAgentPrefix": "Asiakasidentifikaattori eri asiakkaiden erottamiseksi" + "outputFormat": "Tilauksen konfiguraatiotiedoston muoto", + "schema": { + "base64Encoding": "Base64-koodaus", + "functions": "Tukee toimintoja:", + "jsonStringify": "JSON-objekti merkkijonoksi", + "nameVariable": "sivuston nimi", + "title": "URL-mallin malli", + "urlEncoding": "URL-koodaus", + "urlVariable": "tilaus-URL", + "variables": "Tukee muuttujia:" + }, + "template": { + "description": "Käytä Go-mallin syntaksia luodaksesi tilauksen konfiguraatiotiedostoja", + "functions": "Mallitoiminnot:", + "if": "ehdolliset lauseet", + "nodes": "proxy-solmujen lista", + "range": "iteroi taulukoita", + "siteName": "sivuston nimi", + "sprig": "Sprig-toimintokirjasto (merkkijonojen käsittely, päivämäärät jne.)", + "subscribeName": "tilauksen nimi", + "title": "Go-mallin syntaksi", + "userInfo": "käyttäjätiedot (liikenne, vanheneminen jne.)", + "variables": "Saatavilla olevat muuttujat:" + }, + "userAgentPrefix": "Asiakkaan tunniste erottamaan eri asiakkaita" }, "editTitle": "Muokkaa asiakasta", "fields": { @@ -57,8 +78,8 @@ "icon": "Ikoni", "name": "Nimi", "outputFormat": "Tulostusmuoto", - "proxyTemplate": "Tilauksen linkki", - "template": "Asetusmalli" + "schema": "URL-malli", + "template": "Tilauksen tiedostomalli" }, "tabs": { "basic": "Perustiedot", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Plain Text", "yaml": "YAML" diff --git a/apps/admin/locales/fr-FR/subscribe.json b/apps/admin/locales/fr-FR/subscribe.json index efd3b7b..9c4f878 100644 --- a/apps/admin/locales/fr-FR/subscribe.json +++ b/apps/admin/locales/fr-FR/subscribe.json @@ -31,11 +31,11 @@ "title": "Configuration de l'abonnement", "updateError": "Échec de la mise à jour", "updateSuccess": "Paramètres mis à jour avec succès", - "userAgentLimit": "Restriction de {userAgent}", + "userAgentLimit": "Restriction {userAgent}", "userAgentLimitDescription": "Activer les restrictions d'accès basées sur {userAgent}", "userAgentList": "Liste blanche {userAgent}", - "userAgentListDescription": "{userAgent} autorisés pour l'accès à l'abonnement, un par ligne. L'application configurée {userAgent} sera automatiquement incluse", - "userAgentListPlaceholder": "Entrez les {userAgent} autorisés, un par ligne", + "userAgentListDescription": "Autorisé {userAgent} pour l'accès à l'abonnement, un par ligne. L'application configurée {userAgent} sera automatiquement incluse", + "userAgentListPlaceholder": "Entrez {userAgent} autorisés, un par ligne", "wildcardResolution": "Résolution de wildcard", "wildcardResolutionDescription": "Activer la résolution de domaine wildcard pour les abonnements" }, @@ -47,9 +47,30 @@ "icon": "URL de l'icône ou encodage base64", "name": "Nom d'affichage du client", "outputFormat": "Format du fichier de configuration d'abonnement", - "proxyTemplate": "Modèle de lien d'abonnement, prend en charge les variables : ", - "template": "Modèle de configuration d'abonnement, prend en charge diverses variables", - "userAgentPrefix": "Identifiant du client pour distinguer les différents clients." + "schema": { + "base64Encoding": "Encodage Base64", + "functions": "Prend en charge les fonctions :", + "jsonStringify": "Objet JSON en chaîne", + "nameVariable": "nom du site", + "title": "Modèle de schéma d'URL", + "urlEncoding": "Encodage d'URL", + "urlVariable": "URL d'abonnement", + "variables": "Prend en charge les variables :" + }, + "template": { + "description": "Utilisez la syntaxe de modèle Go pour générer des fichiers de configuration d'abonnement", + "functions": "Fonctions de modèle :", + "if": "instructions conditionnelles", + "nodes": "liste des nœuds proxy", + "range": "itérer des tableaux", + "siteName": "nom du site", + "sprig": "Bibliothèque de fonctions Sprig (traitement de chaînes, dates, etc.)", + "subscribeName": "nom de l'abonnement", + "title": "Syntaxe de modèle Go", + "userInfo": "informations utilisateur (trafic, expiration, etc.)", + "variables": "Variables disponibles :" + }, + "userAgentPrefix": "Identifiant du client pour distinguer différents clients" }, "editTitle": "Modifier un client", "fields": { @@ -57,8 +78,8 @@ "icon": "Icône", "name": "Nom", "outputFormat": "Format de sortie", - "proxyTemplate": "Lien d'abonnement", - "template": "Modèle de configuration" + "schema": "Schéma d'URL", + "template": "Modèle de fichier d'abonnement" }, "tabs": { "basic": "Informations de base", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Texte brut", "yaml": "YAML" diff --git a/apps/admin/locales/hi-IN/subscribe.json b/apps/admin/locales/hi-IN/subscribe.json index 65c5b9e..b8fbf51 100644 --- a/apps/admin/locales/hi-IN/subscribe.json +++ b/apps/admin/locales/hi-IN/subscribe.json @@ -3,7 +3,7 @@ "add": "जोड़ें", "batchDelete": "बैच हटाएं", "batchDeleteSuccess": "सफलता से {count} क्लाइंट हटाए गए", - "batchDeleteWarning": "क्या आप सुनिश्चित हैं कि आप चयनित {count} क्लाइंट को हटाना चाहते हैं?", + "batchDeleteWarning": "क्या आप निश्चित हैं कि आप चयनित {count} क्लाइंट हटाना चाहते हैं?", "cancel": "रद्द करें", "confirm": "पुष्टि करें", "confirmDelete": "हटाने की पुष्टि करें", @@ -11,7 +11,7 @@ "delete": "हटाएं", "deleteFailed": "हटाना विफल", "deleteSuccess": "सफलता से हटाया गया", - "deleteWarning": "यह क्रिया पूर्ववत नहीं की जा सकती। क्या आप सुनिश्चित हैं कि आप इस क्लाइंट को हटाना चाहते हैं?", + "deleteWarning": "यह क्रिया पूर्ववत नहीं की जा सकती। क्या आप निश्चित हैं कि आप इस क्लाइंट को हटाना चाहते हैं?", "edit": "संपादित करें", "save": "सहेजें", "saveFailed": "सहेजना विफल", @@ -34,21 +34,42 @@ "userAgentLimit": "{userAgent} प्रतिबंध", "userAgentLimitDescription": "{userAgent} के आधार पर पहुंच प्रतिबंध सक्षम करें", "userAgentList": "{userAgent} श्वेतसूची", - "userAgentListDescription": "सदस्यता पहुंच के लिए अनुमत {userAgent}, प्रत्येक पंक्ति में एक। कॉन्फ़िगर की गई एप्लिकेशन {userAgent} स्वचालित रूप से शामिल की जाएगी", - "userAgentListPlaceholder": "अनुमत {userAgent} दर्ज करें, प्रत्येक पंक्ति में एक", + "userAgentListDescription": "सदस्यता पहुंच के लिए अनुमत {userAgent}, एक प्रति पंक्ति। कॉन्फ़िगर की गई एप्लिकेशन {userAgent} स्वचालित रूप से शामिल की जाएगी", + "userAgentListPlaceholder": "अनुमत {userAgent} दर्ज करें, एक प्रति पंक्ति", "wildcardResolution": "वाइल्डकार्ड समाधान", "wildcardResolutionDescription": "सदस्यताओं के लिए वाइल्डकार्ड डोमेन समाधान सक्षम करें" }, "form": { "addTitle": "क्लाइंट जोड़ें", "descriptions": { - "description": "विस्तृत क्लाइंट विवरण", - "downloadLink": "प्लेटफ़ॉर्म डाउनलोड URL", - "icon": "आइकन URL या बेस64 एन्कोडिंग", + "description": "क्लाइंट का विस्तृत विवरण", + "downloadLink": "प्लेटफ़ॉर्म डाउनलोड यूआरएल", + "icon": "आइकन यूआरएल या बेस64 एन्कोडिंग", "name": "क्लाइंट प्रदर्शन नाम", "outputFormat": "सदस्यता कॉन्फ़िगरेशन फ़ाइल प्रारूप", - "proxyTemplate": "सदस्यता लिंक टेम्पलेट, वेरिएबल का समर्थन करता है: ", - "template": "सदस्यता कॉन्फ़िगरेशन टेम्पलेट, विभिन्न वेरिएबल का समर्थन करता है", + "schema": { + "base64Encoding": "बेस64 एन्कोडिंग", + "functions": "कार्य का समर्थन करता है:", + "jsonStringify": "JSON ऑब्जेक्ट को स्ट्रिंग में", + "nameVariable": "साइट का नाम", + "title": "यूआरएल स्कीमा टेम्पलेट", + "urlEncoding": "यूआरएल एन्कोडिंग", + "urlVariable": "सदस्यता यूआरएल", + "variables": "चर का समर्थन करता है:" + }, + "template": { + "description": "सदस्यता कॉन्फ़िगरेशन फ़ाइलें उत्पन्न करने के लिए गो टेम्पलेट सिंटैक्स का उपयोग करें", + "functions": "टेम्पलेट कार्य:", + "if": "शर्तीय कथन", + "nodes": "प्रॉक्सी नोड्स की सूची", + "range": "ऐरे को दोहराएं", + "siteName": "साइट का नाम", + "sprig": "स्प्रिग फ़ंक्शन पुस्तकालय (स्ट्रिंग प्रोसेसिंग, तिथियाँ, आदि)", + "subscribeName": "सदस्यता का नाम", + "title": "गो टेम्पलेट सिंटैक्स", + "userInfo": "उपयोगकर्ता जानकारी (ट्रैफ़िक, समाप्ति, आदि)", + "variables": "उपलब्ध चर:" + }, "userAgentPrefix": "विभिन्न क्लाइंट्स को अलग करने के लिए क्लाइंट पहचानकर्ता" }, "editTitle": "क्लाइंट संपादित करें", @@ -57,8 +78,8 @@ "icon": "आइकन", "name": "नाम", "outputFormat": "आउटपुट प्रारूप", - "proxyTemplate": "सदस्यता लिंक", - "template": "कॉन्फ़िग टेम्पलेट" + "schema": "यूआरएल स्कीमा", + "template": "सदस्यता फ़ाइल टेम्पलेट" }, "tabs": { "basic": "बुनियादी जानकारी", @@ -71,7 +92,8 @@ } }, "outputFormats": { - "base64": "Base64", + "base64": "बेस64", + "conf": "CONF", "json": "JSON", "plain": "सादा पाठ", "yaml": "YAML" diff --git a/apps/admin/locales/hu-HU/subscribe.json b/apps/admin/locales/hu-HU/subscribe.json index 801643c..7d8faaa 100644 --- a/apps/admin/locales/hu-HU/subscribe.json +++ b/apps/admin/locales/hu-HU/subscribe.json @@ -5,7 +5,7 @@ "batchDeleteSuccess": "Sikeresen törölt {count} ügyfelet", "batchDeleteWarning": "Biztosan törölni szeretné a kiválasztott {count} ügyfelet?", "cancel": "Mégse", - "confirm": "Megerősít", + "confirm": "Megerősítés", "confirmDelete": "Törlés megerősítése", "createSuccess": "Sikeresen létrehozva", "delete": "Törlés", @@ -32,12 +32,12 @@ "updateError": "Frissítés sikertelen", "updateSuccess": "Beállítások sikeresen frissítve", "userAgentLimit": "{userAgent} Korlátozás", - "userAgentLimitDescription": "Engedélyezze a hozzáférési korlátozásokat a(z) {userAgent} alapján", - "userAgentList": "{userAgent} Fehér lista", - "userAgentListDescription": "Engedélyezett {userAgent} az előfizetési hozzáféréshez, soronként egy. A konfigurált alkalmazás {userAgent} automatikusan belekerül", - "userAgentListPlaceholder": "Adja meg az engedélyezett {userAgent}-t, soronként egy", - "wildcardResolution": "Wildcard Feloldás", - "wildcardResolutionDescription": "Engedélyezze a wildcard domain feloldást az előfizetésekhez" + "userAgentLimitDescription": "Engedélyezze a hozzáférési korlátozásokat a {userAgent} alapján", + "userAgentList": "{userAgent} Fehérlista", + "userAgentListDescription": "Engedélyezett {userAgent} az előfizetési hozzáféréshez, soronként egyet. A konfigurált alkalmazás {userAgent} automatikusan belekerül", + "userAgentListPlaceholder": "Adja meg az engedélyezett {userAgent} értékeket, soronként egyet", + "wildcardResolution": "Joker karakterek feloldása", + "wildcardResolutionDescription": "Engedélyezze a joker karakterek domain feloldását az előfizetésekhez" }, "form": { "addTitle": "Ügyfél Hozzáadása", @@ -47,9 +47,30 @@ "icon": "Ikon URL vagy base64 kódolás", "name": "Ügyfél megjelenítési neve", "outputFormat": "Előfizetési konfigurációs fájl formátum", - "proxyTemplate": "Előfizetési link sablon, támogatja a változókat: ", - "template": "Előfizetési konfigurációs sablon, támogatja a különböző változókat", - "userAgentPrefix": "Kliens azonosító a különböző kliensek megkülönböztetésére." + "schema": { + "base64Encoding": "Base64 kódolás", + "functions": "Támogatott funkciók:", + "jsonStringify": "JSON objektum stringgé alakítása", + "nameVariable": "webhely neve", + "title": "URL Sémák sablon", + "urlEncoding": "URL kódolás", + "urlVariable": "előfizetési URL", + "variables": "Támogatott változók:" + }, + "template": { + "description": "Használja a Go sablon szintaxist az előfizetési konfigurációs fájlok generálásához", + "functions": "Sablon funkciók:", + "if": "feltételes állítások", + "nodes": "proxy csomópontok listája", + "range": "tömbök iterálása", + "siteName": "webhely neve", + "sprig": "Sprig funkció könyvtár (string feldolgozás, dátumok, stb.)", + "subscribeName": "előfizetés neve", + "title": "Go Sablon Szintaxis", + "userInfo": "felhasználói információ (forgalom, lejárat, stb.)", + "variables": "Elérhető változók:" + }, + "userAgentPrefix": "Ügyfél azonosító a különböző ügyfelek megkülönböztetésére" }, "editTitle": "Ügyfél Szerkesztése", "fields": { @@ -57,8 +78,8 @@ "icon": "Ikon", "name": "Név", "outputFormat": "Kimeneti Formátum", - "proxyTemplate": "Előfizetési Link", - "template": "Beállítási Sablon" + "schema": "URL Sémák", + "template": "Előfizetési Fájl Sablon" }, "tabs": { "basic": "Alap Információk", @@ -66,12 +87,13 @@ "template": "Sablonok" }, "validation": { - "nameRequired": "Az ügyfél neve kötelező", - "userAgentRequiredSuffix": "kötelező" + "nameRequired": "Ügyfél név megadása kötelező", + "userAgentRequiredSuffix": "megadása kötelező" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Egyszerű Szöveg", "yaml": "YAML" @@ -85,7 +107,7 @@ "windows": "Windows" }, "protocol": { - "title": "Klienskezelés" + "title": "Ügyfélkezelés" }, "table": { "columns": { diff --git a/apps/admin/locales/ja-JP/subscribe.json b/apps/admin/locales/ja-JP/subscribe.json index cdfcbce..390688f 100644 --- a/apps/admin/locales/ja-JP/subscribe.json +++ b/apps/admin/locales/ja-JP/subscribe.json @@ -20,7 +20,7 @@ }, "config": { "description": "サブスクリプションシステムの設定を管理します", - "singleSubscriptionMode": "シングルサブスクリプションモード", + "singleSubscriptionMode": "単一サブスクリプションモード", "singleSubscriptionModeDescription": "ユーザーを1つのアクティブなサブスクリプションに制限します。既存のサブスクリプションには影響しません", "subscriptionDomain": "サブスクリプションドメイン", "subscriptionDomainDescription": "サブスクリプションリンク用のカスタムドメイン", @@ -32,10 +32,10 @@ "updateError": "更新に失敗しました", "updateSuccess": "設定が正常に更新されました", "userAgentLimit": "{userAgent} 制限", - "userAgentLimitDescription": "{userAgent} に基づくアクセス制限を有効にする", + "userAgentLimitDescription": "{userAgent} に基づくアクセス制限を有効にします", "userAgentList": "{userAgent} ホワイトリスト", - "userAgentListDescription": "サブスクリプションアクセスのために許可された {userAgent}、1行ごとに1つ。設定されたアプリケーションの {userAgent} は自動的に含まれます", - "userAgentListPlaceholder": "許可された {userAgent} を入力してください、1行ごとに", + "userAgentListDescription": "サブスクリプションアクセスを許可された {userAgent}(1行につき1つ)。構成されたアプリケーション {userAgent} は自動的に含まれます", + "userAgentListPlaceholder": "許可された {userAgent} を入力してください(1行につき1つ)", "wildcardResolution": "ワイルドカード解決", "wildcardResolutionDescription": "サブスクリプション用のワイルドカードドメイン解決を有効にします" }, @@ -47,8 +47,29 @@ "icon": "アイコンのURLまたはbase64エンコーディング", "name": "クライアントの表示名", "outputFormat": "サブスクリプション設定ファイル形式", - "proxyTemplate": "サブスクリプションリンクテンプレート、変数をサポートします:", - "template": "サブスクリプション設定テンプレート、さまざまな変数をサポートします", + "schema": { + "base64Encoding": "Base64エンコーディング", + "functions": "関数をサポートしています:", + "jsonStringify": "JSONオブジェクトを文字列に変換", + "nameVariable": "サイト名", + "title": "URLスキーマテンプレート", + "urlEncoding": "URLエンコーディング", + "urlVariable": "サブスクリプションURL", + "variables": "変数をサポートしています:" + }, + "template": { + "description": "Goテンプレート構文を使用してサブスクリプション設定ファイルを生成します", + "functions": "テンプレート関数:", + "if": "条件文", + "nodes": "プロキシノードリスト", + "range": "配列を反復処理", + "siteName": "サイト名", + "sprig": "Sprig関数ライブラリ(文字列処理、日付など)", + "subscribeName": "サブスクリプション名", + "title": "Goテンプレート構文", + "userInfo": "ユーザー情報(トラフィック、有効期限など)", + "variables": "利用可能な変数:" + }, "userAgentPrefix": "異なるクライアントを区別するためのクライアント識別子" }, "editTitle": "クライアントを編集", @@ -57,8 +78,8 @@ "icon": "アイコン", "name": "名前", "outputFormat": "出力形式", - "proxyTemplate": "サブスクリプションリンク", - "template": "設定テンプレート" + "schema": "URLスキーマ", + "template": "サブスクリプションファイルテンプレート" }, "tabs": { "basic": "基本情報", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "プレーンテキスト", "yaml": "YAML" diff --git a/apps/admin/locales/ko-KR/subscribe.json b/apps/admin/locales/ko-KR/subscribe.json index d725031..5d3ce7c 100644 --- a/apps/admin/locales/ko-KR/subscribe.json +++ b/apps/admin/locales/ko-KR/subscribe.json @@ -23,18 +23,18 @@ "singleSubscriptionMode": "단일 구독 모드", "singleSubscriptionModeDescription": "사용자를 하나의 활성 구독으로 제한합니다. 기존 구독에는 영향을 미치지 않습니다", "subscriptionDomain": "구독 도메인", - "subscriptionDomainDescription": "구독 링크를 위한 사용자 지정 도메인", + "subscriptionDomainDescription": "구독 링크를 위한 사용자 정의 도메인", "subscriptionDomainPlaceholder": "구독 도메인을 입력하세요, 한 줄에 하나씩", "subscriptionPath": "구독 경로", - "subscriptionPathDescription": "구독 엔드포인트를 위한 사용자 지정 경로 (시스템 재시작 후 성능 향상)", + "subscriptionPathDescription": "구독 엔드포인트를 위한 사용자 정의 경로 (시스템 재시작 후 성능 향상)", "subscriptionPathPlaceholder": "구독 경로를 입력하세요", "title": "구독 설정", "updateError": "업데이트 실패", "updateSuccess": "설정이 성공적으로 업데이트되었습니다", "userAgentLimit": "{userAgent} 제한", - "userAgentLimitDescription": "{userAgent} 기반의 접근 제한 활성화", + "userAgentLimitDescription": "{userAgent}에 기반한 접근 제한을 활성화합니다", "userAgentList": "{userAgent} 허용 목록", - "userAgentListDescription": "구독 접근을 위한 허용된 {userAgent}, 한 줄에 하나씩 입력. 구성된 애플리케이션 {userAgent}는 자동으로 포함됩니다.", + "userAgentListDescription": "구독 접근을 위한 허용된 {userAgent}, 한 줄에 하나씩. 구성된 애플리케이션 {userAgent}는 자동으로 포함됩니다", "userAgentListPlaceholder": "허용된 {userAgent}를 입력하세요, 한 줄에 하나씩", "wildcardResolution": "와일드카드 해상도", "wildcardResolutionDescription": "구독을 위한 와일드카드 도메인 해상도를 활성화합니다" @@ -47,8 +47,29 @@ "icon": "아이콘 URL 또는 base64 인코딩", "name": "클라이언트 표시 이름", "outputFormat": "구독 구성 파일 형식", - "proxyTemplate": "구독 링크 템플릿, 변수 지원: ", - "template": "구독 구성 템플릿, 다양한 변수 지원", + "schema": { + "base64Encoding": "Base64 인코딩", + "functions": "함수를 지원합니다:", + "jsonStringify": "JSON 객체를 문자열로 변환", + "nameVariable": "사이트 이름", + "title": "URL 스키마 템플릿", + "urlEncoding": "URL 인코딩", + "urlVariable": "구독 URL", + "variables": "변수를 지원합니다:" + }, + "template": { + "description": "구독 구성 파일 생성을 위한 Go 템플릿 구문 사용", + "functions": "템플릿 함수:", + "if": "조건문", + "nodes": "프록시 노드 목록", + "range": "배열 반복", + "siteName": "사이트 이름", + "sprig": "Sprig 함수 라이브러리 (문자열 처리, 날짜 등)", + "subscribeName": "구독 이름", + "title": "Go 템플릿 구문", + "userInfo": "사용자 정보 (트래픽, 만료 등)", + "variables": "사용 가능한 변수:" + }, "userAgentPrefix": "다양한 클라이언트를 구별하기 위한 클라이언트 식별자" }, "editTitle": "클라이언트 편집", @@ -57,8 +78,8 @@ "icon": "아이콘", "name": "이름", "outputFormat": "출력 형식", - "proxyTemplate": "구독 링크", - "template": "구성 템플릿" + "schema": "URL 스키마", + "template": "구독 파일 템플릿" }, "tabs": { "basic": "기본 정보", @@ -67,11 +88,12 @@ }, "validation": { "nameRequired": "클라이언트 이름은 필수입니다", - "userAgentRequiredSuffix": "는 필수입니다" + "userAgentRequiredSuffix": "필수입니다" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "일반 텍스트", "yaml": "YAML" diff --git a/apps/admin/locales/no-NO/subscribe.json b/apps/admin/locales/no-NO/subscribe.json index f8d8c73..604c832 100644 --- a/apps/admin/locales/no-NO/subscribe.json +++ b/apps/admin/locales/no-NO/subscribe.json @@ -31,24 +31,45 @@ "title": "Abonnementsinnstillinger", "updateError": "Oppdatering feilet", "updateSuccess": "Innstillinger oppdatert med suksess", - "userAgentLimit": "{userAgent} Begrensning", - "userAgentLimitDescription": "Aktiver tilgangsbegrensninger basert på {userAgent}", - "userAgentList": "{userAgent} Hvitliste", - "userAgentListDescription": "Tillatte {userAgent} for abonnementsadgang, én per linje. Konfigurert applikasjon {userAgent} vil bli automatisk inkludert", - "userAgentListPlaceholder": "Skriv inn tillatte {userAgent}, én per linje", - "wildcardResolution": "Wildcard Oppløsning", - "wildcardResolutionDescription": "Aktiver wildcard domeneoppløsning for abonnementer" + "userAgentLimit": "{userAgent} Restriksjon", + "userAgentLimitDescription": "Aktiver tilgangsrestriksjoner basert på {userAgent}", + "userAgentList": "{userAgent} Hviteliste", + "userAgentListDescription": "Tillatte {userAgent} for abonnements tilgang, ett per linje. Konfigurert applikasjon {userAgent} vil bli automatisk inkludert", + "userAgentListPlaceholder": "Skriv inn tillatte {userAgent}, ett per linje", + "wildcardResolution": "Wildcard-oppløsning", + "wildcardResolutionDescription": "Aktiver wildcard-domeneoppløsning for abonnementer" }, "form": { "addTitle": "Legg til Klient", "descriptions": { "description": "Detaljert klientbeskrivelse", - "downloadLink": "Plattform nedlastings-URL", + "downloadLink": "plattforms nedlastings-URL", "icon": "Ikon-URL eller base64-koding", "name": "Klientens visningsnavn", - "outputFormat": "Format for abonnements konfigurasjonsfil", - "proxyTemplate": "Mal for abonnementslenke, støtter variabler: ", - "template": "Abonnements konfigurasjonsmal, støtter ulike variabler", + "outputFormat": "Format for abonnementskonfigurasjonsfil", + "schema": { + "base64Encoding": "Base64-koding", + "functions": "Støtter funksjoner:", + "jsonStringify": "JSON-objekt til streng", + "nameVariable": "nettstedsnavn", + "title": "URL-skjema mal", + "urlEncoding": "URL-koding", + "urlVariable": "abonnements-URL", + "variables": "Støtter variabler:" + }, + "template": { + "description": "Bruk Go mal-syntaks for å generere abonnementskonfigurasjonsfiler", + "functions": "Malfunksjoner:", + "if": "betingede setninger", + "nodes": "proxy-nodeliste", + "range": "iterere over lister", + "siteName": "nettstedsnavn", + "sprig": "Sprig funksjonsbibliotek (strengbehandling, datoer, osv.)", + "subscribeName": "abonnementsnavn", + "title": "Go Mal-syntaks", + "userInfo": "brukerinformasjon (trafikk, utløp, osv.)", + "variables": "Tilgjengelige variabler:" + }, "userAgentPrefix": "Klientidentifikator for å skille mellom forskjellige klienter" }, "editTitle": "Rediger Klient", @@ -57,13 +78,13 @@ "icon": "Ikon", "name": "Navn", "outputFormat": "Utdataformat", - "proxyTemplate": "Abonnementslenke", - "template": "Konfigurasjonsmal" + "schema": "URL-skjema", + "template": "Abonnementsfilmal" }, "tabs": { "basic": "Grunnleggende Info", "download": "Nedlastinger", - "template": "Maler" + "template": "Mal" }, "validation": { "nameRequired": "Klientnavn er påkrevd", @@ -72,8 +93,9 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", - "plain": "Ren Tekst", + "plain": "Ren tekst", "yaml": "YAML" }, "platforms": { @@ -93,7 +115,7 @@ "description": "Beskrivelse", "name": "Klientnavn", "outputFormat": "Utdataformat", - "supportedPlatforms": "Støttede Plattformer" + "supportedPlatforms": "Støttede plattformer" } } } diff --git a/apps/admin/locales/pl-PL/subscribe.json b/apps/admin/locales/pl-PL/subscribe.json index fb67e70..ac4552b 100644 --- a/apps/admin/locales/pl-PL/subscribe.json +++ b/apps/admin/locales/pl-PL/subscribe.json @@ -1,13 +1,13 @@ { "actions": { "add": "Dodaj", - "batchDelete": "Usunięcie zbiorcze", + "batchDelete": "Usuwanie zbiorcze", "batchDeleteSuccess": "Pomyślnie usunięto {count} klientów", "batchDeleteWarning": "Czy na pewno chcesz usunąć wybranych {count} klientów?", "cancel": "Anuluj", "confirm": "Potwierdź", "confirmDelete": "Potwierdź usunięcie", - "createSuccess": "Utworzono pomyślnie", + "createSuccess": "Pomyślnie utworzono", "delete": "Usuń", "deleteFailed": "Usunięcie nie powiodło się", "deleteSuccess": "Pomyślnie usunięto", @@ -34,8 +34,8 @@ "userAgentLimit": "Ograniczenie {userAgent}", "userAgentLimitDescription": "Włącz ograniczenia dostępu na podstawie {userAgent}", "userAgentList": "Biała lista {userAgent}", - "userAgentListDescription": "Dozwolone {userAgent} do dostępu subskrypcyjnego, jeden na linię. Skonfigurowana aplikacja {userAgent} zostanie automatycznie uwzględniona", - "userAgentListPlaceholder": "Wprowadź dozwolone {userAgent}, jeden na linię", + "userAgentListDescription": "Dozwolone {userAgent} do dostępu do subskrypcji, jedna na linię. Skonfigurowana aplikacja {userAgent} zostanie automatycznie uwzględniona", + "userAgentListPlaceholder": "Wprowadź dozwolone {userAgent}, jedna na linię", "wildcardResolution": "Rozwiązywanie symboli wieloznacznych", "wildcardResolutionDescription": "Włącz rozwiązywanie domen wieloznacznych dla subskrypcji" }, @@ -47,8 +47,29 @@ "icon": "URL ikony lub kodowanie base64", "name": "Nazwa wyświetlana klienta", "outputFormat": "Format pliku konfiguracyjnego subskrypcji", - "proxyTemplate": "Szablon linku subskrypcyjnego, obsługuje zmienne: ", - "template": "Szablon konfiguracji subskrypcji, obsługuje różne zmienne", + "schema": { + "base64Encoding": "Kodowanie Base64", + "functions": "Obsługuje funkcje:", + "jsonStringify": "Obiekt JSON na string", + "nameVariable": "nazwa witryny", + "title": "Szablon schematu URL", + "urlEncoding": "Kodowanie URL", + "urlVariable": "adres URL subskrypcji", + "variables": "Obsługuje zmienne:" + }, + "template": { + "description": "Użyj składni szablonu Go do generowania plików konfiguracyjnych subskrypcji", + "functions": "Funkcje szablonu:", + "if": "instrukcje warunkowe", + "nodes": "lista węzłów proxy", + "range": "iteruj po tablicach", + "siteName": "nazwa witryny", + "sprig": "Biblioteka funkcji Sprig (przetwarzanie ciągów, daty itp.)", + "subscribeName": "nazwa subskrypcji", + "title": "Składnia szablonu Go", + "userInfo": "informacje o użytkowniku (ruch, wygaśnięcie itp.)", + "variables": "Dostępne zmienne:" + }, "userAgentPrefix": "Identyfikator klienta do rozróżniania różnych klientów" }, "editTitle": "Edytuj klienta", @@ -57,23 +78,24 @@ "icon": "Ikona", "name": "Nazwa", "outputFormat": "Format wyjściowy", - "proxyTemplate": "Link subskrypcyjny", - "template": "Szablon konfiguracji" + "schema": "Schemat URL", + "template": "Szablon pliku subskrypcyjnego" }, "tabs": { "basic": "Podstawowe informacje", - "download": "Pobierania", + "download": "Pobrania", "template": "Szablony" }, "validation": { "nameRequired": "Nazwa klienta jest wymagana", - "userAgentRequiredSuffix": "jest wymagany" + "userAgentRequiredSuffix": "jest wymagana" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", - "plain": "Zwykły tekst", + "plain": "Tekst zwykły", "yaml": "YAML" }, "platforms": { diff --git a/apps/admin/locales/pt-BR/subscribe.json b/apps/admin/locales/pt-BR/subscribe.json index c7f8749..4d5d1ee 100644 --- a/apps/admin/locales/pt-BR/subscribe.json +++ b/apps/admin/locales/pt-BR/subscribe.json @@ -2,8 +2,8 @@ "actions": { "add": "Adicionar", "batchDelete": "Excluir em Lote", - "batchDeleteSuccess": "Clientes excluídos com sucesso: {count}", - "batchDeleteWarning": "Você tem certeza de que deseja excluir os {count} clientes selecionados?", + "batchDeleteSuccess": "Excluídos com sucesso {count} clientes", + "batchDeleteWarning": "Você tem certeza que deseja excluir os {count} clientes selecionados?", "cancel": "Cancelar", "confirm": "Confirmar", "confirmDelete": "Confirmar Exclusão", @@ -11,7 +11,7 @@ "delete": "Excluir", "deleteFailed": "Falha ao excluir", "deleteSuccess": "Excluído com sucesso", - "deleteWarning": "Esta operação não pode ser desfeita. Você tem certeza de que deseja excluir este cliente?", + "deleteWarning": "Esta operação não pode ser desfeita. Você tem certeza que deseja excluir este cliente?", "edit": "Editar", "save": "Salvar", "saveFailed": "Falha ao salvar", @@ -31,13 +31,13 @@ "title": "Configuração de Assinatura", "updateError": "Falha na atualização", "updateSuccess": "Configurações atualizadas com sucesso", - "userAgentLimit": "Limitação de {userAgent}", + "userAgentLimit": "Restrição de {userAgent}", "userAgentLimitDescription": "Ativar restrições de acesso com base em {userAgent}", - "userAgentList": "Lista de {userAgent} Permitidos", - "userAgentListDescription": "{userAgent} permitidos para acesso à assinatura, um por linha. O {userAgent} do aplicativo configurado será incluído automaticamente", - "userAgentListPlaceholder": "Digite {userAgent} permitidos, um por linha", + "userAgentList": "Lista Branca de {userAgent}", + "userAgentListDescription": "Permitir {userAgent} para acesso à assinatura, um por linha. O aplicativo configurado {userAgent} será incluído automaticamente", + "userAgentListPlaceholder": "Insira {userAgent} permitidos, um por linha", "wildcardResolution": "Resolução de Coringa", - "wildcardResolutionDescription": "Habilitar resolução de domínio coringa para assinaturas" + "wildcardResolutionDescription": "Ativar resolução de domínio coringa para assinaturas" }, "form": { "addTitle": "Adicionar Cliente", @@ -47,8 +47,29 @@ "icon": "URL do ícone ou codificação base64", "name": "Nome de exibição do cliente", "outputFormat": "Formato do arquivo de configuração da assinatura", - "proxyTemplate": "Modelo de link de assinatura, suporta variáveis: ", - "template": "Modelo de configuração de assinatura, suporta várias variáveis", + "schema": { + "base64Encoding": "Codificação Base64", + "functions": "Suporta funções:", + "jsonStringify": "Objeto JSON para string", + "nameVariable": "nome do site", + "title": "Modelo de Esquema de URL", + "urlEncoding": "Codificação de URL", + "urlVariable": "URL da assinatura", + "variables": "Suporta variáveis:" + }, + "template": { + "description": "Use a sintaxe do template Go para gerar arquivos de configuração de assinatura", + "functions": "Funções do template:", + "if": "declarações condicionais", + "nodes": "lista de nós proxy", + "range": "iterar arrays", + "siteName": "nome do site", + "sprig": "Biblioteca de funções Sprig (processamento de strings, datas, etc.)", + "subscribeName": "nome da assinatura", + "title": "Sintaxe do Template Go", + "userInfo": "informações do usuário (tráfego, expiração, etc.)", + "variables": "Variáveis disponíveis:" + }, "userAgentPrefix": "Identificador do cliente para distinguir diferentes clientes" }, "editTitle": "Editar Cliente", @@ -57,13 +78,13 @@ "icon": "Ícone", "name": "Nome", "outputFormat": "Formato de Saída", - "proxyTemplate": "Link de Assinatura", - "template": "Modelo de Configuração" + "schema": "Esquema de URL", + "template": "Template do Arquivo de Assinatura" }, "tabs": { "basic": "Informações Básicas", "download": "Downloads", - "template": "Modelos" + "template": "Templates" }, "validation": { "nameRequired": "O nome do cliente é obrigatório", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Texto Simples", "yaml": "YAML" diff --git a/apps/admin/locales/ro-RO/subscribe.json b/apps/admin/locales/ro-RO/subscribe.json index 1966a86..b39b1f7 100644 --- a/apps/admin/locales/ro-RO/subscribe.json +++ b/apps/admin/locales/ro-RO/subscribe.json @@ -32,10 +32,10 @@ "updateError": "Actualizarea a eșuat", "updateSuccess": "Setările au fost actualizate cu succes", "userAgentLimit": "Restricție {userAgent}", - "userAgentLimitDescription": "Activați restricțiile de acces bazate pe {userAgent}", - "userAgentList": "Lista albă {userAgent}", - "userAgentListDescription": "{userAgent} permise pentru accesul la abonament, câte unul pe linie. Aplicația configurată {userAgent} va fi inclusă automat", - "userAgentListPlaceholder": "Introduceți {userAgent} permise, câte unul pe linie", + "userAgentLimitDescription": "Activează restricții de acces bazate pe {userAgent}", + "userAgentList": "Listă albă {userAgent}", + "userAgentListDescription": "Permise {userAgent} pentru accesul la abonament, câte unul pe linie. Aplicația configurată {userAgent} va fi inclusă automat", + "userAgentListPlaceholder": "Introdu {userAgent} permise, câte unul pe linie", "wildcardResolution": "Rezolvare Wildcard", "wildcardResolutionDescription": "Activează rezolvarea domeniului wildcard pentru abonamente" }, @@ -43,13 +43,34 @@ "addTitle": "Adaugă Client", "descriptions": { "description": "Descriere detaliată a clientului", - "downloadLink": "URL-ul de descărcare al platformei", - "icon": "URL-ul iconiței sau codificare base64", + "downloadLink": "URL descărcare platformă", + "icon": "URL iconiță sau codare base64", "name": "Numele de afișare al clientului", "outputFormat": "Formatul fișierului de configurare a abonamentului", - "proxyTemplate": "Șablonul linkului de abonament, suportă variabile: ", - "template": "Șablonul de configurare a abonamentului, suportă diverse variabile", - "userAgentPrefix": "Identificatorul clientului pentru a distinge diferite clienți" + "schema": { + "base64Encoding": "Codificare Base64", + "functions": "Suportă funcții:", + "jsonStringify": "Obiect JSON în string", + "nameVariable": "numele site-ului", + "title": "Șablon Schema URL", + "urlEncoding": "Codificare URL", + "urlVariable": "URL-ul abonamentului", + "variables": "Suportă variabile:" + }, + "template": { + "description": "Folosește sintaxa șablon Go pentru a genera fișiere de configurare a abonamentului", + "functions": "Funcții de șablon:", + "if": "declarații condiționale", + "nodes": "lista nodurilor proxy", + "range": "iterează prin array-uri", + "siteName": "numele site-ului", + "sprig": "biblioteca de funcții Sprig (procesare stringuri, date, etc.)", + "subscribeName": "numele abonamentului", + "title": "Sintaxă Șablon Go", + "userInfo": "informații utilizator (trafic, expirare, etc.)", + "variables": "Variabile disponibile:" + }, + "userAgentPrefix": "Identificatorul clientului pentru a distinge diferiți clienți" }, "editTitle": "Editează Client", "fields": { @@ -57,8 +78,8 @@ "icon": "Iconiță", "name": "Nume", "outputFormat": "Format de Ieșire", - "proxyTemplate": "Link de Abonament", - "template": "Șablon Config" + "schema": "Schema URL", + "template": "Șablon Fișier Abonament" }, "tabs": { "basic": "Informații de Bază", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Text Simplu", "yaml": "YAML" diff --git a/apps/admin/locales/ru-RU/subscribe.json b/apps/admin/locales/ru-RU/subscribe.json index 26fae50..39cc163 100644 --- a/apps/admin/locales/ru-RU/subscribe.json +++ b/apps/admin/locales/ru-RU/subscribe.json @@ -34,7 +34,7 @@ "userAgentLimit": "Ограничение {userAgent}", "userAgentLimitDescription": "Включить ограничения доступа на основе {userAgent}", "userAgentList": "Белый список {userAgent}", - "userAgentListDescription": "Разрешенные {userAgent} для доступа по подписке, по одному на строку. Настроенное приложение {userAgent} будет автоматически включено", + "userAgentListDescription": "Разрешенные {userAgent} для доступа к подписке, по одному на строку. Настроенное приложение {userAgent} будет автоматически включено", "userAgentListPlaceholder": "Введите разрешенные {userAgent}, по одному на строку", "wildcardResolution": "Разрешение подстановочных знаков", "wildcardResolutionDescription": "Включить разрешение доменов с подстановочными знаками для подписок" @@ -43,13 +43,34 @@ "addTitle": "Добавить клиента", "descriptions": { "description": "Подробное описание клиента", - "downloadLink": "URL загрузки платформы", - "icon": "URL иконки или кодировка base64", + "downloadLink": "URL для загрузки платформы", + "icon": "URL иконки или base64 кодировка", "name": "Отображаемое имя клиента", "outputFormat": "Формат файла конфигурации подписки", - "proxyTemplate": "Шаблон ссылки на подписку, поддерживает переменные: ", - "template": "Шаблон конфигурации подписки, поддерживает различные переменные", - "userAgentPrefix": "Идентификатор клиента для различения различных клиентов" + "schema": { + "base64Encoding": "Base64 кодирование", + "functions": "Поддерживает функции:", + "jsonStringify": "JSON объект в строку", + "nameVariable": "имя сайта", + "title": "Шаблон URL-схемы", + "urlEncoding": "URL кодирование", + "urlVariable": "URL подписки", + "variables": "Поддерживает переменные:" + }, + "template": { + "description": "Используйте синтаксис шаблона Go для генерации файлов конфигурации подписки", + "functions": "Функции шаблона:", + "if": "условные операторы", + "nodes": "список прокси-узлов", + "range": "перебирать массивы", + "siteName": "имя сайта", + "sprig": "Библиотека функций Sprig (обработка строк, даты и т. д.)", + "subscribeName": "имя подписки", + "title": "Синтаксис шаблона Go", + "userInfo": "информация о пользователе (трафик, срок действия и т. д.)", + "variables": "Доступные переменные:" + }, + "userAgentPrefix": "Идентификатор клиента для различения разных клиентов" }, "editTitle": "Редактировать клиента", "fields": { @@ -57,8 +78,8 @@ "icon": "Иконка", "name": "Имя", "outputFormat": "Формат вывода", - "proxyTemplate": "Ссылка на подписку", - "template": "Шаблон конфигурации" + "schema": "URL-схема", + "template": "Шаблон файла подписки" }, "tabs": { "basic": "Основная информация", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Обычный текст", "yaml": "YAML" diff --git a/apps/admin/locales/th-TH/subscribe.json b/apps/admin/locales/th-TH/subscribe.json index 16094f9..1e296b6 100644 --- a/apps/admin/locales/th-TH/subscribe.json +++ b/apps/admin/locales/th-TH/subscribe.json @@ -21,23 +21,23 @@ "config": { "description": "จัดการการตั้งค่าระบบการสมัครสมาชิก", "singleSubscriptionMode": "โหมดการสมัครสมาชิกเดียว", - "singleSubscriptionModeDescription": "จำกัดผู้ใช้ให้มีการสมัครสมาชิกที่ใช้งานอยู่เพียงหนึ่งรายการ การสมัครสมาชิกที่มีอยู่ไม่ถูกกระทบ", + "singleSubscriptionModeDescription": "จำกัดผู้ใช้ให้มีการสมัครสมาชิกที่ใช้งานอยู่เพียงหนึ่งรายการ การสมัครสมาชิกที่มีอยู่จะไม่ถูกกระทบ", "subscriptionDomain": "โดเมนการสมัครสมาชิก", "subscriptionDomainDescription": "โดเมนที่กำหนดเองสำหรับลิงก์การสมัครสมาชิก", - "subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก หนึ่งรายการต่อบรรทัด", + "subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก, หนึ่งต่อบรรทัด", "subscriptionPath": "เส้นทางการสมัครสมาชิก", "subscriptionPathDescription": "เส้นทางที่กำหนดเองสำหรับจุดสิ้นสุดการสมัครสมาชิก (ประสิทธิภาพดีขึ้นหลังจากรีสตาร์ทระบบ)", "subscriptionPathPlaceholder": "กรอกเส้นทางการสมัครสมาชิก", "title": "การตั้งค่าการสมัครสมาชิก", "updateError": "การอัปเดตไม่สำเร็จ", - "updateSuccess": "อัปเดตการตั้งค่าเรียบร้อยแล้ว", + "updateSuccess": "การตั้งค่าอัปเดตเรียบร้อยแล้ว", "userAgentLimit": "ข้อจำกัด {userAgent}", "userAgentLimitDescription": "เปิดใช้งานข้อจำกัดการเข้าถึงตาม {userAgent}", "userAgentList": "รายการอนุญาต {userAgent}", - "userAgentListDescription": "อนุญาต {userAgent} สำหรับการเข้าถึงการสมัครสมาชิก รายการละบรรทัด แอปพลิเคชันที่กำหนด {userAgent} จะถูกเพิ่มโดยอัตโนมัติ", - "userAgentListPlaceholder": "กรอก {userAgent} ที่อนุญาต หนึ่งต่อบรรทัด", - "wildcardResolution": "การแก้ไข Wildcard", - "wildcardResolutionDescription": "เปิดใช้งานการแก้ไขโดเมน wildcard สำหรับการสมัครสมาชิก" + "userAgentListDescription": "อนุญาต {userAgent} สำหรับการเข้าถึงการสมัครสมาชิก, หนึ่งต่อบรรทัด. แอปพลิเคชันที่กำหนด {userAgent} จะถูกเพิ่มโดยอัตโนมัติ", + "userAgentListPlaceholder": "กรอก {userAgent} ที่อนุญาต, หนึ่งต่อบรรทัด", + "wildcardResolution": "การแก้ไขไวลด์การ์ด", + "wildcardResolutionDescription": "เปิดใช้งานการแก้ไขโดเมนไวลด์การ์ดสำหรับการสมัครสมาชิก" }, "form": { "addTitle": "เพิ่มลูกค้า", @@ -47,9 +47,30 @@ "icon": "URL ของไอคอนหรือการเข้ารหัส base64", "name": "ชื่อที่แสดงของลูกค้า", "outputFormat": "รูปแบบไฟล์การกำหนดค่าการสมัครสมาชิก", - "proxyTemplate": "เทมเพลตลิงก์การสมัครสมาชิก รองรับตัวแปร: ", - "template": "เทมเพลตการกำหนดค่าการสมัครสมาชิก รองรับตัวแปรต่างๆ", - "userAgentPrefix": "ตัวระบุของลูกค้าเพื่อแยกแยะลูกค้าที่แตกต่างกัน" + "schema": { + "base64Encoding": "การเข้ารหัส Base64", + "functions": "รองรับฟังก์ชัน:", + "jsonStringify": "วัตถุ JSON เป็นสตริง", + "nameVariable": "ชื่อไซต์", + "title": "เทมเพลตสคีม่า URL", + "urlEncoding": "การเข้ารหัส URL", + "urlVariable": "URL การสมัครสมาชิก", + "variables": "รองรับตัวแปร:" + }, + "template": { + "description": "ใช้ไวยากรณ์เทมเพลต Go เพื่อสร้างไฟล์การกำหนดค่าการสมัครสมาชิก", + "functions": "ฟังก์ชันเทมเพลต:", + "if": "คำสั่งเงื่อนไข", + "nodes": "รายการโหนดพร็อกซี", + "range": "วนซ้ำในอาร์เรย์", + "siteName": "ชื่อไซต์", + "sprig": "ห้องสมุดฟังก์ชัน Sprig (การประมวลผลสตริง, วันที่, ฯลฯ)", + "subscribeName": "ชื่อการสมัครสมาชิก", + "title": "ไวยากรณ์เทมเพลต Go", + "userInfo": "ข้อมูลผู้ใช้ (การใช้งาน, วันหมดอายุ, ฯลฯ)", + "variables": "ตัวแปรที่มีอยู่:" + }, + "userAgentPrefix": "ตัวระบุลูกค้าเพื่อแยกแยะลูกค้าที่แตกต่างกัน" }, "editTitle": "แก้ไขลูกค้า", "fields": { @@ -57,8 +78,8 @@ "icon": "ไอคอน", "name": "ชื่อ", "outputFormat": "รูปแบบผลลัพธ์", - "proxyTemplate": "ลิงก์การสมัครสมาชิก", - "template": "เทมเพลตการกำหนดค่า" + "schema": "สคีม่า URL", + "template": "เทมเพลตไฟล์การสมัครสมาชิก" }, "tabs": { "basic": "ข้อมูลพื้นฐาน", @@ -66,12 +87,13 @@ "template": "เทมเพลต" }, "validation": { - "nameRequired": "ชื่อของลูกค้าจำเป็นต้องระบุ", + "nameRequired": "ต้องระบุชื่อของลูกค้า", "userAgentRequiredSuffix": "จำเป็นต้องระบุ" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "ข้อความธรรมดา", "yaml": "YAML" diff --git a/apps/admin/locales/tr-TR/subscribe.json b/apps/admin/locales/tr-TR/subscribe.json index a886ffb..cbe708d 100644 --- a/apps/admin/locales/tr-TR/subscribe.json +++ b/apps/admin/locales/tr-TR/subscribe.json @@ -2,7 +2,7 @@ "actions": { "add": "Ekle", "batchDelete": "Toplu Sil", - "batchDeleteSuccess": "{count} müşterinin başarıyla silindi", + "batchDeleteSuccess": "{count} müşteri başarıyla silindi", "batchDeleteWarning": "Seçilen {count} müşteriyi silmek istediğinize emin misiniz?", "cancel": "İptal", "confirm": "Onayla", @@ -32,10 +32,10 @@ "updateError": "Güncelleme başarısız", "updateSuccess": "Ayarlar başarıyla güncellendi", "userAgentLimit": "{userAgent} Kısıtlaması", - "userAgentLimitDescription": "{userAgent}'ye dayalı erişim kısıtlamalarını etkinleştir", - "userAgentList": "{userAgent} Beyaz Liste", - "userAgentListDescription": "Abonelik erişimi için izin verilen {userAgent}, her biri bir satırda. Yapılandırılmış uygulama {userAgent} otomatik olarak dahil edilecektir", - "userAgentListPlaceholder": "İzin verilen {userAgent}'yi girin, her biri bir satırda", + "userAgentLimitDescription": "{userAgent} bazında erişim kısıtlamalarını etkinleştir", + "userAgentList": "{userAgent} Beyaz Listesi", + "userAgentListDescription": "Abonelik erişimi için izin verilen {userAgent}, her satıra bir tane. Yapılandırılan uygulama {userAgent} otomatik olarak dahil edilecektir", + "userAgentListPlaceholder": "İzin verilen {userAgent} girin, her satıra bir tane", "wildcardResolution": "Joker Karakter Çözümü", "wildcardResolutionDescription": "Abonelikler için joker alan çözümünü etkinleştir" }, @@ -47,9 +47,30 @@ "icon": "Simge URL'si veya base64 kodlaması", "name": "Müşteri görüntüleme adı", "outputFormat": "Abonelik yapılandırma dosyası formatı", - "proxyTemplate": "Abonelik bağlantısı şablonu, değişkenleri destekler: ", - "template": "Abonelik yapılandırma şablonu, çeşitli değişkenleri destekler", - "userAgentPrefix": "Farklı istemcileri ayırt etmek için istemci tanımlayıcısı" + "schema": { + "base64Encoding": "Base64 kodlaması", + "functions": "Fonksiyonları destekler:", + "jsonStringify": "JSON nesnesini dizeye dönüştür", + "nameVariable": "site adı", + "title": "URL Şeması şablonu", + "urlEncoding": "URL kodlaması", + "urlVariable": "abonelik URL'si", + "variables": "Değişkenleri destekler:" + }, + "template": { + "description": "Abonelik yapılandırma dosyalarını oluşturmak için Go şablon söz dizimini kullanın", + "functions": "Şablon fonksiyonları:", + "if": "koşullu ifadeler", + "nodes": "proxy düğüm listesi", + "range": "dizileri yinele", + "siteName": "site adı", + "sprig": "Sprig fonksiyon kütüphanesi (dize işleme, tarihler vb.)", + "subscribeName": "abonelik adı", + "title": "Go Şablon Söz Dizimi", + "userInfo": "kullanıcı bilgisi (trafik, son tarih vb.)", + "variables": "Mevcut değişkenler:" + }, + "userAgentPrefix": "Farklı müşterileri ayırt etmek için müşteri tanımlayıcısı" }, "editTitle": "Müşteri Düzenle", "fields": { @@ -57,8 +78,8 @@ "icon": "Simge", "name": "İsim", "outputFormat": "Çıktı Formatı", - "proxyTemplate": "Abonelik Bağlantısı", - "template": "Yapılandırma Şablonu" + "schema": "URL Şeması", + "template": "Abonelik Dosyası Şablonu" }, "tabs": { "basic": "Temel Bilgiler", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Düz Metin", "yaml": "YAML" @@ -85,7 +107,7 @@ "windows": "Windows" }, "protocol": { - "title": "İstemci Yönetimi" + "title": "Müşteri Yönetimi" }, "table": { "columns": { diff --git a/apps/admin/locales/uk-UA/subscribe.json b/apps/admin/locales/uk-UA/subscribe.json index 8f10f0d..82c212b 100644 --- a/apps/admin/locales/uk-UA/subscribe.json +++ b/apps/admin/locales/uk-UA/subscribe.json @@ -33,9 +33,9 @@ "updateSuccess": "Налаштування успішно оновлено", "userAgentLimit": "Обмеження {userAgent}", "userAgentLimitDescription": "Увімкнути обмеження доступу на основі {userAgent}", - "userAgentList": "Список дозволених {userAgent}", - "userAgentListDescription": "Дозволені {userAgent} для доступу до підписки, по одному на рядок. Налаштований додаток {userAgent} буде автоматично включено", - "userAgentListPlaceholder": "Введіть дозволені {userAgent}, по одному на рядок", + "userAgentList": "Білий список {userAgent}", + "userAgentListDescription": "Дозволені {userAgent} для доступу до підписки, по одному в рядку. Налаштована програма {userAgent} буде автоматично включена", + "userAgentListPlaceholder": "Введіть дозволені {userAgent}, по одному в рядку", "wildcardResolution": "Розв'язання підстановочних знаків", "wildcardResolutionDescription": "Увімкнути розв'язання доменів з підстановочними знаками для підписок" }, @@ -44,11 +44,32 @@ "descriptions": { "description": "Детальний опис клієнта", "downloadLink": "URL для завантаження платформи", - "icon": "URL іконки або кодування base64", + "icon": "URL іконки або base64 кодування", "name": "Відображуване ім'я клієнта", "outputFormat": "Формат файлу конфігурації підписки", - "proxyTemplate": "Шаблон посилання на підписку, підтримує змінні: ", - "template": "Шаблон конфігурації підписки, підтримує різні змінні", + "schema": { + "base64Encoding": "Base64 кодування", + "functions": "Підтримує функції:", + "jsonStringify": "JSON об'єкт в рядок", + "nameVariable": "ім'я сайту", + "title": "Шаблон URL-схеми", + "urlEncoding": "URL кодування", + "urlVariable": "URL підписки", + "variables": "Підтримує змінні:" + }, + "template": { + "description": "Використовуйте синтаксис шаблону Go для генерації файлів конфігурації підписки", + "functions": "Функції шаблону:", + "if": "умовні оператори", + "nodes": "список проксі-нод", + "range": "ітерація масивів", + "siteName": "ім'я сайту", + "sprig": "Бібліотека функцій Sprig (обробка рядків, дати тощо)", + "subscribeName": "ім'я підписки", + "title": "Синтаксис шаблону Go", + "userInfo": "інформація про користувача (трафік, термін дії тощо)", + "variables": "Доступні змінні:" + }, "userAgentPrefix": "Ідентифікатор клієнта для розрізнення різних клієнтів" }, "editTitle": "Редагувати клієнта", @@ -57,8 +78,8 @@ "icon": "Іконка", "name": "Ім'я", "outputFormat": "Формат виходу", - "proxyTemplate": "Посилання на підписку", - "template": "Шаблон конфігурації" + "schema": "URL-схема", + "template": "Шаблон файлу підписки" }, "tabs": { "basic": "Основна інформація", @@ -66,12 +87,13 @@ "template": "Шаблони" }, "validation": { - "nameRequired": "Ім'я клієнта є обов'язковим", - "userAgentRequiredSuffix": "є обов'язковим" + "nameRequired": "Ім'я клієнта обов'язкове", + "userAgentRequiredSuffix": "обов'язкове" } }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Текстовий формат", "yaml": "YAML" diff --git a/apps/admin/locales/vi-VN/subscribe.json b/apps/admin/locales/vi-VN/subscribe.json index a55af9d..f57e08a 100644 --- a/apps/admin/locales/vi-VN/subscribe.json +++ b/apps/admin/locales/vi-VN/subscribe.json @@ -31,13 +31,13 @@ "title": "Cấu hình Đăng ký", "updateError": "Cập nhật không thành công", "updateSuccess": "Cài đặt đã được cập nhật thành công", - "userAgentLimit": "Giới hạn {userAgent}", - "userAgentLimitDescription": "Bật hạn chế truy cập dựa trên {userAgent}", + "userAgentLimit": "Hạn chế {userAgent}", + "userAgentLimitDescription": "Kích hoạt hạn chế truy cập dựa trên {userAgent}", "userAgentList": "Danh sách trắng {userAgent}", - "userAgentListDescription": "Các {userAgent} được phép truy cập đăng ký, mỗi cái một dòng. Ứng dụng đã cấu hình {userAgent} sẽ được tự động bao gồm", - "userAgentListPlaceholder": "Nhập {userAgent} được phép, mỗi cái một dòng", - "wildcardResolution": "Giải quyết Wildcard", - "wildcardResolutionDescription": "Kích hoạt giải quyết miền wildcard cho các đăng ký" + "userAgentListDescription": "Cho phép {userAgent} truy cập đăng ký, mỗi dòng một {userAgent}. Ứng dụng đã cấu hình {userAgent} sẽ được tự động bao gồm", + "userAgentListPlaceholder": "Nhập {userAgent} được phép, mỗi dòng một", + "wildcardResolution": "Giải quyết ký tự đại diện", + "wildcardResolutionDescription": "Kích hoạt giải quyết miền ký tự đại diện cho các đăng ký" }, "form": { "addTitle": "Thêm Khách hàng", @@ -47,9 +47,30 @@ "icon": "URL biểu tượng hoặc mã hóa base64", "name": "Tên hiển thị của khách hàng", "outputFormat": "Định dạng tệp cấu hình đăng ký", - "proxyTemplate": "Mẫu liên kết đăng ký, hỗ trợ các biến: ", - "template": "Mẫu cấu hình đăng ký, hỗ trợ nhiều biến khác nhau", - "userAgentPrefix": "Định danh khách hàng để phân biệt các khách hàng khác nhau." + "schema": { + "base64Encoding": "Mã hóa Base64", + "functions": "Hỗ trợ các hàm:", + "jsonStringify": "Chuyển đổi đối tượng JSON thành chuỗi", + "nameVariable": "tên trang", + "title": "Mô hình URL", + "urlEncoding": "Mã hóa URL", + "urlVariable": "URL đăng ký", + "variables": "Hỗ trợ các biến:" + }, + "template": { + "description": "Sử dụng cú pháp mẫu Go để tạo các tệp cấu hình đăng ký", + "functions": "Các hàm mẫu:", + "if": "câu lệnh điều kiện", + "nodes": "danh sách các nút proxy", + "range": "lặp qua các mảng", + "siteName": "tên trang", + "sprig": "Thư viện hàm Sprig (xử lý chuỗi, ngày tháng, v.v.)", + "subscribeName": "tên đăng ký", + "title": "Cú pháp Mẫu Go", + "userInfo": "thông tin người dùng (lưu lượng, hết hạn, v.v.)", + "variables": "Các biến có sẵn:" + }, + "userAgentPrefix": "Định danh khách hàng để phân biệt các khách hàng khác nhau" }, "editTitle": "Chỉnh sửa Khách hàng", "fields": { @@ -57,8 +78,8 @@ "icon": "Biểu tượng", "name": "Tên", "outputFormat": "Định dạng Đầu ra", - "proxyTemplate": "Liên kết Đăng ký", - "template": "Mẫu Cấu hình" + "schema": "Mô hình URL", + "template": "Mẫu Tệp Đăng ký" }, "tabs": { "basic": "Thông tin Cơ bản", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "Văn bản thuần", "yaml": "YAML" diff --git a/apps/admin/locales/zh-CN/subscribe.json b/apps/admin/locales/zh-CN/subscribe.json index 8aaccba..a5a4390 100644 --- a/apps/admin/locales/zh-CN/subscribe.json +++ b/apps/admin/locales/zh-CN/subscribe.json @@ -47,8 +47,29 @@ "icon": "图标 URL 或 base64 编码", "name": "客户端显示名称", "outputFormat": "订阅配置文件格式", - "schema": "URL Schema 模板,支持变量:'{url}' 订阅地址,'{name}' 站点名称", - "template": "订阅文件模板,支持各种变量", + "schema": { + "title": "URL Schema 模板", + "variables": "支持变量:", + "urlVariable": "订阅地址", + "nameVariable": "站点名称", + "functions": "支持函数:", + "urlEncoding": "URL编码", + "base64Encoding": "Base64编码", + "jsonStringify": "JSON对象转字符串" + }, + "template": { + "title": "Go模板语法", + "description": "使用Go模板语法生成订阅配置文件", + "variables": "可用变量:", + "siteName": "站点名称", + "subscribeName": "订阅名称", + "nodes": "代理节点列表", + "userInfo": "用户信息(流量、到期时间等)", + "functions": "模板函数:", + "range": "遍历数组", + "if": "条件判断", + "sprig": "Sprig函数库(字符串处理、日期等)" + }, "userAgentPrefix": "用于区分不同客户端的客户端标识符" }, "editTitle": "编辑客户端", diff --git a/apps/admin/locales/zh-HK/subscribe.json b/apps/admin/locales/zh-HK/subscribe.json index bd28428..b4b371b 100644 --- a/apps/admin/locales/zh-HK/subscribe.json +++ b/apps/admin/locales/zh-HK/subscribe.json @@ -21,7 +21,7 @@ "config": { "description": "管理訂閱系統設置", "singleSubscriptionMode": "單一訂閱模式", - "singleSubscriptionModeDescription": "限制用戶只能有一個有效的訂閱。現有訂閱不受影響", + "singleSubscriptionModeDescription": "限制用戶只能擁有一個有效的訂閱。現有訂閱不受影響", "subscriptionDomain": "訂閱域名", "subscriptionDomainDescription": "訂閱鏈接的自定義域名", "subscriptionDomainPlaceholder": "輸入訂閱域名,每行一個", @@ -34,7 +34,7 @@ "userAgentLimit": "{userAgent} 限制", "userAgentLimitDescription": "根據 {userAgent} 啟用訪問限制", "userAgentList": "{userAgent} 白名單", - "userAgentListDescription": "允許的 {userAgent} 用於訂閱訪問,每行一個。配置的應用程序 {userAgent} 將自動包含", + "userAgentListDescription": "允許的 {userAgent} 用於訂閱訪問,每行一個。配置的應用 {userAgent} 將自動包含", "userAgentListPlaceholder": "輸入允許的 {userAgent},每行一個", "wildcardResolution": "通配符解析", "wildcardResolutionDescription": "啟用訂閱的通配符域名解析" @@ -47,8 +47,29 @@ "icon": "圖標 URL 或 base64 編碼", "name": "客戶端顯示名稱", "outputFormat": "訂閱配置文件格式", - "proxyTemplate": "訂閱鏈接模板,支持變量:", - "template": "訂閱配置模板,支持各種變量", + "schema": { + "base64Encoding": "Base64 編碼", + "functions": "支持的函數:", + "jsonStringify": "將 JSON 對象轉換為字符串", + "nameVariable": "網站名稱", + "title": "URL 模式模板", + "urlEncoding": "URL 編碼", + "urlVariable": "訂閱 URL", + "variables": "支持的變量:" + }, + "template": { + "description": "使用 Go 模板語法生成訂閱配置文件", + "functions": "模板函數:", + "if": "條件語句", + "nodes": "代理節點列表", + "range": "迭代數組", + "siteName": "網站名稱", + "sprig": "Sprig 函數庫(字符串處理、日期等)", + "subscribeName": "訂閱名稱", + "title": "Go 模板語法", + "userInfo": "用戶信息(流量、到期等)", + "variables": "可用變量:" + }, "userAgentPrefix": "用於區分不同客戶端的客戶端標識符" }, "editTitle": "編輯客戶端", @@ -57,8 +78,8 @@ "icon": "圖標", "name": "名稱", "outputFormat": "輸出格式", - "proxyTemplate": "訂閱鏈接", - "template": "配置模板" + "schema": "URL 模式", + "template": "訂閱文件模板" }, "tabs": { "basic": "基本信息", @@ -72,6 +93,7 @@ }, "outputFormats": { "base64": "Base64", + "conf": "CONF", "json": "JSON", "plain": "純文本", "yaml": "YAML" diff --git a/apps/admin/services/common/common.ts b/apps/admin/services/common/common.ts index c942f7d..7c81712 100644 --- a/apps/admin/services/common/common.ts +++ b/apps/admin/services/common/common.ts @@ -1,5 +1,5 @@ // @ts-ignore -/* eslint-disable */ + import request from '@/utils/request'; /** Get Ads GET /v1/common/ads */ @@ -43,6 +43,17 @@ export async function checkVerificationCode( ); } +/** Get Client GET /v1/common/client */ +export async function getClient(options?: { [key: string]: any }) { + return request( + '/v1/common/client', + { + method: 'GET', + ...(options || {}), + }, + ); +} + /** Get verification code POST /v1/common/send_code */ export async function sendEmailCode(body: API.SendCodeRequest, options?: { [key: string]: any }) { return request('/v1/common/send_code', { diff --git a/apps/admin/services/common/typings.d.ts b/apps/admin/services/common/typings.d.ts index a743a5e..e871f67 100644 --- a/apps/admin/services/common/typings.d.ts +++ b/apps/admin/services/common/typings.d.ts @@ -213,6 +213,15 @@ declare namespace API { updated_at: number; }; + type DownloadLink = { + ios?: string; + android?: string; + windows?: string; + mac?: string; + linux?: string; + harmony?: string; + }; + type EmailAuthticateConfig = { enable: boolean; enable_verify: boolean; @@ -284,6 +293,11 @@ declare namespace API { protocol: string[]; }; + type GetSubscribeApplicationListResponse = { + total: number; + list: SubscribeApplication[]; + }; + type GetTosResponse = { tos_content: string; }; @@ -765,6 +779,22 @@ declare namespace API { updated_at: number; }; + type SubscribeApplication = { + id: number; + name: string; + description?: string; + icon?: string; + scheme?: string; + user_agent: string; + is_default: boolean; + proxy_template: string; + template: string; + output_format: string; + download_link?: DownloadLink; + created_at: number; + updated_at: number; + }; + type SubscribeConfig = { single_model: boolean; subscribe_path: string; diff --git a/apps/user/services/common/common.ts b/apps/user/services/common/common.ts index c942f7d..7c81712 100644 --- a/apps/user/services/common/common.ts +++ b/apps/user/services/common/common.ts @@ -1,5 +1,5 @@ // @ts-ignore -/* eslint-disable */ + import request from '@/utils/request'; /** Get Ads GET /v1/common/ads */ @@ -43,6 +43,17 @@ export async function checkVerificationCode( ); } +/** Get Client GET /v1/common/client */ +export async function getClient(options?: { [key: string]: any }) { + return request( + '/v1/common/client', + { + method: 'GET', + ...(options || {}), + }, + ); +} + /** Get verification code POST /v1/common/send_code */ export async function sendEmailCode(body: API.SendCodeRequest, options?: { [key: string]: any }) { return request('/v1/common/send_code', { diff --git a/apps/user/services/common/typings.d.ts b/apps/user/services/common/typings.d.ts index 83566b4..5554fec 100644 --- a/apps/user/services/common/typings.d.ts +++ b/apps/user/services/common/typings.d.ts @@ -213,6 +213,15 @@ declare namespace API { updated_at: number; }; + type DownloadLink = { + ios?: string; + android?: string; + windows?: string; + mac?: string; + linux?: string; + harmony?: string; + }; + type EmailAuthticateConfig = { enable: boolean; enable_verify: boolean; @@ -284,6 +293,11 @@ declare namespace API { protocol: string[]; }; + type GetSubscribeApplicationListResponse = { + total: number; + list: SubscribeApplication[]; + }; + type GetTosResponse = { tos_content: string; }; @@ -769,6 +783,22 @@ declare namespace API { updated_at: number; }; + type SubscribeApplication = { + id: number; + name: string; + description?: string; + icon?: string; + scheme?: string; + user_agent: string; + is_default: boolean; + proxy_template: string; + template: string; + output_format: string; + download_link?: DownloadLink; + created_at: number; + updated_at: number; + }; + type SubscribeConfig = { single_model: boolean; subscribe_path: string; diff --git a/apps/user/services/user/typings.d.ts b/apps/user/services/user/typings.d.ts index f3cef3a..7312230 100644 --- a/apps/user/services/user/typings.d.ts +++ b/apps/user/services/user/typings.d.ts @@ -214,6 +214,15 @@ declare namespace API { updated_at: number; }; + type DownloadLink = { + ios?: string; + android?: string; + windows?: string; + mac?: string; + linux?: string; + harmony?: string; + }; + type EmailAuthticateConfig = { enable: boolean; enable_verify: boolean; @@ -266,6 +275,11 @@ declare namespace API { methods: UserAuthMethod[]; }; + type GetSubscribeApplicationListResponse = { + total: number; + list: SubscribeApplication[]; + }; + type GetSubscribeLogParams = { page: number; size: number; @@ -863,6 +877,22 @@ declare namespace API { updated_at: number; }; + type SubscribeApplication = { + id: number; + name: string; + description?: string; + icon?: string; + scheme?: string; + user_agent: string; + is_default: boolean; + proxy_template: string; + template: string; + output_format: string; + download_link?: DownloadLink; + created_at: number; + updated_at: number; + }; + type SubscribeConfig = { single_model: boolean; subscribe_path: string;