feat(api): Add getClient API endpoint to retrieve subscription applications

This commit is contained in:
web 2025-08-13 07:35:58 -07:00 committed by speakeloudest
parent 688efcf29b
commit 5d8b22b81b
30 changed files with 1024 additions and 281 deletions

View File

@ -248,23 +248,7 @@ export function ProtocolForm() {
const handleEdit = (client: API.SubscribeApplication) => { const handleEdit = (client: API.SubscribeApplication) => {
setEditingClient(client); setEditingClient(client);
form.reset({ form.reset(client);
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: '',
},
});
setOpen(true); setOpen(true);
}; };
@ -302,7 +286,7 @@ export function ProtocolForm() {
if (editingClient) { if (editingClient) {
await updateSubscribeApplication({ await updateSubscribeApplication({
...data, ...data,
proxy_template: data.schema || '', proxy_template: '',
is_default: editingClient.is_default, is_default: editingClient.is_default,
id: editingClient.id, id: editingClient.id,
}); });
@ -310,7 +294,7 @@ export function ProtocolForm() {
} else { } else {
await createSubscribeApplication({ await createSubscribeApplication({
...data, ...data,
proxy_template: data.schema || '', proxy_template: '',
is_default: false, is_default: false,
}); });
toast.success(t('actions.createSuccess')); toast.success(t('actions.createSuccess'));
@ -498,14 +482,82 @@ export function ProtocolForm() {
name='schema' name='schema'
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormLabel>{t('form.fields.schema')}</FormLabel> <FormLabel className='flex items-center gap-2'>
{t('form.fields.schema')}
<TooltipProvider>
<Tooltip>
<TooltipTrigger
onClick={(e) => {
e.preventDefault();
e.stopPropagation();
}}
>
<Icon
icon='mdi:help-circle-outline'
className='text-muted-foreground h-4 w-4'
/>
</TooltipTrigger>
<TooltipContent
side='right'
className='bg-secondary text-secondary-foreground max-w-md'
>
<div className='space-y-2 text-sm'>
<div className='font-medium'>
{t('form.descriptions.schema.title')}
</div>
<div>
<div className='font-medium'>
{t('form.descriptions.schema.variables')}
</div>
<ul className='ml-2 list-disc space-y-1 text-xs'>
<li>
<code className='rounded px-1'>{'${url}'}</code> -{' '}
{t('form.descriptions.schema.urlVariable')}
</li>
<li>
<code className='rounded px-1'>{'${name}'}</code> -{' '}
{t('form.descriptions.schema.nameVariable')}
</li>
</ul>
</div>
<div>
<div className='font-medium'>
{t('form.descriptions.schema.functions')}
</div>
<ul className='ml-2 list-disc space-y-1 text-xs'>
<li>
<code className='rounded px-1'>
{'${encodeURIComponent(...)}'}
</code>{' '}
- {t('form.descriptions.schema.urlEncoding')}
</li>
<li>
<code className='rounded px-1'>
{'${window.btoa(...)}'}
</code>{' '}
- {t('form.descriptions.schema.base64Encoding')}
</li>
<li>
<code className='rounded px-1'>
{'${JSON.stringify(...)}'}
</code>{' '}
- {t('form.descriptions.schema.jsonStringify')}
</li>
</ul>
</div>
</div>
</TooltipContent>
</Tooltip>
</TooltipProvider>
</FormLabel>
<FormControl> <FormControl>
<Input <Input
placeholder='clash://install-config?url={url}&name={name}' placeholder='clash://install-config?url=${url}&name=${name}'
{...field} {...field}
/> />
</FormControl> </FormControl>
<FormDescription>{t('form.descriptions.schema')}</FormDescription>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
)} )}
@ -516,7 +568,82 @@ export function ProtocolForm() {
name='template' name='template'
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormLabel>{t('form.fields.template')}</FormLabel> <FormLabel className='flex items-center gap-2'>
{t('form.fields.template')}
<TooltipProvider>
<Tooltip>
<TooltipTrigger
onClick={(e) => {
e.preventDefault();
e.stopPropagation();
}}
>
<Icon
icon='mdi:help-circle-outline'
className='text-muted-foreground h-4 w-4'
/>
</TooltipTrigger>
<TooltipContent
side='right'
className='bg-secondary text-secondary-foreground max-w-md'
>
<div className='space-y-2 text-sm'>
<div className='font-medium'>
{t('form.descriptions.template.title')}
</div>
<div>
<div className='font-medium'>
{t('form.descriptions.template.variables')}
</div>
<ul className='ml-2 list-disc space-y-1 text-xs'>
<li>
<code className='rounded px-1'>.SiteName</code> -{' '}
{t('form.descriptions.template.siteName')}
</li>
<li>
<code className='rounded px-1'>.SubscribeName</code> -{' '}
{t('form.descriptions.template.subscribeName')}
</li>
<li>
<code className='rounded px-1'>.Nodes</code> -{' '}
{t('form.descriptions.template.nodes')}
</li>
<li>
<code className='rounded px-1'>.UserInfo</code> -{' '}
{t('form.descriptions.template.userInfo')}
</li>
</ul>
</div>
<div>
<div className='font-medium'>
{t('form.descriptions.template.functions')}
</div>
<ul className='ml-2 list-disc space-y-1 text-xs'>
<li>
<code className='rounded px-1'>
{'{{range .Nodes}}...{{end}}'}
</code>{' '}
- {t('form.descriptions.template.range')}
</li>
<li>
<code className='rounded px-1'>
{'{{if .condition}}...{{end}}'}
</code>{' '}
- {t('form.descriptions.template.if')}
</li>
<li>
<code className='rounded px-1'>{'{{sprig_func}}'}</code> -{' '}
{t('form.descriptions.template.sprig')}
</li>
</ul>
</div>
</div>
</TooltipContent>
</Tooltip>
</TooltipProvider>
</FormLabel>
<FormControl> <FormControl>
<GoTemplateEditor <GoTemplateEditor
schema={{ schema={{
@ -611,7 +738,6 @@ export function ProtocolForm() {
onChange={(value) => field.onChange(value)} onChange={(value) => field.onChange(value)}
/> />
</FormControl> </FormControl>
<FormDescription>{t('form.descriptions.template')}</FormDescription>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
)} )}

View File

@ -22,11 +22,7 @@ export const navs = [
url: '/dashboard/payment', url: '/dashboard/payment',
icon: 'flat-color-icons:currency-exchange', icon: 'flat-color-icons:currency-exchange',
}, },
{
title: 'Subscribe Config',
url: '/dashboard/subscribe',
icon: 'flat-color-icons:ruler',
},
{ {
title: 'ADS Config', title: 'ADS Config',
url: '/dashboard/ads', url: '/dashboard/ads',
@ -42,6 +38,11 @@ export const navs = [
{ {
title: 'Server', title: 'Server',
items: [ items: [
{
title: 'Subscribe Config',
url: '/dashboard/subscribe',
icon: 'flat-color-icons:ruler',
},
{ {
title: 'Server Management', title: 'Server Management',
url: '/dashboard/server', url: '/dashboard/server',

View File

@ -1,27 +1,27 @@
{ {
"actions": { "actions": {
"add": "Přidat", "add": "Přidat",
"batchDelete": "Hromadné mazání", "batchDelete": "Hromadné smazání",
"batchDeleteSuccess": "Úspěšně smazáno {count} klientů", "batchDeleteSuccess": "Úspěšně smazáno {count} klientů",
"batchDeleteWarning": "Opravdu chcete smazat vybrané {count} klienty?", "batchDeleteWarning": "Opravdu chcete smazat vybrané {count} klienty?",
"cancel": "Zrušit", "cancel": "Zrušit",
"confirm": "Potvrdit", "confirm": "Potvrdit",
"confirmDelete": "Potvrdit mazání", "confirmDelete": "Potvrdit smazání",
"createSuccess": "Úspěšně vytvořeno", "createSuccess": "Úspěšně vytvořeno",
"delete": "Smazat", "delete": "Smazat",
"deleteFailed": "Mazání selhalo", "deleteFailed": "Smazání se nezdařilo",
"deleteSuccess": "Úspěšně smazáno", "deleteSuccess": "Úspěšně smazáno",
"deleteWarning": "Tuto operaci nelze vrátit zpět. Opravdu chcete smazat tohoto klienta?", "deleteWarning": "Tuto operaci nelze vrátit zpět. Opravdu chcete smazat tohoto klienta?",
"edit": "Upravit", "edit": "Upravit",
"save": "Uložit", "save": "Uložit",
"saveFailed": "Uložení selhalo", "saveFailed": "Uložení se nezdařilo",
"update": "Aktualizovat", "update": "Aktualizovat",
"updateSuccess": "Úspěšně aktualizováno" "updateSuccess": "Úspěšně aktualizováno"
}, },
"config": { "config": {
"description": "Spravujte nastavení systému předplatného", "description": "Spravujte nastavení systému předplatného",
"singleSubscriptionMode": "Režim jednoho 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", "subscriptionDomain": "Doména předplatného",
"subscriptionDomainDescription": "Vlastní doména pro odkazy na předplatné", "subscriptionDomainDescription": "Vlastní doména pro odkazy na předplatné",
"subscriptionDomainPlaceholder": "Zadejte doménu předplatného, jednu na řádek", "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)", "subscriptionPathDescription": "Vlastní cesta pro koncové body předplatného (lepší výkon po restartu systému)",
"subscriptionPathPlaceholder": "Zadejte cestu předplatného", "subscriptionPathPlaceholder": "Zadejte cestu předplatného",
"title": "Konfigurace předplatného", "title": "Konfigurace předplatného",
"updateError": "Aktualizace selhala", "updateError": "Aktualizace se nezdařila",
"updateSuccess": "Nastavení bylo úspěšně aktualizováno", "updateSuccess": "Nastavení byla úspěšně aktualizována",
"userAgentLimit": "Omezení {userAgent}", "userAgentLimit": "{userAgent} Omezení",
"userAgentLimitDescription": "Povolit omezení přístupu na základě {userAgent}", "userAgentLimitDescription": "Povolit omezení přístupu na základě {userAgent}",
"userAgentList": "Whitelist {userAgent}", "userAgentList": "{userAgent} Bílá listina",
"userAgentListDescription": "Povolené {userAgent} pro přístup k odběru, jeden na řádek. Konfigurovaná aplikace {userAgent} bude automaticky zahrnuta", "userAgentListDescription": "Povolené {userAgent} pro přístup k předplatnému, jedna na řádek. Konfigurovaná aplikace {userAgent} bude automaticky zahrnuta",
"userAgentListPlaceholder": "Zadejte povolené {userAgent}, jeden na řádek", "userAgentListPlaceholder": "Zadejte povolené {userAgent}, jedna na řádek",
"wildcardResolution": "Řešení zástupných znaků", "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": { "form": {
"addTitle": "Přidat klienta", "addTitle": "Přidat klienta",
"descriptions": { "descriptions": {
"description": "Podrobný popis klienta", "description": "Podrobný popis klienta",
"downloadLink": "URL pro stažení platformy", "downloadLink": "odkaz na stažení platformy",
"icon": "URL ikony nebo base64 kódování", "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", "outputFormat": "Formát konfiguračního souboru předplatného",
"proxyTemplate": "Šablona odkazu na předplatné, podporuje proměnné: {{variables}}", "schema": {
"template": "Šablona konfigurace předplatného, podporuje různé proměnné", "base64Encoding": "Base64 kódování",
"userAgentPrefix": "Identifikátor klienta pro rozlišení různých klientů." "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", "editTitle": "Upravit klienta",
"fields": { "fields": {
"description": "Popis", "description": "Popis",
"icon": "Ikona", "icon": "Ikona",
"name": "Název", "name": "Název",
"outputFormat": "Výstupní formát", "outputFormat": "Formát výstupu",
"proxyTemplate": "Odkaz na předplatné", "schema": "URL schéma",
"template": "Konfigurační šablona" "template": "Šablona souboru předplatného"
}, },
"tabs": { "tabs": {
"basic": "Základní informace", "basic": "Základní informace",
"download": "Stažení", "download": "Stahování",
"template": "Šablony" "template": "Šablony"
}, },
"validation": { "validation": {
@ -72,8 +93,9 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Prostý text", "plain": "Čistý text",
"yaml": "YAML" "yaml": "YAML"
}, },
"platforms": { "platforms": {
@ -92,7 +114,7 @@
"default": "Výchozí", "default": "Výchozí",
"description": "Popis", "description": "Popis",
"name": "Název klienta", "name": "Název klienta",
"outputFormat": "Výstupní formát", "outputFormat": "Formát výstupu",
"supportedPlatforms": "Podporované platformy" "supportedPlatforms": "Podporované platformy"
} }
} }

View File

@ -2,7 +2,7 @@
"actions": { "actions": {
"add": "Hinzufügen", "add": "Hinzufügen",
"batchDelete": "Massenlöschung", "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?", "batchDeleteWarning": "Sind Sie sicher, dass Sie die ausgewählten {count} Clients löschen möchten?",
"cancel": "Abbrechen", "cancel": "Abbrechen",
"confirm": "Bestätigen", "confirm": "Bestätigen",
@ -11,7 +11,7 @@
"delete": "Löschen", "delete": "Löschen",
"deleteFailed": "Löschen fehlgeschlagen", "deleteFailed": "Löschen fehlgeschlagen",
"deleteSuccess": "Erfolgreich gelöscht", "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", "edit": "Bearbeiten",
"save": "Speichern", "save": "Speichern",
"saveFailed": "Speichern fehlgeschlagen", "saveFailed": "Speichern fehlgeschlagen",
@ -22,22 +22,22 @@
"description": "Verwalten Sie die Systemeinstellungen für Abonnements", "description": "Verwalten Sie die Systemeinstellungen für Abonnements",
"singleSubscriptionMode": "Einzelnes Abonnement", "singleSubscriptionMode": "Einzelnes Abonnement",
"singleSubscriptionModeDescription": "Benutzer auf ein aktives Abonnement beschränken. Bestehende Abonnements bleiben unberührt", "singleSubscriptionModeDescription": "Benutzer auf ein aktives Abonnement beschränken. Bestehende Abonnements bleiben unberührt",
"subscriptionDomain": "Abonnementdomäne", "subscriptionDomain": "Abonnement-Domain",
"subscriptionDomainDescription": "Benutzerdefinierte Domäne für Abonnementlinks", "subscriptionDomainDescription": "Benutzerdefinierte Domain für Abonnement-Links",
"subscriptionDomainPlaceholder": "Geben Sie die Abonnementdomäne ein, eine pro Zeile", "subscriptionDomainPlaceholder": "Geben Sie die Abonnement-Domain ein, eine pro Zeile",
"subscriptionPath": "Abonnementpfad", "subscriptionPath": "Abonnement-Pfad",
"subscriptionPathDescription": "Benutzerdefinierter Pfad für Abonnementendpunkte (bessere Leistung nach Systemneustart)", "subscriptionPathDescription": "Benutzerdefinierter Pfad für Abonnement-Endpunkte (bessere Leistung nach Systemneustart)",
"subscriptionPathPlaceholder": "Geben Sie den Abonnementpfad ein", "subscriptionPathPlaceholder": "Geben Sie den Abonnement-Pfad ein",
"title": "Abonnementkonfiguration", "title": "Abonnementkonfiguration",
"updateError": "Aktualisierung fehlgeschlagen", "updateError": "Aktualisierung fehlgeschlagen",
"updateSuccess": "Einstellungen erfolgreich aktualisiert", "updateSuccess": "Einstellungen erfolgreich aktualisiert",
"userAgentLimit": "{userAgent} Einschränkung", "userAgentLimit": "{userAgent} Einschränkung",
"userAgentLimitDescription": "Zugriffsrestriktionen basierend auf {userAgent} aktivieren", "userAgentLimitDescription": "Zugriffsbeschränkungen basierend auf {userAgent} aktivieren",
"userAgentList": "{userAgent} Whitelist", "userAgentList": "{userAgent} Whitelist",
"userAgentListDescription": "Erlaubte {userAgent} für den Abonnementzugang, jeweils eine pro Zeile. Konfigurierte Anwendung {userAgent} wird automatisch hinzugefügt", "userAgentListDescription": "Erlaubte {userAgent} für den Abonnementzugriff, eine pro Zeile. Konfigurierte Anwendung {userAgent} wird automatisch hinzugefügt",
"userAgentListPlaceholder": "Erlaubte {userAgent} eingeben, jeweils eine pro Zeile", "userAgentListPlaceholder": "Geben Sie erlaubte {userAgent} ein, eine pro Zeile",
"wildcardResolution": "Wildcard-Auflösung", "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": { "form": {
"addTitle": "Client hinzufügen", "addTitle": "Client hinzufügen",
@ -47,8 +47,29 @@
"icon": "Icon-URL oder Base64-Codierung", "icon": "Icon-URL oder Base64-Codierung",
"name": "Anzeigename des Clients", "name": "Anzeigename des Clients",
"outputFormat": "Format der Abonnementkonfigurationsdatei", "outputFormat": "Format der Abonnementkonfigurationsdatei",
"proxyTemplate": "Vorlage für den Abonnementlink, unterstützt Variablen: ", "schema": {
"template": "Abonnementkonfigurationsvorlage, unterstützt verschiedene Variablen", "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" "userAgentPrefix": "Client-Identifikator zur Unterscheidung verschiedener Clients"
}, },
"editTitle": "Client bearbeiten", "editTitle": "Client bearbeiten",
@ -57,8 +78,8 @@
"icon": "Icon", "icon": "Icon",
"name": "Name", "name": "Name",
"outputFormat": "Ausgabeformat", "outputFormat": "Ausgabeformat",
"proxyTemplate": "Abonnementlink", "schema": "URL-Schema",
"template": "Konfigurationsvorlage" "template": "Abonnementdateivorlage"
}, },
"tabs": { "tabs": {
"basic": "Basisinformationen", "basic": "Basisinformationen",
@ -72,8 +93,9 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Plain Text", "plain": "Reiner Text",
"yaml": "YAML" "yaml": "YAML"
}, },
"platforms": { "platforms": {
@ -85,7 +107,7 @@
"windows": "Windows" "windows": "Windows"
}, },
"protocol": { "protocol": {
"title": "Client-Verwaltung" "title": "Client-Management"
}, },
"table": { "table": {
"columns": { "columns": {

View File

@ -61,8 +61,29 @@
"userAgentPrefix": "Client identifier for distinguishing different clients", "userAgentPrefix": "Client identifier for distinguishing different clients",
"description": "Detailed client description", "description": "Detailed client description",
"outputFormat": "Subscription configuration file format", "outputFormat": "Subscription configuration file format",
"schema": "URL Schema template, supports variables: '{url}' subscription URL, '{name}' site name", "schema": {
"template": "Subscription file template, supports various variables", "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" "downloadLink": "platform download URL"
}, },
"validation": { "validation": {

View File

@ -2,7 +2,7 @@
"actions": { "actions": {
"add": "Agregar", "add": "Agregar",
"batchDelete": "Eliminar en lote", "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?", "batchDeleteWarning": "¿Está seguro de que desea eliminar los {count} clientes seleccionados?",
"cancel": "Cancelar", "cancel": "Cancelar",
"confirm": "Confirmar", "confirm": "Confirmar",
@ -34,7 +34,7 @@
"userAgentLimit": "Restricción de {userAgent}", "userAgentLimit": "Restricción de {userAgent}",
"userAgentLimitDescription": "Habilitar restricciones de acceso basadas en {userAgent}", "userAgentLimitDescription": "Habilitar restricciones de acceso basadas en {userAgent}",
"userAgentList": "Lista blanca de {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", "userAgentListPlaceholder": "Ingrese {userAgent} permitidos, uno por línea",
"wildcardResolution": "Resolución de comodines", "wildcardResolution": "Resolución de comodines",
"wildcardResolutionDescription": "Habilitar resolución de dominio comodín para suscripciones" "wildcardResolutionDescription": "Habilitar resolución de dominio comodín para suscripciones"
@ -47,9 +47,30 @@
"icon": "URL del ícono o codificación base64", "icon": "URL del ícono o codificación base64",
"name": "Nombre para mostrar del cliente", "name": "Nombre para mostrar del cliente",
"outputFormat": "Formato del archivo de configuración de suscripción", "outputFormat": "Formato del archivo de configuración de suscripción",
"proxyTemplate": "Plantilla de enlace de suscripción, admite variables: ", "schema": {
"template": "Plantilla de configuración de suscripción, admite varias variables", "base64Encoding": "Codificación Base64",
"userAgentPrefix": "Identificador del cliente para distinguir diferentes clientes." "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", "editTitle": "Editar Cliente",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Ícono", "icon": "Ícono",
"name": "Nombre", "name": "Nombre",
"outputFormat": "Formato de Salida", "outputFormat": "Formato de Salida",
"proxyTemplate": "Enlace de Suscripción", "schema": "Esquema de URL",
"template": "Plantilla de Configuración" "template": "Plantilla de Archivo de Suscripción"
}, },
"tabs": { "tabs": {
"basic": "Información Básica", "basic": "Información Básica",
@ -66,12 +87,13 @@
"template": "Plantillas" "template": "Plantillas"
}, },
"validation": { "validation": {
"nameRequired": "El nombre del cliente es obligatorio", "nameRequired": "Se requiere el nombre del cliente",
"userAgentRequiredSuffix": "es obligatorio" "userAgentRequiredSuffix": "es requerido"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Texto Plano", "plain": "Texto Plano",
"yaml": "YAML" "yaml": "YAML"

View File

@ -33,10 +33,10 @@
"updateSuccess": "Configuraciones actualizadas exitosamente", "updateSuccess": "Configuraciones actualizadas exitosamente",
"userAgentLimit": "Restricción de {userAgent}", "userAgentLimit": "Restricción de {userAgent}",
"userAgentLimitDescription": "Habilitar restricciones de acceso basadas en {userAgent}", "userAgentLimitDescription": "Habilitar restricciones de acceso basadas en {userAgent}",
"userAgentList": "Lista blanca de {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", "userAgentListDescription": "Permitir {userAgent} para acceso a suscripción, uno por línea. La aplicación configurada {userAgent} se incluirá automáticamente",
"userAgentListPlaceholder": "Ingresa {userAgent} permitidos, uno por línea", "userAgentListPlaceholder": "Ingrese {userAgent} permitidos, uno por línea",
"wildcardResolution": "Resolución de Comodines", "wildcardResolution": "Resolución de Comodín",
"wildcardResolutionDescription": "Habilitar resolución de dominio comodín para suscripciones" "wildcardResolutionDescription": "Habilitar resolución de dominio comodín para suscripciones"
}, },
"form": { "form": {
@ -47,8 +47,29 @@
"icon": "URL del ícono o codificación base64", "icon": "URL del ícono o codificación base64",
"name": "Nombre para mostrar del cliente", "name": "Nombre para mostrar del cliente",
"outputFormat": "Formato del archivo de configuración de suscripción", "outputFormat": "Formato del archivo de configuración de suscripción",
"proxyTemplate": "Plantilla de enlace de suscripción, soporta variables: ", "schema": {
"template": "Plantilla de configuración de suscripción, soporta varias variables", "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" "userAgentPrefix": "Identificador del cliente para distinguir diferentes clientes"
}, },
"editTitle": "Editar Cliente", "editTitle": "Editar Cliente",
@ -57,8 +78,8 @@
"icon": "Ícono", "icon": "Ícono",
"name": "Nombre", "name": "Nombre",
"outputFormat": "Formato de Salida", "outputFormat": "Formato de Salida",
"proxyTemplate": "Enlace de Suscripción", "schema": "Esquema de URL",
"template": "Plantilla de Configuración" "template": "Plantilla de Archivo de Suscripción"
}, },
"tabs": { "tabs": {
"basic": "Información Básica", "basic": "Información Básica",
@ -66,12 +87,13 @@
"template": "Plantillas" "template": "Plantillas"
}, },
"validation": { "validation": {
"nameRequired": "El nombre del cliente es obligatorio", "nameRequired": "Se requiere el nombre del cliente",
"userAgentRequiredSuffix": "es obligatorio" "userAgentRequiredSuffix": "es requerido"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Texto Plano", "plain": "Texto Plano",
"yaml": "YAML" "yaml": "YAML"

View File

@ -1,7 +1,7 @@
{ {
"actions": { "actions": {
"add": "افزودن", "add": "اضافه کردن",
"batchDelete": "حذف گروهی", "batchDelete": "حذف دسته‌ای",
"batchDeleteSuccess": "با موفقیت {count} مشتری حذف شد", "batchDeleteSuccess": "با موفقیت {count} مشتری حذف شد",
"batchDeleteWarning": "آیا مطمئن هستید که می‌خواهید {count} مشتری انتخاب شده را حذف کنید؟", "batchDeleteWarning": "آیا مطمئن هستید که می‌خواهید {count} مشتری انتخاب شده را حذف کنید؟",
"cancel": "لغو", "cancel": "لغو",
@ -20,7 +20,7 @@
}, },
"config": { "config": {
"description": "مدیریت تنظیمات سیستم اشتراک", "description": "مدیریت تنظیمات سیستم اشتراک",
"singleSubscriptionMode": "حالت اشتراک تک", "singleSubscriptionMode": "حالت اشتراک تکی",
"singleSubscriptionModeDescription": "محدود کردن کاربران به یک اشتراک فعال. اشتراک‌های موجود تحت تأثیر قرار نمی‌گیرند", "singleSubscriptionModeDescription": "محدود کردن کاربران به یک اشتراک فعال. اشتراک‌های موجود تحت تأثیر قرار نمی‌گیرند",
"subscriptionDomain": "دامنه اشتراک", "subscriptionDomain": "دامنه اشتراک",
"subscriptionDomainDescription": "دامنه سفارشی برای لینک‌های اشتراک", "subscriptionDomainDescription": "دامنه سفارشی برای لینک‌های اشتراک",
@ -31,25 +31,46 @@
"title": "پیکربندی اشتراک", "title": "پیکربندی اشتراک",
"updateError": "به‌روزرسانی ناموفق بود", "updateError": "به‌روزرسانی ناموفق بود",
"updateSuccess": "تنظیمات با موفقیت به‌روزرسانی شد", "updateSuccess": "تنظیمات با موفقیت به‌روزرسانی شد",
"userAgentLimit": "محدودیت {userAgent}", "userAgentLimit": "{userAgent} محدودیت",
"userAgentLimitDescription": "فعال‌سازی محدودیت‌های دسترسی بر اساس {userAgent}", "userAgentLimitDescription": "فعال‌سازی محدودیت‌های دسترسی بر اساس {userAgent}",
"userAgentList": "لیست سفید {userAgent}", "userAgentList": "{userAgent} لیست سفید",
"userAgentListDescription": "{userAgent} های مجاز برای دسترسی به اشتراک، هر کدام در یک خط. {userAgent} های پیکربندی شده به‌طور خودکار شامل خواهند شد", "userAgentListDescription": "اجازه دسترسی {userAgent} برای اشتراک، هر کدام در یک خط. برنامه پیکربندی شده {userAgent} به‌طور خودکار شامل خواهد شد",
"userAgentListPlaceholder": "{userAgent} های مجاز را وارد کنید، هر کدام در یک خط", "userAgentListPlaceholder": "اجازه {userAgent} را وارد کنید، هر کدام در یک خط",
"wildcardResolution": "حل wildcard", "wildcardResolution": "حل wildcard",
"wildcardResolutionDescription": "فعال‌سازی حل دامنه wildcard برای اشتراک‌ها" "wildcardResolutionDescription": "فعال‌سازی حل دامنه wildcard برای اشتراک‌ها"
}, },
"form": { "form": {
"addTitle": "افزودن مشتری", "addTitle": "اضافه کردن مشتری",
"descriptions": { "descriptions": {
"description": "توضیحات دقیق مشتری", "description": "توضیحات دقیق مشتری",
"downloadLink": "آدرس دانلود پلتفرم", "downloadLink": "URL دانلود پلتفرم",
"icon": "آدرس URL آیکون یا کدگذاری base64", "icon": "URL آیکون یا کدگذاری base64",
"name": "نام نمایشی مشتری", "name": "نام نمایشی مشتری",
"outputFormat": "فرمت فایل پیکربندی اشتراک", "outputFormat": "فرمت فایل پیکربندی اشتراک",
"proxyTemplate": "الگوی لینک اشتراک، از متغیرها پشتیبانی می‌کند: ", "schema": {
"template": "الگوی پیکربندی اشتراک، از متغیرهای مختلف پشتیبانی می‌کند", "base64Encoding": "کدگذاری Base64",
"userAgentPrefix": "شناسه مشتری برای تمایز بین مشتریان مختلف" "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": "ویرایش مشتری", "editTitle": "ویرایش مشتری",
"fields": { "fields": {
@ -57,13 +78,13 @@
"icon": "آیکون", "icon": "آیکون",
"name": "نام", "name": "نام",
"outputFormat": "فرمت خروجی", "outputFormat": "فرمت خروجی",
"proxyTemplate": "لینک اشتراک", "schema": "طرح URL",
"template": "الگوی پیکربندی" "template": "قالب فایل اشتراک"
}, },
"tabs": { "tabs": {
"basic": "اطلاعات پایه", "basic": "اطلاعات پایه",
"download": "دانلودها", "download": "دانلودها",
"template": "الگوها" "template": "قالب‌ها"
}, },
"validation": { "validation": {
"nameRequired": "نام مشتری الزامی است", "nameRequired": "نام مشتری الزامی است",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "متن ساده", "plain": "متن ساده",
"yaml": "YAML" "yaml": "YAML"

View File

@ -43,13 +43,34 @@
"addTitle": "Lisää asiakas", "addTitle": "Lisää asiakas",
"descriptions": { "descriptions": {
"description": "Yksityiskohtainen asiakaskuvaus", "description": "Yksityiskohtainen asiakaskuvaus",
"downloadLink": "alustalataus-URL", "downloadLink": "alustan lataus-URL",
"icon": "Ikonin URL-osoite tai base64-koodaus", "icon": "Ikonin URL tai base64-koodaus",
"name": "Asiakkaan näyttönimi", "name": "Asiakkaan näyttönimi",
"outputFormat": "Tilauksen asetustiedoston muoto", "outputFormat": "Tilauksen konfiguraatiotiedoston muoto",
"proxyTemplate": "Tilauksen linkkimalli, tukee muuttujia: ", "schema": {
"template": "Tilauksen asetusmalli, tukee erilaisia muuttujia", "base64Encoding": "Base64-koodaus",
"userAgentPrefix": "Asiakasidentifikaattori eri asiakkaiden erottamiseksi" "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", "editTitle": "Muokkaa asiakasta",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Ikoni", "icon": "Ikoni",
"name": "Nimi", "name": "Nimi",
"outputFormat": "Tulostusmuoto", "outputFormat": "Tulostusmuoto",
"proxyTemplate": "Tilauksen linkki", "schema": "URL-malli",
"template": "Asetusmalli" "template": "Tilauksen tiedostomalli"
}, },
"tabs": { "tabs": {
"basic": "Perustiedot", "basic": "Perustiedot",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Plain Text", "plain": "Plain Text",
"yaml": "YAML" "yaml": "YAML"

View File

@ -31,11 +31,11 @@
"title": "Configuration de l'abonnement", "title": "Configuration de l'abonnement",
"updateError": "Échec de la mise à jour", "updateError": "Échec de la mise à jour",
"updateSuccess": "Paramètres mis à jour avec succès", "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}", "userAgentLimitDescription": "Activer les restrictions d'accès basées sur {userAgent}",
"userAgentList": "Liste blanche {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", "userAgentListDescription": "Autorisé {userAgent} 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", "userAgentListPlaceholder": "Entrez {userAgent} autorisés, un par ligne",
"wildcardResolution": "Résolution de wildcard", "wildcardResolution": "Résolution de wildcard",
"wildcardResolutionDescription": "Activer la résolution de domaine wildcard pour les abonnements" "wildcardResolutionDescription": "Activer la résolution de domaine wildcard pour les abonnements"
}, },
@ -47,9 +47,30 @@
"icon": "URL de l'icône ou encodage base64", "icon": "URL de l'icône ou encodage base64",
"name": "Nom d'affichage du client", "name": "Nom d'affichage du client",
"outputFormat": "Format du fichier de configuration d'abonnement", "outputFormat": "Format du fichier de configuration d'abonnement",
"proxyTemplate": "Modèle de lien d'abonnement, prend en charge les variables : ", "schema": {
"template": "Modèle de configuration d'abonnement, prend en charge diverses variables", "base64Encoding": "Encodage Base64",
"userAgentPrefix": "Identifiant du client pour distinguer les différents clients." "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", "editTitle": "Modifier un client",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Icône", "icon": "Icône",
"name": "Nom", "name": "Nom",
"outputFormat": "Format de sortie", "outputFormat": "Format de sortie",
"proxyTemplate": "Lien d'abonnement", "schema": "Schéma d'URL",
"template": "Modèle de configuration" "template": "Modèle de fichier d'abonnement"
}, },
"tabs": { "tabs": {
"basic": "Informations de base", "basic": "Informations de base",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Texte brut", "plain": "Texte brut",
"yaml": "YAML" "yaml": "YAML"

View File

@ -3,7 +3,7 @@
"add": "जोड़ें", "add": "जोड़ें",
"batchDelete": "बैच हटाएं", "batchDelete": "बैच हटाएं",
"batchDeleteSuccess": "सफलता से {count} क्लाइंट हटाए गए", "batchDeleteSuccess": "सफलता से {count} क्लाइंट हटाए गए",
"batchDeleteWarning": "क्या आप सुनिश्चित हैं कि आप चयनित {count} क्लाइंट को हटाना चाहते हैं?", "batchDeleteWarning": "क्या आप निश्चित हैं कि आप चयनित {count} क्लाइंट हटाना चाहते हैं?",
"cancel": "रद्द करें", "cancel": "रद्द करें",
"confirm": "पुष्टि करें", "confirm": "पुष्टि करें",
"confirmDelete": "हटाने की पुष्टि करें", "confirmDelete": "हटाने की पुष्टि करें",
@ -11,7 +11,7 @@
"delete": "हटाएं", "delete": "हटाएं",
"deleteFailed": "हटाना विफल", "deleteFailed": "हटाना विफल",
"deleteSuccess": "सफलता से हटाया गया", "deleteSuccess": "सफलता से हटाया गया",
"deleteWarning": "यह क्रिया पूर्ववत नहीं की जा सकती। क्या आप सुनिश्चित हैं कि आप इस क्लाइंट को हटाना चाहते हैं?", "deleteWarning": "यह क्रिया पूर्ववत नहीं की जा सकती। क्या आप निश्चित हैं कि आप इस क्लाइंट को हटाना चाहते हैं?",
"edit": "संपादित करें", "edit": "संपादित करें",
"save": "सहेजें", "save": "सहेजें",
"saveFailed": "सहेजना विफल", "saveFailed": "सहेजना विफल",
@ -34,21 +34,42 @@
"userAgentLimit": "{userAgent} प्रतिबंध", "userAgentLimit": "{userAgent} प्रतिबंध",
"userAgentLimitDescription": "{userAgent} के आधार पर पहुंच प्रतिबंध सक्षम करें", "userAgentLimitDescription": "{userAgent} के आधार पर पहुंच प्रतिबंध सक्षम करें",
"userAgentList": "{userAgent} श्वेतसूची", "userAgentList": "{userAgent} श्वेतसूची",
"userAgentListDescription": "सदस्यता पहुंच के लिए अनुमत {userAgent}, प्रत्येक पंक्ति में एक। कॉन्फ़िगर की गई एप्लिकेशन {userAgent} स्वचालित रूप से शामिल की जाएगी", "userAgentListDescription": "सदस्यता पहुंच के लिए अनुमत {userAgent}, एक प्रति पंक्ति। कॉन्फ़िगर की गई एप्लिकेशन {userAgent} स्वचालित रूप से शामिल की जाएगी",
"userAgentListPlaceholder": "अनुमत {userAgent} दर्ज करें, प्रत्येक पंक्ति में एक", "userAgentListPlaceholder": "अनुमत {userAgent} दर्ज करें, एक प्रति पंक्ति",
"wildcardResolution": "वाइल्डकार्ड समाधान", "wildcardResolution": "वाइल्डकार्ड समाधान",
"wildcardResolutionDescription": "सदस्यताओं के लिए वाइल्डकार्ड डोमेन समाधान सक्षम करें" "wildcardResolutionDescription": "सदस्यताओं के लिए वाइल्डकार्ड डोमेन समाधान सक्षम करें"
}, },
"form": { "form": {
"addTitle": "क्लाइंट जोड़ें", "addTitle": "क्लाइंट जोड़ें",
"descriptions": { "descriptions": {
"description": "विस्तृत क्लाइंट विवरण", "description": "क्लाइंट का विस्तृत विवरण",
"downloadLink": "प्लेटफ़ॉर्म डाउनलोड URL", "downloadLink": "प्लेटफ़ॉर्म डाउनलोड यूआरएल",
"icon": "आइकन URL या बेस64 एन्कोडिंग", "icon": "आइकन यूआरएल या बेस64 एन्कोडिंग",
"name": "क्लाइंट प्रदर्शन नाम", "name": "क्लाइंट प्रदर्शन नाम",
"outputFormat": "सदस्यता कॉन्फ़िगरेशन फ़ाइल प्रारूप", "outputFormat": "सदस्यता कॉन्फ़िगरेशन फ़ाइल प्रारूप",
"proxyTemplate": "सदस्यता लिंक टेम्पलेट, वेरिएबल का समर्थन करता है: ", "schema": {
"template": "सदस्यता कॉन्फ़िगरेशन टेम्पलेट, विभिन्न वेरिएबल का समर्थन करता है", "base64Encoding": "बेस64 एन्कोडिंग",
"functions": "कार्य का समर्थन करता है:",
"jsonStringify": "JSON ऑब्जेक्ट को स्ट्रिंग में",
"nameVariable": "साइट का नाम",
"title": "यूआरएल स्कीमा टेम्पलेट",
"urlEncoding": "यूआरएल एन्कोडिंग",
"urlVariable": "सदस्यता यूआरएल",
"variables": "चर का समर्थन करता है:"
},
"template": {
"description": "सदस्यता कॉन्फ़िगरेशन फ़ाइलें उत्पन्न करने के लिए गो टेम्पलेट सिंटैक्स का उपयोग करें",
"functions": "टेम्पलेट कार्य:",
"if": "शर्तीय कथन",
"nodes": "प्रॉक्सी नोड्स की सूची",
"range": "ऐरे को दोहराएं",
"siteName": "साइट का नाम",
"sprig": "स्प्रिग फ़ंक्शन पुस्तकालय (स्ट्रिंग प्रोसेसिंग, तिथियाँ, आदि)",
"subscribeName": "सदस्यता का नाम",
"title": "गो टेम्पलेट सिंटैक्स",
"userInfo": "उपयोगकर्ता जानकारी (ट्रैफ़िक, समाप्ति, आदि)",
"variables": "उपलब्ध चर:"
},
"userAgentPrefix": "विभिन्न क्लाइंट्स को अलग करने के लिए क्लाइंट पहचानकर्ता" "userAgentPrefix": "विभिन्न क्लाइंट्स को अलग करने के लिए क्लाइंट पहचानकर्ता"
}, },
"editTitle": "क्लाइंट संपादित करें", "editTitle": "क्लाइंट संपादित करें",
@ -57,8 +78,8 @@
"icon": "आइकन", "icon": "आइकन",
"name": "नाम", "name": "नाम",
"outputFormat": "आउटपुट प्रारूप", "outputFormat": "आउटपुट प्रारूप",
"proxyTemplate": "सदस्यता लिंक", "schema": "यूआरएल स्कीमा",
"template": "कॉन्फ़िग टेम्पलेट" "template": "सदस्यता फ़ाइल टेम्पलेट"
}, },
"tabs": { "tabs": {
"basic": "बुनियादी जानकारी", "basic": "बुनियादी जानकारी",
@ -71,7 +92,8 @@
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "बेस64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "सादा पाठ", "plain": "सादा पाठ",
"yaml": "YAML" "yaml": "YAML"

View File

@ -5,7 +5,7 @@
"batchDeleteSuccess": "Sikeresen törölt {count} ügyfelet", "batchDeleteSuccess": "Sikeresen törölt {count} ügyfelet",
"batchDeleteWarning": "Biztosan törölni szeretné a kiválasztott {count} ügyfelet?", "batchDeleteWarning": "Biztosan törölni szeretné a kiválasztott {count} ügyfelet?",
"cancel": "Mégse", "cancel": "Mégse",
"confirm": "Megerősít", "confirm": "Megerősítés",
"confirmDelete": "Törlés megerősítése", "confirmDelete": "Törlés megerősítése",
"createSuccess": "Sikeresen létrehozva", "createSuccess": "Sikeresen létrehozva",
"delete": "Törlés", "delete": "Törlés",
@ -32,12 +32,12 @@
"updateError": "Frissítés sikertelen", "updateError": "Frissítés sikertelen",
"updateSuccess": "Beállítások sikeresen frissítve", "updateSuccess": "Beállítások sikeresen frissítve",
"userAgentLimit": "{userAgent} Korlátozás", "userAgentLimit": "{userAgent} Korlátozás",
"userAgentLimitDescription": "Engedélyezze a hozzáférési korlátozásokat a(z) {userAgent} alapján", "userAgentLimitDescription": "Engedélyezze a hozzáférési korlátozásokat a {userAgent} alapján",
"userAgentList": "{userAgent} Fehér lista", "userAgentList": "{userAgent} Fehérlista",
"userAgentListDescription": "Engedélyezett {userAgent} az előfizetési hozzáféréshez, soronként egy. A konfigurált alkalmazás {userAgent} automatikusan belekerül", "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}-t, soronként egy", "userAgentListPlaceholder": "Adja meg az engedélyezett {userAgent} értékeket, soronként egyet",
"wildcardResolution": "Wildcard Feloldás", "wildcardResolution": "Joker karakterek feloldása",
"wildcardResolutionDescription": "Engedélyezze a wildcard domain feloldást az előfizetésekhez" "wildcardResolutionDescription": "Engedélyezze a joker karakterek domain feloldását az előfizetésekhez"
}, },
"form": { "form": {
"addTitle": "Ügyfél Hozzáadása", "addTitle": "Ügyfél Hozzáadása",
@ -47,9 +47,30 @@
"icon": "Ikon URL vagy base64 kódolás", "icon": "Ikon URL vagy base64 kódolás",
"name": "Ügyfél megjelenítési neve", "name": "Ügyfél megjelenítési neve",
"outputFormat": "Előfizetési konfigurációs fájl formátum", "outputFormat": "Előfizetési konfigurációs fájl formátum",
"proxyTemplate": "Előfizetési link sablon, támogatja a változókat: ", "schema": {
"template": "Előfizetési konfigurációs sablon, támogatja a különböző változókat", "base64Encoding": "Base64 kódolás",
"userAgentPrefix": "Kliens azonosító a különböző kliensek megkülönböztetésére." "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", "editTitle": "Ügyfél Szerkesztése",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Ikon", "icon": "Ikon",
"name": "Név", "name": "Név",
"outputFormat": "Kimeneti Formátum", "outputFormat": "Kimeneti Formátum",
"proxyTemplate": "Előfizetési Link", "schema": "URL Sémák",
"template": "Beállítási Sablon" "template": "Előfizetési Fájl Sablon"
}, },
"tabs": { "tabs": {
"basic": "Alap Információk", "basic": "Alap Információk",
@ -66,12 +87,13 @@
"template": "Sablonok" "template": "Sablonok"
}, },
"validation": { "validation": {
"nameRequired": "Az ügyfél neve kötelező", "nameRequired": "Ügyfél név megadása kötelező",
"userAgentRequiredSuffix": "kötelező" "userAgentRequiredSuffix": "megadása kötelező"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Egyszerű Szöveg", "plain": "Egyszerű Szöveg",
"yaml": "YAML" "yaml": "YAML"
@ -85,7 +107,7 @@
"windows": "Windows" "windows": "Windows"
}, },
"protocol": { "protocol": {
"title": "Klienskezelés" "title": "Ügyfélkezelés"
}, },
"table": { "table": {
"columns": { "columns": {

View File

@ -20,7 +20,7 @@
}, },
"config": { "config": {
"description": "サブスクリプションシステムの設定を管理します", "description": "サブスクリプションシステムの設定を管理します",
"singleSubscriptionMode": "シングルサブスクリプションモード", "singleSubscriptionMode": "単一サブスクリプションモード",
"singleSubscriptionModeDescription": "ユーザーを1つのアクティブなサブスクリプションに制限します。既存のサブスクリプションには影響しません", "singleSubscriptionModeDescription": "ユーザーを1つのアクティブなサブスクリプションに制限します。既存のサブスクリプションには影響しません",
"subscriptionDomain": "サブスクリプションドメイン", "subscriptionDomain": "サブスクリプションドメイン",
"subscriptionDomainDescription": "サブスクリプションリンク用のカスタムドメイン", "subscriptionDomainDescription": "サブスクリプションリンク用のカスタムドメイン",
@ -32,10 +32,10 @@
"updateError": "更新に失敗しました", "updateError": "更新に失敗しました",
"updateSuccess": "設定が正常に更新されました", "updateSuccess": "設定が正常に更新されました",
"userAgentLimit": "{userAgent} 制限", "userAgentLimit": "{userAgent} 制限",
"userAgentLimitDescription": "{userAgent} に基づくアクセス制限を有効に", "userAgentLimitDescription": "{userAgent} に基づくアクセス制限を有効にします",
"userAgentList": "{userAgent} ホワイトリスト", "userAgentList": "{userAgent} ホワイトリスト",
"userAgentListDescription": "サブスクリプションアクセスのために許可された {userAgent}、1行ごとに1つ。設定されたアプリケーションの {userAgent} は自動的に含まれます", "userAgentListDescription": "サブスクリプションアクセスを許可された {userAgent}1行につき1つ。構成されたアプリケーション {userAgent} は自動的に含まれます",
"userAgentListPlaceholder": "許可された {userAgent} を入力してください、1行ごとに", "userAgentListPlaceholder": "許可された {userAgent} を入力してください1行につき1つ",
"wildcardResolution": "ワイルドカード解決", "wildcardResolution": "ワイルドカード解決",
"wildcardResolutionDescription": "サブスクリプション用のワイルドカードドメイン解決を有効にします" "wildcardResolutionDescription": "サブスクリプション用のワイルドカードドメイン解決を有効にします"
}, },
@ -47,8 +47,29 @@
"icon": "アイコンのURLまたはbase64エンコーディング", "icon": "アイコンのURLまたはbase64エンコーディング",
"name": "クライアントの表示名", "name": "クライアントの表示名",
"outputFormat": "サブスクリプション設定ファイル形式", "outputFormat": "サブスクリプション設定ファイル形式",
"proxyTemplate": "サブスクリプションリンクテンプレート、変数をサポートします:", "schema": {
"template": "サブスクリプション設定テンプレート、さまざまな変数をサポートします", "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": "異なるクライアントを区別するためのクライアント識別子" "userAgentPrefix": "異なるクライアントを区別するためのクライアント識別子"
}, },
"editTitle": "クライアントを編集", "editTitle": "クライアントを編集",
@ -57,8 +78,8 @@
"icon": "アイコン", "icon": "アイコン",
"name": "名前", "name": "名前",
"outputFormat": "出力形式", "outputFormat": "出力形式",
"proxyTemplate": "サブスクリプションリンク", "schema": "URLスキーマ",
"template": "設定テンプレート" "template": "サブスクリプションファイルテンプレート"
}, },
"tabs": { "tabs": {
"basic": "基本情報", "basic": "基本情報",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "プレーンテキスト", "plain": "プレーンテキスト",
"yaml": "YAML" "yaml": "YAML"

View File

@ -23,18 +23,18 @@
"singleSubscriptionMode": "단일 구독 모드", "singleSubscriptionMode": "단일 구독 모드",
"singleSubscriptionModeDescription": "사용자를 하나의 활성 구독으로 제한합니다. 기존 구독에는 영향을 미치지 않습니다", "singleSubscriptionModeDescription": "사용자를 하나의 활성 구독으로 제한합니다. 기존 구독에는 영향을 미치지 않습니다",
"subscriptionDomain": "구독 도메인", "subscriptionDomain": "구독 도메인",
"subscriptionDomainDescription": "구독 링크를 위한 사용자 정 도메인", "subscriptionDomainDescription": "구독 링크를 위한 사용자 도메인",
"subscriptionDomainPlaceholder": "구독 도메인을 입력하세요, 한 줄에 하나씩", "subscriptionDomainPlaceholder": "구독 도메인을 입력하세요, 한 줄에 하나씩",
"subscriptionPath": "구독 경로", "subscriptionPath": "구독 경로",
"subscriptionPathDescription": "구독 엔드포인트를 위한 사용자 정 경로 (시스템 재시작 후 성능 향상)", "subscriptionPathDescription": "구독 엔드포인트를 위한 사용자 경로 (시스템 재시작 후 성능 향상)",
"subscriptionPathPlaceholder": "구독 경로를 입력하세요", "subscriptionPathPlaceholder": "구독 경로를 입력하세요",
"title": "구독 설정", "title": "구독 설정",
"updateError": "업데이트 실패", "updateError": "업데이트 실패",
"updateSuccess": "설정이 성공적으로 업데이트되었습니다", "updateSuccess": "설정이 성공적으로 업데이트되었습니다",
"userAgentLimit": "{userAgent} 제한", "userAgentLimit": "{userAgent} 제한",
"userAgentLimitDescription": "{userAgent} 기반의 접근 제한 활성화", "userAgentLimitDescription": "{userAgent}에 기반한 접근 제한을 활성화합니다",
"userAgentList": "{userAgent} 허용 목록", "userAgentList": "{userAgent} 허용 목록",
"userAgentListDescription": "구독 접근을 위한 허용된 {userAgent}, 한 줄에 하나씩 입력. 구성된 애플리케이션 {userAgent}는 자동으로 포함됩니다.", "userAgentListDescription": "구독 접근을 위한 허용된 {userAgent}, 한 줄에 하나씩. 구성된 애플리케이션 {userAgent}는 자동으로 포함됩니다",
"userAgentListPlaceholder": "허용된 {userAgent}를 입력하세요, 한 줄에 하나씩", "userAgentListPlaceholder": "허용된 {userAgent}를 입력하세요, 한 줄에 하나씩",
"wildcardResolution": "와일드카드 해상도", "wildcardResolution": "와일드카드 해상도",
"wildcardResolutionDescription": "구독을 위한 와일드카드 도메인 해상도를 활성화합니다" "wildcardResolutionDescription": "구독을 위한 와일드카드 도메인 해상도를 활성화합니다"
@ -47,8 +47,29 @@
"icon": "아이콘 URL 또는 base64 인코딩", "icon": "아이콘 URL 또는 base64 인코딩",
"name": "클라이언트 표시 이름", "name": "클라이언트 표시 이름",
"outputFormat": "구독 구성 파일 형식", "outputFormat": "구독 구성 파일 형식",
"proxyTemplate": "구독 링크 템플릿, 변수 지원: ", "schema": {
"template": "구독 구성 템플릿, 다양한 변수 지원", "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": "다양한 클라이언트를 구별하기 위한 클라이언트 식별자" "userAgentPrefix": "다양한 클라이언트를 구별하기 위한 클라이언트 식별자"
}, },
"editTitle": "클라이언트 편집", "editTitle": "클라이언트 편집",
@ -57,8 +78,8 @@
"icon": "아이콘", "icon": "아이콘",
"name": "이름", "name": "이름",
"outputFormat": "출력 형식", "outputFormat": "출력 형식",
"proxyTemplate": "구독 링크", "schema": "URL 스키마",
"template": "구 템플릿" "template": "구독 파일 템플릿"
}, },
"tabs": { "tabs": {
"basic": "기본 정보", "basic": "기본 정보",
@ -67,11 +88,12 @@
}, },
"validation": { "validation": {
"nameRequired": "클라이언트 이름은 필수입니다", "nameRequired": "클라이언트 이름은 필수입니다",
"userAgentRequiredSuffix": "필수입니다" "userAgentRequiredSuffix": "필수입니다"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "일반 텍스트", "plain": "일반 텍스트",
"yaml": "YAML" "yaml": "YAML"

View File

@ -31,24 +31,45 @@
"title": "Abonnementsinnstillinger", "title": "Abonnementsinnstillinger",
"updateError": "Oppdatering feilet", "updateError": "Oppdatering feilet",
"updateSuccess": "Innstillinger oppdatert med suksess", "updateSuccess": "Innstillinger oppdatert med suksess",
"userAgentLimit": "{userAgent} Begrensning", "userAgentLimit": "{userAgent} Restriksjon",
"userAgentLimitDescription": "Aktiver tilgangsbegrensninger basert på {userAgent}", "userAgentLimitDescription": "Aktiver tilgangsrestriksjoner basert på {userAgent}",
"userAgentList": "{userAgent} Hvitliste", "userAgentList": "{userAgent} Hviteliste",
"userAgentListDescription": "Tillatte {userAgent} for abonnementsadgang, én per linje. Konfigurert applikasjon {userAgent} vil bli automatisk inkludert", "userAgentListDescription": "Tillatte {userAgent} for abonnements tilgang, ett per linje. Konfigurert applikasjon {userAgent} vil bli automatisk inkludert",
"userAgentListPlaceholder": "Skriv inn tillatte {userAgent}, én per linje", "userAgentListPlaceholder": "Skriv inn tillatte {userAgent}, ett per linje",
"wildcardResolution": "Wildcard Oppløsning", "wildcardResolution": "Wildcard-oppløsning",
"wildcardResolutionDescription": "Aktiver wildcard domeneoppløsning for abonnementer" "wildcardResolutionDescription": "Aktiver wildcard-domeneoppløsning for abonnementer"
}, },
"form": { "form": {
"addTitle": "Legg til Klient", "addTitle": "Legg til Klient",
"descriptions": { "descriptions": {
"description": "Detaljert klientbeskrivelse", "description": "Detaljert klientbeskrivelse",
"downloadLink": "Plattform nedlastings-URL", "downloadLink": "plattforms nedlastings-URL",
"icon": "Ikon-URL eller base64-koding", "icon": "Ikon-URL eller base64-koding",
"name": "Klientens visningsnavn", "name": "Klientens visningsnavn",
"outputFormat": "Format for abonnements konfigurasjonsfil", "outputFormat": "Format for abonnementskonfigurasjonsfil",
"proxyTemplate": "Mal for abonnementslenke, støtter variabler: ", "schema": {
"template": "Abonnements konfigurasjonsmal, støtter ulike variabler", "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" "userAgentPrefix": "Klientidentifikator for å skille mellom forskjellige klienter"
}, },
"editTitle": "Rediger Klient", "editTitle": "Rediger Klient",
@ -57,13 +78,13 @@
"icon": "Ikon", "icon": "Ikon",
"name": "Navn", "name": "Navn",
"outputFormat": "Utdataformat", "outputFormat": "Utdataformat",
"proxyTemplate": "Abonnementslenke", "schema": "URL-skjema",
"template": "Konfigurasjonsmal" "template": "Abonnementsfilmal"
}, },
"tabs": { "tabs": {
"basic": "Grunnleggende Info", "basic": "Grunnleggende Info",
"download": "Nedlastinger", "download": "Nedlastinger",
"template": "Maler" "template": "Mal"
}, },
"validation": { "validation": {
"nameRequired": "Klientnavn er påkrevd", "nameRequired": "Klientnavn er påkrevd",
@ -72,8 +93,9 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Ren Tekst", "plain": "Ren tekst",
"yaml": "YAML" "yaml": "YAML"
}, },
"platforms": { "platforms": {
@ -93,7 +115,7 @@
"description": "Beskrivelse", "description": "Beskrivelse",
"name": "Klientnavn", "name": "Klientnavn",
"outputFormat": "Utdataformat", "outputFormat": "Utdataformat",
"supportedPlatforms": "Støttede Plattformer" "supportedPlatforms": "Støttede plattformer"
} }
} }
} }

View File

@ -1,13 +1,13 @@
{ {
"actions": { "actions": {
"add": "Dodaj", "add": "Dodaj",
"batchDelete": "Usunięcie zbiorcze", "batchDelete": "Usuwanie zbiorcze",
"batchDeleteSuccess": "Pomyślnie usunięto {count} klientów", "batchDeleteSuccess": "Pomyślnie usunięto {count} klientów",
"batchDeleteWarning": "Czy na pewno chcesz usunąć wybranych {count} klientów?", "batchDeleteWarning": "Czy na pewno chcesz usunąć wybranych {count} klientów?",
"cancel": "Anuluj", "cancel": "Anuluj",
"confirm": "Potwierdź", "confirm": "Potwierdź",
"confirmDelete": "Potwierdź usunięcie", "confirmDelete": "Potwierdź usunięcie",
"createSuccess": "Utworzono pomyślnie", "createSuccess": "Pomyślnie utworzono",
"delete": "Usuń", "delete": "Usuń",
"deleteFailed": "Usunięcie nie powiodło się", "deleteFailed": "Usunięcie nie powiodło się",
"deleteSuccess": "Pomyślnie usunięto", "deleteSuccess": "Pomyślnie usunięto",
@ -34,8 +34,8 @@
"userAgentLimit": "Ograniczenie {userAgent}", "userAgentLimit": "Ograniczenie {userAgent}",
"userAgentLimitDescription": "Włącz ograniczenia dostępu na podstawie {userAgent}", "userAgentLimitDescription": "Włącz ograniczenia dostępu na podstawie {userAgent}",
"userAgentList": "Biała lista {userAgent}", "userAgentList": "Biała lista {userAgent}",
"userAgentListDescription": "Dozwolone {userAgent} do dostępu subskrypcyjnego, jeden na linię. Skonfigurowana aplikacja {userAgent} zostanie automatycznie uwzględniona", "userAgentListDescription": "Dozwolone {userAgent} do dostępu do subskrypcji, jedna na linię. Skonfigurowana aplikacja {userAgent} zostanie automatycznie uwzględniona",
"userAgentListPlaceholder": "Wprowadź dozwolone {userAgent}, jeden na linię", "userAgentListPlaceholder": "Wprowadź dozwolone {userAgent}, jedna na linię",
"wildcardResolution": "Rozwiązywanie symboli wieloznacznych", "wildcardResolution": "Rozwiązywanie symboli wieloznacznych",
"wildcardResolutionDescription": "Włącz rozwiązywanie domen wieloznacznych dla subskrypcji" "wildcardResolutionDescription": "Włącz rozwiązywanie domen wieloznacznych dla subskrypcji"
}, },
@ -47,8 +47,29 @@
"icon": "URL ikony lub kodowanie base64", "icon": "URL ikony lub kodowanie base64",
"name": "Nazwa wyświetlana klienta", "name": "Nazwa wyświetlana klienta",
"outputFormat": "Format pliku konfiguracyjnego subskrypcji", "outputFormat": "Format pliku konfiguracyjnego subskrypcji",
"proxyTemplate": "Szablon linku subskrypcyjnego, obsługuje zmienne: ", "schema": {
"template": "Szablon konfiguracji subskrypcji, obsługuje różne zmienne", "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" "userAgentPrefix": "Identyfikator klienta do rozróżniania różnych klientów"
}, },
"editTitle": "Edytuj klienta", "editTitle": "Edytuj klienta",
@ -57,23 +78,24 @@
"icon": "Ikona", "icon": "Ikona",
"name": "Nazwa", "name": "Nazwa",
"outputFormat": "Format wyjściowy", "outputFormat": "Format wyjściowy",
"proxyTemplate": "Link subskrypcyjny", "schema": "Schemat URL",
"template": "Szablon konfiguracji" "template": "Szablon pliku subskrypcyjnego"
}, },
"tabs": { "tabs": {
"basic": "Podstawowe informacje", "basic": "Podstawowe informacje",
"download": "Pobierania", "download": "Pobrania",
"template": "Szablony" "template": "Szablony"
}, },
"validation": { "validation": {
"nameRequired": "Nazwa klienta jest wymagana", "nameRequired": "Nazwa klienta jest wymagana",
"userAgentRequiredSuffix": "jest wymagany" "userAgentRequiredSuffix": "jest wymagana"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Zwykły tekst", "plain": "Tekst zwykły",
"yaml": "YAML" "yaml": "YAML"
}, },
"platforms": { "platforms": {

View File

@ -2,8 +2,8 @@
"actions": { "actions": {
"add": "Adicionar", "add": "Adicionar",
"batchDelete": "Excluir em Lote", "batchDelete": "Excluir em Lote",
"batchDeleteSuccess": "Clientes excluídos com sucesso: {count}", "batchDeleteSuccess": "Excluídos com sucesso {count} clientes",
"batchDeleteWarning": "Você tem certeza de que deseja excluir os {count} clientes selecionados?", "batchDeleteWarning": "Você tem certeza que deseja excluir os {count} clientes selecionados?",
"cancel": "Cancelar", "cancel": "Cancelar",
"confirm": "Confirmar", "confirm": "Confirmar",
"confirmDelete": "Confirmar Exclusão", "confirmDelete": "Confirmar Exclusão",
@ -11,7 +11,7 @@
"delete": "Excluir", "delete": "Excluir",
"deleteFailed": "Falha ao excluir", "deleteFailed": "Falha ao excluir",
"deleteSuccess": "Excluído com sucesso", "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", "edit": "Editar",
"save": "Salvar", "save": "Salvar",
"saveFailed": "Falha ao salvar", "saveFailed": "Falha ao salvar",
@ -31,13 +31,13 @@
"title": "Configuração de Assinatura", "title": "Configuração de Assinatura",
"updateError": "Falha na atualização", "updateError": "Falha na atualização",
"updateSuccess": "Configurações atualizadas com sucesso", "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}", "userAgentLimitDescription": "Ativar restrições de acesso com base em {userAgent}",
"userAgentList": "Lista de {userAgent} Permitidos", "userAgentList": "Lista Branca de {userAgent}",
"userAgentListDescription": "{userAgent} permitidos para acesso à assinatura, um por linha. O {userAgent} do aplicativo configurado será incluído automaticamente", "userAgentListDescription": "Permitir {userAgent} para acesso à assinatura, um por linha. O aplicativo configurado {userAgent} será incluído automaticamente",
"userAgentListPlaceholder": "Digite {userAgent} permitidos, um por linha", "userAgentListPlaceholder": "Insira {userAgent} permitidos, um por linha",
"wildcardResolution": "Resolução de Coringa", "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": { "form": {
"addTitle": "Adicionar Cliente", "addTitle": "Adicionar Cliente",
@ -47,8 +47,29 @@
"icon": "URL do ícone ou codificação base64", "icon": "URL do ícone ou codificação base64",
"name": "Nome de exibição do cliente", "name": "Nome de exibição do cliente",
"outputFormat": "Formato do arquivo de configuração da assinatura", "outputFormat": "Formato do arquivo de configuração da assinatura",
"proxyTemplate": "Modelo de link de assinatura, suporta variáveis: ", "schema": {
"template": "Modelo de configuração de assinatura, suporta várias variáveis", "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" "userAgentPrefix": "Identificador do cliente para distinguir diferentes clientes"
}, },
"editTitle": "Editar Cliente", "editTitle": "Editar Cliente",
@ -57,13 +78,13 @@
"icon": "Ícone", "icon": "Ícone",
"name": "Nome", "name": "Nome",
"outputFormat": "Formato de Saída", "outputFormat": "Formato de Saída",
"proxyTemplate": "Link de Assinatura", "schema": "Esquema de URL",
"template": "Modelo de Configuração" "template": "Template do Arquivo de Assinatura"
}, },
"tabs": { "tabs": {
"basic": "Informações Básicas", "basic": "Informações Básicas",
"download": "Downloads", "download": "Downloads",
"template": "Modelos" "template": "Templates"
}, },
"validation": { "validation": {
"nameRequired": "O nome do cliente é obrigatório", "nameRequired": "O nome do cliente é obrigatório",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Texto Simples", "plain": "Texto Simples",
"yaml": "YAML" "yaml": "YAML"

View File

@ -32,10 +32,10 @@
"updateError": "Actualizarea a eșuat", "updateError": "Actualizarea a eșuat",
"updateSuccess": "Setările au fost actualizate cu succes", "updateSuccess": "Setările au fost actualizate cu succes",
"userAgentLimit": "Restricție {userAgent}", "userAgentLimit": "Restricție {userAgent}",
"userAgentLimitDescription": "Activați restricțiile de acces bazate pe {userAgent}", "userAgentLimitDescription": "Activează restricții de acces bazate pe {userAgent}",
"userAgentList": "Lista albă {userAgent}", "userAgentList": "Listă albă {userAgent}",
"userAgentListDescription": "{userAgent} permise pentru accesul la abonament, câte unul pe linie. Aplicația configurată {userAgent} va fi inclusă automat", "userAgentListDescription": "Permise {userAgent} 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", "userAgentListPlaceholder": "Introdu {userAgent} permise, câte unul pe linie",
"wildcardResolution": "Rezolvare Wildcard", "wildcardResolution": "Rezolvare Wildcard",
"wildcardResolutionDescription": "Activează rezolvarea domeniului wildcard pentru abonamente" "wildcardResolutionDescription": "Activează rezolvarea domeniului wildcard pentru abonamente"
}, },
@ -43,13 +43,34 @@
"addTitle": "Adaugă Client", "addTitle": "Adaugă Client",
"descriptions": { "descriptions": {
"description": "Descriere detaliată a clientului", "description": "Descriere detaliată a clientului",
"downloadLink": "URL-ul de descărcare al platformei", "downloadLink": "URL descărcare platformă",
"icon": "URL-ul iconiței sau codificare base64", "icon": "URL iconiță sau codare base64",
"name": "Numele de afișare al clientului", "name": "Numele de afișare al clientului",
"outputFormat": "Formatul fișierului de configurare a abonamentului", "outputFormat": "Formatul fișierului de configurare a abonamentului",
"proxyTemplate": "Șablonul linkului de abonament, suportă variabile: ", "schema": {
"template": "Șablonul de configurare a abonamentului, suportă diverse variabile", "base64Encoding": "Codificare Base64",
"userAgentPrefix": "Identificatorul clientului pentru a distinge diferite clienți" "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", "editTitle": "Editează Client",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Iconiță", "icon": "Iconiță",
"name": "Nume", "name": "Nume",
"outputFormat": "Format de Ieșire", "outputFormat": "Format de Ieșire",
"proxyTemplate": "Link de Abonament", "schema": "Schema URL",
"template": "Șablon Config" "template": "Șablon Fișier Abonament"
}, },
"tabs": { "tabs": {
"basic": "Informații de Bază", "basic": "Informații de Bază",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Text Simplu", "plain": "Text Simplu",
"yaml": "YAML" "yaml": "YAML"

View File

@ -34,7 +34,7 @@
"userAgentLimit": "Ограничение {userAgent}", "userAgentLimit": "Ограничение {userAgent}",
"userAgentLimitDescription": "Включить ограничения доступа на основе {userAgent}", "userAgentLimitDescription": "Включить ограничения доступа на основе {userAgent}",
"userAgentList": "Белый список {userAgent}", "userAgentList": "Белый список {userAgent}",
"userAgentListDescription": "Разрешенные {userAgent} для доступа по подписке, по одному на строку. Настроенное приложение {userAgent} будет автоматически включено", "userAgentListDescription": "Разрешенные {userAgent} для доступа к подписке, по одному на строку. Настроенное приложение {userAgent} будет автоматически включено",
"userAgentListPlaceholder": "Введите разрешенные {userAgent}, по одному на строку", "userAgentListPlaceholder": "Введите разрешенные {userAgent}, по одному на строку",
"wildcardResolution": "Разрешение подстановочных знаков", "wildcardResolution": "Разрешение подстановочных знаков",
"wildcardResolutionDescription": "Включить разрешение доменов с подстановочными знаками для подписок" "wildcardResolutionDescription": "Включить разрешение доменов с подстановочными знаками для подписок"
@ -43,13 +43,34 @@
"addTitle": "Добавить клиента", "addTitle": "Добавить клиента",
"descriptions": { "descriptions": {
"description": "Подробное описание клиента", "description": "Подробное описание клиента",
"downloadLink": "URL загрузки платформы", "downloadLink": "URL для загрузки платформы",
"icon": "URL иконки или кодировка base64", "icon": "URL иконки или base64 кодировка",
"name": "Отображаемое имя клиента", "name": "Отображаемое имя клиента",
"outputFormat": "Формат файла конфигурации подписки", "outputFormat": "Формат файла конфигурации подписки",
"proxyTemplate": "Шаблон ссылки на подписку, поддерживает переменные: ", "schema": {
"template": "Шаблон конфигурации подписки, поддерживает различные переменные", "base64Encoding": "Base64 кодирование",
"userAgentPrefix": "Идентификатор клиента для различения различных клиентов" "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": "Редактировать клиента", "editTitle": "Редактировать клиента",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Иконка", "icon": "Иконка",
"name": "Имя", "name": "Имя",
"outputFormat": "Формат вывода", "outputFormat": "Формат вывода",
"proxyTemplate": "Ссылка на подписку", "schema": "URL-схема",
"template": "Шаблон конфигурации" "template": "Шаблон файла подписки"
}, },
"tabs": { "tabs": {
"basic": "Основная информация", "basic": "Основная информация",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Обычный текст", "plain": "Обычный текст",
"yaml": "YAML" "yaml": "YAML"

View File

@ -21,23 +21,23 @@
"config": { "config": {
"description": "จัดการการตั้งค่าระบบการสมัครสมาชิก", "description": "จัดการการตั้งค่าระบบการสมัครสมาชิก",
"singleSubscriptionMode": "โหมดการสมัครสมาชิกเดียว", "singleSubscriptionMode": "โหมดการสมัครสมาชิกเดียว",
"singleSubscriptionModeDescription": "จำกัดผู้ใช้ให้มีการสมัครสมาชิกที่ใช้งานอยู่เพียงหนึ่งรายการ การสมัครสมาชิกที่มีอยู่ไม่ถูกกระทบ", "singleSubscriptionModeDescription": "จำกัดผู้ใช้ให้มีการสมัครสมาชิกที่ใช้งานอยู่เพียงหนึ่งรายการ การสมัครสมาชิกที่มีอยู่จะไม่ถูกกระทบ",
"subscriptionDomain": "โดเมนการสมัครสมาชิก", "subscriptionDomain": "โดเมนการสมัครสมาชิก",
"subscriptionDomainDescription": "โดเมนที่กำหนดเองสำหรับลิงก์การสมัครสมาชิก", "subscriptionDomainDescription": "โดเมนที่กำหนดเองสำหรับลิงก์การสมัครสมาชิก",
"subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก หนึ่งรายการต่อบรรทัด", "subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก, หนึ่งต่อบรรทัด",
"subscriptionPath": "เส้นทางการสมัครสมาชิก", "subscriptionPath": "เส้นทางการสมัครสมาชิก",
"subscriptionPathDescription": "เส้นทางที่กำหนดเองสำหรับจุดสิ้นสุดการสมัครสมาชิก (ประสิทธิภาพดีขึ้นหลังจากรีสตาร์ทระบบ)", "subscriptionPathDescription": "เส้นทางที่กำหนดเองสำหรับจุดสิ้นสุดการสมัครสมาชิก (ประสิทธิภาพดีขึ้นหลังจากรีสตาร์ทระบบ)",
"subscriptionPathPlaceholder": "กรอกเส้นทางการสมัครสมาชิก", "subscriptionPathPlaceholder": "กรอกเส้นทางการสมัครสมาชิก",
"title": "การตั้งค่าการสมัครสมาชิก", "title": "การตั้งค่าการสมัครสมาชิก",
"updateError": "การอัปเดตไม่สำเร็จ", "updateError": "การอัปเดตไม่สำเร็จ",
"updateSuccess": "อัปเดตการตั้งค่าเรียบร้อยแล้ว", "updateSuccess": "การตั้งค่าอัปเดตเรียบร้อยแล้ว",
"userAgentLimit": "ข้อจำกัด {userAgent}", "userAgentLimit": "ข้อจำกัด {userAgent}",
"userAgentLimitDescription": "เปิดใช้งานข้อจำกัดการเข้าถึงตาม {userAgent}", "userAgentLimitDescription": "เปิดใช้งานข้อจำกัดการเข้าถึงตาม {userAgent}",
"userAgentList": "รายการอนุญาต {userAgent}", "userAgentList": "รายการอนุญาต {userAgent}",
"userAgentListDescription": "อนุญาต {userAgent} สำหรับการเข้าถึงการสมัครสมาชิก รายการละบรรทัด แอปพลิเคชันที่กำหนด {userAgent} จะถูกเพิ่มโดยอัตโนมัติ", "userAgentListDescription": "อนุญาต {userAgent} สำหรับการเข้าถึงการสมัครสมาชิก, หนึ่งต่อบรรทัด. แอปพลิเคชันที่กำหนด {userAgent} จะถูกเพิ่มโดยอัตโนมัติ",
"userAgentListPlaceholder": "กรอก {userAgent} ที่อนุญาต หนึ่งต่อบรรทัด", "userAgentListPlaceholder": "กรอก {userAgent} ที่อนุญาต, หนึ่งต่อบรรทัด",
"wildcardResolution": "การแก้ไข Wildcard", "wildcardResolution": "การแก้ไขไวลด์การ์ด",
"wildcardResolutionDescription": "เปิดใช้งานการแก้ไขโดเมน wildcard สำหรับการสมัครสมาชิก" "wildcardResolutionDescription": "เปิดใช้งานการแก้ไขโดเมนไวลด์การ์ดสำหรับการสมัครสมาชิก"
}, },
"form": { "form": {
"addTitle": "เพิ่มลูกค้า", "addTitle": "เพิ่มลูกค้า",
@ -47,9 +47,30 @@
"icon": "URL ของไอคอนหรือการเข้ารหัส base64", "icon": "URL ของไอคอนหรือการเข้ารหัส base64",
"name": "ชื่อที่แสดงของลูกค้า", "name": "ชื่อที่แสดงของลูกค้า",
"outputFormat": "รูปแบบไฟล์การกำหนดค่าการสมัครสมาชิก", "outputFormat": "รูปแบบไฟล์การกำหนดค่าการสมัครสมาชิก",
"proxyTemplate": "เทมเพลตลิงก์การสมัครสมาชิก รองรับตัวแปร: ", "schema": {
"template": "เทมเพลตการกำหนดค่าการสมัครสมาชิก รองรับตัวแปรต่างๆ", "base64Encoding": "การเข้ารหัส Base64",
"userAgentPrefix": "ตัวระบุของลูกค้าเพื่อแยกแยะลูกค้าที่แตกต่างกัน" "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": "แก้ไขลูกค้า", "editTitle": "แก้ไขลูกค้า",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "ไอคอน", "icon": "ไอคอน",
"name": "ชื่อ", "name": "ชื่อ",
"outputFormat": "รูปแบบผลลัพธ์", "outputFormat": "รูปแบบผลลัพธ์",
"proxyTemplate": "ลิงก์การสมัครสมาชิก", "schema": "สคีม่า URL",
"template": "เทมเพลตการกำหนดค่า" "template": "เทมเพลตไฟล์การสมัครสมาชิก"
}, },
"tabs": { "tabs": {
"basic": "ข้อมูลพื้นฐาน", "basic": "ข้อมูลพื้นฐาน",
@ -66,12 +87,13 @@
"template": "เทมเพลต" "template": "เทมเพลต"
}, },
"validation": { "validation": {
"nameRequired": "ชื่อของลูกค้าจำเป็นต้องระบุ", "nameRequired": "ต้องระบุชื่อของลูกค้า",
"userAgentRequiredSuffix": "จำเป็นต้องระบุ" "userAgentRequiredSuffix": "จำเป็นต้องระบุ"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "ข้อความธรรมดา", "plain": "ข้อความธรรมดา",
"yaml": "YAML" "yaml": "YAML"

View File

@ -2,7 +2,7 @@
"actions": { "actions": {
"add": "Ekle", "add": "Ekle",
"batchDelete": "Toplu Sil", "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?", "batchDeleteWarning": "Seçilen {count} müşteriyi silmek istediğinize emin misiniz?",
"cancel": "İptal", "cancel": "İptal",
"confirm": "Onayla", "confirm": "Onayla",
@ -32,10 +32,10 @@
"updateError": "Güncelleme başarısız", "updateError": "Güncelleme başarısız",
"updateSuccess": "Ayarlar başarıyla güncellendi", "updateSuccess": "Ayarlar başarıyla güncellendi",
"userAgentLimit": "{userAgent} Kısıtlaması", "userAgentLimit": "{userAgent} Kısıtlaması",
"userAgentLimitDescription": "{userAgent}'ye dayalı erişim kısıtlamalarını etkinleştir", "userAgentLimitDescription": "{userAgent} bazında erişim kısıtlamalarını etkinleştir",
"userAgentList": "{userAgent} Beyaz Liste", "userAgentList": "{userAgent} Beyaz Listesi",
"userAgentListDescription": "Abonelik erişimi için izin verilen {userAgent}, her biri bir satırda. Yapılandırılmış uygulama {userAgent} otomatik olarak dahil edilecektir", "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}'yi girin, her biri bir satırda", "userAgentListPlaceholder": "İzin verilen {userAgent} girin, her satıra bir tane",
"wildcardResolution": "Joker Karakter Çözümü", "wildcardResolution": "Joker Karakter Çözümü",
"wildcardResolutionDescription": "Abonelikler için joker alan çözümünü etkinleştir" "wildcardResolutionDescription": "Abonelikler için joker alan çözümünü etkinleştir"
}, },
@ -47,9 +47,30 @@
"icon": "Simge URL'si veya base64 kodlaması", "icon": "Simge URL'si veya base64 kodlaması",
"name": "Müşteri görüntüleme adı", "name": "Müşteri görüntüleme adı",
"outputFormat": "Abonelik yapılandırma dosyası formatı", "outputFormat": "Abonelik yapılandırma dosyası formatı",
"proxyTemplate": "Abonelik bağlantısı şablonu, değişkenleri destekler: ", "schema": {
"template": "Abonelik yapılandırma şablonu, çeşitli değişkenleri destekler", "base64Encoding": "Base64 kodlaması",
"userAgentPrefix": "Farklı istemcileri ayırt etmek için istemci tanımlayıcısı" "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", "editTitle": "Müşteri Düzenle",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Simge", "icon": "Simge",
"name": "İsim", "name": "İsim",
"outputFormat": ıktı Formatı", "outputFormat": ıktı Formatı",
"proxyTemplate": "Abonelik Bağlantısı", "schema": "URL Şeması",
"template": "Yapılandırma Şablonu" "template": "Abonelik Dosyası Şablonu"
}, },
"tabs": { "tabs": {
"basic": "Temel Bilgiler", "basic": "Temel Bilgiler",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Düz Metin", "plain": "Düz Metin",
"yaml": "YAML" "yaml": "YAML"
@ -85,7 +107,7 @@
"windows": "Windows" "windows": "Windows"
}, },
"protocol": { "protocol": {
"title": "İstemci Yönetimi" "title": "Müşteri Yönetimi"
}, },
"table": { "table": {
"columns": { "columns": {

View File

@ -33,9 +33,9 @@
"updateSuccess": "Налаштування успішно оновлено", "updateSuccess": "Налаштування успішно оновлено",
"userAgentLimit": "Обмеження {userAgent}", "userAgentLimit": "Обмеження {userAgent}",
"userAgentLimitDescription": "Увімкнути обмеження доступу на основі {userAgent}", "userAgentLimitDescription": "Увімкнути обмеження доступу на основі {userAgent}",
"userAgentList": "Список дозволених {userAgent}", "userAgentList": "Білий список {userAgent}",
"userAgentListDescription": "Дозволені {userAgent} для доступу до підписки, по одному на рядок. Налаштований додаток {userAgent} буде автоматично включено", "userAgentListDescription": "Дозволені {userAgent} для доступу до підписки, по одному в рядку. Налаштована програма {userAgent} буде автоматично включена",
"userAgentListPlaceholder": "Введіть дозволені {userAgent}, по одному на рядок", "userAgentListPlaceholder": "Введіть дозволені {userAgent}, по одному в рядку",
"wildcardResolution": "Розв'язання підстановочних знаків", "wildcardResolution": "Розв'язання підстановочних знаків",
"wildcardResolutionDescription": "Увімкнути розв'язання доменів з підстановочними знаками для підписок" "wildcardResolutionDescription": "Увімкнути розв'язання доменів з підстановочними знаками для підписок"
}, },
@ -44,11 +44,32 @@
"descriptions": { "descriptions": {
"description": "Детальний опис клієнта", "description": "Детальний опис клієнта",
"downloadLink": "URL для завантаження платформи", "downloadLink": "URL для завантаження платформи",
"icon": "URL іконки або кодування base64", "icon": "URL іконки або base64 кодування",
"name": "Відображуване ім'я клієнта", "name": "Відображуване ім'я клієнта",
"outputFormat": "Формат файлу конфігурації підписки", "outputFormat": "Формат файлу конфігурації підписки",
"proxyTemplate": "Шаблон посилання на підписку, підтримує змінні: ", "schema": {
"template": "Шаблон конфігурації підписки, підтримує різні змінні", "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": "Ідентифікатор клієнта для розрізнення різних клієнтів" "userAgentPrefix": "Ідентифікатор клієнта для розрізнення різних клієнтів"
}, },
"editTitle": "Редагувати клієнта", "editTitle": "Редагувати клієнта",
@ -57,8 +78,8 @@
"icon": "Іконка", "icon": "Іконка",
"name": "Ім'я", "name": "Ім'я",
"outputFormat": "Формат виходу", "outputFormat": "Формат виходу",
"proxyTemplate": "Посилання на підписку", "schema": "URL-схема",
"template": "Шаблон конфігурації" "template": "Шаблон файлу підписки"
}, },
"tabs": { "tabs": {
"basic": "Основна інформація", "basic": "Основна інформація",
@ -66,12 +87,13 @@
"template": "Шаблони" "template": "Шаблони"
}, },
"validation": { "validation": {
"nameRequired": "Ім'я клієнта є обов'язковим", "nameRequired": "Ім'я клієнта обов'язкове",
"userAgentRequiredSuffix": "є обов'язковим" "userAgentRequiredSuffix": "обов'язкове"
} }
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Текстовий формат", "plain": "Текстовий формат",
"yaml": "YAML" "yaml": "YAML"

View File

@ -31,13 +31,13 @@
"title": "Cấu hình Đăng ký", "title": "Cấu hình Đăng ký",
"updateError": "Cập nhật không thành công", "updateError": "Cập nhật không thành công",
"updateSuccess": "Cài đặt đã được cập nhật thành công", "updateSuccess": "Cài đặt đã được cập nhật thành công",
"userAgentLimit": "Giới hạn {userAgent}", "userAgentLimit": "Hạn chế {userAgent}",
"userAgentLimitDescription": "Bật hạn chế truy cập dựa trên {userAgent}", "userAgentLimitDescription": "Kích hoạt hạn chế truy cập dựa trên {userAgent}",
"userAgentList": "Danh sách trắng {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", "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 cái một dòng", "userAgentListPlaceholder": "Nhập {userAgent} được phép, mỗi dòng một",
"wildcardResolution": "Giải quyết Wildcard", "wildcardResolution": "Giải quyết ký tự đại diện",
"wildcardResolutionDescription": "Kích hoạt giải quyết miền wildcard cho các đăng ký" "wildcardResolutionDescription": "Kích hoạt giải quyết miền ký tự đại diện cho các đăng ký"
}, },
"form": { "form": {
"addTitle": "Thêm Khách hàng", "addTitle": "Thêm Khách hàng",
@ -47,9 +47,30 @@
"icon": "URL biểu tượng hoặc mã hóa base64", "icon": "URL biểu tượng hoặc mã hóa base64",
"name": "Tên hiển thị của khách hàng", "name": "Tên hiển thị của khách hàng",
"outputFormat": "Định dạng tệp cấu hình đăng ký", "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: ", "schema": {
"template": "Mẫu cấu hình đăng ký, hỗ trợ nhiều biến khác nhau", "base64Encoding": "Mã hóa Base64",
"userAgentPrefix": "Định danh khách hàng để phân biệt các khách hàng khác nhau." "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", "editTitle": "Chỉnh sửa Khách hàng",
"fields": { "fields": {
@ -57,8 +78,8 @@
"icon": "Biểu tượng", "icon": "Biểu tượng",
"name": "Tên", "name": "Tên",
"outputFormat": "Định dạng Đầu ra", "outputFormat": "Định dạng Đầu ra",
"proxyTemplate": "Liên kết Đăng ký", "schema": "Mô hình URL",
"template": "Mẫu Cấu hình" "template": "Mẫu Tệp Đăng ký"
}, },
"tabs": { "tabs": {
"basic": "Thông tin Cơ bản", "basic": "Thông tin Cơ bản",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "Văn bản thuần", "plain": "Văn bản thuần",
"yaml": "YAML" "yaml": "YAML"

View File

@ -47,8 +47,29 @@
"icon": "图标 URL 或 base64 编码", "icon": "图标 URL 或 base64 编码",
"name": "客户端显示名称", "name": "客户端显示名称",
"outputFormat": "订阅配置文件格式", "outputFormat": "订阅配置文件格式",
"schema": "URL Schema 模板,支持变量:'{url}' 订阅地址,'{name}' 站点名称", "schema": {
"template": "订阅文件模板,支持各种变量", "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": "用于区分不同客户端的客户端标识符" "userAgentPrefix": "用于区分不同客户端的客户端标识符"
}, },
"editTitle": "编辑客户端", "editTitle": "编辑客户端",

View File

@ -21,7 +21,7 @@
"config": { "config": {
"description": "管理訂閱系統設置", "description": "管理訂閱系統設置",
"singleSubscriptionMode": "單一訂閱模式", "singleSubscriptionMode": "單一訂閱模式",
"singleSubscriptionModeDescription": "限制用戶只能有一個有效的訂閱。現有訂閱不受影響", "singleSubscriptionModeDescription": "限制用戶只能有一個有效的訂閱。現有訂閱不受影響",
"subscriptionDomain": "訂閱域名", "subscriptionDomain": "訂閱域名",
"subscriptionDomainDescription": "訂閱鏈接的自定義域名", "subscriptionDomainDescription": "訂閱鏈接的自定義域名",
"subscriptionDomainPlaceholder": "輸入訂閱域名,每行一個", "subscriptionDomainPlaceholder": "輸入訂閱域名,每行一個",
@ -34,7 +34,7 @@
"userAgentLimit": "{userAgent} 限制", "userAgentLimit": "{userAgent} 限制",
"userAgentLimitDescription": "根據 {userAgent} 啟用訪問限制", "userAgentLimitDescription": "根據 {userAgent} 啟用訪問限制",
"userAgentList": "{userAgent} 白名單", "userAgentList": "{userAgent} 白名單",
"userAgentListDescription": "允許的 {userAgent} 用於訂閱訪問,每行一個。配置的應用程序 {userAgent} 將自動包含", "userAgentListDescription": "允許的 {userAgent} 用於訂閱訪問,每行一個。配置的應用 {userAgent} 將自動包含",
"userAgentListPlaceholder": "輸入允許的 {userAgent},每行一個", "userAgentListPlaceholder": "輸入允許的 {userAgent},每行一個",
"wildcardResolution": "通配符解析", "wildcardResolution": "通配符解析",
"wildcardResolutionDescription": "啟用訂閱的通配符域名解析" "wildcardResolutionDescription": "啟用訂閱的通配符域名解析"
@ -47,8 +47,29 @@
"icon": "圖標 URL 或 base64 編碼", "icon": "圖標 URL 或 base64 編碼",
"name": "客戶端顯示名稱", "name": "客戶端顯示名稱",
"outputFormat": "訂閱配置文件格式", "outputFormat": "訂閱配置文件格式",
"proxyTemplate": "訂閱鏈接模板,支持變量:", "schema": {
"template": "訂閱配置模板,支持各種變量", "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": "用於區分不同客戶端的客戶端標識符" "userAgentPrefix": "用於區分不同客戶端的客戶端標識符"
}, },
"editTitle": "編輯客戶端", "editTitle": "編輯客戶端",
@ -57,8 +78,8 @@
"icon": "圖標", "icon": "圖標",
"name": "名稱", "name": "名稱",
"outputFormat": "輸出格式", "outputFormat": "輸出格式",
"proxyTemplate": "訂閱鏈接", "schema": "URL 模式",
"template": "配置模板" "template": "訂閱文件模板"
}, },
"tabs": { "tabs": {
"basic": "基本信息", "basic": "基本信息",
@ -72,6 +93,7 @@
}, },
"outputFormats": { "outputFormats": {
"base64": "Base64", "base64": "Base64",
"conf": "CONF",
"json": "JSON", "json": "JSON",
"plain": "純文本", "plain": "純文本",
"yaml": "YAML" "yaml": "YAML"

View File

@ -1,5 +1,5 @@
// @ts-ignore // @ts-ignore
/* eslint-disable */
import request from '@/utils/request'; import request from '@/utils/request';
/** Get Ads GET /v1/common/ads */ /** 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<API.Response & { data?: API.GetSubscribeApplicationListResponse }>(
'/v1/common/client',
{
method: 'GET',
...(options || {}),
},
);
}
/** Get verification code POST /v1/common/send_code */ /** Get verification code POST /v1/common/send_code */
export async function sendEmailCode(body: API.SendCodeRequest, options?: { [key: string]: any }) { export async function sendEmailCode(body: API.SendCodeRequest, options?: { [key: string]: any }) {
return request<API.Response & { data?: API.SendCodeResponse }>('/v1/common/send_code', { return request<API.Response & { data?: API.SendCodeResponse }>('/v1/common/send_code', {

View File

@ -213,6 +213,15 @@ declare namespace API {
updated_at: number; updated_at: number;
}; };
type DownloadLink = {
ios?: string;
android?: string;
windows?: string;
mac?: string;
linux?: string;
harmony?: string;
};
type EmailAuthticateConfig = { type EmailAuthticateConfig = {
enable: boolean; enable: boolean;
enable_verify: boolean; enable_verify: boolean;
@ -284,6 +293,11 @@ declare namespace API {
protocol: string[]; protocol: string[];
}; };
type GetSubscribeApplicationListResponse = {
total: number;
list: SubscribeApplication[];
};
type GetTosResponse = { type GetTosResponse = {
tos_content: string; tos_content: string;
}; };
@ -765,6 +779,22 @@ declare namespace API {
updated_at: number; 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 = { type SubscribeConfig = {
single_model: boolean; single_model: boolean;
subscribe_path: string; subscribe_path: string;

View File

@ -1,5 +1,5 @@
// @ts-ignore // @ts-ignore
/* eslint-disable */
import request from '@/utils/request'; import request from '@/utils/request';
/** Get Ads GET /v1/common/ads */ /** 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<API.Response & { data?: API.GetSubscribeApplicationListResponse }>(
'/v1/common/client',
{
method: 'GET',
...(options || {}),
},
);
}
/** Get verification code POST /v1/common/send_code */ /** Get verification code POST /v1/common/send_code */
export async function sendEmailCode(body: API.SendCodeRequest, options?: { [key: string]: any }) { export async function sendEmailCode(body: API.SendCodeRequest, options?: { [key: string]: any }) {
return request<API.Response & { data?: API.SendCodeResponse }>('/v1/common/send_code', { return request<API.Response & { data?: API.SendCodeResponse }>('/v1/common/send_code', {

View File

@ -213,6 +213,15 @@ declare namespace API {
updated_at: number; updated_at: number;
}; };
type DownloadLink = {
ios?: string;
android?: string;
windows?: string;
mac?: string;
linux?: string;
harmony?: string;
};
type EmailAuthticateConfig = { type EmailAuthticateConfig = {
enable: boolean; enable: boolean;
enable_verify: boolean; enable_verify: boolean;
@ -284,6 +293,11 @@ declare namespace API {
protocol: string[]; protocol: string[];
}; };
type GetSubscribeApplicationListResponse = {
total: number;
list: SubscribeApplication[];
};
type GetTosResponse = { type GetTosResponse = {
tos_content: string; tos_content: string;
}; };
@ -769,6 +783,22 @@ declare namespace API {
updated_at: number; 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 = { type SubscribeConfig = {
single_model: boolean; single_model: boolean;
subscribe_path: string; subscribe_path: string;

View File

@ -214,6 +214,15 @@ declare namespace API {
updated_at: number; updated_at: number;
}; };
type DownloadLink = {
ios?: string;
android?: string;
windows?: string;
mac?: string;
linux?: string;
harmony?: string;
};
type EmailAuthticateConfig = { type EmailAuthticateConfig = {
enable: boolean; enable: boolean;
enable_verify: boolean; enable_verify: boolean;
@ -266,6 +275,11 @@ declare namespace API {
methods: UserAuthMethod[]; methods: UserAuthMethod[];
}; };
type GetSubscribeApplicationListResponse = {
total: number;
list: SubscribeApplication[];
};
type GetSubscribeLogParams = { type GetSubscribeLogParams = {
page: number; page: number;
size: number; size: number;
@ -863,6 +877,22 @@ declare namespace API {
updated_at: number; 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 = { type SubscribeConfig = {
single_model: boolean; single_model: boolean;
subscribe_path: string; subscribe_path: string;