♻️ refactor: Refactoring and adding multiple features

This commit is contained in:
web
2025-08-05 06:42:39 -07:00
committed by speakeloudest
parent 5a2fa2e937
commit 47d19d1b44
106 changed files with 6893 additions and 4604 deletions
+4 -11
View File
@@ -1,32 +1,25 @@
{
"ADS Config": "Configurație ADS",
"Announcement Management": "Managementul Anunțurilor",
"Apple": "ID Apple",
"Application Management": "Gestionarea aplicațiilor",
"Auth Control": "Control Autentificare",
"Coupon Management": "Managementul Cuponului",
"Dashboard": "Tablou de bord",
"Device": "Dispozitiv",
"Document Management": "Managementul documentelor",
"Email": "E-mail",
"Facebook": "Facebook",
"Finance": "Finanțe",
"General": "General",
"GitHub": "GitHub",
"Google": "Google",
"Order Management": "Gestionarea comenzilor",
"Payment Config": "Configurație Plată",
"Phone Number": "Număr de telefon",
"Product Management": "Gestionarea Produselor",
"Protocol Management": "Gestionarea Protocolului",
"Rule Management": "Gestionarea regulilor",
"Server": "Serviciu",
"Server Management": "Managementul serverului",
"Settings": "Setări",
"Subscribe Management": "Gestionarea abonamentelor",
"Subscribe Config": "Configurație Abonare",
"System Config": "Configurația sistemului",
"System Management": "Gestionarea sistemului",
"System Tool": "Instrumente de sistem",
"Telegram": "Telegram",
"Ticket Management": "Gestionarea Biletelor",
"Twitter": "Twitter",
"User": "Utilizator",
"User Detail": "Detalii Utilizator",
"User Management": "Gestionarea Utilizatorilor"
+160
View File
@@ -0,0 +1,160 @@
{
"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ă",
"copySuccess": "Copiat cu succes",
"create": "crea",
"createSubscribe": "Creează abonament",
"createSuccess": "Creare reușită",
"delete": "șterge",
"deleteSuccess": "Ștergere reușită",
"deleteWarning": "După ștergere, datele nu pot fi recuperate, vă rugăm să acționați cu prudență.",
"deviceLimit": "Număr de dispozitive",
"edit": "editează",
"editSubscribe": "Editează abonamentul",
"form": {
"Day": "Zi",
"Hour": "Oră",
"Minute": "Minut",
"Month": "Lună",
"NoLimit": "Fără limită",
"Year": "An",
"annualReset": "Resetare Anuală",
"basic": "De Bază",
"cancel": "Anulează",
"confirm": "Confirmă",
"deductionRatio": "Configurare Deducere Automată/Manuală",
"deductionRatioDescription": "Utilizat pentru deducere. În mod implicit, sistemul adoptă un algoritm de calcul automat. Când se furnizează un raport manual, sistemul calculează proporțiile pe baza timpului și a raportului de trafic, asigurându-se că totalul este egal cu 100%.",
"description": "Descriere",
"deviceLimit": "Limită dispozitive",
"discount": "Reducere",
"discountDescription": "Reducere bazată pe preț unitar",
"discountMonths": "luni",
"discountPercent": "Procent reducere",
"discount_price": "Preț redus",
"duration": "Durată (luni)",
"groupId": "Grup de Abonament",
"inventory": "Limit de Abonament",
"monthlyReset": "Resetare Lunară",
"name": "Nume",
"noLimit": "Fără limită",
"noReset": "Fără Resetare",
"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.",
"quota": "Limită de achiziție",
"renewalReset": "Resetare la Reînnoire",
"renewalResetDescription": "Resetează ciclul la reînnoire",
"replacement": "Preț de înlocuire (per dată)",
"resetCycle": "Ciclu de Resetare",
"resetOn1st": "Resetare pe 1",
"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",
"unitTime": "Unitate de timp"
},
"group": {
"actions": "Acțiuni",
"cancel": "Anulează",
"confirm": "Confirmă",
"confirmDelete": "Sigur doriți să ștergeți?",
"create": "Creează",
"createSubscribeGroup": "Creează un grup de abonamente",
"createSuccess": "Creat cu succes",
"delete": "Șterge",
"deleteSuccess": "Șters cu succes",
"deleteWarning": "După ștergere, datele nu pot fi recuperate, vă rugăm să acționați cu prudență.",
"description": "Descriere",
"edit": "Editează",
"editSubscribeGroup": "Editează grupul de abonamente",
"form": {
"cancel": "Anulează",
"confirm": "Confirmă",
"description": "Descriere",
"name": "Nume"
},
"name": "Nume",
"title": "Lista grupurilor de abonamente",
"updateSuccess": "Actualizat cu succes",
"updatedAt": "Data actualizării"
},
"inventory": "Limită de abonament",
"name": "Nume",
"quota": "Limită de achiziție/pe tranzacție",
"replacement": "Resetare preț/pe utilizare",
"sell": "Vânzare",
"show": "Afișare",
"sold": "Număr de abonamente",
"subscribe": "Abonare",
"subscribeGroup": "Abonare grup",
"tabs": {
"subscribe": "Abonare",
"subscribeApp": "Configurare Aplicație",
"subscribeConfig": "Configurare Abonament",
"subscribeGroup": "Grup de abonare"
},
"traffic": "trafic",
"unitPrice": "Preț unitar",
"updateSuccess": "Actualizare reușită"
}
+77 -149
View File
@@ -1,161 +1,89 @@
{
"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",
"actions": {
"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"
"save": "Salvează",
"saveTemplate": "Salvează Șablon"
},
"cancel": "Anulează",
"config": {
"singleSubscriptionMode": "Modul Abonament Unic",
"singleSubscriptionModeDescription": "Când este activat, toate abonamentele utilizatorilor vor fi convertite în sold",
"description": "Gestionează setările sistemului de abonamente",
"restrictUserAgent": "Restricție User-Agent",
"restrictUserAgentDescription": "Activează restricții de acces bazate pe User-Agent",
"singleSubscriptionMode": "Mod Abonament Unic",
"singleSubscriptionModeDescription": "Limitează utilizatorii la o singură subscripție activă. Subscripțiile existente nu sunt afectate",
"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"
"subscriptionDomainDescription": "Domeniu personalizat pentru linkurile de abonament",
"subscriptionDomainPlaceholder": "Introdu domeniul de abonament, câte unul pe linie",
"subscriptionPath": "Cale Abonament",
"subscriptionPathDescription": "Cale personalizată pentru punctele finale de abonament (performanță mai bună după repornirea sistemului)",
"subscriptionPathPlaceholder": "Introdu calea de abonament",
"title": "Configurare Abonament",
"updateError": "Actualizarea a eșuat",
"updateSuccess": "Setările au fost actualizate cu succes",
"userAgentWhitelist": "Lista albă User-Agent",
"userAgentWhitelistDescription": "User-Agent-uri permise pentru accesul la subscripție, câte unul pe linie. Șabloanele încorporate sunt incluse automat în lista albă",
"userAgentWhitelistPlaceholder": "Introdu User-Agent-uri permise, câte unul pe linie",
"wildcardResolution": "Rezolvare Wildcard",
"wildcardResolutionDescription": "Activează rezolvarea domeniului wildcard pentru abonamente"
},
"confirm": "Confirmare",
"confirmDelete": "Sigur doriți să ștergeți?",
"copy": "Copiază",
"copySuccess": "Copiat cu succes",
"create": "crea",
"createSubscribe": "Creează abonament",
"createSuccess": "Creare reușită",
"delete": "șterge",
"deleteSuccess": "Ștergere reușită",
"deleteWarning": "După ștergere, datele nu pot fi recuperate, vă rugăm să acționați cu prudență.",
"deviceLimit": "Număr de dispozitive",
"edit": "editează",
"editSubscribe": "Editează abonamentul",
"form": {
"Day": "Zi",
"Hour": "Oră",
"Minute": "Minut",
"Month": "Lună",
"NoLimit": "Fără limită",
"Year": "An",
"annualReset": "Resetare Anuală",
"basic": "De Bază",
"cancel": "Anulează",
"confirm": "Confirmă",
"deductionRatio": "Configurare Deducere Automată/Manuală",
"deductionRatioDescription": "Utilizat pentru deducere. În mod implicit, sistemul adoptă un algoritm de calcul automat. Când se furnizează un raport manual, sistemul calculează proporțiile pe baza timpului și a raportului de trafic, asigurându-se că totalul este egal cu 100%.",
"description": "Descriere",
"deviceLimit": "Limită dispozitive",
"discount": "Reducere",
"discountDescription": "Reducere bazată pe preț unitar",
"discountMonths": "luni",
"discountPercent": "Procent reducere",
"discount_price": "Preț redus",
"duration": "Durată (luni)",
"groupId": "Grup de Abonament",
"inventory": "Limit de Abonament",
"monthlyReset": "Resetare Lunară",
"name": "Nume",
"noLimit": "Fără limită",
"noReset": "Fără Resetare",
"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.",
"quota": "Limită de achiziție",
"renewalReset": "Resetare la Reînnoire",
"renewalResetDescription": "Resetează ciclul la reînnoire",
"replacement": "Preț de înlocuire (per dată)",
"resetCycle": "Ciclu de Resetare",
"resetOn1st": "Resetare pe 1",
"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",
"unitTime": "Unitate de timp"
"description": "Configurează setările de abonament și șabloanele clientului",
"messages": {
"noClients": "Niciun Șablon Client",
"noClientsDescription": "Nu sunt configurate încă șabloane pentru clienți. Adaugă primul tău șablon pentru a începe."
},
"group": {
"actions": "Acțiuni",
"cancel": "Anulează",
"confirm": "Confirmă",
"confirmDelete": "Sigur doriți să ștergeți?",
"create": "Creează",
"createSubscribeGroup": "Creează un grup de abonamente",
"createSuccess": "Creat cu succes",
"delete": "Șterge",
"deleteSuccess": "Șters cu succes",
"deleteWarning": "După ștergere, datele nu pot fi recuperate, vă rugăm să acționați cu prudență.",
"description": "Descriere",
"edit": "Editează",
"editSubscribeGroup": "Editează grupul de abonamente",
"form": {
"cancel": "Anulează",
"confirm": "Confirmă",
"description": "Descriere",
"name": "Nume"
"protocol": {
"clients": {
"clash": {
"features": "Ecosistem mare, reguli cuprinzătoare, comunitate activă"
},
"egern": {
"features": "Client modern pentru iOS, performanță excelentă"
},
"hiddify": {
"features": "Multi-platformă, protocoale cuprinzătoare, prietenos pentru începători"
},
"loon": {
"features": "Client avansat pentru iOS, reguli bogate, interfață frumoasă"
},
"netch": {
"features": "Client proxy axat pe gaming"
},
"quantumult": {
"features": "Client avansat pentru iOS, reguli flexibile, scripturi bogate"
},
"shadowrocket": {
"features": "Client clasic pentru iOS, configurare flexibilă"
},
"singbox": {
"features": "Kernelul cel mai recent, GUI oficial, suport multi-platformă"
},
"stash": {
"features": "UI modern pentru mobil, protocoale cuprinzătoare"
},
"surfboard": {
"features": "Gratuit, dezvoltare activă, interfață modernă"
},
"surge": {
"features": "Instrument premium pentru iOS/Mac, caracteristici puternice"
},
"v2box": {
"features": "Client V2Ray prietenos cu utilizatorul"
},
"v2rayn": {
"features": "Client popular pentru Windows, bogat în caracteristici"
},
"v2rayng": {
"features": "Client popular pentru Android, ușor"
}
},
"name": "Nume",
"title": "Lista grupurilor de abonamente",
"updateSuccess": "Actualizat cu succes",
"updatedAt": "Data actualizării"
"description": "Gestionează șabloanele de configurare a abonamentului pentru clienții proxy",
"features": "Caracteristici Cheie",
"platforms": "Platforme",
"subscribeTemplate": "Configurare Șablon Abonament",
"templateContent": "Conținut Șablon",
"templatePlaceholder": "Introdu șablonul de configurare a clientului...",
"title": "Șabloane de Abonament pentru Clienți"
},
"inventory": "Limită de abonament",
"name": "Nume",
"quota": "Limită de achiziție/pe tranzacție",
"replacement": "Resetare preț/pe utilizare",
"sell": "Vânzare",
"show": "Afișare",
"sold": "Număr de abonamente",
"subscribe": "Abonare",
"subscribeGroup": "Abonare grup",
"tabs": {
"subscribe": "Abonare",
"subscribeApp": "Configurare Aplicație",
"subscribeConfig": "Configurare Abonament",
"subscribeGroup": "Grup de abonare"
},
"traffic": "trafic",
"unitPrice": "Preț unitar",
"updateSuccess": "Actualizare reușită"
"title": "Gestionarea Abonamentelor"
}