From a4e9d5da5910d4cd260aded04cec653d523cbfd9 Mon Sep 17 00:00:00 2001 From: "web@ppanel" Date: Wed, 8 Jan 2025 23:13:32 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(locales):=20Replace=20'nodeGro?= =?UTF-8?q?upId'=20with=20'groupId'=20in=20multiple=20language=20files=20f?= =?UTF-8?q?or=20consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/app/dashboard/server/node-form.tsx | 5 +- .../admin/app/dashboard/server/node-table.tsx | 2 +- .../dashboard/subscribe/subscribe-form.tsx | 4 +- apps/admin/app/dashboard/user/page.tsx | 20 +++- apps/admin/app/dashboard/user/user-detail.tsx | 19 +++- apps/admin/app/dashboard/user/user-form.tsx | 57 ++++++++++- apps/admin/components/display.tsx | 10 +- apps/admin/locales/cs-CZ/server.json | 2 +- apps/admin/locales/cs-CZ/subscribe.json | 6 +- apps/admin/locales/cs-CZ/user.json | 7 ++ apps/admin/locales/de-DE/server.json | 2 +- apps/admin/locales/de-DE/subscribe.json | 6 +- apps/admin/locales/de-DE/user.json | 7 ++ apps/admin/locales/en-US/server.json | 2 +- apps/admin/locales/en-US/subscribe.json | 6 +- apps/admin/locales/en-US/user.json | 7 ++ apps/admin/locales/es-ES/server.json | 2 +- apps/admin/locales/es-ES/subscribe.json | 6 +- apps/admin/locales/es-ES/user.json | 7 ++ apps/admin/locales/es-MX/server.json | 2 +- apps/admin/locales/es-MX/subscribe.json | 6 +- apps/admin/locales/es-MX/user.json | 7 ++ apps/admin/locales/fa-IR/server.json | 2 +- apps/admin/locales/fa-IR/subscribe.json | 4 +- apps/admin/locales/fa-IR/user.json | 7 ++ apps/admin/locales/fi-FI/server.json | 2 +- apps/admin/locales/fi-FI/subscribe.json | 6 +- apps/admin/locales/fi-FI/user.json | 7 ++ apps/admin/locales/fr-FR/server.json | 2 +- apps/admin/locales/fr-FR/subscribe.json | 6 +- apps/admin/locales/fr-FR/user.json | 7 ++ apps/admin/locales/hi-IN/server.json | 2 +- apps/admin/locales/hi-IN/subscribe.json | 6 +- apps/admin/locales/hi-IN/user.json | 7 ++ apps/admin/locales/hu-HU/server.json | 2 +- apps/admin/locales/hu-HU/subscribe.json | 6 +- apps/admin/locales/hu-HU/user.json | 7 ++ apps/admin/locales/ja-JP/server.json | 2 +- apps/admin/locales/ja-JP/subscribe.json | 6 +- apps/admin/locales/ja-JP/user.json | 7 ++ apps/admin/locales/ko-KR/server.json | 2 +- apps/admin/locales/ko-KR/subscribe.json | 6 +- apps/admin/locales/ko-KR/user.json | 7 ++ apps/admin/locales/no-NO/server.json | 2 +- apps/admin/locales/no-NO/subscribe.json | 6 +- apps/admin/locales/no-NO/user.json | 7 ++ apps/admin/locales/pl-PL/server.json | 2 +- apps/admin/locales/pl-PL/subscribe.json | 6 +- apps/admin/locales/pl-PL/user.json | 7 ++ apps/admin/locales/pt-BR/server.json | 2 +- apps/admin/locales/pt-BR/subscribe.json | 6 +- apps/admin/locales/pt-BR/user.json | 7 ++ apps/admin/locales/ro-RO/server.json | 2 +- apps/admin/locales/ro-RO/subscribe.json | 6 +- apps/admin/locales/ro-RO/user.json | 7 ++ apps/admin/locales/ru-RU/server.json | 2 +- apps/admin/locales/ru-RU/subscribe.json | 6 +- apps/admin/locales/ru-RU/user.json | 7 ++ apps/admin/locales/th-TH/server.json | 2 +- apps/admin/locales/th-TH/subscribe.json | 6 +- apps/admin/locales/th-TH/user.json | 7 ++ apps/admin/locales/tr-TR/server.json | 2 +- apps/admin/locales/tr-TR/subscribe.json | 6 +- apps/admin/locales/tr-TR/user.json | 7 ++ apps/admin/locales/uk-UA/server.json | 2 +- apps/admin/locales/uk-UA/subscribe.json | 6 +- apps/admin/locales/uk-UA/user.json | 7 ++ apps/admin/locales/vi-VN/server.json | 2 +- apps/admin/locales/vi-VN/subscribe.json | 6 +- apps/admin/locales/vi-VN/user.json | 7 ++ apps/admin/locales/zh-CN/server.json | 2 +- apps/admin/locales/zh-CN/subscribe.json | 6 +- apps/admin/locales/zh-CN/user.json | 7 ++ apps/admin/locales/zh-HK/server.json | 2 +- apps/admin/locales/zh-HK/subscribe.json | 6 +- apps/admin/locales/zh-HK/user.json | 7 ++ .../app/(main)/(user)/dashboard/content.tsx | 95 ++++++++++--------- apps/user/components/display.tsx | 10 +- apps/user/components/subscribe/detail.tsx | 7 +- 79 files changed, 413 insertions(+), 159 deletions(-) diff --git a/apps/admin/app/dashboard/server/node-form.tsx b/apps/admin/app/dashboard/server/node-form.tsx index f1c75f7..5d9fec1 100644 --- a/apps/admin/app/dashboard/server/node-form.tsx +++ b/apps/admin/app/dashboard/server/node-form.tsx @@ -139,7 +139,7 @@ export default function NodeForm({ name='group_id' render={({ field }) => ( - {t('form.nodeGroupId')} + {t('form.groupId')} placeholder={t('form.selectNodeGroup')} @@ -148,6 +148,9 @@ export default function NodeForm({ value: item.id, label: item.name, }))} + onChange={(value) => { + form.setValue(field.name, value || 0); + }} /> diff --git a/apps/admin/app/dashboard/server/node-table.tsx b/apps/admin/app/dashboard/server/node-table.tsx index e92e3ce..fc5c3ff 100644 --- a/apps/admin/app/dashboard/server/node-table.tsx +++ b/apps/admin/app/dashboard/server/node-table.tsx @@ -135,7 +135,7 @@ export default function NodeTable() { accessorKey: 'speed_limit', header: t('speedLimit'), cell: ({ row }) => ( - + ), }, { diff --git a/apps/admin/app/dashboard/subscribe/subscribe-form.tsx b/apps/admin/app/dashboard/subscribe/subscribe-form.tsx index ad1e5f8..3e1fbd2 100644 --- a/apps/admin/app/dashboard/subscribe/subscribe-form.tsx +++ b/apps/admin/app/dashboard/subscribe/subscribe-form.tsx @@ -219,13 +219,13 @@ export default function SubscribeForm>({ name='group_id' render={({ field }) => ( - {t('form.subscribeGroup')} + {t('form.groupId')} placeholder={t('form.selectSubscribeGroup')} {...field} onChange={(value) => { - form.setValue(field.name, value); + form.setValue(field.name, value || 0); }} options={group?.map((item) => ({ label: item.name, diff --git a/apps/admin/app/dashboard/user/page.tsx b/apps/admin/app/dashboard/user/page.tsx index 26d135e..aac7a51 100644 --- a/apps/admin/app/dashboard/user/page.tsx +++ b/apps/admin/app/dashboard/user/page.tsx @@ -1,11 +1,12 @@ 'use client'; +import { Display } from '@/components/display'; import { ProTable, ProTableActions } from '@/components/pro-table'; import { createUser, deleteUser, getUserList, updateUser } from '@/services/admin/user'; import { Button } from '@workspace/ui/components/button'; import { Switch } from '@workspace/ui/components/switch'; import { ConfirmButton } from '@workspace/ui/custom-components/confirm-button'; -import { formatDate, unitConversion } from '@workspace/ui/utils'; +import { formatDate } from '@workspace/ui/utils'; import { useTranslations } from 'next-intl'; import { useRef, useState } from 'react'; import { toast } from 'sonner'; @@ -77,7 +78,22 @@ export default function Page() { { accessorKey: 'balance', header: t('balance'), - cell: ({ row }) => unitConversion('centsToDollars', row.getValue('balance')), + cell: ({ row }) => , + }, + { + accessorKey: 'gift_amount', + header: t('giftAmount'), + cell: ({ row }) => , + }, + { + accessorKey: 'commission', + header: t('commission'), + cell: ({ row }) => , + }, + { + accessorKey: 'refer_code', + header: t('inviteCode'), + cell: ({ row }) => row.getValue('refer_code') || '--', }, { accessorKey: 'referer_id', diff --git a/apps/admin/app/dashboard/user/user-detail.tsx b/apps/admin/app/dashboard/user/user-detail.tsx index bfd3c56..6c56764 100644 --- a/apps/admin/app/dashboard/user/user-detail.tsx +++ b/apps/admin/app/dashboard/user/user-detail.tsx @@ -1,10 +1,11 @@ 'use client'; +import { Display } from '@/components/display'; import { getUserDetail } from '@/services/admin/user'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; import { HoverCard, HoverCardContent, HoverCardTrigger } from '@workspace/ui/components/hover-card'; -import { formatDate, unitConversion } from '@workspace/ui/utils'; +import { formatDate } from '@workspace/ui/utils'; import { useTranslations } from 'next-intl'; import { useState } from 'react'; @@ -43,7 +44,21 @@ export function UserDetail({ id }: { id: number }) {
  • {t('balance')} - {unitConversion('centsToDollars', data?.balance)} + + + +
  • +
  • + {t('giftAmount')} + + + +
  • +
  • + {t('commission')} + + +
  • {t('createdAt')} diff --git a/apps/admin/app/dashboard/user/user-form.tsx b/apps/admin/app/dashboard/user/user-form.tsx index 3e96c87..20ed829 100644 --- a/apps/admin/app/dashboard/user/user-form.tsx +++ b/apps/admin/app/dashboard/user/user-form.tsx @@ -1,5 +1,6 @@ 'use client'; +import useGlobalStore from '@/config/use-global'; import { zodResolver } from '@hookform/resolvers/zod'; import { Icon } from '@iconify/react'; import { Button } from '@workspace/ui/components/button'; @@ -43,8 +44,10 @@ export default function UserForm>({ loading, trigger, title, -}: UserFormProps) { +}: Readonly>) { const t = useTranslations('user'); + const { common } = useGlobalStore(); + const { currency } = common; const [open, setOpen] = useState(false); const formSchema = z.object({ @@ -54,6 +57,8 @@ export default function UserForm>({ refer_code: z.string().optional(), is_admin: z.boolean().optional(), balance: z.number().optional(), + gift_amount: z.number().optional(), + commission: z.number().optional(), }); const form = useForm({ resolver: zodResolver(formSchema), @@ -176,7 +181,7 @@ export default function UserForm>({ {t('form.balance')} >({ )} /> + ( + + {t('form.giftAmount')} + + unitConversion('centsToDollars', value)} + formatOutput={(value) => unitConversion('dollarsToCents', value)} + onValueChange={(value) => { + form.setValue(field.name, value); + }} + min={0} + /> + + + + )} + /> + ( + + {t('form.commission')} + + unitConversion('centsToDollars', value)} + formatOutput={(value) => unitConversion('dollarsToCents', value)} + onValueChange={(value) => { + form.setValue(field.name, value); + }} + min={0} + /> + + + + )} + /> { value?: T; @@ -26,12 +26,16 @@ export function Display({ return formattedValue; } - if (['traffic', 'number'].includes(type) && unlimited && !value) { + if (['traffic', 'trafficSpeed', 'number'].includes(type) && unlimited && !value) { return t('unlimited'); } if (type === 'traffic') { - return value ? formatBytes(value as number) : '0'; + return value ? formatBytes(value) : '0'; + } + + if (type === 'trafficSpeed') { + return value ? formatBytes(value).replace('B', 'b') + 'ps' : '0'; } if (type === 'number') { diff --git a/apps/admin/locales/cs-CZ/server.json b/apps/admin/locales/cs-CZ/server.json index cf53b46..b3111c6 100644 --- a/apps/admin/locales/cs-CZ/server.json +++ b/apps/admin/locales/cs-CZ/server.json @@ -52,11 +52,11 @@ "enableTLS": "Povolit TLS", "encryptionMethod": "Metoda šifrování", "flow": "Algoritmus řízení toku", + "groupId": "Skupina uzlů", "hopInterval": "Interval skoků", "hopPorts": "Porty skoků", "hopPortsPlaceholder": "Více portů oddělených čárkou", "name": "Název", - "nodeGroupId": "ID skupiny uzlů", "obfsPassword": "Heslo pro zmatení", "obfsPasswordPlaceholder": "Nechte prázdné, pokud nechcete zmást", "path": "Cesta", diff --git a/apps/admin/locales/cs-CZ/subscribe.json b/apps/admin/locales/cs-CZ/subscribe.json index 91737c9..af7a213 100644 --- a/apps/admin/locales/cs-CZ/subscribe.json +++ b/apps/admin/locales/cs-CZ/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Procento slevy", "discount_price": "Cena po slevě", "duration": "Doba trvání (měsíce)", + "groupId": "Skupina předplatného", "inventory": "Sklad", "monthlyReset": "Měsíční Reset", "name": "Název", @@ -42,7 +43,7 @@ "noReset": "Žádný Reset", "pricing": "Cenotvorba", "purchaseWithDiscount": "Povolit Odpočet", - "purchaseWithDiscountDescription": "Povolit nebo zakázat funkci odpočtu. Když je povolena, systém zpracovává odpočty na základě nakonfigurovaných pravidel a poměrů", + "purchaseWithDiscountDescription": "Povolit nebo zakázat funkci odhlášení. Po aktivaci systém provede zpracování odpočtu podle nakonfigurovaných pravidel a poměrů a zbývající hodnota bude vrácena na zůstatek.", "quota": "Limit nákupu", "renewalReset": "Reset při Obnovení", "renewalResetDescription": "Resetovací cyklus při obnovení", @@ -55,8 +56,7 @@ "server": "Server", "serverGroup": "Skupina serverů", "servers": "Servery", - "speedLimit": "Omezení rychlosti (Mbps)", - "subscribeGroup": "Skupina předplatného", + "speedLimit": "Omezení rychlosti ", "traffic": "Přenos dat", "unitPrice": "Jednotková cena", "unitTime": "Jednotka času" diff --git a/apps/admin/locales/cs-CZ/user.json b/apps/admin/locales/cs-CZ/user.json index 64fdb34..826a404 100644 --- a/apps/admin/locales/cs-CZ/user.json +++ b/apps/admin/locales/cs-CZ/user.json @@ -2,6 +2,7 @@ "actions": "akce", "balance": "Zůstatek", "cancel": "zrušit", + "commission": "Provize", "confirm": "Potvrdit", "confirmDelete": "Opravdu chcete smazat?", "create": "Vytvořit", @@ -19,7 +20,11 @@ "balance": "Zůstatek", "balancePlaceholder": "Zůstatek", "cancel": "Zrušit", + "commission": "Provize", + "commissionPlaceholder": "Zadejte provizi", "confirm": "Potvrdit", + "giftAmount": "Částka daru", + "giftAmountPlaceholder": "Zadejte částku daru", "invalidEmailFormat": "Neplatný formát e-mailu", "inviteCode": "Pozvánkový kód", "inviteCodePlaceholder": "Zadejte pozvánkový kód (ponechte prázdné pro automatické generování)", @@ -31,6 +36,8 @@ "userEmail": "E-mail uživatele", "userEmailPlaceholder": "Zadejte e-mail uživatele" }, + "giftAmount": "Částka dárku", + "inviteCode": "Pozvánkový kód", "referer": "Doporučitel", "updateSuccess": "Aktualizace byla úspěšná", "userList": "Seznam uživatelů", diff --git a/apps/admin/locales/de-DE/server.json b/apps/admin/locales/de-DE/server.json index 94b9f66..624dae8 100644 --- a/apps/admin/locales/de-DE/server.json +++ b/apps/admin/locales/de-DE/server.json @@ -52,11 +52,11 @@ "enableTLS": "TLS aktivieren", "encryptionMethod": "Verschlüsselungsmethode", "flow": "Flusskontrollalgorithmus", + "groupId": "Knotengruppe", "hopInterval": "Sprungintervall", "hopPorts": "Sprungports", "hopPortsPlaceholder": "Mehrere Ports durch Kommas trennen", "name": "Name", - "nodeGroupId": "Knotengruppen-ID", "obfsPassword": "Verschleierungspasswort", "obfsPasswordPlaceholder": "Leer lassen für keine Verschleierung", "path": "Pfad", diff --git a/apps/admin/locales/de-DE/subscribe.json b/apps/admin/locales/de-DE/subscribe.json index 01743e7..bf55621 100644 --- a/apps/admin/locales/de-DE/subscribe.json +++ b/apps/admin/locales/de-DE/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Rabattprozentsatz", "discount_price": "Rabattpreis", "duration": "Dauer (Monate)", + "groupId": "Abonnementgruppe", "inventory": "Bestand", "monthlyReset": "Monatliches Zurücksetzen", "name": "Name", @@ -42,7 +43,7 @@ "noReset": "Kein Zurücksetzen", "pricing": "Preisgestaltung", "purchaseWithDiscount": "Abzug erlauben", - "purchaseWithDiscountDescription": "Aktivieren oder deaktivieren Sie die Abzugsfunktion. Wenn aktiviert, verarbeitet das System Abzüge basierend auf den konfigurierten Regeln und Verhältnissen.", + "purchaseWithDiscountDescription": "Aktivieren oder deaktivieren Sie die Abmeldefunktion. Nach der Aktivierung führt das System die Abzugsverarbeitung gemäß den konfigurierten Regeln und Anteilen durch, und der verbleibende Wert wird dem Guthaben gutgeschrieben.", "quota": "Kaufbeschränkung", "renewalReset": "Zurücksetzen bei Erneuerung", "renewalResetDescription": "Zurücksetzungszyklus bei Erneuerung", @@ -55,8 +56,7 @@ "server": "Dienst", "serverGroup": "Dienstgruppe", "servers": "Server", - "speedLimit": "Geschwindigkeitsbegrenzung (Mbps)", - "subscribeGroup": "Abonnementgruppe", + "speedLimit": "Geschwindigkeitsbegrenzung ", "traffic": "Datenvolumen", "unitPrice": "Einheitspreis", "unitTime": "Zeiteinheit" diff --git a/apps/admin/locales/de-DE/user.json b/apps/admin/locales/de-DE/user.json index 584be3e..90e20ba 100644 --- a/apps/admin/locales/de-DE/user.json +++ b/apps/admin/locales/de-DE/user.json @@ -2,6 +2,7 @@ "actions": "Aktionen", "balance": "Kontostand", "cancel": "Abbrechen", + "commission": "Provision", "confirm": "Bestätigen", "confirmDelete": "Sind Sie sicher, dass Sie löschen möchten?", "create": "Erstellen", @@ -19,7 +20,11 @@ "balance": "Kontostand", "balancePlaceholder": "Kontostand", "cancel": "Abbrechen", + "commission": "Provision", + "commissionPlaceholder": "Geben Sie die Provision ein", "confirm": "Bestätigen", + "giftAmount": "Geschenkbetrag", + "giftAmountPlaceholder": "Geben Sie den Geschenkbetrag ein", "invalidEmailFormat": "Ungültiges E-Mail-Format", "inviteCode": "Einladungscode", "inviteCodePlaceholder": "Bitte Einladungscode eingeben (leer lassen für automatische Generierung)", @@ -31,6 +36,8 @@ "userEmail": "Benutzer-E-Mail", "userEmailPlaceholder": "Bitte Benutzer-E-Mail eingeben" }, + "giftAmount": "Geschenkbetrag", + "inviteCode": "Einladungscode", "referer": "Empfehler", "updateSuccess": "Aktualisierung erfolgreich", "userList": "Benutzerliste", diff --git a/apps/admin/locales/en-US/server.json b/apps/admin/locales/en-US/server.json index 7f00a0d..3a976f6 100644 --- a/apps/admin/locales/en-US/server.json +++ b/apps/admin/locales/en-US/server.json @@ -52,11 +52,11 @@ "enableTLS": "Enable TLS", "encryptionMethod": "Encryption Method", "flow": "Flow Control Algorithm", + "groupId": "Node Group", "hopInterval": "Hop Interval", "hopPorts": "Hop Ports", "hopPortsPlaceholder": "Separate multiple ports with commas", "name": "Name", - "nodeGroupId": "Node Group ID", "obfsPassword": "Obfuscation Password", "obfsPasswordPlaceholder": "Leave blank for no obfuscation", "path": "Path", diff --git a/apps/admin/locales/en-US/subscribe.json b/apps/admin/locales/en-US/subscribe.json index c79febe..5e1d45d 100644 --- a/apps/admin/locales/en-US/subscribe.json +++ b/apps/admin/locales/en-US/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Discount Percentage", "discount_price": "Discount Price", "duration": "Duration (months)", + "groupId": "Subscription Group", "inventory": "Inventory", "monthlyReset": "Monthly Reset", "name": "Name", @@ -42,7 +43,7 @@ "noReset": "No Reset", "pricing": "Pricing", "purchaseWithDiscount": "Allow Deduction", - "purchaseWithDiscountDescription": "Enable or disable the deduction feature. When enabled, the system will process deductions based on the configured rules and ratios", + "purchaseWithDiscountDescription": "Enable or disable unsubscribe functionality. After activation, the system will perform deduction processing according to the configured rules and proportions, and the remaining value will be returned to the balance", "quota": "Purchase Limit", "renewalReset": "Renewal Reset", "renewalResetDescription": "Reset cycle upon renewal", @@ -55,8 +56,7 @@ "server": "Server", "serverGroup": "Server Group", "servers": "Servers", - "speedLimit": "Speed Limit (Mbps)", - "subscribeGroup": "Subscription Group", + "speedLimit": "Speed Limit ", "traffic": "Traffic", "unitPrice": "Unit Price", "unitTime": "Unit Time" diff --git a/apps/admin/locales/en-US/user.json b/apps/admin/locales/en-US/user.json index 7f15f18..78cdd8d 100644 --- a/apps/admin/locales/en-US/user.json +++ b/apps/admin/locales/en-US/user.json @@ -2,6 +2,7 @@ "actions": "Actions", "balance": "Balance", "cancel": "Cancel", + "commission": "Commission", "confirm": "Confirm", "confirmDelete": "Are you sure you want to delete?", "create": "Create", @@ -19,7 +20,11 @@ "balance": "Balance", "balancePlaceholder": "Balance", "cancel": "Cancel", + "commission": "Commission", + "commissionPlaceholder": "Enter commission", "confirm": "Confirm", + "giftAmount": "Gift Amount", + "giftAmountPlaceholder": "Enter gift amount", "invalidEmailFormat": "Invalid email format", "inviteCode": "Invite Code", "inviteCodePlaceholder": "Enter invite code (leave blank to generate)", @@ -31,6 +36,8 @@ "userEmail": "User Email", "userEmailPlaceholder": "Enter user email" }, + "giftAmount": "Gift Amount", + "inviteCode": "Invite Code", "referer": "Referer", "updateSuccess": "Update successful", "userList": "User List", diff --git a/apps/admin/locales/es-ES/server.json b/apps/admin/locales/es-ES/server.json index ce4ed56..45b5a33 100644 --- a/apps/admin/locales/es-ES/server.json +++ b/apps/admin/locales/es-ES/server.json @@ -52,11 +52,11 @@ "enableTLS": "Habilitar TLS", "encryptionMethod": "Método de encriptación", "flow": "Algoritmo de control de flujo", + "groupId": "Grupo de Nodo", "hopInterval": "Intervalo de salto", "hopPorts": "Puertos de salto", "hopPortsPlaceholder": "Varios puertos separados por comas", "name": "Nombre", - "nodeGroupId": "ID del grupo de nodos", "obfsPassword": "Contraseña de ofuscación", "obfsPasswordPlaceholder": "Dejar en blanco para no ofuscar", "path": "Ruta", diff --git a/apps/admin/locales/es-ES/subscribe.json b/apps/admin/locales/es-ES/subscribe.json index edd7fa0..61b3ba0 100644 --- a/apps/admin/locales/es-ES/subscribe.json +++ b/apps/admin/locales/es-ES/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Porcentaje de descuento", "discount_price": "Precio con descuento", "duration": "Duración (meses)", + "groupId": "Grupo de Suscripción", "inventory": "Inventario", "monthlyReset": "Reinicio Mensual", "name": "Nombre", @@ -42,7 +43,7 @@ "noReset": "Sin Reinicio", "pricing": "Precios", "purchaseWithDiscount": "Permitir Deducción", - "purchaseWithDiscountDescription": "Habilitar o deshabilitar la función de deducción. Cuando está habilitada, el sistema procesará las deducciones basadas en las reglas y ratios configurados", + "purchaseWithDiscountDescription": "Habilitar o deshabilitar la funcionalidad de cancelación de suscripción. Después de la activación, el sistema realizará el procesamiento de deducción según las reglas y proporciones configuradas, y el valor restante se devolverá al saldo", "quota": "Cantidad de compra limitada", "renewalReset": "Reinicio por Renovación", "renewalResetDescription": "Reiniciar ciclo al renovar", @@ -55,8 +56,7 @@ "server": "Servidor", "serverGroup": "Grupo de servidores", "servers": "Servidores", - "speedLimit": "Límite de velocidad (Mbps)", - "subscribeGroup": "Grupo de suscripción", + "speedLimit": "Límite de velocidad ", "traffic": "Tráfico", "unitPrice": "Precio unitario", "unitTime": "Unidad de tiempo" diff --git a/apps/admin/locales/es-ES/user.json b/apps/admin/locales/es-ES/user.json index 2a7d6a8..aa5229d 100644 --- a/apps/admin/locales/es-ES/user.json +++ b/apps/admin/locales/es-ES/user.json @@ -2,6 +2,7 @@ "actions": "acciones", "balance": "Saldo", "cancel": "Cancelar", + "commission": "Comisión", "confirm": "Confirmar", "confirmDelete": "¿Está seguro de que desea eliminar?", "create": "Crear", @@ -19,7 +20,11 @@ "balance": "Saldo", "balancePlaceholder": "Saldo", "cancel": "Cancelar", + "commission": "Comisión", + "commissionPlaceholder": "Ingrese la comisión", "confirm": "Confirmar", + "giftAmount": "Monto del Regalo", + "giftAmountPlaceholder": "Ingrese el monto del regalo", "invalidEmailFormat": "Formato de correo electrónico no válido", "inviteCode": "Código de invitación", "inviteCodePlaceholder": "Por favor, introduzca el código de invitación (déjelo en blanco para generar automáticamente)", @@ -31,6 +36,8 @@ "userEmail": "Correo electrónico del usuario", "userEmailPlaceholder": "Por favor, introduzca el correo electrónico del usuario" }, + "giftAmount": "Monto del Regalo", + "inviteCode": "Código de invitación", "referer": "Recomendador", "updateSuccess": "Actualización exitosa", "userList": "Lista de usuarios", diff --git a/apps/admin/locales/es-MX/server.json b/apps/admin/locales/es-MX/server.json index d900ebb..5ef0eef 100644 --- a/apps/admin/locales/es-MX/server.json +++ b/apps/admin/locales/es-MX/server.json @@ -52,11 +52,11 @@ "enableTLS": "Habilitar TLS", "encryptionMethod": "Método de encriptación", "flow": "Algoritmo de control de flujo", + "groupId": "Grupo de Nodo", "hopInterval": "Intervalo de salto", "hopPorts": "Puertos de salto", "hopPortsPlaceholder": "Varios puertos separados por comas", "name": "Nombre", - "nodeGroupId": "ID del grupo de nodos", "obfsPassword": "Contraseña de ofuscación", "obfsPasswordPlaceholder": "Dejar en blanco para no ofuscar", "path": "Ruta", diff --git a/apps/admin/locales/es-MX/subscribe.json b/apps/admin/locales/es-MX/subscribe.json index 6068bf0..c101949 100644 --- a/apps/admin/locales/es-MX/subscribe.json +++ b/apps/admin/locales/es-MX/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Porcentaje de descuento", "discount_price": "Precio con descuento", "duration": "Duración (meses)", + "groupId": "Grupo de Suscripción", "inventory": "Inventario", "monthlyReset": "Reinicio Mensual", "name": "Nombre", @@ -42,7 +43,7 @@ "noReset": "Sin Reinicio", "pricing": "Precios", "purchaseWithDiscount": "Permitir Deducción", - "purchaseWithDiscountDescription": "Habilitar o deshabilitar la función de deducción. Cuando está habilitada, el sistema procesará deducciones basadas en las reglas y ratios configurados.", + "purchaseWithDiscountDescription": "Habilitar o deshabilitar la funcionalidad de cancelación de suscripción. Después de la activación, el sistema realizará el procesamiento de deducción según las reglas y proporciones configuradas, y el valor restante se devolverá al saldo", "quota": "Cantidad máxima de compra", "renewalReset": "Reinicio por Renovación", "renewalResetDescription": "Reiniciar ciclo al renovar", @@ -55,8 +56,7 @@ "server": "Servidor", "serverGroup": "Grupo de servidores", "servers": "Servidores", - "speedLimit": "Límite de velocidad (Mbps)", - "subscribeGroup": "Grupo de suscripción", + "speedLimit": "Límite de velocidad ", "traffic": "Tráfico", "unitPrice": "Precio unitario", "unitTime": "Unidad de tiempo" diff --git a/apps/admin/locales/es-MX/user.json b/apps/admin/locales/es-MX/user.json index bcabeab..acfa2dc 100644 --- a/apps/admin/locales/es-MX/user.json +++ b/apps/admin/locales/es-MX/user.json @@ -2,6 +2,7 @@ "actions": "acciones", "balance": "Saldo", "cancel": "Cancelar", + "commission": "Comisión", "confirm": "Confirmar", "confirmDelete": "¿Está seguro de que desea eliminar?", "create": "Crear", @@ -19,7 +20,11 @@ "balance": "Saldo", "balancePlaceholder": "Saldo", "cancel": "Cancelar", + "commission": "Comisión", + "commissionPlaceholder": "Ingrese la comisión", "confirm": "Confirmar", + "giftAmount": "Monto del Regalo", + "giftAmountPlaceholder": "Ingrese el monto del regalo", "invalidEmailFormat": "Formato de correo electrónico no válido", "inviteCode": "Código de invitación", "inviteCodePlaceholder": "Ingrese el código de invitación (déjelo en blanco para generar automáticamente)", @@ -31,6 +36,8 @@ "userEmail": "Correo electrónico del usuario", "userEmailPlaceholder": "Ingrese el correo electrónico del usuario" }, + "giftAmount": "Monto del Regalo", + "inviteCode": "Código de Invitación", "referer": "Recomendador", "updateSuccess": "Actualización exitosa", "userList": "Lista de usuarios", diff --git a/apps/admin/locales/fa-IR/server.json b/apps/admin/locales/fa-IR/server.json index 2d8aa8b..35a09aa 100644 --- a/apps/admin/locales/fa-IR/server.json +++ b/apps/admin/locales/fa-IR/server.json @@ -52,11 +52,11 @@ "enableTLS": "فعال‌سازی TLS", "encryptionMethod": "روش رمزنگاری", "flow": "الگوریتم کنترل جریان", + "groupId": "گروه نود", "hopInterval": "فاصله پرش", "hopPorts": "پورت‌های پرش", "hopPortsPlaceholder": "پورت‌های متعدد را با کاما جدا کنید", "name": "نام", - "nodeGroupId": "شناسه گروه گره", "obfsPassword": "رمز عبور مبهم‌سازی", "obfsPasswordPlaceholder": "برای عدم مبهم‌سازی خالی بگذارید", "path": "مسیر", diff --git a/apps/admin/locales/fa-IR/subscribe.json b/apps/admin/locales/fa-IR/subscribe.json index 3650953..624ef45 100644 --- a/apps/admin/locales/fa-IR/subscribe.json +++ b/apps/admin/locales/fa-IR/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "درصد تخفیف", "discount_price": "قیمت تخفیف", "duration": "مدت زمان (ماه‌ها)", + "groupId": "گروه اشتراک", "inventory": "موجودی", "monthlyReset": "بازنشانی ماهانه", "name": "نام", @@ -42,7 +43,7 @@ "noReset": "بدون بازنشانی", "pricing": "قیمت‌گذاری", "purchaseWithDiscount": "اجازه کسر", - "purchaseWithDiscountDescription": "فعال یا غیرفعال کردن ویژگی کسر. هنگامی که فعال است، سیستم کسرها را بر اساس قوانین و نسبت‌های پیکربندی شده پردازش می‌کند.", + "purchaseWithDiscountDescription": "فعال یا غیرفعال کردن قابلیت لغو اشتراک. پس از فعال‌سازی، سیستم بر اساس قوانین و نسبت‌های تنظیم‌شده، پردازش کسر را انجام می‌دهد و مقدار باقی‌مانده به موجودی بازگردانده می‌شود.", "quota": "محدودیت خرید", "renewalReset": "بازنشانی تمدید", "renewalResetDescription": "بازنشانی چرخه در زمان تمدید", @@ -56,7 +57,6 @@ "serverGroup": "گروه سرور", "servers": "سرورها", "speedLimit": "محدودیت سرعت (مگابیت بر ثانیه)", - "subscribeGroup": "گروه اشتراک", "traffic": "ترافیک", "unitPrice": "قیمت واحد", "unitTime": "واحد زمان" diff --git a/apps/admin/locales/fa-IR/user.json b/apps/admin/locales/fa-IR/user.json index aaf2eb5..49fa7ce 100644 --- a/apps/admin/locales/fa-IR/user.json +++ b/apps/admin/locales/fa-IR/user.json @@ -2,6 +2,7 @@ "actions": "اقدامات", "balance": "تعادل", "cancel": "لغو", + "commission": "کمیسیون", "confirm": "تأیید", "confirmDelete": "آیا مطمئن هستید که می‌خواهید حذف کنید؟", "create": "ایجاد", @@ -19,7 +20,11 @@ "balance": "موجودی", "balancePlaceholder": "موجودی", "cancel": "لغو", + "commission": "کمیسیون", + "commissionPlaceholder": "کمیسیون را وارد کنید", "confirm": "تأیید", + "giftAmount": "مبلغ هدیه", + "giftAmountPlaceholder": "مبلغ هدیه را وارد کنید", "invalidEmailFormat": "فرمت ایمیل نامعتبر است", "inviteCode": "کد دعوت", "inviteCodePlaceholder": "کد دعوت را وارد کنید (برای تولید خالی بگذارید)", @@ -31,6 +36,8 @@ "userEmail": "ایمیل کاربر", "userEmailPlaceholder": "ایمیل کاربر را وارد کنید" }, + "giftAmount": "مقدار هدیه", + "inviteCode": "کد دعوت", "referer": "ارجاع‌دهنده", "updateSuccess": "به‌روزرسانی با موفقیت انجام شد", "userList": "فهرست کاربران", diff --git a/apps/admin/locales/fi-FI/server.json b/apps/admin/locales/fi-FI/server.json index 311f210..974f61c 100644 --- a/apps/admin/locales/fi-FI/server.json +++ b/apps/admin/locales/fi-FI/server.json @@ -52,11 +52,11 @@ "enableTLS": "Ota TLS käyttöön", "encryptionMethod": "Salausmenetelmä", "flow": "Virtausalgoritmi", + "groupId": "Solmu Ryhmä", "hopInterval": "Hyppyväli", "hopPorts": "Hyppyportit", "hopPortsPlaceholder": "Erota useat portit pilkulla", "name": "Nimi", - "nodeGroupId": "Solmuryhmän ID", "obfsPassword": "Hämäyssalasana", "obfsPasswordPlaceholder": "Jätä tyhjäksi, jos ei hämäystä", "path": "Polku", diff --git a/apps/admin/locales/fi-FI/subscribe.json b/apps/admin/locales/fi-FI/subscribe.json index bec6343..c88a552 100644 --- a/apps/admin/locales/fi-FI/subscribe.json +++ b/apps/admin/locales/fi-FI/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Alennusprosentti", "discount_price": "Alennettu hinta", "duration": "Kesto (kuukautta)", + "groupId": "Tilausryhmä", "inventory": "Varasto", "monthlyReset": "Kuukausittainen Nollaus", "name": "Nimi", @@ -42,7 +43,7 @@ "noReset": "Ei Nollausta", "pricing": "Hinnoittelu", "purchaseWithDiscount": "Salli Vähennys", - "purchaseWithDiscountDescription": "Ota vähennystoiminto käyttöön tai poista se käytöstä. Kun se on käytössä, järjestelmä käsittelee vähennykset määritettyjen sääntöjen ja suhteiden perusteella.", + "purchaseWithDiscountDescription": "Ota käyttöön tai poista käytöstä peruutustoiminto. Aktivoinnin jälkeen järjestelmä suorittaa vähennyskäsittelyn määritettyjen sääntöjen ja osuuksien mukaisesti, ja jäljelle jäävä arvo palautetaan saldolle.", "quota": "Ostorajoitus", "renewalReset": "Uusimisen Nollaus", "renewalResetDescription": "Nollaa jakso uusimisen yhteydessä", @@ -55,8 +56,7 @@ "server": "Palvelin", "serverGroup": "Palvelinryhmä", "servers": "Palvelimet", - "speedLimit": "Nopeusrajoitus (Mbps)", - "subscribeGroup": "Tilausryhmä", + "speedLimit": "Nopeusrajoitus ", "traffic": "Liikenne", "unitPrice": "Yksikköhinta", "unitTime": "Aikayksikkö" diff --git a/apps/admin/locales/fi-FI/user.json b/apps/admin/locales/fi-FI/user.json index f303aae..3ab02ac 100644 --- a/apps/admin/locales/fi-FI/user.json +++ b/apps/admin/locales/fi-FI/user.json @@ -2,6 +2,7 @@ "actions": "toiminnot", "balance": "Saldo", "cancel": "Peruuta", + "commission": "Komissio", "confirm": "Vahvista", "confirmDelete": "Oletko varma, että haluat poistaa?", "create": "Luo", @@ -19,7 +20,11 @@ "balance": "Saldo", "balancePlaceholder": "Saldo", "cancel": "Peruuta", + "commission": "Komissio", + "commissionPlaceholder": "Syötä komissio", "confirm": "Vahvista", + "giftAmount": "Lahjan määrä", + "giftAmountPlaceholder": "Syötä lahjan määrä", "invalidEmailFormat": "Virheellinen sähköpostimuoto", "inviteCode": "Kutsukoodi", "inviteCodePlaceholder": "Syötä kutsukoodi (jätä tyhjäksi, jos haluat luoda automaattisesti)", @@ -31,6 +36,8 @@ "userEmail": "Käyttäjän sähköposti", "userEmailPlaceholder": "Syötä käyttäjän sähköposti" }, + "giftAmount": "Lahjan määrä", + "inviteCode": "Kutsukoodi", "referer": "Suosittelija", "updateSuccess": "Päivitys onnistui", "userList": "Käyttäjälista", diff --git a/apps/admin/locales/fr-FR/server.json b/apps/admin/locales/fr-FR/server.json index d74c0cf..2034bdf 100644 --- a/apps/admin/locales/fr-FR/server.json +++ b/apps/admin/locales/fr-FR/server.json @@ -52,11 +52,11 @@ "enableTLS": "Activer TLS", "encryptionMethod": "Méthode de cryptage", "flow": "Algorithme de contrôle de flux", + "groupId": "Groupe de nœuds", "hopInterval": "Intervalle de saut", "hopPorts": "Ports de saut", "hopPortsPlaceholder": "Séparer plusieurs ports par des virgules", "name": "Nom", - "nodeGroupId": "ID du groupe de nœuds", "obfsPassword": "Mot de passe d'obfuscation", "obfsPasswordPlaceholder": "Laisser vide pour ne pas obfusquer", "path": "Chemin", diff --git a/apps/admin/locales/fr-FR/subscribe.json b/apps/admin/locales/fr-FR/subscribe.json index 8a1c636..246afb4 100644 --- a/apps/admin/locales/fr-FR/subscribe.json +++ b/apps/admin/locales/fr-FR/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Pourcentage de remise", "discount_price": "Prix remisé", "duration": "Durée (mois)", + "groupId": "Groupe d'abonnement", "inventory": "Stock", "monthlyReset": "Réinitialisation Mensuelle", "name": "Nom", @@ -42,7 +43,7 @@ "noReset": "Pas de Réinitialisation", "pricing": "Tarification", "purchaseWithDiscount": "Autoriser la Déduction", - "purchaseWithDiscountDescription": "Activer ou désactiver la fonction de déduction. Lorsqu'elle est activée, le système traitera les déductions selon les règles et ratios configurés", + "purchaseWithDiscountDescription": "Activer ou désactiver la fonctionnalité de désabonnement. Après activation, le système effectuera un traitement de déduction selon les règles et proportions configurées, et la valeur restante sera retournée au solde.", "quota": "Quantité d'achat limitée", "renewalReset": "Réinitialisation au Renouvellement", "renewalResetDescription": "Réinitialiser le cycle lors du renouvellement", @@ -55,8 +56,7 @@ "server": "Serveur", "serverGroup": "Groupe de serveurs", "servers": "Serveurs", - "speedLimit": "Limite de vitesse (Mbps)", - "subscribeGroup": "Groupe d'abonnement", + "speedLimit": "Limite de vitesse ", "traffic": "Trafic", "unitPrice": "Prix unitaire", "unitTime": "Unité de temps" diff --git a/apps/admin/locales/fr-FR/user.json b/apps/admin/locales/fr-FR/user.json index 147351a..92db29e 100644 --- a/apps/admin/locales/fr-FR/user.json +++ b/apps/admin/locales/fr-FR/user.json @@ -2,6 +2,7 @@ "actions": "actions", "balance": "Solde", "cancel": "Annuler", + "commission": "Commission", "confirm": "Confirmer", "confirmDelete": "Êtes-vous sûr de vouloir supprimer ?", "create": "Créer", @@ -19,7 +20,11 @@ "balance": "Solde", "balancePlaceholder": "Solde", "cancel": "Annuler", + "commission": "Commission", + "commissionPlaceholder": "Entrez la commission", "confirm": "Confirmer", + "giftAmount": "Montant du cadeau", + "giftAmountPlaceholder": "Entrez le montant du cadeau", "invalidEmailFormat": "Format d'e-mail invalide", "inviteCode": "Code d'invitation", "inviteCodePlaceholder": "Veuillez entrer le code d'invitation (laissez vide pour générer automatiquement)", @@ -31,6 +36,8 @@ "userEmail": "E-mail de l'utilisateur", "userEmailPlaceholder": "Veuillez entrer l'e-mail de l'utilisateur" }, + "giftAmount": "Montant du cadeau", + "inviteCode": "Code d'invitation", "referer": "Référent", "updateSuccess": "Mise à jour réussie", "userList": "Liste des utilisateurs", diff --git a/apps/admin/locales/hi-IN/server.json b/apps/admin/locales/hi-IN/server.json index e01016a..d96245e 100644 --- a/apps/admin/locales/hi-IN/server.json +++ b/apps/admin/locales/hi-IN/server.json @@ -52,11 +52,11 @@ "enableTLS": "TLS सक्षम करें", "encryptionMethod": "एन्क्रिप्शन विधि", "flow": "फ्लो कंट्रोल एल्गोरिदम", + "groupId": "नोड समूह", "hopInterval": "हॉप अंतराल", "hopPorts": "हॉप पोर्ट्स", "hopPortsPlaceholder": "कई पोर्ट्स को कॉमा से अलग करें", "name": "नाम", - "nodeGroupId": "नोड समूह ID", "obfsPassword": "ऑबफ्स पासवर्ड", "obfsPasswordPlaceholder": "खाली छोड़ें तो ऑबफ्स नहीं होगा", "path": "पथ", diff --git a/apps/admin/locales/hi-IN/subscribe.json b/apps/admin/locales/hi-IN/subscribe.json index d115bc1..76a1608 100644 --- a/apps/admin/locales/hi-IN/subscribe.json +++ b/apps/admin/locales/hi-IN/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "छूट प्रतिशत", "discount_price": "छूट मूल्य", "duration": "अवधि (महीने)", + "groupId": "सदस्यता समूह", "inventory": "भंडार", "monthlyReset": "मासिक रीसेट", "name": "नाम", @@ -42,7 +43,7 @@ "noReset": "कोई रीसेट नहीं", "pricing": "मूल्य निर्धारण", "purchaseWithDiscount": "कटौती की अनुमति दें", - "purchaseWithDiscountDescription": "कटौती सुविधा को सक्षम या अक्षम करें। जब सक्षम किया जाता है, तो सिस्टम कॉन्फ़िगर किए गए नियमों और अनुपातों के आधार पर कटौती को संसाधित करेगा।", + "purchaseWithDiscountDescription": "अनसब्सक्राइब कार्यक्षमता को सक्षम या अक्षम करें। सक्रियण के बाद, सिस्टम कॉन्फ़िगर किए गए नियमों और अनुपातों के अनुसार कटौती प्रसंस्करण करेगा, और शेष मूल्य को बैलेंस में वापस कर दिया जाएगा।", "quota": "खरीद सीमा", "renewalReset": "नवीनीकरण रीसेट", "renewalResetDescription": "नवीनीकरण पर रीसेट चक्र", @@ -55,8 +56,7 @@ "server": "सर्वर", "serverGroup": "सर्वर समूह", "servers": "सर्वर", - "speedLimit": "गति सीमा (Mbps)", - "subscribeGroup": "सदस्यता समूह", + "speedLimit": "गति सीमा ", "traffic": "ट्रैफिक", "unitPrice": "इकाई मूल्य", "unitTime": "इकाई समय" diff --git a/apps/admin/locales/hi-IN/user.json b/apps/admin/locales/hi-IN/user.json index 8428a63..64d101d 100644 --- a/apps/admin/locales/hi-IN/user.json +++ b/apps/admin/locales/hi-IN/user.json @@ -2,6 +2,7 @@ "actions": "क्रियाएँ", "balance": "शेष", "cancel": "रद्द करें", + "commission": "आयोग", "confirm": "पुष्टि करें", "confirmDelete": "क्या आप वाकई हटाना चाहते हैं?", "create": "सृजन", @@ -19,7 +20,11 @@ "balance": "शेष राशि", "balancePlaceholder": "शेष राशि", "cancel": "रद्द करें", + "commission": "कमीशन", + "commissionPlaceholder": "कमीशन दर्ज करें", "confirm": "पुष्टि करें", + "giftAmount": "उपहार राशि", + "giftAmountPlaceholder": "उपहार राशि दर्ज करें", "invalidEmailFormat": "अमान्य ईमेल प्रारूप", "inviteCode": "आमंत्रण कोड", "inviteCodePlaceholder": "कृपया आमंत्रण कोड दर्ज करें (खाली छोड़ने पर स्वचालित रूप से उत्पन्न होगा)", @@ -31,6 +36,8 @@ "userEmail": "उपयोगकर्ता ईमेल", "userEmailPlaceholder": "कृपया उपयोगकर्ता ईमेल दर्ज करें" }, + "giftAmount": "उपहार राशि", + "inviteCode": "आमंत्रण कोड", "referer": "सिफारिशकर्ता", "updateSuccess": "अपडेट सफल", "userList": "उपयोगकर्ता सूची", diff --git a/apps/admin/locales/hu-HU/server.json b/apps/admin/locales/hu-HU/server.json index b0b506f..ea02c6d 100644 --- a/apps/admin/locales/hu-HU/server.json +++ b/apps/admin/locales/hu-HU/server.json @@ -52,11 +52,11 @@ "enableTLS": "TLS engedélyezése", "encryptionMethod": "Titkosítási módszer", "flow": "Áramlásszabályozási algoritmus", + "groupId": "Csomópont csoport", "hopInterval": "Ugrási intervallum", "hopPorts": "Ugrási portok", "hopPortsPlaceholder": "Több portot vesszővel elválasztva", "name": "Név", - "nodeGroupId": "Csomópont csoport ID", "obfsPassword": "Zavaró jelszó", "obfsPasswordPlaceholder": "Hagyja üresen, ha nem zavarosít", "path": "Útvonal", diff --git a/apps/admin/locales/hu-HU/subscribe.json b/apps/admin/locales/hu-HU/subscribe.json index 120d3e6..16b6cad 100644 --- a/apps/admin/locales/hu-HU/subscribe.json +++ b/apps/admin/locales/hu-HU/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Kedvezmény százalék", "discount_price": "Kedvezményes ár", "duration": "Időtartam (hónap)", + "groupId": "Előfizetési csoport", "inventory": "Készlet", "monthlyReset": "Havi Visszaállítás", "name": "Név", @@ -42,7 +43,7 @@ "noReset": "Nincs Visszaállítás", "pricing": "Árazás", "purchaseWithDiscount": "Levonás Engedélyezése", - "purchaseWithDiscountDescription": "A levonási funkció engedélyezése vagy letiltása. Ha engedélyezve van, a rendszer a beállított szabályok és arányok alapján dolgozza fel a levonásokat.", + "purchaseWithDiscountDescription": "Leiratkozási funkció engedélyezése vagy letiltása. Aktiválás után a rendszer a beállított szabályok és arányok szerint végzi el a levonási feldolgozást, és a fennmaradó értéket visszatéríti az egyenlegre.", "quota": "Vásárlási korlát", "renewalReset": "Megújítási Visszaállítás", "renewalResetDescription": "Visszaállítási ciklus megújításkor", @@ -55,8 +56,7 @@ "server": "Szolgáltatás", "serverGroup": "Szolgáltatáscsoport", "servers": "Szerverek", - "speedLimit": "Sebességkorlát (Mbps)", - "subscribeGroup": "Előfizetési csoport", + "speedLimit": "Sebességkorlát ", "traffic": "Forgalom", "unitPrice": "Egységár", "unitTime": "Időegység" diff --git a/apps/admin/locales/hu-HU/user.json b/apps/admin/locales/hu-HU/user.json index e946c80..7bd2fd2 100644 --- a/apps/admin/locales/hu-HU/user.json +++ b/apps/admin/locales/hu-HU/user.json @@ -2,6 +2,7 @@ "actions": "műveletek", "balance": "Egyenleg", "cancel": "Mégse", + "commission": "Jutalék", "confirm": "Megerősítés", "confirmDelete": "Biztosan törölni szeretné?", "create": "Létrehozás", @@ -19,7 +20,11 @@ "balance": "Egyenleg", "balancePlaceholder": "Egyenleg", "cancel": "Mégse", + "commission": "Jutalék", + "commissionPlaceholder": "Adja meg a jutalékot", "confirm": "Megerősít", + "giftAmount": "Ajándék összege", + "giftAmountPlaceholder": "Adja meg az ajándék összegét", "invalidEmailFormat": "Érvénytelen e-mail formátum", "inviteCode": "Meghívókód", "inviteCodePlaceholder": "Kérjük, adja meg a meghívókódot (ha üres, automatikusan generálódik)", @@ -31,6 +36,8 @@ "userEmail": "Felhasználói e-mail", "userEmailPlaceholder": "Kérjük, adja meg a felhasználói e-mail címet" }, + "giftAmount": "Ajándék Összeg", + "inviteCode": "Meghívókód", "referer": "Ajánló", "updateSuccess": "Sikeres frissítés", "userList": "Felhasználói lista", diff --git a/apps/admin/locales/ja-JP/server.json b/apps/admin/locales/ja-JP/server.json index c54b82d..18014ff 100644 --- a/apps/admin/locales/ja-JP/server.json +++ b/apps/admin/locales/ja-JP/server.json @@ -52,11 +52,11 @@ "enableTLS": "TLSを有効化", "encryptionMethod": "暗号化方式", "flow": "フロー制御アルゴリズム", + "groupId": "ノードグループ", "hopInterval": "ホップ間隔", "hopPorts": "ホップポート", "hopPortsPlaceholder": "複数のポートはカンマで区切る", "name": "名前", - "nodeGroupId": "ノードグループID", "obfsPassword": "オブフスケーションパスワード", "obfsPasswordPlaceholder": "空白の場合はオブフスケーションなし", "path": "パス", diff --git a/apps/admin/locales/ja-JP/subscribe.json b/apps/admin/locales/ja-JP/subscribe.json index 3fc1a61..25811ed 100644 --- a/apps/admin/locales/ja-JP/subscribe.json +++ b/apps/admin/locales/ja-JP/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "割引率", "discount_price": "割引価格", "duration": "期間(月)", + "groupId": "サブスクリプショングループ", "inventory": "在庫", "monthlyReset": "毎月リセット", "name": "名称", @@ -42,7 +43,7 @@ "noReset": "リセットなし", "pricing": "価格設定", "purchaseWithDiscount": "控除を許可", - "purchaseWithDiscountDescription": "控除機能を有効または無効にします。有効にすると、システムは設定されたルールと比率に基づいて控除を処理します。", + "purchaseWithDiscountDescription": "購読解除機能を有効または無効にします。有効化後、システムは設定されたルールと割合に従って控除処理を行い、残りの金額を残高に返金します。", "quota": "購入制限数", "renewalReset": "更新時リセット", "renewalResetDescription": "更新時にリセットサイクル", @@ -55,8 +56,7 @@ "server": "サーバー", "serverGroup": "サーバーグループ", "servers": "サーバー", - "speedLimit": "速度制限(Mbps)", - "subscribeGroup": "サブスクリプショングループ", + "speedLimit": "速度制限", "traffic": "トラフィック", "unitPrice": "単価", "unitTime": "単位時間" diff --git a/apps/admin/locales/ja-JP/user.json b/apps/admin/locales/ja-JP/user.json index 3d07294..595eb58 100644 --- a/apps/admin/locales/ja-JP/user.json +++ b/apps/admin/locales/ja-JP/user.json @@ -2,6 +2,7 @@ "actions": "アクション", "balance": "残高", "cancel": "キャンセル", + "commission": "手数料", "confirm": "確認", "confirmDelete": "削除してもよろしいですか?", "create": "作成", @@ -19,7 +20,11 @@ "balance": "残高", "balancePlaceholder": "残高", "cancel": "キャンセル", + "commission": "手数料", + "commissionPlaceholder": "手数料を入力してください", "confirm": "確認", + "giftAmount": "ギフト金額", + "giftAmountPlaceholder": "ギフト金額を入力してください", "invalidEmailFormat": "無効なメール形式", "inviteCode": "招待コード", "inviteCodePlaceholder": "招待コードを入力してください(空白の場合は自動生成されます)", @@ -31,6 +36,8 @@ "userEmail": "ユーザーのメール", "userEmailPlaceholder": "ユーザーのメールを入力してください" }, + "giftAmount": "ギフト金額", + "inviteCode": "招待コード", "referer": "推薦者", "updateSuccess": "更新が成功しました", "userList": "ユーザーリスト", diff --git a/apps/admin/locales/ko-KR/server.json b/apps/admin/locales/ko-KR/server.json index da43835..54eddc0 100644 --- a/apps/admin/locales/ko-KR/server.json +++ b/apps/admin/locales/ko-KR/server.json @@ -52,11 +52,11 @@ "enableTLS": "TLS 활성화", "encryptionMethod": "암호화 방법", "flow": "흐름 제어 알고리즘", + "groupId": "노드 그룹", "hopInterval": "홉 간격", "hopPorts": "홉 포트", "hopPortsPlaceholder": "여러 포트는 쉼표로 구분", "name": "이름", - "nodeGroupId": "노드 그룹 ID", "obfsPassword": "난독화 비밀번호", "obfsPasswordPlaceholder": "비워두면 난독화 안 함", "path": "경로", diff --git a/apps/admin/locales/ko-KR/subscribe.json b/apps/admin/locales/ko-KR/subscribe.json index f460eef..56fd172 100644 --- a/apps/admin/locales/ko-KR/subscribe.json +++ b/apps/admin/locales/ko-KR/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "할인율", "discount_price": "할인가", "duration": "기간 (개월)", + "groupId": "구독 그룹", "inventory": "재고", "monthlyReset": "월별 초기화", "name": "이름", @@ -42,7 +43,7 @@ "noReset": "초기화 없음", "pricing": "가격", "purchaseWithDiscount": "공제 허용", - "purchaseWithDiscountDescription": "공제 기능을 활성화하거나 비활성화합니다. 활성화되면 시스템은 구성된 규칙과 비율에 따라 공제를 처리합니다.", + "purchaseWithDiscountDescription": "구독 취소 기능을 활성화하거나 비활성화합니다. 활성화 후, 시스템은 설정된 규칙과 비율에 따라 공제 처리를 수행하며, 남은 가치는 잔액으로 반환됩니다.", "quota": "구매 한도", "renewalReset": "갱신 초기화", "renewalResetDescription": "갱신 시 초기화 주기", @@ -55,8 +56,7 @@ "server": "서버", "serverGroup": "서버 그룹", "servers": "서버", - "speedLimit": "속도 제한 (Mbps)", - "subscribeGroup": "구독 그룹", + "speedLimit": "속도 제한 ", "traffic": "트래픽", "unitPrice": "단가", "unitTime": "단위 시간" diff --git a/apps/admin/locales/ko-KR/user.json b/apps/admin/locales/ko-KR/user.json index d1370c2..2aeebc1 100644 --- a/apps/admin/locales/ko-KR/user.json +++ b/apps/admin/locales/ko-KR/user.json @@ -2,6 +2,7 @@ "actions": "작업", "balance": "잔액", "cancel": "취소", + "commission": "커미션", "confirm": "확인", "confirmDelete": "삭제하시겠습니까?", "create": "생성", @@ -19,7 +20,11 @@ "balance": "잔액", "balancePlaceholder": "잔액", "cancel": "취소", + "commission": "수수료", + "commissionPlaceholder": "수수료 입력", "confirm": "확인", + "giftAmount": "선물 금액", + "giftAmountPlaceholder": "선물 금액 입력", "invalidEmailFormat": "유효하지 않은 이메일 형식", "inviteCode": "초대 코드", "inviteCodePlaceholder": "초대 코드를 입력하세요 (비워두면 자동 생성)", @@ -31,6 +36,8 @@ "userEmail": "사용자 이메일", "userEmailPlaceholder": "사용자 이메일을 입력하세요" }, + "giftAmount": "선물 금액", + "inviteCode": "초대 코드", "referer": "추천인", "updateSuccess": "업데이트 성공", "userList": "사용자 목록", diff --git a/apps/admin/locales/no-NO/server.json b/apps/admin/locales/no-NO/server.json index 0baf860..10f9d60 100644 --- a/apps/admin/locales/no-NO/server.json +++ b/apps/admin/locales/no-NO/server.json @@ -52,11 +52,11 @@ "enableTLS": "Aktiver TLS", "encryptionMethod": "Krypteringsmetode", "flow": "Flytkontrollalgoritme", + "groupId": "Nodegruppe", "hopInterval": "Hoppintervall", "hopPorts": "Hoppporter", "hopPortsPlaceholder": "Flere porter separeres med komma", "name": "Navn", - "nodeGroupId": "Nodegruppe-ID", "obfsPassword": "Forvirringspassord", "obfsPasswordPlaceholder": "La stå tomt for ingen forvirring", "path": "Sti", diff --git a/apps/admin/locales/no-NO/subscribe.json b/apps/admin/locales/no-NO/subscribe.json index e09fba7..0330a59 100644 --- a/apps/admin/locales/no-NO/subscribe.json +++ b/apps/admin/locales/no-NO/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Rabattprosent", "discount_price": "Rabattert pris", "duration": "Varighet (måneder)", + "groupId": "Abonnementsgruppe", "inventory": "Lager", "monthlyReset": "Månedlig Tilbakestilling", "name": "Navn", @@ -42,7 +43,7 @@ "noReset": "Ingen Tilbakestilling", "pricing": "Prissetting", "purchaseWithDiscount": "Tillat Fradrag", - "purchaseWithDiscountDescription": "Aktiver eller deaktiver fradragsfunksjonen. Når den er aktivert, vil systemet behandle fradrag basert på de konfigurerte reglene og forholdene", + "purchaseWithDiscountDescription": "Aktiver eller deaktiver funksjonaliteten for avmelding. Etter aktivering vil systemet utføre fradragsbehandling i henhold til de konfigurerte reglene og proporsjonene, og den gjenværende verdien vil bli returnert til saldoen", "quota": "Kjøpskvote", "renewalReset": "Fornyelsestilbakestilling", "renewalResetDescription": "Tilbakestill syklus ved fornyelse", @@ -55,8 +56,7 @@ "server": "Tjeneste", "serverGroup": "Tjenestegruppe", "servers": "Servere", - "speedLimit": "Hastighetsbegrensning (Mbps)", - "subscribeGroup": "Abonnementsgruppe", + "speedLimit": "Hastighetsbegrensning ", "traffic": "Trafikk", "unitPrice": "Enhetspris", "unitTime": "Enhetstid" diff --git a/apps/admin/locales/no-NO/user.json b/apps/admin/locales/no-NO/user.json index 00e6129..cdf4352 100644 --- a/apps/admin/locales/no-NO/user.json +++ b/apps/admin/locales/no-NO/user.json @@ -2,6 +2,7 @@ "actions": "handlinger", "balance": "Balanse", "cancel": "Avbryt", + "commission": "Kommisjon", "confirm": "bekreft", "confirmDelete": "Er du sikker på at du vil slette?", "create": "opprett", @@ -19,7 +20,11 @@ "balance": "Balanse", "balancePlaceholder": "Balanse", "cancel": "Avbryt", + "commission": "Provisjon", + "commissionPlaceholder": "Skriv inn provisjon", "confirm": "Bekreft", + "giftAmount": "Gavebeløp", + "giftAmountPlaceholder": "Skriv inn gavebeløp", "invalidEmailFormat": "Ugyldig e-postformat", "inviteCode": "Invitasjonskode", "inviteCodePlaceholder": "Vennligst skriv inn invitasjonskode (la stå tom for automatisk generering)", @@ -31,6 +36,8 @@ "userEmail": "Brukerens e-post", "userEmailPlaceholder": "Vennligst skriv inn brukerens e-post" }, + "giftAmount": "Gavebeløp", + "inviteCode": "Invitasjonskode", "referer": "Henviser", "updateSuccess": "Oppdatering vellykket", "userList": "Brukerliste", diff --git a/apps/admin/locales/pl-PL/server.json b/apps/admin/locales/pl-PL/server.json index f05cbb8..472bafd 100644 --- a/apps/admin/locales/pl-PL/server.json +++ b/apps/admin/locales/pl-PL/server.json @@ -52,11 +52,11 @@ "enableTLS": "Włącz TLS", "encryptionMethod": "Metoda szyfrowania", "flow": "Algorytm kontroli przepływu", + "groupId": "Grupa węzłów", "hopInterval": "Interwał skoku", "hopPorts": "Porty skoku", "hopPortsPlaceholder": "Wiele portów oddziel przecinkami", "name": "Nazwa", - "nodeGroupId": "ID grupy węzłów", "obfsPassword": "Hasło zaciemnienia", "obfsPasswordPlaceholder": "Pozostaw puste, aby nie zaciemniać", "path": "Ścieżka", diff --git a/apps/admin/locales/pl-PL/subscribe.json b/apps/admin/locales/pl-PL/subscribe.json index 3ef5bd4..09bb311 100644 --- a/apps/admin/locales/pl-PL/subscribe.json +++ b/apps/admin/locales/pl-PL/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Procent zniżki", "discount_price": "Cena po zniżce", "duration": "Czas trwania (miesiące)", + "groupId": "Grupa subskrypcyjna", "inventory": "Zapas", "monthlyReset": "Miesięczny Reset", "name": "Nazwa", @@ -42,7 +43,7 @@ "noReset": "Brak Resetu", "pricing": "Cennik", "purchaseWithDiscount": "Zezwól na Potrącenie", - "purchaseWithDiscountDescription": "Włącz lub wyłącz funkcję potrąceń. Po włączeniu system przetworzy potrącenia na podstawie skonfigurowanych zasad i współczynników", + "purchaseWithDiscountDescription": "Włącz lub wyłącz funkcję rezygnacji z subskrypcji. Po aktywacji system przeprowadzi proces odliczenia zgodnie z skonfigurowanymi zasadami i proporcjami, a pozostała wartość zostanie zwrócona na saldo", "quota": "Limit zakupu", "renewalReset": "Reset przy Odnowieniu", "renewalResetDescription": "Reset cyklu przy odnowieniu", @@ -55,8 +56,7 @@ "server": "Serwer", "serverGroup": "Grupa serwerów", "servers": "Serwery", - "speedLimit": "Limit prędkości (Mbps)", - "subscribeGroup": "Grupa subskrypcji", + "speedLimit": "Limit prędkości ", "traffic": "Ruch", "unitPrice": "Cena jednostkowa", "unitTime": "Jednostka czasu" diff --git a/apps/admin/locales/pl-PL/user.json b/apps/admin/locales/pl-PL/user.json index 23a851c..3f606b7 100644 --- a/apps/admin/locales/pl-PL/user.json +++ b/apps/admin/locales/pl-PL/user.json @@ -2,6 +2,7 @@ "actions": "działania", "balance": "saldo", "cancel": "Anuluj", + "commission": "Prowizja", "confirm": "Potwierdź", "confirmDelete": "Czy na pewno chcesz usunąć?", "create": "Utwórz", @@ -19,7 +20,11 @@ "balance": "Saldo", "balancePlaceholder": "Saldo", "cancel": "Anuluj", + "commission": "Prowizja", + "commissionPlaceholder": "Wprowadź prowizję", "confirm": "Potwierdź", + "giftAmount": "Kwota prezentu", + "giftAmountPlaceholder": "Wprowadź kwotę prezentu", "invalidEmailFormat": "Nieprawidłowy format e-maila", "inviteCode": "Kod zaproszenia", "inviteCodePlaceholder": "Wprowadź kod zaproszenia (pozostaw puste, aby wygenerować automatycznie)", @@ -31,6 +36,8 @@ "userEmail": "E-mail użytkownika", "userEmailPlaceholder": "Wprowadź e-mail użytkownika" }, + "giftAmount": "Kwota Prezentu", + "inviteCode": "Kod zaproszenia", "referer": "Polecający", "updateSuccess": "Aktualizacja zakończona pomyślnie", "userList": "Lista użytkowników", diff --git a/apps/admin/locales/pt-BR/server.json b/apps/admin/locales/pt-BR/server.json index 6655da1..4afac62 100644 --- a/apps/admin/locales/pt-BR/server.json +++ b/apps/admin/locales/pt-BR/server.json @@ -52,11 +52,11 @@ "enableTLS": "Habilitar TLS", "encryptionMethod": "Método de Criptografia", "flow": "Algoritmo de Controle de Fluxo", + "groupId": "Grupo de Nós", "hopInterval": "Intervalo de Salto", "hopPorts": "Portas de Salto", "hopPortsPlaceholder": "Várias portas separadas por vírgula", "name": "Nome", - "nodeGroupId": "ID do Grupo de Nós", "obfsPassword": "Senha de Ofuscação", "obfsPasswordPlaceholder": "Deixe em branco para não ofuscar", "path": "Caminho", diff --git a/apps/admin/locales/pt-BR/subscribe.json b/apps/admin/locales/pt-BR/subscribe.json index b58c894..26266aa 100644 --- a/apps/admin/locales/pt-BR/subscribe.json +++ b/apps/admin/locales/pt-BR/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Percentual de desconto", "discount_price": "Preço com desconto", "duration": "Duração (meses)", + "groupId": "Grupo de Assinatura", "inventory": "Estoque", "monthlyReset": "Reinicialização Mensal", "name": "Nome", @@ -42,7 +43,7 @@ "noReset": "Sem Reinicialização", "pricing": "Preços", "purchaseWithDiscount": "Permitir Dedução", - "purchaseWithDiscountDescription": "Habilitar ou desabilitar a funcionalidade de dedução. Quando habilitada, o sistema processará deduções com base nas regras e proporções configuradas", + "purchaseWithDiscountDescription": "Ative ou desative a funcionalidade de cancelamento de inscrição. Após a ativação, o sistema realizará o processamento de dedução de acordo com as regras e proporções configuradas, e o valor restante será retornado ao saldo", "quota": "Quantidade limitada", "renewalReset": "Reinicialização na Renovação", "renewalResetDescription": "Reiniciar ciclo ao renovar", @@ -55,8 +56,7 @@ "server": "Servidor", "serverGroup": "Grupo de servidores", "servers": "Servidores", - "speedLimit": "Limite de velocidade (Mbps)", - "subscribeGroup": "Grupo de assinatura", + "speedLimit": "Limite de velocidade ", "traffic": "Tráfego", "unitPrice": "Preço unitário", "unitTime": "Unidade de tempo" diff --git a/apps/admin/locales/pt-BR/user.json b/apps/admin/locales/pt-BR/user.json index fd66704..e4bcd70 100644 --- a/apps/admin/locales/pt-BR/user.json +++ b/apps/admin/locales/pt-BR/user.json @@ -2,6 +2,7 @@ "actions": "ações", "balance": "Saldo", "cancel": "Cancelar", + "commission": "Comissão", "confirm": "confirmar", "confirmDelete": "Você tem certeza de que deseja excluir?", "create": "Criar", @@ -19,7 +20,11 @@ "balance": "Saldo", "balancePlaceholder": "Saldo", "cancel": "Cancelar", + "commission": "Comissão", + "commissionPlaceholder": "Insira a comissão", "confirm": "Confirmar", + "giftAmount": "Valor do Presente", + "giftAmountPlaceholder": "Insira o valor do presente", "invalidEmailFormat": "Formato de e-mail inválido", "inviteCode": "Código de Convite", "inviteCodePlaceholder": "Insira o código de convite (deixe em branco para gerar automaticamente)", @@ -31,6 +36,8 @@ "userEmail": "E-mail do Usuário", "userEmailPlaceholder": "Insira o e-mail do usuário" }, + "giftAmount": "Valor do Presente", + "inviteCode": "Código de Convite", "referer": "Referente", "updateSuccess": "Atualização bem-sucedida", "userList": "Lista de Usuários", diff --git a/apps/admin/locales/ro-RO/server.json b/apps/admin/locales/ro-RO/server.json index 2f864b9..e7f23e9 100644 --- a/apps/admin/locales/ro-RO/server.json +++ b/apps/admin/locales/ro-RO/server.json @@ -52,11 +52,11 @@ "enableTLS": "Activează TLS", "encryptionMethod": "Metodă de criptare", "flow": "Algoritm de control al fluxului", + "groupId": "Grup Nod", "hopInterval": "Interval de salt", "hopPorts": "Porturi de salt", "hopPortsPlaceholder": "Mai multe porturi separate prin virgulă", "name": "Nume", - "nodeGroupId": "ID grup nod", "obfsPassword": "Parolă de obfuscare", "obfsPasswordPlaceholder": "Lasă gol pentru a nu obfusca", "path": "Cale", diff --git a/apps/admin/locales/ro-RO/subscribe.json b/apps/admin/locales/ro-RO/subscribe.json index 3c23e62..903bc20 100644 --- a/apps/admin/locales/ro-RO/subscribe.json +++ b/apps/admin/locales/ro-RO/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Procent reducere", "discount_price": "Preț redus", "duration": "Durată (luni)", + "groupId": "Grup de Abonament", "inventory": "Stoc", "monthlyReset": "Resetare Lunară", "name": "Nume", @@ -42,7 +43,7 @@ "noReset": "Fără Resetare", "pricing": "Prețuri", "purchaseWithDiscount": "Permite Deducerea", - "purchaseWithDiscountDescription": "Activează sau dezactivează funcția de deducere. Când este activată, sistemul va procesa deducerile pe baza regulilor și rapoartelor configurate", + "purchaseWithDiscountDescription": "Activează sau dezactivează funcționalitatea de dezabonare. După activare, sistemul va efectua procesarea deducerilor conform regulilor și proporțiilor configurate, iar valoarea rămasă va fi returnată în sold.", "quota": "Limită de achiziție", "renewalReset": "Resetare la Reînnoire", "renewalResetDescription": "Resetează ciclul la reînnoire", @@ -55,8 +56,7 @@ "server": "Server", "serverGroup": "Grup server", "servers": "Servere", - "speedLimit": "Limită de viteză (Mbps)", - "subscribeGroup": "Grup de abonament", + "speedLimit": "Limită de viteză ", "traffic": "Trafic", "unitPrice": "Preț unitar", "unitTime": "Unitate de timp" diff --git a/apps/admin/locales/ro-RO/user.json b/apps/admin/locales/ro-RO/user.json index 58293b2..c8ab869 100644 --- a/apps/admin/locales/ro-RO/user.json +++ b/apps/admin/locales/ro-RO/user.json @@ -2,6 +2,7 @@ "actions": "acțiuni", "balance": "Sold", "cancel": "Anulare", + "commission": "Comision", "confirm": "Confirmare", "confirmDelete": "Sunteți sigur că doriți să ștergeți?", "create": "crea", @@ -19,7 +20,11 @@ "balance": "Sold", "balancePlaceholder": "Sold", "cancel": "Anulează", + "commission": "Comision", + "commissionPlaceholder": "Introduceți comisionul", "confirm": "Confirmă", + "giftAmount": "Sumă Cadou", + "giftAmountPlaceholder": "Introduceți suma cadou", "invalidEmailFormat": "Format de e-mail invalid", "inviteCode": "Cod de invitație", "inviteCodePlaceholder": "Introduceți codul de invitație (lăsați gol pentru generare automată)", @@ -31,6 +36,8 @@ "userEmail": "E-mail utilizator", "userEmailPlaceholder": "Introduceți e-mailul utilizatorului" }, + "giftAmount": "Sumă Cadou", + "inviteCode": "Cod de invitație", "referer": "Referent", "updateSuccess": "Actualizare reușită", "userList": "Lista utilizatorilor", diff --git a/apps/admin/locales/ru-RU/server.json b/apps/admin/locales/ru-RU/server.json index d9fe616..7af3539 100644 --- a/apps/admin/locales/ru-RU/server.json +++ b/apps/admin/locales/ru-RU/server.json @@ -52,11 +52,11 @@ "enableTLS": "Включить TLS", "encryptionMethod": "Метод шифрования", "flow": "Алгоритм управления потоком", + "groupId": "Группа узлов", "hopInterval": "Интервал прыжка", "hopPorts": "Порты прыжка", "hopPortsPlaceholder": "Несколько портов разделяются запятыми", "name": "Имя", - "nodeGroupId": "ID группы узлов", "obfsPassword": "Пароль обфускации", "obfsPasswordPlaceholder": "Оставьте пустым для отсутствия обфускации", "path": "Путь", diff --git a/apps/admin/locales/ru-RU/subscribe.json b/apps/admin/locales/ru-RU/subscribe.json index 960e962..f5a1a08 100644 --- a/apps/admin/locales/ru-RU/subscribe.json +++ b/apps/admin/locales/ru-RU/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Процент скидки", "discount_price": "Цена со скидкой", "duration": "Продолжительность (месяцы)", + "groupId": "Группа подписки", "inventory": "Инвентарь", "monthlyReset": "Ежемесячный Сброс", "name": "Название", @@ -42,7 +43,7 @@ "noReset": "Без Сброса", "pricing": "Цены", "purchaseWithDiscount": "Разрешить Вычет", - "purchaseWithDiscountDescription": "Включить или отключить функцию вычета. При включении система будет обрабатывать вычеты на основе настроенных правил и соотношений", + "purchaseWithDiscountDescription": "Включить или отключить функцию отписки. После активации система выполнит обработку вычетов в соответствии с настроенными правилами и пропорциями, а оставшаяся сумма будет возвращена на баланс", "quota": "Лимит покупки", "renewalReset": "Сброс при Обновлении", "renewalResetDescription": "Сброс цикла при обновлении", @@ -55,8 +56,7 @@ "server": "Сервер", "serverGroup": "Группа серверов", "servers": "Серверы", - "speedLimit": "Ограничение скорости (Мбит/с)", - "subscribeGroup": "Группа подписки", + "speedLimit": "Ограничение скорости", "traffic": "Трафик", "unitPrice": "Цена за единицу", "unitTime": "Единица времени" diff --git a/apps/admin/locales/ru-RU/user.json b/apps/admin/locales/ru-RU/user.json index 9de9b01..87adbca 100644 --- a/apps/admin/locales/ru-RU/user.json +++ b/apps/admin/locales/ru-RU/user.json @@ -2,6 +2,7 @@ "actions": "действия", "balance": "Баланс", "cancel": "Отмена", + "commission": "Комиссия", "confirm": "Подтвердить", "confirmDelete": "Вы уверены, что хотите удалить?", "create": "Создать", @@ -19,7 +20,11 @@ "balance": "Баланс", "balancePlaceholder": "Баланс", "cancel": "Отмена", + "commission": "Комиссия", + "commissionPlaceholder": "Введите комиссию", "confirm": "Подтвердить", + "giftAmount": "Сумма подарка", + "giftAmountPlaceholder": "Введите сумму подарка", "invalidEmailFormat": "Недопустимый формат электронной почты", "inviteCode": "Код приглашения", "inviteCodePlaceholder": "Введите код приглашения (оставьте пустым для автоматической генерации)", @@ -31,6 +36,8 @@ "userEmail": "Электронная почта пользователя", "userEmailPlaceholder": "Введите электронную почту пользователя" }, + "giftAmount": "Сумма подарка", + "inviteCode": "Код приглашения", "referer": "Реферер", "updateSuccess": "Обновление успешно", "userList": "Список пользователей", diff --git a/apps/admin/locales/th-TH/server.json b/apps/admin/locales/th-TH/server.json index 5d09ad4..fbf8b11 100644 --- a/apps/admin/locales/th-TH/server.json +++ b/apps/admin/locales/th-TH/server.json @@ -52,11 +52,11 @@ "enableTLS": "เปิดใช้งานTLS", "encryptionMethod": "วิธีการเข้ารหัส", "flow": "อัลกอริทึมควบคุมการไหล", + "groupId": "กลุ่มโหนด", "hopInterval": "ช่วงเวลาการกระโดด", "hopPorts": "พอร์ตการกระโดด", "hopPortsPlaceholder": "หลายพอร์ตใช้เครื่องหมายจุลภาคคั่น", "name": "ชื่อ", - "nodeGroupId": "รหัสกลุ่มโหนด", "obfsPassword": "รหัสผ่านการปกปิด", "obfsPasswordPlaceholder": "เว้นว่างเพื่อไม่ปกปิด", "path": "เส้นทาง", diff --git a/apps/admin/locales/th-TH/subscribe.json b/apps/admin/locales/th-TH/subscribe.json index fc56965..79fb2c0 100644 --- a/apps/admin/locales/th-TH/subscribe.json +++ b/apps/admin/locales/th-TH/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "เปอร์เซ็นต์ส่วนลด", "discount_price": "ราคาหลังหักส่วนลด", "duration": "ระยะเวลา (เดือน)", + "groupId": "กลุ่มการสมัครสมาชิก", "inventory": "สต็อก", "monthlyReset": "รีเซ็ตทุกเดือน", "name": "ชื่อ", @@ -42,7 +43,7 @@ "noReset": "ไม่รีเซ็ต", "pricing": "การตั้งราคา", "purchaseWithDiscount": "อนุญาตให้หัก", - "purchaseWithDiscountDescription": "เปิดหรือปิดฟีเจอร์การหัก เมื่อเปิดใช้งาน ระบบจะดำเนินการหักตามกฎและอัตราส่วนที่กำหนดไว้", + "purchaseWithDiscountDescription": "เปิดหรือปิดการทำงานของฟังก์ชันยกเลิกการสมัคร หลังจากเปิดใช้งาน ระบบจะดำเนินการหักเงินตามกฎและสัดส่วนที่กำหนดไว้ และมูลค่าที่เหลือจะถูกคืนไปยังยอดคงเหลือ", "quota": "จำนวนจำกัดการซื้อ", "renewalReset": "รีเซ็ตเมื่อมีการต่ออายุ", "renewalResetDescription": "รีเซ็ตรอบเมื่อมีการต่ออายุ", @@ -55,8 +56,7 @@ "server": "เซิร์ฟเวอร์", "serverGroup": "กลุ่มเซิร์ฟเวอร์", "servers": "เซิร์ฟเวอร์", - "speedLimit": "จำกัดความเร็ว (Mbps)", - "subscribeGroup": "กลุ่มการสมัครสมาชิก", + "speedLimit": "จำกัดความเร็ว ", "traffic": "ปริมาณข้อมูล", "unitPrice": "ราคาต่อหน่วย", "unitTime": "หน่วยเวลา" diff --git a/apps/admin/locales/th-TH/user.json b/apps/admin/locales/th-TH/user.json index 912fbc7..aa115e3 100644 --- a/apps/admin/locales/th-TH/user.json +++ b/apps/admin/locales/th-TH/user.json @@ -2,6 +2,7 @@ "actions": "การดำเนินการ", "balance": "ยอดคงเหลือ", "cancel": "ยกเลิก", + "commission": "คอมมิชชั่น", "confirm": "ยืนยัน", "confirmDelete": "คุณแน่ใจหรือว่าต้องการลบ?", "create": "สร้าง", @@ -19,7 +20,11 @@ "balance": "ยอดคงเหลือ", "balancePlaceholder": "ยอดคงเหลือ", "cancel": "ยกเลิก", + "commission": "ค่าคอมมิชชั่น", + "commissionPlaceholder": "กรอกค่าคอมมิชชั่น", "confirm": "ยืนยัน", + "giftAmount": "จำนวนของขวัญ", + "giftAmountPlaceholder": "กรอกจำนวนของขวัญ", "invalidEmailFormat": "รูปแบบอีเมลไม่ถูกต้อง", "inviteCode": "รหัสเชิญ", "inviteCodePlaceholder": "กรุณาใส่รหัสเชิญ (เว้นว่างเพื่อสร้างอัตโนมัติ)", @@ -31,6 +36,8 @@ "userEmail": "อีเมลผู้ใช้", "userEmailPlaceholder": "กรุณาใส่อีเมลผู้ใช้" }, + "giftAmount": "จำนวนเงินของขวัญ", + "inviteCode": "รหัสเชิญ", "referer": "ผู้แนะนำ", "updateSuccess": "อัปเดตสำเร็จ", "userList": "รายชื่อผู้ใช้", diff --git a/apps/admin/locales/tr-TR/server.json b/apps/admin/locales/tr-TR/server.json index 25806ce..b2c6c3a 100644 --- a/apps/admin/locales/tr-TR/server.json +++ b/apps/admin/locales/tr-TR/server.json @@ -52,11 +52,11 @@ "enableTLS": "TLS'i Etkinleştir", "encryptionMethod": "Şifreleme Yöntemi", "flow": "Akış Kontrol Algoritması", + "groupId": "Düğüm Grubu", "hopInterval": "Atlama Aralığı", "hopPorts": "Atlama Portları", "hopPortsPlaceholder": "Birden fazla portu virgülle ayırın", "name": "Ad", - "nodeGroupId": "Düğüm Grubu ID", "obfsPassword": "Karmaşık Şifre", "obfsPasswordPlaceholder": "Boş bırakılırsa karmaşıklaştırılmaz", "path": "Yol", diff --git a/apps/admin/locales/tr-TR/subscribe.json b/apps/admin/locales/tr-TR/subscribe.json index 02df48c..3eb3669 100644 --- a/apps/admin/locales/tr-TR/subscribe.json +++ b/apps/admin/locales/tr-TR/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "İndirim Yüzdesi", "discount_price": "İndirimli Fiyat", "duration": "Süre (ay)", + "groupId": "Abonelik Grubu", "inventory": "Stok", "monthlyReset": "Aylık Sıfırlama", "name": "Ad", @@ -42,7 +43,7 @@ "noReset": "Sıfırlama Yok", "pricing": "Fiyatlandırma", "purchaseWithDiscount": "Kesintiye İzin Ver", - "purchaseWithDiscountDescription": "Kesinti özelliğini etkinleştir veya devre dışı bırak. Etkinleştirildiğinde, sistem yapılandırılmış kurallar ve oranlara göre kesintileri işler.", + "purchaseWithDiscountDescription": "Abonelikten çıkma işlevini etkinleştir veya devre dışı bırak. Etkinleştirildikten sonra, sistem yapılandırılmış kurallar ve oranlara göre kesinti işlemi yapacak ve kalan değer bakiyeye iade edilecektir.", "quota": "Satın Alma Limiti", "renewalReset": "Yenileme Sıfırlaması", "renewalResetDescription": "Yenileme üzerine sıfırlama döngüsü", @@ -55,8 +56,7 @@ "server": "Sunucu", "serverGroup": "Sunucu Grubu", "servers": "Sunucular", - "speedLimit": "Hız Sınırı (Mbps)", - "subscribeGroup": "Abonelik Grubu", + "speedLimit": "Hız Sınırı ", "traffic": "Trafik", "unitPrice": "Birim fiyatı", "unitTime": "Birim zamanı" diff --git a/apps/admin/locales/tr-TR/user.json b/apps/admin/locales/tr-TR/user.json index 78c5a93..4f81842 100644 --- a/apps/admin/locales/tr-TR/user.json +++ b/apps/admin/locales/tr-TR/user.json @@ -2,6 +2,7 @@ "actions": "eylemler", "balance": "Bakiye", "cancel": "İptal", + "commission": "Komisyon", "confirm": "Onayla", "confirmDelete": "Silmek istediğinizden emin misiniz?", "create": "oluştur", @@ -19,7 +20,11 @@ "balance": "Bakiye", "balancePlaceholder": "Bakiye", "cancel": "İptal", + "commission": "Komisyon", + "commissionPlaceholder": "Komisyonu girin", "confirm": "Onayla", + "giftAmount": "Hediye Tutarı", + "giftAmountPlaceholder": "Hediye tutarını girin", "invalidEmailFormat": "Geçersiz e-posta formatı", "inviteCode": "Davet Kodu", "inviteCodePlaceholder": "Lütfen davet kodunu girin (boş bırakılırsa otomatik oluşturulur)", @@ -31,6 +36,8 @@ "userEmail": "Kullanıcı E-postası", "userEmailPlaceholder": "Lütfen kullanıcı e-postasını girin" }, + "giftAmount": "Hediye Miktarı", + "inviteCode": "Davet Kodu", "referer": "Referans", "updateSuccess": "Güncelleme başarılı", "userList": "Kullanıcı Listesi", diff --git a/apps/admin/locales/uk-UA/server.json b/apps/admin/locales/uk-UA/server.json index dff306c..8a71b24 100644 --- a/apps/admin/locales/uk-UA/server.json +++ b/apps/admin/locales/uk-UA/server.json @@ -52,11 +52,11 @@ "enableTLS": "Увімкнути TLS", "encryptionMethod": "Метод шифрування", "flow": "Алгоритм контролю потоку", + "groupId": "Група вузлів", "hopInterval": "Інтервал стрибка", "hopPorts": "Порти стрибка", "hopPortsPlaceholder": "Кілька портів розділяйте комами", "name": "Назва", - "nodeGroupId": "ID групи вузлів", "obfsPassword": "Пароль обфускації", "obfsPasswordPlaceholder": "Залиште порожнім для відсутності обфускації", "path": "Шлях", diff --git a/apps/admin/locales/uk-UA/subscribe.json b/apps/admin/locales/uk-UA/subscribe.json index 4ebd754..2e5d06a 100644 --- a/apps/admin/locales/uk-UA/subscribe.json +++ b/apps/admin/locales/uk-UA/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Відсоток знижки", "discount_price": "Ціна зі знижкою", "duration": "Тривалість (місяці)", + "groupId": "Група підписки", "inventory": "Запаси", "monthlyReset": "Щомісячне Скидання", "name": "Назва", @@ -42,7 +43,7 @@ "noReset": "Без Скидання", "pricing": "Ціноутворення", "purchaseWithDiscount": "Дозволити Вирахування", - "purchaseWithDiscountDescription": "Увімкнути або вимкнути функцію вирахувань. Коли увімкнено, система обробляє вирахування на основі налаштованих правил і співвідношень", + "purchaseWithDiscountDescription": "Увімкніть або вимкніть функцію відписки. Після активації система виконає обробку відрахувань згідно з налаштованими правилами та пропорціями, а залишкова вартість буде повернена на баланс", "quota": "Ліміт покупки", "renewalReset": "Скидання при Поновленні", "renewalResetDescription": "Скидання циклу при поновленні", @@ -55,8 +56,7 @@ "server": "Сервер", "serverGroup": "Група серверів", "servers": "Сервери", - "speedLimit": "Обмеження швидкості (Мбіт/с)", - "subscribeGroup": "Група підписки", + "speedLimit": "Обмеження швидкості", "traffic": "Трафік", "unitPrice": "Ціна за одиницю", "unitTime": "Одиниця часу" diff --git a/apps/admin/locales/uk-UA/user.json b/apps/admin/locales/uk-UA/user.json index 5f51bdd..7f9de5f 100644 --- a/apps/admin/locales/uk-UA/user.json +++ b/apps/admin/locales/uk-UA/user.json @@ -2,6 +2,7 @@ "actions": "дії", "balance": "Баланс", "cancel": "Скасувати", + "commission": "Комісія", "confirm": "Підтвердити", "confirmDelete": "Ви впевнені, що хочете видалити?", "create": "створити", @@ -19,7 +20,11 @@ "balance": "Баланс", "balancePlaceholder": "Баланс", "cancel": "Скасувати", + "commission": "Комісія", + "commissionPlaceholder": "Введіть комісію", "confirm": "Підтвердити", + "giftAmount": "Сума подарунка", + "giftAmountPlaceholder": "Введіть суму подарунка", "invalidEmailFormat": "Недійсний формат електронної пошти", "inviteCode": "Код запрошення", "inviteCodePlaceholder": "Введіть код запрошення (залиште порожнім для автоматичної генерації)", @@ -31,6 +36,8 @@ "userEmail": "Електронна пошта користувача", "userEmailPlaceholder": "Введіть електронну пошту користувача" }, + "giftAmount": "Сума подарунка", + "inviteCode": "Код запрошення", "referer": "Реферер", "updateSuccess": "Оновлення успішне", "userList": "Список користувачів", diff --git a/apps/admin/locales/vi-VN/server.json b/apps/admin/locales/vi-VN/server.json index 15bf30a..1952719 100644 --- a/apps/admin/locales/vi-VN/server.json +++ b/apps/admin/locales/vi-VN/server.json @@ -52,11 +52,11 @@ "enableTLS": "Kích hoạt TLS", "encryptionMethod": "Phương pháp mã hóa", "flow": "Thuật toán điều khiển luồng", + "groupId": "Nhóm Nút", "hopInterval": "Khoảng cách nhảy", "hopPorts": "Cổng nhảy", "hopPortsPlaceholder": "Nhiều cổng cách nhau bằng dấu phẩy", "name": "Tên", - "nodeGroupId": "ID nhóm nút", "obfsPassword": "Mật khẩu làm mờ", "obfsPasswordPlaceholder": "Để trống nếu không làm mờ", "path": "Đường dẫn", diff --git a/apps/admin/locales/vi-VN/subscribe.json b/apps/admin/locales/vi-VN/subscribe.json index c7910c7..2534692 100644 --- a/apps/admin/locales/vi-VN/subscribe.json +++ b/apps/admin/locales/vi-VN/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "Phần trăm giảm giá", "discount_price": "Giá sau giảm", "duration": "Thời gian (tháng)", + "groupId": "Nhóm Đăng Ký", "inventory": "Tồn kho", "monthlyReset": "Đặt Lại Hàng Tháng", "name": "Tên", @@ -42,7 +43,7 @@ "noReset": "Không Đặt Lại", "pricing": "Giá Cả", "purchaseWithDiscount": "Cho Phép Khấu Trừ", - "purchaseWithDiscountDescription": "Bật hoặc tắt tính năng khấu trừ. Khi được bật, hệ thống sẽ xử lý khấu trừ dựa trên các quy tắc và tỷ lệ đã cấu hình", + "purchaseWithDiscountDescription": "Bật hoặc tắt chức năng hủy đăng ký. Sau khi kích hoạt, hệ thống sẽ thực hiện xử lý khấu trừ theo các quy tắc và tỷ lệ đã cấu hình, và giá trị còn lại sẽ được trả về số dư", "quota": "Số lượng mua giới hạn", "renewalReset": "Đặt Lại Khi Gia Hạn", "renewalResetDescription": "Đặt lại chu kỳ khi gia hạn", @@ -55,8 +56,7 @@ "server": "Dịch vụ", "serverGroup": "Nhóm dịch vụ", "servers": "Máy Chủ", - "speedLimit": "Giới hạn tốc độ (Mbps)", - "subscribeGroup": "Nhóm đăng ký", + "speedLimit": "Giới hạn tốc độ ", "traffic": "Lưu lượng", "unitPrice": "Đơn giá", "unitTime": "Đơn vị thời gian" diff --git a/apps/admin/locales/vi-VN/user.json b/apps/admin/locales/vi-VN/user.json index 80446c3..5e0c424 100644 --- a/apps/admin/locales/vi-VN/user.json +++ b/apps/admin/locales/vi-VN/user.json @@ -2,6 +2,7 @@ "actions": "Hành động", "balance": "Số dư", "cancel": "Hủy", + "commission": "Hoa hồng", "confirm": "Xác nhận", "confirmDelete": "Bạn có chắc chắn muốn xóa không?", "create": "Tạo", @@ -19,7 +20,11 @@ "balance": "Số dư", "balancePlaceholder": "Số dư", "cancel": "Hủy", + "commission": "Hoa hồng", + "commissionPlaceholder": "Nhập hoa hồng", "confirm": "Xác nhận", + "giftAmount": "Số tiền quà tặng", + "giftAmountPlaceholder": "Nhập số tiền quà tặng", "invalidEmailFormat": "Định dạng email không hợp lệ", "inviteCode": "Mã mời", "inviteCodePlaceholder": "Vui lòng nhập mã mời (để trống sẽ tự động tạo)", @@ -31,6 +36,8 @@ "userEmail": "Email người dùng", "userEmailPlaceholder": "Vui lòng nhập email người dùng" }, + "giftAmount": "Số tiền quà tặng", + "inviteCode": "Mã Mời", "referer": "Người giới thiệu", "updateSuccess": "Cập nhật thành công", "userList": "Danh sách người dùng", diff --git a/apps/admin/locales/zh-CN/server.json b/apps/admin/locales/zh-CN/server.json index 125ef58..2228c6f 100644 --- a/apps/admin/locales/zh-CN/server.json +++ b/apps/admin/locales/zh-CN/server.json @@ -52,11 +52,11 @@ "enableTLS": "启用TLS", "encryptionMethod": "加密方法", "flow": "流控算法", + "groupId": "节点组", "hopInterval": "跳跃间隔", "hopPorts": "跳跃端口", "hopPortsPlaceholder": "多个端口用逗号分隔", "name": "名称", - "nodeGroupId": "节点组ID", "obfsPassword": "混淆密码", "obfsPasswordPlaceholder": "留空则不混淆", "path": "路径", diff --git a/apps/admin/locales/zh-CN/subscribe.json b/apps/admin/locales/zh-CN/subscribe.json index 040182a..36e3e3a 100644 --- a/apps/admin/locales/zh-CN/subscribe.json +++ b/apps/admin/locales/zh-CN/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "折扣比", "discount_price": "折扣价格", "duration": "时长(月)", + "groupId": "订阅组", "inventory": "库存", "monthlyReset": "按月重置", "name": "名称", @@ -42,7 +43,7 @@ "noReset": "不重置", "pricing": "定价", "purchaseWithDiscount": "允许抵扣", - "purchaseWithDiscountDescription": "启用或禁用抵扣功能。启用后,系统将根据配置的规则和比例进行抵扣处理。", + "purchaseWithDiscountDescription": "启用或禁用退订功能。激活后,系统将根据配置的规则和比例进行扣除处理,剩余价值将返回到余额中", "quota": "限购数量", "renewalReset": "续费重置", "renewalResetDescription": "续费时重置周期", @@ -55,8 +56,7 @@ "server": "服务", "serverGroup": "服务组", "servers": "服务", - "speedLimit": "速度限制(Mbps)", - "subscribeGroup": "订阅组", + "speedLimit": "速度限制", "traffic": "流量", "unitPrice": "单价", "unitTime": "单位时间" diff --git a/apps/admin/locales/zh-CN/user.json b/apps/admin/locales/zh-CN/user.json index 3457ccf..fc8ae33 100644 --- a/apps/admin/locales/zh-CN/user.json +++ b/apps/admin/locales/zh-CN/user.json @@ -2,6 +2,7 @@ "actions": "操作", "balance": "余额", "cancel": "取消", + "commission": "佣金", "confirm": "确认", "confirmDelete": "您确定要删除吗?", "create": "创建", @@ -19,7 +20,11 @@ "balance": "余额", "balancePlaceholder": "余额", "cancel": "取消", + "commission": "佣金", + "commissionPlaceholder": "输入佣金", "confirm": "确认", + "giftAmount": "礼品金额", + "giftAmountPlaceholder": "输入礼品金额", "invalidEmailFormat": "无效的电子邮件格式", "inviteCode": "邀请码", "inviteCodePlaceholder": "请输入邀请码(留空则自动生成)", @@ -31,6 +36,8 @@ "userEmail": "用户邮箱", "userEmailPlaceholder": "请输入用户邮箱" }, + "giftAmount": "礼物金额", + "inviteCode": "邀请码", "referer": "推荐人", "updateSuccess": "更新成功", "userList": "用户列表", diff --git a/apps/admin/locales/zh-HK/server.json b/apps/admin/locales/zh-HK/server.json index 66f8f91..ebadbff 100644 --- a/apps/admin/locales/zh-HK/server.json +++ b/apps/admin/locales/zh-HK/server.json @@ -52,11 +52,11 @@ "enableTLS": "啟用TLS", "encryptionMethod": "加密方法", "flow": "流控算法", + "groupId": "節點組", "hopInterval": "跳躍間隔", "hopPorts": "跳躍端口", "hopPortsPlaceholder": "多個端口用逗號分隔", "name": "名稱", - "nodeGroupId": "節點組ID", "obfsPassword": "混淆密碼", "obfsPasswordPlaceholder": "留空則不混淆", "path": "路徑", diff --git a/apps/admin/locales/zh-HK/subscribe.json b/apps/admin/locales/zh-HK/subscribe.json index 7f57096..f372be7 100644 --- a/apps/admin/locales/zh-HK/subscribe.json +++ b/apps/admin/locales/zh-HK/subscribe.json @@ -35,6 +35,7 @@ "discountPercent": "折扣比", "discount_price": "折扣價格", "duration": "時長(月)", + "groupId": "訂閱組別", "inventory": "庫存", "monthlyReset": "每月重置", "name": "名稱", @@ -42,7 +43,7 @@ "noReset": "不重置", "pricing": "定價", "purchaseWithDiscount": "允許扣減", - "purchaseWithDiscountDescription": "啟用或禁用扣減功能。啟用時,系統將根據配置的規則和比例進行扣減處理", + "purchaseWithDiscountDescription": "啟用或停用取消訂閱功能。啟用後,系統將根據配置的規則和比例進行扣減處理,剩餘的價值將返回到餘額中", "quota": "限購數量", "renewalReset": "續訂重置", "renewalResetDescription": "續訂時重置週期", @@ -55,8 +56,7 @@ "server": "服務", "serverGroup": "服務組", "servers": "伺服器", - "speedLimit": "速度限制(Mbps)", - "subscribeGroup": "訂閱組", + "speedLimit": "速度限制", "traffic": "流量", "unitPrice": "單價", "unitTime": "單位時間" diff --git a/apps/admin/locales/zh-HK/user.json b/apps/admin/locales/zh-HK/user.json index a142a91..d517a5f 100644 --- a/apps/admin/locales/zh-HK/user.json +++ b/apps/admin/locales/zh-HK/user.json @@ -2,6 +2,7 @@ "actions": "操作", "balance": "餘額", "cancel": "取消", + "commission": "佣金", "confirm": "確認", "confirmDelete": "您確定要刪除嗎?", "create": "建立", @@ -19,7 +20,11 @@ "balance": "餘額", "balancePlaceholder": "餘額", "cancel": "取消", + "commission": "佣金", + "commissionPlaceholder": "輸入佣金", "confirm": "確認", + "giftAmount": "禮物金額", + "giftAmountPlaceholder": "輸入禮物金額", "invalidEmailFormat": "無效的電子郵件格式", "inviteCode": "邀請碼", "inviteCodePlaceholder": "請輸入邀請碼(留空則自動生成)", @@ -31,6 +36,8 @@ "userEmail": "用戶信箱", "userEmailPlaceholder": "請輸入用戶信箱" }, + "giftAmount": "禮物金額", + "inviteCode": "邀請碼", "referer": "推薦人", "updateSuccess": "更新成功", "userList": "使用者列表", diff --git a/apps/user/app/(main)/(user)/dashboard/content.tsx b/apps/user/app/(main)/(user)/dashboard/content.tsx index 4f7c833..b82f52d 100644 --- a/apps/user/app/(main)/(user)/dashboard/content.tsx +++ b/apps/user/app/(main)/(user)/dashboard/content.tsx @@ -1,8 +1,14 @@ 'use client'; import { Display } from '@/components/display'; +import Renewal from '@/components/subscribe/renewal'; +import ResetTraffic from '@/components/subscribe/reset-traffic'; +import Unsubscribe from '@/components/subscribe/unsubscribe'; +import useGlobalStore from '@/config/use-global'; +import { getStat } from '@/services/common/common'; import { queryApplicationConfig } from '@/services/user/subscribe'; import { queryUserSubscribe } from '@/services/user/user'; +import { getPlatform } from '@/utils/common'; import { Icon } from '@iconify/react'; import { useQuery } from '@tanstack/react-query'; import { @@ -33,15 +39,8 @@ import Image from 'next/image'; import Link from 'next/link'; import { QRCodeCanvas } from 'qrcode.react'; import { useState } from 'react'; -import { toast } from 'sonner'; - -import Renewal from '@/components/subscribe/renewal'; -import ResetTraffic from '@/components/subscribe/reset-traffic'; -import Unsubscribe from '@/components/subscribe/unsubscribe'; -import useGlobalStore from '@/config/use-global'; -import { getStat } from '@/services/common/common'; -import { getPlatform } from '@/utils/common'; import CopyToClipboard from 'react-copy-to-clipboard'; +import { toast } from 'sonner'; import Subscribe from '../subscribe/page'; export default function Content() { @@ -195,6 +194,7 @@ export default function Content() { {t('subscriptionUrl')} {index + 1} + { @@ -205,9 +205,7 @@ export default function Content() { > { - e.stopPropagation(); - }} + onClick={(e) => e.stopPropagation()} > {t('copy')} @@ -217,43 +215,48 @@ export default function Content() {
    - {application && - application[platform]?.map((app) => ( -
    - {app.name} - {app.icon && ( - {app.name} - )} -
    - + + { + const href = getAppSubLink(app.subscribe_type, url); + if (isBrowser() && href) { + window.location.href = href; + } else if (result) { + toast.success( + <> +

    {t('copySuccess')}

    +

    {t('manualImportMessage')}

    + , + ); + } + }} + > + - { - const href = getAppSubLink(app.subscribe_type, url); - if (isBrowser() && href) { - window.location.href = href; - } else if (result) { - toast.success( - <> -

    {t('copySuccess')}

    -

    {t('manualImportMessage')}

    - , - ); - } - }} - > - -
    -
    +
    - ))} +
    + ))}
    {t('qrCode')} { value?: T; @@ -26,12 +26,16 @@ export function Display({ return formattedValue; } - if (['traffic', 'number'].includes(type) && unlimited && !value) { + if (['traffic', 'trafficSpeed', 'number'].includes(type) && unlimited && !value) { return t('unlimited'); } if (type === 'traffic') { - return value ? formatBytes(value as number) : '0'; + return value ? formatBytes(value) : '0'; + } + + if (type === 'trafficSpeed') { + return value ? formatBytes(value).replace('B', 'b') + 'ps' : '0'; } if (type === 'number') { diff --git a/apps/user/components/subscribe/detail.tsx b/apps/user/components/subscribe/detail.tsx index 54f94f1..207db57 100644 --- a/apps/user/components/subscribe/detail.tsx +++ b/apps/user/components/subscribe/detail.tsx @@ -1,7 +1,6 @@ 'use client'; import { Display } from '@/components/display'; -import { unitConversion } from '@workspace/ui/utils'; import { useTranslations } from 'next-intl'; interface SubscribeDetailProps { @@ -37,11 +36,7 @@ export function SubscribeDetail({ subscribe }: Readonly) {
  • {t('connectionSpeed')} - {subscribe?.speed_limit ? ( - `${unitConversion('bitsToMb', subscribe?.speed_limit)} Mbps` - ) : ( - - )} +