♻️ refactor: Refactor server management API endpoints and typings

This commit is contained in:
web
2025-08-26 09:37:15 -07:00
parent 217ddce60c
commit 4f7cc807af
141 changed files with 5665 additions and 10338 deletions
+18 -9
View File
@@ -1,27 +1,36 @@
{
"ADS Config": "Configurație ADS",
"Announcement Management": "Managementul Anunțurilor",
"Application Management": "Gestionarea aplicațiilor",
"Auth Control": "Control Autentificare",
"Balance": "Sold",
"Commerce": "Comerț",
"Commission": "Comision",
"Coupon Management": "Managementul Cuponului",
"Dashboard": "Tablou de bord",
"Document Management": "Managementul documentelor",
"Finance": "Finanțe",
"Email": "Email",
"Gift": "Cadou",
"Login": "Autentificare",
"Logs & Analytics": "Jurnale și Analitice",
"Maintenance": "Întreținere",
"Marketing Management": "Managementul Marketingului",
"Node Management": "Gestionarea Nodurilor",
"Order Management": "Gestionarea comenzilor",
"Payment Config": "Configurație Plată",
"Product Management": "Gestionarea Produselor",
"Protocol Management": "Gestionarea Protocolului",
"Rule Management": "Gestionarea regulilor",
"Server": "Serviciu",
"Register": "Înregistrare",
"Reset Subscribe": "Resetează Abonamentul",
"SMS": "SMS",
"Server Management": "Managementul serverului",
"Settings": "Setări",
"Server Traffic": "Trafic Server",
"Subscribe": "Abonează-te",
"Subscribe Config": "Configurație Abonare",
"Subscribe Traffic": "Trafic Abonament",
"System": "Sistem",
"System Config": "Configurația sistemului",
"System Management": "Gestionarea sistemului",
"System Tool": "Instrumente de sistem",
"Ticket Management": "Gestionarea Biletelor",
"User": "Utilizator",
"User Detail": "Detalii Utilizator",
"User Management": "Gestionarea Utilizatorilor"
"User Management": "Gestionarea Utilizatorilor",
"Users & Support": "Utilizatori și Suport"
}
+37
View File
@@ -0,0 +1,37 @@
{
"address": "Adresă",
"cancel": "Anulează",
"confirm": "Confirmă",
"confirmDeleteDesc": "Această acțiune nu poate fi anulată.",
"confirmDeleteTitle": "Șterge acest nod?",
"copied": "Copiat",
"copy": "Copiază",
"create": "Creează",
"created": "Creat",
"delete": "Șterge",
"deleted": "Șters",
"drawerCreateTitle": "Creează Nod",
"drawerEditTitle": "Editează Nod",
"edit": "Editează",
"enabled": "Activat",
"enabled_off": "Dezactivat",
"enabled_on": "Activat",
"errors": {
"nameRequired": "Te rog introdu un nume",
"portRange": "Portul trebuie să fie între 1 și 65535",
"protocolRequired": "Te rog selectează un protocol",
"serverAddrRequired": "Te rog introdu o adresă de intrare",
"serverRequired": "Te rog selectează un server"
},
"name": "Nume",
"pageTitle": "Noduri",
"port": "Port",
"protocol": "Protocol",
"select_protocol": "Selectează protocolul…",
"select_server": "Selectează serverul…",
"server": "Server",
"tags": "Etichete",
"tags_description": "Etichetă de grupare a permisiunilor (incluzând legarea planului și politicile de livrare).",
"tags_placeholder": "Folosește Enter sau virgulă (,) pentru a adăuga mai multe etichete",
"updated": "Actualizat"
}
+3 -58
View File
@@ -1,59 +1,6 @@
{
"actions": "acțiuni",
"app": {
"appDownloadURL": "URL Descărcare Aplicație",
"appIcon": "Iconiță Aplicație",
"appList": "Listă de aplicații",
"appName": "Nume Aplicație",
"backupDomains": "Listă de domenii de rezervă",
"backupDomainsDescription": "Listă de domenii de rezervă pentru rezolvarea domeniilor, un domeniu pe linie",
"batchDelete": "Ștergere în Lot",
"cancel": "Anulează",
"communicationKey": "Cheie de comunicare",
"communicationKeyDescription": "Cheie utilizată pentru comunicarea cu clientul",
"config": "Configurație",
"configApp": "Configurația aplicației",
"confirm": "Confirmă",
"confirmDelete": "Confirmă Ștergerea",
"create": "Creează",
"createApp": "Creează Aplicație",
"createSuccess": "Creat cu succes",
"defaultVersion": "Implicit",
"delete": "Șterge",
"deleteWarning": "Această acțiune nu poate fi anulată",
"describeDescription": "Folosit pentru a descrie aplicația, afișat în lista de aplicații",
"description": "Descriere",
"downloadLink": "Link de descărcare",
"edit": "Editează",
"editApp": "Editează Aplicație",
"encryption": "Metodă de criptare",
"encryptionDescription": "Alegeți metoda de criptare pentru comunicarea cu clientul. Dacă este selectată, clientul va folosi această metodă pentru a comunica cu serverul",
"nameDescription": "Numele aplicației, afișat în lista de aplicații",
"platform": "Platformă",
"selectApp": "Selectați aplicația",
"selectAppDescription": "Selectați aplicația pentru configurare, toate setările se vor aplica aplicației selectate",
"startupPicture": "Imagine de pornire",
"startupPictureDescription": "Imagine de pornire, suportă imagini de rețea și locale. Pentru imagini de rețea, vă rugăm să introduceți URL-ul complet al imaginii",
"startupPicturePreview": "Previzualizare imagine de pornire",
"startupPictureSkip": "Timp de omitere imagine de pornire",
"startupPictureSkipDescription": "Timpul de afișare a imaginii de pornire în secunde, introduceți 0 pentru a nu afișa",
"subscriptionProtocol": "Protocol de Abonament",
"updateSuccess": "Actualizat cu succes",
"version": "Versiune"
},
"cancel": "Anulează",
"config": {
"singleSubscriptionMode": "Modul Abonament Unic",
"subscriptionDomain": "Domeniu Abonament",
"subscriptionDomainDescription": "Folosit pentru abonament; lăsați necompletat pentru a folosi domeniul site-ului",
"subscriptionDomainPlaceholder": "Introduceți domeniul abonamentului, unul pe linie",
"subscriptionPath": "Calea Abonamentului",
"subscriptionPathDescription": "Folosit pentru abonament; asigurați-vă că reporniți sistemul după modificare pentru performanțe optime",
"subscriptionPathPlaceholder": "Introduceți",
"updateSuccess": "Actualizat cu succes",
"wildcardResolution": "Rezoluție Wildcard",
"wildcardResolutionDescription": "Folosit pentru abonament"
},
"confirm": "Confirmare",
"confirmDelete": "Sigur doriți să ștergeți?",
"copy": "Copiază",
@@ -94,6 +41,9 @@
"name": "Nume",
"noLimit": "Fără limită",
"noReset": "Fără Resetare",
"node": "Nod",
"nodeGroup": "Grup de Noduri",
"nodes": "Noduri",
"pricing": "Prețuri",
"purchaseWithDiscount": "Permite Deducerea",
"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.",
@@ -106,9 +56,6 @@
"selectResetCycle": "Vă rugăm să selectați un ciclu de resetare",
"selectSubscribeGroup": "Vă rugăm să selectați grupul de abonament",
"selectUnitTime": "Vă rugăm să selectați unitatea de timp",
"server": "Server",
"serverGroup": "Grup server",
"servers": "Servere",
"speedLimit": "Limită de viteză ",
"traffic": "Trafic",
"unitPrice": "Preț unitar",
@@ -150,8 +97,6 @@
"subscribeGroup": "Abonare grup",
"tabs": {
"subscribe": "Abonare",
"subscribeApp": "Configurare Aplicație",
"subscribeConfig": "Configurare Abonament",
"subscribeGroup": "Grup de abonare"
},
"traffic": "trafic",
-183
View File
@@ -1,183 +0,0 @@
{
"config": {
"addTimeSlot": "Adaugă Interval de Timp",
"communicationKey": "Cheie de Comunicare",
"communicationKeyDescription": "Cheie pentru comunicarea nodului pentru a asigura securitatea datelor",
"delete": "Șterge",
"dynamicMultiplier": "Multiplicator Dinamic",
"dynamicMultiplierDescription": "Multiplicatorul Dinamic se referă la procesarea datelor transmise cu multiplicatori diferiți pentru noduri diferite în perioade de timp diferite.",
"endTime": "Ora de Sfârșit",
"inputPlaceholder": "Introduceți",
"multiplier": "Multiplicator",
"nodePullInterval": "Interval de Extracție Nod",
"nodePullIntervalDescription": "Frecvența (în secunde) cu care nodurile extrag date de la panou",
"nodePushInterval": "Interval de Transmitere Nod",
"nodePushIntervalDescription": "Frecvența cu care nodurile transmit date către panou",
"reset": "Resetează",
"save": "Salvează",
"saveSuccess": "Salvare Reușită",
"startTime": "Ora de Început",
"timeSlot": "Interval de Timp"
},
"group": {
"actions": "Acțiuni",
"cancel": "Anulează",
"confirm": "Confirmă",
"confirmDelete": "Sigur doriți să ștergeți?",
"create": "Creează",
"createNodeGroup": "Creează grup de noduri",
"createdSuccessfully": "Creat cu succes",
"delete": "Șterge",
"deleteWarning": "După ștergere, datele nu vor putea fi recuperate, vă rugăm să acționați cu prudență.",
"deletedSuccessfully": "Șters cu succes",
"description": "Descriere",
"edit": "Editează",
"editNodeGroup": "Editează grupul de noduri",
"name": "Nume",
"title": "Lista grupurilor de noduri",
"updatedAt": "Actualizat la"
},
"groupForm": {
"cancel": "Anulează",
"confirm": "Confirmă",
"description": "Descriere",
"name": "Nume"
},
"node": {
"abnormal": "Anormal",
"actions": "Acțiuni",
"address": "Adresă",
"all": "Toate",
"basicInfo": "Informații de bază",
"cancel": "Anulează",
"confirm": "Confirmă",
"confirmDelete": "Sigur doriți să ștergeți?",
"copy": "Copiază",
"copySuccess": "Copiat cu succes",
"create": "Creează",
"createNode": "Creează nod",
"createSuccess": "Creat cu succes",
"delete": "Șterge",
"deleteSuccess": "Șters cu succes",
"deleteWarning": "După ștergere, datele nu vor putea fi recuperate. Vă rugăm să acționați cu prudență.",
"detail": "Detaliu",
"disabled": "Dezactivat",
"disk": "Disc",
"edit": "Editează",
"editNode": "Editează nod",
"enable": "Activează",
"enabled": "Activat",
"expireTime": "Timp de expirare",
"hide": "Ascunde",
"id": "ID",
"ipAddresses": "Adrese IP",
"lastUpdated": "Ultima actualizare",
"location": "Locație",
"memory": "Memorie",
"name": "Nume",
"noData": "--",
"node": "Nod",
"nodeDetail": "Detalii nod",
"nodeGroup": "Grup de noduri",
"nodeStatus": "Starea nodului",
"normal": "Normal",
"onlineCount": "Număr de utilizatori online",
"onlineUsers": "Utilizatori online",
"protocol": "Protocol",
"rate": "Rată",
"relay": "Retransmisie",
"serverAddr": "Adresă server",
"speedLimit": "Limită de viteză",
"status": "Stare",
"subscribeId": "ID abonament",
"subscribeName": "Nume abonament",
"subscription": "Abonament",
"tags": "Etichete",
"trafficRatio": "Rata de trafic",
"trafficUsage": "Utilizare trafic",
"type": "Tip",
"updateSuccess": "Actualizat cu succes",
"updatedAt": "Data actualizării",
"user": "Utilizator",
"userDetail": "Detalii utilizator",
"userId": "ID utilizator"
},
"nodeForm": {
"allowInsecure": "Permite Insecuritate",
"cancel": "Anulează",
"city": "Oraș",
"confirm": "Confirmă",
"congestionController": "Controler de Congestie",
"country": "Țară",
"disableSni": "Dezactivează SNI",
"edit": "Editează",
"editSecurity": "Editează Configurarea de Securitate",
"enableTLS": "Activează TLS",
"encryptionMethod": "Metodă de Criptare",
"fingerprint": "Amprentă",
"flow": "Algoritm de Control al Fluxului",
"groupId": "Grup de Noduri",
"hopInterval": "Interval de Salt",
"hopPorts": "Porturi de Salt",
"hopPortsPlaceholder": "Separă porturile multiple cu virgule",
"name": "Nume",
"obfsPassword": "Parolă de Obfuscatie",
"obfsPasswordPlaceholder": "Lasă gol pentru fără obfuscatie",
"path": "Cale",
"pleaseSelect": "Te rugăm să Selectezi",
"port": "Port Server",
"protocol": "Protocol",
"reduceRtt": "Reducere RTT",
"relayHost": "Gazdă Relay",
"relayMode": "Mod Relay",
"relayPort": "Port Relay",
"relayPrefix": "Prefix Relay",
"remarks": "Observații",
"security": "Securitate",
"securityConfig": "Configurare Securitate",
"selectEncryptionMethod": "Selectează Metoda de Criptare",
"selectNodeGroup": "Selectează Grupul de Noduri",
"selectProtocol": "Selectează Protocolul",
"selectRelayMode": "Selectează Mod Relay",
"serverAddr": "Adresă Server",
"serverKey": "Cheie Server",
"serverName": "Nume Serviciu",
"speedLimit": "Limită de Viteză",
"speedLimitPlaceholder": "Nelimitat",
"tags": "Etichete",
"tagsPlaceholder": "Folosește Enter sau virgulă (,) pentru a introduce etichete multiple",
"trafficRatio": "Rată de Trafic",
"transport": "Configurare Protocol de Transport",
"transportConfig": "Configurare Protocol de Transport",
"transportHost": "Adresă Server de Transport",
"transportPath": "Cale de Transport",
"transportServerName": "Nume Server de Transport",
"udpRelayMode": "Mod Relay UDP"
},
"relayModeOptions": {
"all": "Toate",
"none": "Niciunul",
"random": "Aleator"
},
"securityConfig": {
"fingerprint": "Amprentă",
"privateKey": "Cheie Privată",
"privateKeyPlaceholder": "Lasă gol pentru generare automată",
"publicKey": "Cheie Publică",
"publicKeyPlaceholder": "Lasă gol pentru generare automată",
"serverAddress": "Adresă Server",
"serverAddressPlaceholder": "Adresă țintă REALITY, implicit folosind SNI",
"serverName": "Nume Server (SNI)",
"serverNamePlaceholder": "REALITY necesar, consistent cu backend-ul",
"serverPort": "Port Server",
"serverPortPlaceholder": "Port țintă REALITY, implicit 443",
"shortId": "ID Scurt",
"shortIdPlaceholder": "Lasă gol pentru generare automată",
"sni": "Indicație Nume Server (SNI)"
},
"tabs": {
"node": "Nod",
"nodeConfig": "Configurare Nod",
"nodeGroup": "Grup de noduri"
}
}
+101
View File
@@ -0,0 +1,101 @@
{
"address": "Adresă",
"address_placeholder": "Adresă server",
"cancel": "Anulează",
"city": "Oraș",
"config": {
"actions": {
"cancel": "Anulează",
"save": "Salvează"
},
"communicationKey": "Cheie de comunicare",
"communicationKeyDescription": "Utilizată pentru autentificarea nodului.",
"description": "Gestionează cheile de comunicare ale nodului, intervalele de pull/push și multiplicatorii dinamici.",
"dynamicMultiplier": "Multiplicator dinamic",
"dynamicMultiplierDescription": "Definirea intervalelor de timp și a multiplicatorilor pentru ajustarea contabilizării traficului.",
"endTime": "Ora de sfârșit",
"inputPlaceholder": "Te rog introdu",
"multiplier": "Multiplicator",
"nodePullInterval": "Interval de pull al nodului",
"nodePullIntervalDescription": "Cât de des nodul trage configurația (secunde).",
"nodePushInterval": "Interval de push al nodului",
"nodePushIntervalDescription": "Cât de des nodul trimite statistici (secunde).",
"reset": "Resetare",
"save": "Salvează",
"saveSuccess": "Salvat cu succes",
"startTime": "Ora de început",
"timeSlot": "Interval de timp",
"title": "Configurarea nodului"
},
"confirm": "Confirmă",
"confirmDeleteDesc": "Această acțiune nu poate fi anulată.",
"confirmDeleteTitle": "Șterge acest server?",
"congestion_controller": "Controler de congestie",
"copied": "Copiat",
"copy": "Copiază",
"country": "Țară",
"cpu": "CPU",
"create": "Creează",
"created": "Creat cu succes",
"delete": "Șterge",
"deleted": "Șters cu succes",
"disable_sni": "Dezactivează SNI",
"disk": "Disc",
"drawerCreateTitle": "Creează Server",
"drawerEditTitle": "Editează Server",
"edit": "Editează",
"enabled": "Activat",
"encryption_method": "Metodă de criptare",
"expireTime": "Timp de expirare",
"expired": "Expirat",
"flow": "Flux",
"hop_interval": "Interval de hop",
"hop_ports": "Porturi hop",
"hop_ports_placeholder": "de ex. 1-65535",
"host": "Gazdă",
"id": "ID",
"ipAddresses": "Adrese IP",
"memory": "Memorie",
"name": "Nume",
"noData": "Fără date",
"notAvailable": "N/A",
"obfs_password": "Parola de obfuscare",
"obfs_password_placeholder": "Introdu parola de obfuscare",
"offline": "Offline",
"online": "Online",
"onlineUsers": "Utilizatori online",
"pageTitle": "Servere",
"path": "Cale",
"please_select": "Te rog selectează",
"port": "Port",
"protocols": "Protocoale",
"reduce_rtt": "Reducere RTT",
"security_allow_insecure": "Permite nesecurizat",
"security_fingerprint": "Amprentă",
"security_private_key": "Cheie privată reală",
"security_private_key_placeholder": "Introdu cheia privată",
"security_public_key": "Cheie publică reală",
"security_public_key_placeholder": "Introdu cheia publică",
"security_server_address": "Adresă server real",
"security_server_address_placeholder": "de ex. 1.2.3.4 sau domeniu",
"security_server_port": "Port server real",
"security_short_id": "ID scurt real",
"security_short_id_placeholder": "Șir hexazecimal (până la 16 caractere)",
"security_sni": "SNI",
"security_title": "Securitate",
"select_encryption_method": "Selectează metoda de criptare",
"server_key": "Cheie server",
"service_name": "Nume serviciu",
"status": "Stare",
"subscribeId": "ID abonament",
"subscription": "Abonament",
"traffic": "Trafic",
"traffic_ratio": "Multiplicator",
"transport_title": "Transport",
"udp_relay_mode": "Mod relay UDP",
"unitSecondsShort": "S",
"unlimited": "Nelimitat",
"updated": "Actualizat cu succes",
"user": "Utilizator",
"validation_failed": "Validarea a eșuat. Te rog verifică formularul."
}