* feat(model-select-modal): highlight added models and support bulk selection - Add addedModelValues prop to highlight already-added models with primary color - Sort models alphabetically per provider, with added models floated to top - Replace green highlight with primary brand color (orange #E56A4A) - Use check icon (10px) inline with model name instead of check_circle - Replace Done button with info bar explaining click-to-toggle behavior - Add ProviderIcon to provider group headers replacing colored dot - Import ProviderIcon, remove unused Button import * feat(cli-tools): wire addedModelValues, onDeselect, and auto-save to model select modals - Pass selectedModels as addedModelValues to ModelSelectModal in OpenCode and Copilot cards - Add onDeselect handler to remove model from list on second click - Set closeOnSelect=false to allow bulk model selection - Remove manual setModalOpen(false) from onSelect callbacks - Add saveModels() silent auto-save triggered on modal close (OpenCodeToolCard) - Use useRef to track latest selectedModels in closure-safe way * feat(modal): functional traffic light close button with hover icon and tooltip - Make red dot a clickable button that closes the modal - Show ✕ icon inside red dot on hover via group-hover opacity transition - Gray out yellow and green dots (cursor-not-allowed, no tooltip) - Increase dot size from w-3 h-3 to w-4 h-4 - Add Tooltip with brand-matched color #FF5F56 on red dot - Remove X close button from modal header * feat(tooltip): add color prop for themed tooltip backgrounds * feat(i18n): add translations for model select info bar and close tooltip - Add 'Click to add, click again to remove. Changes are saved automatically.' to all 32 locales - Add 'Close' translation to all 32 locales * fix(ui): address code review feedback on modal UX and auto-save - Modal: remove showCloseButton prop, use showTrafficLights for header condition, hide traffic lights on mobile (hidden md:flex), add mobile X button (md:hidden) with aria-label, add aria-label and title on traffic light close button - OpenCodeToolCard: validate activeModel membership before saving — fallback to models[0] or empty string; clear/reassign activeModel on deselect when removed model was the active one - CopilotToolCard: add useRef + selectedModelsRef, add saveModels() using /api/cli-tools/copilot-settings, wire auto-save on modal close - ModelSelectModal: fix JSX formatting — separate info bar closing div from Search comment onto its own line
193 lines
8.9 KiB
JSON
193 lines
8.9 KiB
JSON
{
|
|
"Cancel": "Anulare",
|
|
"Delete": "Ștergere",
|
|
"Edit": "Editare",
|
|
"Save": "Salvare",
|
|
"Close": "Închide",
|
|
"Add": "Adăugare",
|
|
"Remove": "Eliminare",
|
|
"Settings": "Setări",
|
|
"Profile": "Profil",
|
|
"Dashboard": "Tablou de bord",
|
|
"Logout": "Ieșire",
|
|
"Login": "Conectare",
|
|
"Providers": "Furnizori",
|
|
"Usage": "Statistici de utilizare",
|
|
"API Key": "Cheie API",
|
|
"Connected": "Conectat",
|
|
"Disconnected": "Deconectat",
|
|
"Active": "Activ",
|
|
"Inactive": "Inactiv",
|
|
"Success": "Succes",
|
|
"Failed": "Eşuat",
|
|
"Error": "Eroare",
|
|
"Warning": "Avertisment",
|
|
"Info": "Informații",
|
|
"Loading": "Se încarcă",
|
|
"Search": "Căutare",
|
|
"Filter": "Filtru",
|
|
"Sort": "Sortare",
|
|
"Export": "Exportare",
|
|
"Import": "Importare",
|
|
"Refresh": "Reîmprospătare",
|
|
"Back": "Înapoi",
|
|
"Next": "Următorul",
|
|
"Previous": "Anterior",
|
|
"Submit": "Trimitere",
|
|
"Confirm": "Confirmare",
|
|
"Yes": "Da",
|
|
"No": "Nu",
|
|
"OK": "OK",
|
|
"Apply": "Aplicare",
|
|
"Reset": "Resetare",
|
|
"Clear": "Curățare",
|
|
"Select": "Selectare",
|
|
"Upload": "Încărcare",
|
|
"Download": "Descărcare",
|
|
"Copy": "Copiere",
|
|
"Paste": "Lipire",
|
|
"Cut": "Tăiere",
|
|
"Undo": "Anulare",
|
|
"Redo": "Refacere",
|
|
"Name": "Nume",
|
|
"Description": "Descriere",
|
|
"Status": "Status",
|
|
"Type": "Tip",
|
|
"Date": "Data",
|
|
"Time": "Oră",
|
|
"Created": "Creat",
|
|
"Updated": "Actualizat",
|
|
"Actions": "Acțiuni",
|
|
"Details": "Detalii",
|
|
"View": "Vizualizare",
|
|
"New": "Nou",
|
|
"Total": "Total",
|
|
"Count": "Număr",
|
|
"Price": "Preț",
|
|
"Cost": "Cost",
|
|
"Free": "Gratuit",
|
|
"Paid": "Plătit",
|
|
"Enable": "Activare",
|
|
"Disable": "Dezactivare",
|
|
"Enabled": "Activat",
|
|
"Disabled": "Dezactivat",
|
|
"Online": "Online",
|
|
"Offline": "Offline",
|
|
"Available": "Disponibil",
|
|
"Unavailable": "Indisponibil",
|
|
"Required": "Necesar",
|
|
"Optional": "Opțional",
|
|
"Default": "Implicit",
|
|
"Custom": "Personalizat",
|
|
"Advanced": "Avansat",
|
|
"Basic": "De bază",
|
|
"Help": "Ajutor",
|
|
"Support": "Suport",
|
|
"Documentation": "Documentație",
|
|
"Version": "Versiune",
|
|
"Language": "Limbă",
|
|
"Theme": "Temă",
|
|
"Light": "Lumină",
|
|
"Dark": "Întunecat",
|
|
"Auto": "Automat",
|
|
"Endpoint": "Punct final",
|
|
"Combos": "Combinații",
|
|
"Quota Tracker": "Urmăritor cote",
|
|
"MITM": "MITM",
|
|
"CLI Tools": "Instrumente",
|
|
"Console Log": "Jurnal consolă",
|
|
"System": "Sistem",
|
|
"Debug": "Depanare",
|
|
"Shutdown": "Oprire",
|
|
"Close Proxy": "Închidere proxy",
|
|
"Are you sure you want to close the proxy server?": "Sunteti sigur că doriți să închideți serverul proxy?",
|
|
"Server Disconnected": "Server deconectat",
|
|
"The proxy server has been stopped.": "Serverul proxy a fost oprit.",
|
|
"Reload Page": "Reîncărcare pagină",
|
|
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Serviciul rulează în terminal. Puteți închide această pagină web. Oprirea va opri serviciul.",
|
|
"Manage your AI provider connections": "Gestionați conexiunile furnizorului dvs. de IA",
|
|
"Model combos with fallback": "Combinații de modele cu fallback",
|
|
"Monitor your API usage, token consumption, and request logs": "Monitorizați utilizarea API-ului, consumul de token și jurnalele de solicitare",
|
|
"Intercept CLI tool traffic and route through 9Router": "Interceptați traficul instrumentului CLI și rutați prin 9Router",
|
|
"Configure CLI tools": "Configurați instrumentele CLI",
|
|
"API endpoint configuration": "Configurația punctului final API",
|
|
"Manage your preferences": "Gestionați preferințele dvs.",
|
|
"Debug translation flow between formats": "Depanare fluxului de traducere între formate",
|
|
"Live server console output": "Ieșire consolă server în direct",
|
|
"Create model combos with fallback support": "Creați combinații de modele cu suport fallback",
|
|
"Local Mode": "Mod local",
|
|
"Running on your machine": "Rulează pe mașina dvs.",
|
|
"Database Location": "Locația bazei de date",
|
|
"Download Backup": "Descărcare copie de rezervă",
|
|
"Import Backup": "Importare copie de rezervă",
|
|
"Database backup downloaded": "Copia de rezervă a bazei de date a fost descărcată",
|
|
"Database imported successfully": "Baza de date a fost importată cu succes",
|
|
"Security": "Securitate",
|
|
"Require login": "Necesită conectare",
|
|
"When ON, dashboard requires password. When OFF, access without login.": "Când este PORNIT, tabloul de bord necesită parolă. Când este OPRIT, accesați fără conectare.",
|
|
"Current Password": "Parola actuală",
|
|
"Enter current password": "Introduceți parola actuală",
|
|
"New Password": "Parola nouă",
|
|
"Enter new password": "Introduceți parola nouă",
|
|
"Confirm New Password": "Confirmați parola nouă",
|
|
"Confirm new password": "Confirmați parola nouă",
|
|
"Update Password": "Actualizare parolă",
|
|
"Set Password": "Setare parolă",
|
|
"Password updated successfully": "Parola a fost actualizată cu succes",
|
|
"Passwords do not match": "Parolele nu coincid",
|
|
"Routing Strategy": "Strategie de rutare",
|
|
"Round Robin": "Tur în jurul",
|
|
"Cycle through accounts to distribute load": "Ciclați prin conturi pentru a distribui sarcina",
|
|
"Sticky Limit": "Limită lipicioasă",
|
|
"Calls per account before switching": "Apeluri pe cont înainte de comutare",
|
|
"Network": "Rețea",
|
|
"Outbound Proxy": "Proxy de ieșire",
|
|
"Enable proxy for OAuth + provider outbound requests.": "Activați proxy-ul pentru solicitări de ieșire OAuth + furnizor.",
|
|
"Proxy URL": "URL proxy",
|
|
"Leave empty to inherit existing env proxy (if any).": "Lăsați gol pentru a moșteni proxy-ul env existent (dacă există).",
|
|
"No Proxy": "Nicio delegare",
|
|
"Comma-separated hostnames/domains to bypass the proxy.": "Nume de gazdă/domenii separate prin virgulă pentru a ocoli proxy-ul.",
|
|
"Test proxy URL": "Testare URL proxy",
|
|
"Proxy settings applied": "Setările proxy au fost aplicate",
|
|
"Proxy enabled": "Proxy activat",
|
|
"Proxy disabled": "Proxy dezactivat",
|
|
"Proxy test OK": "Testul proxy OK",
|
|
"Proxy test failed": "Testul proxy a eșuat",
|
|
"Please enter a Proxy URL to test": "Vă rugăm să introduceți un URL proxy pentru a testa",
|
|
"Observability": "Observabilitate",
|
|
"Enable Observability": "Activare observabilitate",
|
|
"Turn request detail recording on/off globally": "Porniți/opriți înregistrarea detaliilor solicitării la nivel global",
|
|
"Max Records": "Înregistrări maxime",
|
|
"Maximum request detail records to keep (older records are auto-deleted)": "Înregistrări de detalii de solicitare maxime de păstrat (înregistrările mai vechi sunt șterse automat)",
|
|
"Batch Size": "Dimensiune lot",
|
|
"Number of items to accumulate before writing to database (higher = better performance)": "Numărul de articole de acumulat înainte de a scrie în baza de date (mai mare = performanță mai bună)",
|
|
"Flush Interval (ms)": "Interval de golire (ms)",
|
|
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Timp maxim de așteptare înainte de golirea bufferului (previne pierderea datelor în condiții de trafic redus)",
|
|
"Max JSON Size (KB)": "Dimensiune JSON maximă (KB)",
|
|
"Maximum size for each JSON field (request/response) before truncation": "Dimensiune maximă pentru fiecare câmp JSON (solicitare/răspuns) înainte de trunchiere",
|
|
"All data stored on your machine": "Toate datele sunt stocate pe mașina dvs.",
|
|
"MITM Server": "Server MITM",
|
|
"Running": "Se execută",
|
|
"Stopped": "Oprit",
|
|
"Cert": "Certificat",
|
|
"Server": "Server",
|
|
"Purpose:": "Scop:",
|
|
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Folosiți Antigravity IDE & GitHub Copilot → cu ORICE furnizor/model din 9Router",
|
|
"How it works:": "Cum funcționează:",
|
|
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Solicitare Antigravity/Copilot IDE → Redirecționare DNS la localhost:443 → Proxy MITM interceptează → 9Router → răspuns la Antigravity/Copilot",
|
|
"No API keys — create one in Keys page": "Nicio cheie API — creați una în pagina Chei",
|
|
"sk_9router (default)": "sk_9router (implicit)",
|
|
"Server started": "Server pornit",
|
|
"Failed to start server": "Nu s-a putut porni serverul",
|
|
"Server stopped — all DNS cleared": "Server oprit — toate DNS-urile șterse",
|
|
"Failed to stop server": "Nu s-a putut opri serverul",
|
|
"Sudo password is required": "Parola sudo este necesară",
|
|
"Stop Server": "Oprire server",
|
|
"Start Server": "Server de pornire",
|
|
"Enable DNS per tool below to activate interception": "Activați DNS pentru fiecare instrument de mai jos pentru a activa interceptarea",
|
|
"Sudo Password Required": "Parola Sudo este necesară",
|
|
"Enter your sudo password to start/stop MITM server": "Introduceți parola sudo pentru a porni/opri serverul MITM",
|
|
"Sudo Password": "Parola Sudo",
|
|
"Click to add, click again to remove. Changes are saved automatically.": "Faceți clic pentru a adăuga, faceți clic din nou pentru a elimina. Modificările sunt salvate automat."
|
|
}
|