mirror of
https://github.com/perfect-panel/ppanel-web.git
synced 2026-02-06 03:30:25 -05:00
✨ feat: Add bandwidth fields and placeholders for upload and download in server configuration forms; update localization files for multiple languages
This commit is contained in:
parent
c4a47a47dd
commit
3e5402f2fc
@ -25,6 +25,7 @@ export type FieldConfig = {
|
||||
max?: number;
|
||||
step?: number;
|
||||
suffix?: string;
|
||||
password?: number;
|
||||
condition?: (protocol: any, values: any) => boolean;
|
||||
group?: 'basic' | 'transport' | 'security' | 'reality' | 'plugin';
|
||||
gridSpan?: 1 | 2;
|
||||
@ -187,6 +188,8 @@ const hysteria2 = z.object({
|
||||
sni: nullableString,
|
||||
allow_insecure: nullableBool,
|
||||
fingerprint: nullableString,
|
||||
up_mbps: z.number().nullish(),
|
||||
down_mbps: z.number().nullish(),
|
||||
});
|
||||
|
||||
const tuic = z.object({
|
||||
@ -295,6 +298,8 @@ export function getProtocolDefaultConfig(proto: ProtocolType) {
|
||||
hop_interval: null,
|
||||
obfs_password: null,
|
||||
security: 'tls',
|
||||
up_mbps: null,
|
||||
down_mbps: null,
|
||||
} as any;
|
||||
case 'tuic':
|
||||
return {
|
||||
@ -371,6 +376,7 @@ export const PROTOCOL_FIELDS: Record<string, FieldConfig[]> = {
|
||||
name: 'server_key',
|
||||
type: 'input',
|
||||
label: 'server_key',
|
||||
password: 32,
|
||||
group: 'basic',
|
||||
condition: (p) =>
|
||||
[
|
||||
@ -677,13 +683,6 @@ export const PROTOCOL_FIELDS: Record<string, FieldConfig[]> = {
|
||||
placeholder: '1-65535',
|
||||
group: 'basic',
|
||||
},
|
||||
{
|
||||
name: 'obfs_password',
|
||||
type: 'input',
|
||||
label: 'obfs_password',
|
||||
placeholder: (t) => t('obfs_password_placeholder'),
|
||||
group: 'basic',
|
||||
},
|
||||
{
|
||||
name: 'hop_ports',
|
||||
type: 'input',
|
||||
@ -695,10 +694,37 @@ export const PROTOCOL_FIELDS: Record<string, FieldConfig[]> = {
|
||||
name: 'hop_interval',
|
||||
type: 'number',
|
||||
label: 'hop_interval',
|
||||
placeholder: 'e.g. 300',
|
||||
min: 0,
|
||||
suffix: 'S',
|
||||
group: 'basic',
|
||||
},
|
||||
{
|
||||
name: 'obfs_password',
|
||||
type: 'input',
|
||||
label: 'obfs_password',
|
||||
placeholder: (t) => t('obfs_password_placeholder'),
|
||||
password: 16,
|
||||
group: 'basic',
|
||||
},
|
||||
{
|
||||
name: 'up_mbps',
|
||||
type: 'number',
|
||||
label: 'up_mbps',
|
||||
min: 0,
|
||||
placeholder: (t) => t('bandwidth_placeholder'),
|
||||
suffix: 'Mbps',
|
||||
group: 'basic',
|
||||
},
|
||||
{
|
||||
name: 'down_mbps',
|
||||
type: 'number',
|
||||
label: 'down_mbps',
|
||||
min: 0,
|
||||
placeholder: (t) => t('bandwidth_placeholder'),
|
||||
suffix: 'Mbps',
|
||||
group: 'basic',
|
||||
},
|
||||
{ name: 'sni', type: 'input', label: 'security_sni', group: 'security' },
|
||||
{ name: 'allow_insecure', type: 'switch', label: 'security_allow_insecure', group: 'security' },
|
||||
{
|
||||
|
||||
@ -37,6 +37,7 @@ import { Switch } from '@workspace/ui/components/switch';
|
||||
import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
||||
import { Icon } from '@workspace/ui/custom-components/icon';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { uid } from 'radash';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useForm, useWatch } from 'react-hook-form';
|
||||
import { toast } from 'sonner';
|
||||
@ -85,6 +86,7 @@ function DynamicField({
|
||||
<FormControl>
|
||||
<EnhancedInput
|
||||
{...fieldProps}
|
||||
type='text'
|
||||
placeholder={
|
||||
field.placeholder
|
||||
? typeof field.placeholder === 'function'
|
||||
@ -93,6 +95,23 @@ function DynamicField({
|
||||
: undefined
|
||||
}
|
||||
onValueChange={(v) => fieldProps.onChange(v)}
|
||||
suffix={
|
||||
field.password ? (
|
||||
<Button
|
||||
type='button'
|
||||
variant='ghost'
|
||||
onClick={() => {
|
||||
const length = field.password || 16;
|
||||
const result = uid(length).toLowerCase();
|
||||
fieldProps.onChange(result);
|
||||
}}
|
||||
>
|
||||
<Icon icon='mdi:refresh' className='h-4 w-4' />
|
||||
</Button>
|
||||
) : (
|
||||
field.suffix
|
||||
)
|
||||
}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormMessage />
|
||||
@ -116,7 +135,13 @@ function DynamicField({
|
||||
max={field.max}
|
||||
step={field.step || 1}
|
||||
suffix={field.suffix}
|
||||
placeholder={field.placeholder as string}
|
||||
placeholder={
|
||||
field.placeholder
|
||||
? typeof field.placeholder === 'function'
|
||||
? field.placeholder(t, protocolData)
|
||||
: field.placeholder
|
||||
: undefined
|
||||
}
|
||||
onValueChange={(v) => fieldProps.onChange(v)}
|
||||
/>
|
||||
</FormControl>
|
||||
@ -371,7 +396,7 @@ export default function ServerForm(props: {
|
||||
{trigger}
|
||||
</Button>
|
||||
</SheetTrigger>
|
||||
<SheetContent className='w-[580px] max-w-full md:max-w-screen-md'>
|
||||
<SheetContent className='w-[700px] max-w-full md:max-w-screen-md'>
|
||||
<SheetHeader>
|
||||
<SheetTitle>{title}</SheetTitle>
|
||||
</SheetHeader>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adresa",
|
||||
"address_placeholder": "Adresa serveru",
|
||||
"bandwidth_placeholder": "Zadejte šířku pásma, nechte prázdné pro BBR",
|
||||
"basic": "Základní konfigurace",
|
||||
"cancel": "Zrušit",
|
||||
"city": "Město",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Zakázat SNI",
|
||||
"disabled": "Deaktivováno",
|
||||
"disk": "Disk",
|
||||
"down_mbps": "Šířka pásma stahování",
|
||||
"drawerCreateTitle": "Vytvořit server",
|
||||
"drawerEditTitle": "Upravit server",
|
||||
"edit": "Upravit",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Režim UDP relé",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Neomezeno",
|
||||
"up_mbps": "Šířka pásma nahrávání",
|
||||
"updated": "Úspěšně aktualizováno",
|
||||
"user": "Uživatel",
|
||||
"validation_failed": "Ověření selhalo. Zkontrolujte formulář."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adresse",
|
||||
"address_placeholder": "Serveradresse",
|
||||
"bandwidth_placeholder": "Geben Sie die Bandbreite ein, lassen Sie das Feld leer für BBR",
|
||||
"basic": "Grundkonfiguration",
|
||||
"cancel": "Abbrechen",
|
||||
"city": "Stadt",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "SNI deaktivieren",
|
||||
"disabled": "Deaktiviert",
|
||||
"disk": "Festplatte",
|
||||
"down_mbps": "Download-Bandbreite",
|
||||
"drawerCreateTitle": "Server erstellen",
|
||||
"drawerEditTitle": "Server bearbeiten",
|
||||
"edit": "Bearbeiten",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP-Relay-Modus",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Unbegrenzt",
|
||||
"up_mbps": "Upload-Bandbreite",
|
||||
"updated": "Erfolgreich aktualisiert",
|
||||
"user": "Benutzer",
|
||||
"validation_failed": "Validierung fehlgeschlagen. Bitte überprüfen Sie das Formular."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Address",
|
||||
"address_placeholder": "Server address",
|
||||
"bandwidth_placeholder": "Enter bandwidth, leave empty for BBR",
|
||||
"basic": "Basic Configuration",
|
||||
"cancel": "Cancel",
|
||||
"city": "City",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Disable SNI",
|
||||
"disabled": "Disabled",
|
||||
"disk": "Disk",
|
||||
"down_mbps": "Download Bandwidth",
|
||||
"drawerCreateTitle": "Create Server",
|
||||
"drawerEditTitle": "Edit Server",
|
||||
"edit": "Edit",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP relay mode",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Unlimited",
|
||||
"up_mbps": "Upload Bandwidth",
|
||||
"updated": "Updated successfully",
|
||||
"user": "User",
|
||||
"validation_failed": "Validation failed. Please check the form."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Dirección",
|
||||
"address_placeholder": "Dirección del servidor",
|
||||
"bandwidth_placeholder": "Introduce el ancho de banda, deja vacío para BBR",
|
||||
"basic": "Configuración Básica",
|
||||
"cancel": "Cancelar",
|
||||
"city": "Ciudad",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Deshabilitar SNI",
|
||||
"disabled": "Deshabilitado",
|
||||
"disk": "Disco",
|
||||
"down_mbps": "Ancho de banda de descarga",
|
||||
"drawerCreateTitle": "Crear Servidor",
|
||||
"drawerEditTitle": "Editar Servidor",
|
||||
"edit": "Editar",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Modo de retransmisión UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Ilimitado",
|
||||
"up_mbps": "Ancho de banda de subida",
|
||||
"updated": "Actualizado con éxito",
|
||||
"user": "Usuario",
|
||||
"validation_failed": "La validación falló. Por favor revise el formulario."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Dirección",
|
||||
"address_placeholder": "Dirección del servidor",
|
||||
"bandwidth_placeholder": "Ingresa el ancho de banda, deja vacío para BBR",
|
||||
"basic": "Configuración Básica",
|
||||
"cancel": "Cancelar",
|
||||
"city": "Ciudad",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Deshabilitar SNI",
|
||||
"disabled": "Deshabilitado",
|
||||
"disk": "Disco",
|
||||
"down_mbps": "Ancho de banda de descarga",
|
||||
"drawerCreateTitle": "Crear Servidor",
|
||||
"drawerEditTitle": "Editar Servidor",
|
||||
"edit": "Editar",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Modo de retransmisión UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Ilimitado",
|
||||
"up_mbps": "Ancho de banda de carga",
|
||||
"updated": "Actualizado con éxito",
|
||||
"user": "Usuario",
|
||||
"validation_failed": "La validación falló. Por favor verifica el formulario."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "آدرس",
|
||||
"address_placeholder": "آدرس سرور",
|
||||
"bandwidth_placeholder": "عرض پهنای باند، برای BBR خالی بگذارید",
|
||||
"basic": "پیکربندی پایه",
|
||||
"cancel": "لغو",
|
||||
"city": "شهر",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "غیرفعال کردن SNI",
|
||||
"disabled": "غیرفعال",
|
||||
"disk": "دیسک",
|
||||
"down_mbps": "پهنای باند دانلود",
|
||||
"drawerCreateTitle": "ایجاد سرور",
|
||||
"drawerEditTitle": "ویرایش سرور",
|
||||
"edit": "ویرایش",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "حالت رله UDP",
|
||||
"unitSecondsShort": "ث",
|
||||
"unlimited": "نامحدود",
|
||||
"up_mbps": "پهنای باند آپلود",
|
||||
"updated": "با موفقیت بهروزرسانی شد",
|
||||
"user": "کاربر",
|
||||
"validation_failed": "اعتبارسنجی ناموفق بود. لطفاً فرم را بررسی کنید."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Osoite",
|
||||
"address_placeholder": "Palvelimen osoite",
|
||||
"bandwidth_placeholder": "Syötä kaistanleveys, jätä tyhjäksi BBR:lle",
|
||||
"basic": "Perusasetukset",
|
||||
"cancel": "Peruuta",
|
||||
"city": "Kaupunki",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Poista SNI käytöstä",
|
||||
"disabled": "Poissa käytöstä",
|
||||
"disk": "Levy",
|
||||
"down_mbps": "Latauskaistanleveys",
|
||||
"drawerCreateTitle": "Luo palvelin",
|
||||
"drawerEditTitle": "Muokkaa palvelinta",
|
||||
"edit": "Muokkaa",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP-väylätila",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Rajoittamaton",
|
||||
"up_mbps": "Lähetyskaistanleveys",
|
||||
"updated": "Päivitetty onnistuneesti",
|
||||
"user": "Käyttäjä",
|
||||
"validation_failed": "Vahvistus epäonnistui. Tarkista lomake."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adresse",
|
||||
"address_placeholder": "Adresse du serveur",
|
||||
"bandwidth_placeholder": "Entrez la bande passante, laissez vide pour BBR",
|
||||
"basic": "Configuration de base",
|
||||
"cancel": "Annuler",
|
||||
"city": "Ville",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Désactiver SNI",
|
||||
"disabled": "Désactivé",
|
||||
"disk": "Disque",
|
||||
"down_mbps": "Bande passante de téléchargement",
|
||||
"drawerCreateTitle": "Créer un serveur",
|
||||
"drawerEditTitle": "Modifier le serveur",
|
||||
"edit": "Modifier",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Mode de relais UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Illimité",
|
||||
"up_mbps": "Bande passante de téléversement",
|
||||
"updated": "Mis à jour avec succès",
|
||||
"user": "Utilisateur",
|
||||
"validation_failed": "Échec de la validation. Veuillez vérifier le formulaire."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "पता",
|
||||
"address_placeholder": "सर्वर का पता",
|
||||
"bandwidth_placeholder": "बैंडविड्थ दर्ज करें, BBR के लिए खाली छोड़ें",
|
||||
"basic": "बुनियादी कॉन्फ़िगरेशन",
|
||||
"cancel": "रद्द करें",
|
||||
"city": "शहर",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "SNI अक्षम करें",
|
||||
"disabled": "अक्षम",
|
||||
"disk": "डिस्क",
|
||||
"down_mbps": "डाउनलोड बैंडविड्थ",
|
||||
"drawerCreateTitle": "सर्वर बनाएं",
|
||||
"drawerEditTitle": "सर्वर संपादित करें",
|
||||
"edit": "संपादित करें",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP रिले मोड",
|
||||
"unitSecondsShort": "सेकंड",
|
||||
"unlimited": "असीमित",
|
||||
"up_mbps": "अपलोड बैंडविड्थ",
|
||||
"updated": "सफलता से अपडेट किया गया",
|
||||
"user": "उपयोगकर्ता",
|
||||
"validation_failed": "मान्यता विफल। कृपया फॉर्म की जांच करें।"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Cím",
|
||||
"address_placeholder": "Szerver cím",
|
||||
"bandwidth_placeholder": "Adja meg a sávszélességet, hagyja üresen a BBR-hez",
|
||||
"basic": "Alapértelmezett Beállítások",
|
||||
"cancel": "Mégse",
|
||||
"city": "Város",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "SNI letiltása",
|
||||
"disabled": "Letiltva",
|
||||
"disk": "Lemez",
|
||||
"down_mbps": "Letöltési sávszélesség",
|
||||
"drawerCreateTitle": "Szerver létrehozása",
|
||||
"drawerEditTitle": "Szerver szerkesztése",
|
||||
"edit": "Szerkesztés",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP átjáró mód",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Korlátlan",
|
||||
"up_mbps": "Feltöltési sávszélesség",
|
||||
"updated": "Sikeresen frissítve",
|
||||
"user": "Felhasználó",
|
||||
"validation_failed": "Érvényesítés sikertelen. Kérjük, ellenőrizze a űrlapot."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "アドレス",
|
||||
"address_placeholder": "サーバーアドレス",
|
||||
"bandwidth_placeholder": "帯域幅を入力してください。BBRの場合は空白のままにしてください。",
|
||||
"basic": "基本設定",
|
||||
"cancel": "キャンセル",
|
||||
"city": "都市",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "SNIを無効にする",
|
||||
"disabled": "無効",
|
||||
"disk": "ディスク",
|
||||
"down_mbps": "ダウンロード帯域幅",
|
||||
"drawerCreateTitle": "サーバーを作成",
|
||||
"drawerEditTitle": "サーバーを編集",
|
||||
"edit": "編集",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDPリレーモード",
|
||||
"unitSecondsShort": "秒",
|
||||
"unlimited": "無制限",
|
||||
"up_mbps": "アップロード帯域幅",
|
||||
"updated": "更新に成功しました",
|
||||
"user": "ユーザー",
|
||||
"validation_failed": "検証に失敗しました。フォームを確認してください。"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "주소",
|
||||
"address_placeholder": "서버 주소",
|
||||
"bandwidth_placeholder": "대역폭을 입력하세요. BBR을 사용하려면 비워 두세요.",
|
||||
"basic": "기본 설정",
|
||||
"cancel": "취소",
|
||||
"city": "도시",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "SNI 비활성화",
|
||||
"disabled": "비활성화됨",
|
||||
"disk": "디스크",
|
||||
"down_mbps": "다운로드 대역폭",
|
||||
"drawerCreateTitle": "서버 생성",
|
||||
"drawerEditTitle": "서버 편집",
|
||||
"edit": "편집",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP 릴레이 모드",
|
||||
"unitSecondsShort": "초",
|
||||
"unlimited": "무제한",
|
||||
"up_mbps": "업로드 대역폭",
|
||||
"updated": "성공적으로 업데이트됨",
|
||||
"user": "사용자",
|
||||
"validation_failed": "유효성 검사 실패. 양식을 확인하세요."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adresse",
|
||||
"address_placeholder": "Serveradresse",
|
||||
"bandwidth_placeholder": "Skriv inn båndbredde, la stå tomt for BBR",
|
||||
"basic": "Grunnleggende Konfigurasjon",
|
||||
"cancel": "Avbryt",
|
||||
"city": "By",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Deaktiver SNI",
|
||||
"disabled": "Deaktivert",
|
||||
"disk": "Disk",
|
||||
"down_mbps": "Nedlastingsbåndbredde",
|
||||
"drawerCreateTitle": "Opprett server",
|
||||
"drawerEditTitle": "Rediger server",
|
||||
"edit": "Rediger",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP relémodus",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Ubegrenset",
|
||||
"up_mbps": "Opplastingsbåndbredde",
|
||||
"updated": "Oppdatert vellykket",
|
||||
"user": "Bruker",
|
||||
"validation_failed": "Validering feilet. Vennligst sjekk skjemaet."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adres",
|
||||
"address_placeholder": "Adres serwera",
|
||||
"bandwidth_placeholder": "Wprowadź przepustowość, pozostaw puste dla BBR",
|
||||
"basic": "Podstawowa konfiguracja",
|
||||
"cancel": "Anuluj",
|
||||
"city": "Miasto",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Wyłącz SNI",
|
||||
"disabled": "Wyłączone",
|
||||
"disk": "Dysk",
|
||||
"down_mbps": "Przepustowość pobierania",
|
||||
"drawerCreateTitle": "Utwórz serwer",
|
||||
"drawerEditTitle": "Edytuj serwer",
|
||||
"edit": "Edytuj",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Tryb przekazywania UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Nieograniczone",
|
||||
"up_mbps": "Przepustowość wysyłania",
|
||||
"updated": "Zaktualizowano pomyślnie",
|
||||
"user": "Użytkownik",
|
||||
"validation_failed": "Walidacja nie powiodła się. Proszę sprawdzić formularz."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Endereço",
|
||||
"address_placeholder": "Endereço do servidor",
|
||||
"bandwidth_placeholder": "Insira a largura de banda, deixe em branco para BBR",
|
||||
"basic": "Configuração Básica",
|
||||
"cancel": "Cancelar",
|
||||
"city": "Cidade",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Desativar SNI",
|
||||
"disabled": "Desativado",
|
||||
"disk": "Disco",
|
||||
"down_mbps": "Largura de Banda de Download",
|
||||
"drawerCreateTitle": "Criar Servidor",
|
||||
"drawerEditTitle": "Editar Servidor",
|
||||
"edit": "Editar",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Modo de retransmissão UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Ilimitado",
|
||||
"up_mbps": "Largura de Banda de Upload",
|
||||
"updated": "Atualizado com sucesso",
|
||||
"user": "Usuário",
|
||||
"validation_failed": "Validação falhou. Por favor, verifique o formulário."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adresă",
|
||||
"address_placeholder": "Adresă server",
|
||||
"bandwidth_placeholder": "Introduceți lățimea de bandă, lăsați liber pentru BBR",
|
||||
"basic": "Configurare de bază",
|
||||
"cancel": "Anulează",
|
||||
"city": "Oraș",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Dezactivează SNI",
|
||||
"disabled": "Dezactivat",
|
||||
"disk": "Disc",
|
||||
"down_mbps": "Lățimea de bandă la descărcare",
|
||||
"drawerCreateTitle": "Creează Server",
|
||||
"drawerEditTitle": "Editează Server",
|
||||
"edit": "Editează",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Mod relay UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Nelimitat",
|
||||
"up_mbps": "Lățimea de bandă la încărcare",
|
||||
"updated": "Actualizat cu succes",
|
||||
"user": "Utilizator",
|
||||
"validation_failed": "Validarea a eșuat. Te rog verifică formularul."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Адрес",
|
||||
"address_placeholder": "Адрес сервера",
|
||||
"bandwidth_placeholder": "Введите пропускную способность, оставьте пустым для BBR",
|
||||
"basic": "Базовая конфигурация",
|
||||
"cancel": "Отмена",
|
||||
"city": "Город",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Отключить SNI",
|
||||
"disabled": "Отключено",
|
||||
"disk": "Диск",
|
||||
"down_mbps": "Скорость загрузки",
|
||||
"drawerCreateTitle": "Создать сервер",
|
||||
"drawerEditTitle": "Редактировать сервер",
|
||||
"edit": "Редактировать",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Режим UDP ретрансляции",
|
||||
"unitSecondsShort": "С",
|
||||
"unlimited": "Неограниченно",
|
||||
"up_mbps": "Скорость выгрузки",
|
||||
"updated": "Успешно обновлено",
|
||||
"user": "Пользователь",
|
||||
"validation_failed": "Ошибка валидации. Пожалуйста, проверьте форму."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "ที่อยู่",
|
||||
"address_placeholder": "ที่อยู่เซิร์ฟเวอร์",
|
||||
"bandwidth_placeholder": "กรุณากรอกแบนด์วิธ ทิ้งว่างไว้สำหรับ BBR",
|
||||
"basic": "การตั้งค่าพื้นฐาน",
|
||||
"cancel": "ยกเลิก",
|
||||
"city": "เมือง",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "ปิดการใช้งาน SNI",
|
||||
"disabled": "ปิดใช้งาน",
|
||||
"disk": "ดิสก์",
|
||||
"down_mbps": "แบนด์วิธการดาวน์โหลด",
|
||||
"drawerCreateTitle": "สร้างเซิร์ฟเวอร์",
|
||||
"drawerEditTitle": "แก้ไขเซิร์ฟเวอร์",
|
||||
"edit": "แก้ไข",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "โหมดการส่งต่อ UDP",
|
||||
"unitSecondsShort": "ว",
|
||||
"unlimited": "ไม่จำกัด",
|
||||
"up_mbps": "แบนด์วิธการอัปโหลด",
|
||||
"updated": "อัปเดตสำเร็จ",
|
||||
"user": "ผู้ใช้",
|
||||
"validation_failed": "การตรวจสอบล้มเหลว กรุณาตรวจสอบแบบฟอร์ม"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Adres",
|
||||
"address_placeholder": "Sunucu adresi",
|
||||
"bandwidth_placeholder": "Bant genişliğini girin, BBR için boş bırakın",
|
||||
"basic": "Temel Yapılandırma",
|
||||
"cancel": "İptal",
|
||||
"city": "Şehir",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "SNI'yi devre dışı bırak",
|
||||
"disabled": "Devre Dışı",
|
||||
"disk": "Disk",
|
||||
"down_mbps": "İndirme Bant Genişliği",
|
||||
"drawerCreateTitle": "Sunucu Oluştur",
|
||||
"drawerEditTitle": "Sunucuyu Düzenle",
|
||||
"edit": "Düzenle",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP iletim modu",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Sınırsız",
|
||||
"up_mbps": "Yükleme Bant Genişliği",
|
||||
"updated": "Başarıyla güncellendi",
|
||||
"user": "Kullanıcı",
|
||||
"validation_failed": "Doğrulama başarısız. Lütfen formu kontrol edin."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Адреса",
|
||||
"address_placeholder": "Адреса сервера",
|
||||
"bandwidth_placeholder": "Введіть пропускну здатність, залиште порожнім для BBR",
|
||||
"basic": "Базова конфігурація",
|
||||
"cancel": "Скасувати",
|
||||
"city": "Місто",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Вимкнути SNI",
|
||||
"disabled": "Вимкнено",
|
||||
"disk": "Диск",
|
||||
"down_mbps": "Пропускна здатність завантаження",
|
||||
"drawerCreateTitle": "Створити сервер",
|
||||
"drawerEditTitle": "Редагувати сервер",
|
||||
"edit": "Редагувати",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Режим UDP ретрансляції",
|
||||
"unitSecondsShort": "С",
|
||||
"unlimited": "Без обмежень",
|
||||
"up_mbps": "Пропускна здатність вивантаження",
|
||||
"updated": "Успішно оновлено",
|
||||
"user": "Користувач",
|
||||
"validation_failed": "Перевірка не вдалася. Будь ласка, перевірте форму."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "Địa chỉ",
|
||||
"address_placeholder": "Địa chỉ máy chủ",
|
||||
"bandwidth_placeholder": "Nhập băng thông, để trống cho BBR",
|
||||
"basic": "Cấu Hình Cơ Bản",
|
||||
"cancel": "Hủy",
|
||||
"city": "Thành phố",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "Vô hiệu hóa SNI",
|
||||
"disabled": "Đã Vô Hiệu Hóa",
|
||||
"disk": "Ổ đĩa",
|
||||
"down_mbps": "Băng thông tải xuống",
|
||||
"drawerCreateTitle": "Tạo Máy chủ",
|
||||
"drawerEditTitle": "Chỉnh sửa Máy chủ",
|
||||
"edit": "Chỉnh sửa",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "Chế độ chuyển tiếp UDP",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "Không giới hạn",
|
||||
"up_mbps": "Băng thông tải lên",
|
||||
"updated": "Cập nhật thành công",
|
||||
"user": "Người dùng",
|
||||
"validation_failed": "Xác thực không thành công. Vui lòng kiểm tra biểu mẫu."
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "地址",
|
||||
"address_placeholder": "服务器地址",
|
||||
"bandwidth_placeholder": "请输入带宽,留空则使用BBR",
|
||||
"basic": "基础配置",
|
||||
"cancel": "取消",
|
||||
"city": "城市",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "禁用 SNI",
|
||||
"disabled": "禁用",
|
||||
"disk": "磁盘",
|
||||
"down_mbps": "下行带宽",
|
||||
"drawerCreateTitle": "新建服务器",
|
||||
"drawerEditTitle": "编辑服务器",
|
||||
"edit": "编辑",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP 转发模式",
|
||||
"unitSecondsShort": "S",
|
||||
"unlimited": "不限",
|
||||
"up_mbps": "上行带宽",
|
||||
"updated": "更新成功",
|
||||
"user": "用户",
|
||||
"validation_failed": "校验失败,请检查表单。"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"address": "地址",
|
||||
"address_placeholder": "伺服器地址",
|
||||
"bandwidth_placeholder": "輸入帶寬,留空以使用BBR",
|
||||
"basic": "基本配置",
|
||||
"cancel": "取消",
|
||||
"city": "城市",
|
||||
@ -43,6 +44,7 @@
|
||||
"disable_sni": "禁用 SNI",
|
||||
"disabled": "已禁用",
|
||||
"disk": "磁碟",
|
||||
"down_mbps": "下載帶寬",
|
||||
"drawerCreateTitle": "創建伺服器",
|
||||
"drawerEditTitle": "編輯伺服器",
|
||||
"edit": "編輯",
|
||||
@ -110,6 +112,7 @@
|
||||
"udp_relay_mode": "UDP 中繼模式",
|
||||
"unitSecondsShort": "秒",
|
||||
"unlimited": "無限制",
|
||||
"up_mbps": "上傳帶寬",
|
||||
"updated": "更新成功",
|
||||
"user": "用戶",
|
||||
"validation_failed": "驗證失敗。請檢查表單。"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user