omniroute 3.3.6 → 3.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/build-manifest.json +2 -2
  3. package/app/.next/prerender-manifest.json +3 -3
  4. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/_global-error.html +2 -2
  42. package/app/.next/server/app/_global-error.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  48. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
  50. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
  63. package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
  64. package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
  65. package/app/.next/server/chunks/[root-of-the-server]__950558b8._.js +1 -1
  66. package/app/.next/server/chunks/[root-of-the-server]__9698d25e._.js +1 -1
  67. package/app/.next/server/chunks/[root-of-the-server]__a32d3818._.js +1 -1
  68. package/app/.next/server/chunks/[root-of-the-server]__bc251fbe._.js +1 -1
  69. package/app/.next/server/chunks/[root-of-the-server]__d5a064d5._.js +1 -1
  70. package/app/.next/server/chunks/_05c48915._.js +1 -1
  71. package/app/.next/server/chunks/_06515a8a._.js +1 -1
  72. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  73. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  74. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  75. package/app/.next/server/chunks/_68683848._.js +1 -1
  76. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  77. package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
  78. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  79. package/app/.next/server/chunks/ssr/src_i18n_messages_ar_json_e1d5145b._.js +1 -1
  80. package/app/.next/server/chunks/ssr/src_i18n_messages_bg_json_34495a0f._.js +1 -1
  81. package/app/.next/server/chunks/ssr/src_i18n_messages_cs_json_db6f9ebc._.js +1 -1
  82. package/app/.next/server/chunks/ssr/src_i18n_messages_da_json_7500ed02._.js +1 -1
  83. package/app/.next/server/chunks/ssr/src_i18n_messages_de_json_b2a40318._.js +1 -1
  84. package/app/.next/server/chunks/ssr/src_i18n_messages_es_json_82775c4a._.js +1 -1
  85. package/app/.next/server/chunks/ssr/src_i18n_messages_fi_json_dcc6745e._.js +1 -1
  86. package/app/.next/server/chunks/ssr/src_i18n_messages_fr_json_fe904570._.js +1 -1
  87. package/app/.next/server/chunks/ssr/src_i18n_messages_he_json_3e3c1e1b._.js +1 -1
  88. package/app/.next/server/chunks/ssr/src_i18n_messages_hi_json_83a0b9e5._.js +1 -1
  89. package/app/.next/server/chunks/ssr/src_i18n_messages_hu_json_651e00d3._.js +1 -1
  90. package/app/.next/server/chunks/ssr/src_i18n_messages_id_json_725d4a34._.js +1 -1
  91. package/app/.next/server/chunks/ssr/src_i18n_messages_in_json_2d7cd177._.js +1 -1
  92. package/app/.next/server/chunks/ssr/src_i18n_messages_it_json_e23882ae._.js +1 -1
  93. package/app/.next/server/chunks/ssr/src_i18n_messages_ja_json_fc6af4d8._.js +1 -1
  94. package/app/.next/server/chunks/ssr/src_i18n_messages_ko_json_0ffdbdc6._.js +1 -1
  95. package/app/.next/server/chunks/ssr/src_i18n_messages_ms_json_610df819._.js +1 -1
  96. package/app/.next/server/chunks/ssr/src_i18n_messages_nl_json_55ad1507._.js +1 -1
  97. package/app/.next/server/chunks/ssr/src_i18n_messages_no_json_9f484a8c._.js +1 -1
  98. package/app/.next/server/chunks/ssr/src_i18n_messages_phi_json_871ece45._.js +1 -1
  99. package/app/.next/server/chunks/ssr/src_i18n_messages_pl_json_79d0be4b._.js +1 -1
  100. package/app/.next/server/chunks/ssr/src_i18n_messages_pt-BR_json_e7b9e8db._.js +1 -1
  101. package/app/.next/server/chunks/ssr/src_i18n_messages_pt_json_2fc13a82._.js +1 -1
  102. package/app/.next/server/chunks/ssr/src_i18n_messages_ro_json_d1a5f5ee._.js +1 -1
  103. package/app/.next/server/chunks/ssr/src_i18n_messages_ru_json_9d7a9dfe._.js +1 -1
  104. package/app/.next/server/chunks/ssr/src_i18n_messages_sk_json_1c5bff4a._.js +1 -1
  105. package/app/.next/server/chunks/ssr/src_i18n_messages_sv_json_e8ae9f28._.js +1 -1
  106. package/app/.next/server/chunks/ssr/src_i18n_messages_th_json_6ed546bd._.js +1 -1
  107. package/app/.next/server/chunks/ssr/src_i18n_messages_tr_json_c8d78b01._.js +1 -1
  108. package/app/.next/server/chunks/ssr/src_i18n_messages_uk-UA_json_c72cdf08._.js +1 -1
  109. package/app/.next/server/chunks/ssr/src_i18n_messages_vi_json_03ec9dfd._.js +1 -1
  110. package/app/.next/server/pages/500.html +2 -2
  111. package/app/.next/server/server-reference-manifest.js +1 -1
  112. package/app/.next/server/server-reference-manifest.json +1 -1
  113. package/app/.next/static/chunks/{b9999bd9d2b99bf6.js → d3c3a9266158d9b0.js} +1 -1
  114. package/app/CHANGELOG.md +19 -1
  115. package/app/docs/openapi.yaml +1 -1
  116. package/app/open-sse/handlers/responseTranslator.ts +1 -1
  117. package/app/open-sse/package.json +1 -1
  118. package/app/package-lock.json +3 -3
  119. package/app/package.json +1 -1
  120. package/app/src/i18n/messages/ar.json +2 -1
  121. package/app/src/i18n/messages/bg.json +2 -1
  122. package/app/src/i18n/messages/cs.json +2 -1
  123. package/app/src/i18n/messages/da.json +2 -1
  124. package/app/src/i18n/messages/de.json +2 -1
  125. package/app/src/i18n/messages/es.json +2 -1
  126. package/app/src/i18n/messages/fi.json +2 -1
  127. package/app/src/i18n/messages/fr.json +2 -1
  128. package/app/src/i18n/messages/he.json +2 -1
  129. package/app/src/i18n/messages/hi.json +2 -1
  130. package/app/src/i18n/messages/hu.json +2 -1
  131. package/app/src/i18n/messages/id.json +2 -1
  132. package/app/src/i18n/messages/in.json +2 -1
  133. package/app/src/i18n/messages/it.json +2 -1
  134. package/app/src/i18n/messages/ja.json +2 -1
  135. package/app/src/i18n/messages/ko.json +2 -1
  136. package/app/src/i18n/messages/ms.json +2 -1
  137. package/app/src/i18n/messages/nl.json +2 -1
  138. package/app/src/i18n/messages/no.json +2 -1
  139. package/app/src/i18n/messages/phi.json +2 -1
  140. package/app/src/i18n/messages/pl.json +2 -1
  141. package/app/src/i18n/messages/pt-BR.json +2 -1
  142. package/app/src/i18n/messages/pt.json +2 -1
  143. package/app/src/i18n/messages/ro.json +2 -1
  144. package/app/src/i18n/messages/ru.json +2 -1
  145. package/app/src/i18n/messages/sk.json +2 -1
  146. package/app/src/i18n/messages/sv.json +2 -1
  147. package/app/src/i18n/messages/th.json +2 -1
  148. package/app/src/i18n/messages/tr.json +2 -1
  149. package/app/src/i18n/messages/uk-UA.json +2 -1
  150. package/app/src/i18n/messages/vi.json +2 -1
  151. package/app/src/shared/services/opencodeConfig.ts +14 -13
  152. package/app/tests/unit/t40-opencode-cli-tools-integration.test.mjs +5 -5
  153. package/package.json +1 -1
  154. /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_buildManifest.js +0 -0
  155. /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_clientMiddlewareManifest.json +0 -0
  156. /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[384650,a=>{a.v(JSON.parse('{"common":{"save":"Salvați","cancel":"Anulează","delete":"Ștergeți","loading":"Se încarcă...","error":"A apărut o eroare","success":"Succes","confirm":"esti sigur?","refresh":"Reîmprospătați","close":"Închide","add":"Adăugați","edit":"Editați","search":"Caută","back":"Înapoi","next":"În continuare","submit":"Trimiteți","reset":"Resetați","copy":"Copiere","copied":"Copiat!","enabled":"Activat","disabled":"Dezactivat","active":"Activ","inactive":"Inactiv","noData":"Nu există date disponibile","configure":"Configurați","manage":"Gestionează","name":"Nume","actions":"Acțiuni","status":"Stare","type":"Tip","model":"Model","models":"modele","provider":"Furnizor","account":"Cont","time":"timpul","details":"Detalii","created":"Creat","lastUsed":"Ultima utilizare","loadMore":"Încărcați mai multe","noResults":"Nu s-au găsit rezultate","reloadPage":"Reîncărcați pagina","connected":"Conectat","disconnected":"Deconectat","notConfigured":"Neconfigurat","testConnection":"Testează conexiunea","enable":"Activați","disable":"Dezactivați","columns":"Coloane","newest":"Cel mai nou","oldest":"Cel mai vechi","all":"Toate","none":"Niciuna","yes":"Da","no":"Nu","warning":"Avertisment","note":"Notă","free":"Gratuit","skipToContent":"Treci la conținut","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"Acceptați","accountId":"ID contului","alias":"Alias","apiKeyId":"ID-ul cheii API","apiKeyName":"Nume cheie API","apiKeySecret":"Secretul cheii API","authorization":"Autorizare","content-type":"Tip de conținut","content-length":"Lungimea conținutului","cookie":"Cookie","file":"Fișier","host":"Gazdă","id":"ID","import":"Import","limit":"Limită","offset":"Offset","open":"Deschide","origin":"Originea","promptTokens":"Jetoane prompte","completionTokens":"Jetoane de finalizare","totalTokens":"Total de jetoane","rawModel":"Model brut","scope":"Domeniul de aplicare","skill":"Îndemânare","sortBy":"Sortare după","sortOrder":"Ordine de sortare","tab":"Tab","text":"Text","textarea":"Textarea","tool":"Instrument","toolId":"ID instrument","web":"Web","whereUsed":"Unde este folosit","whitelist":"Lista albă","blacklist":"Lista neagră","resolve":"Rezolvați","force":"Forța","base64url":"URL Base64","hex":"Hex","range":"Gama","component":"Componentă","redirect_uri":"URI de redirecționare","idempotency-key":"Cheia Idempotnței","error_description":"Descrierea erorii","code":"Cod","compatible":"Compatibil","chat-completions":"Finalizări de chat","oauth":"OAuth","auth_token":"Jeton de autentificare","crypto":"Cripto","hours":"Ore","selfsigned":"Autosemnat","proxy_id":"ID proxy","proxyId":"ID proxy","connectionId":"ID conexiune","resolveConnectionId":"Rezolvați ID-ul conexiunii","resolve_connection_id":"Rezolvați ID-ul conexiunii","scope_id":"ID domeniului","scopeId":"ID domeniului","jwtSecret":"Secretul JWT","keytar":"Keytar","better-sqlite3":"mai bine-sqlite3","undici":"undici","builder-id":"ID constructor","musicDesc":"Descrierea muzicii","musicGeneration":"Generația muzicală","idc":"IDC","cloud-status-changed":"Starea cloudului s-a schimbat","where_used":"Unde este folosit","windowMs":"Fereastra (ms)","social-github":"GitHub","social-google":"Google","TOOL_ALLOWLIST":"Lista de instrumente permise","TOOL_DENYLIST":"Lista de refulare a instrumentelor","Failed to save pricing":"Nu s-a salvat prețul","Failed to reset pricing":"Nu s-a resetat prețul","apikey":"Cheia API","http":"HTTP"},"sidebar":{"home":"Acasă","dashboard":"Tabloul de bord","providers":"Furnizorii","combos":"Combo-uri","usage":"Utilizare","analytics":"Analytics","costs":"Costuri","health":"Sănătate","limits":"Limite și cote","cliTools":"Instrumente CLI","media":"Media","settings":"Setări","translator":"Traducător","docs":"Docs","issues":"Probleme","apiManager":"Manager API","logs":"Bușteni","auditLog":"Jurnal de audit","shutdown":"Închidere","restart":"Reporniți","shutdownConfirm":"Închideți OmniRoute?","restartConfirm":"Reporniți OmniRoute?","version":"v{version}","debug":"Depanați","system":"Sistem","help":"Ajutor","serverDisconnected":"Server deconectat","serverDisconnectedMsg":"Serverul proxy a fost oprit sau repornește.","expandSidebar":"Extinde bara laterală","collapseSidebar":"Restrângeți bara laterală","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Puncte finale","playground":"Playground","agents":"Agenți","cliToolsShort":"Instrumente","autoCombo":"Auto Combo","searchTools":"Search Tools","cache":"Cache","cacheShort":"Cache"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Active theme"},"header":{"logout":"Deconectare","language":"Limba","providers":"Furnizorii","providerDescription":"Gestionați-vă conexiunile furnizorului dvs. de AI","combos":"Combo-uri","comboDescription":"Combo de modele cu rezervă","usage":"Utilizare și analiză","usageDescription":"Monitorizați-vă utilizarea API-ului, consumul de token-uri și jurnalele de solicitări","analytics":"Analytics","analyticsDescription":"Diagrame, tendințe și perspective de evaluare","cliTools":"Instrumente CLI","cliToolsDescription":"Configurați instrumentele CLI","home":"Acasă","homeDescription":"Bun venit la OmniRoute","endpoint":"Endpoints","endpointDescription":"Manage proxy endpoints, MCP, A2A, and API endpoints","settings":"Setări","settingsDescription":"Gestionați-vă preferințele","openaiCompatible":"Compatibil cu OpenAI","anthropicCompatible":"Compatibil antropic","media":"Media","mediaDescription":"Generate images, videos, and music","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"Pornire rapidă","quickStartDesc":"Pune-te în funcțiune în 4 pași. Conectați furnizorii, modelele de traseu, monitorizați totul.","fullDocs":"Documente complete","step1Title":"1. Creați cheia API","step1Desc":"Accesați <endpoint>Endpoint</endpoint> -> Chei înregistrate. Generați o cheie pentru fiecare mediu.","step2Title":"2. Conectați furnizorii","step2Desc":"Adăugați conturi în <providers>Providers</providers>. Acceptă OAuth, cheie API și niveluri gratuite.","step3Title":"3. Indicați-vă clientul","step3Desc":"Setați adresa URL de bază la {url} în clientul dvs. IDE sau API.","step4Title":"4. Monitorizați și optimizați","step4Desc":"Urmăriți jetoanele, costurile și erorile în <logs>Request Logs</logs> și <analytics>Analytics</analytics>.","providersOverview":"Prezentare generală a furnizorilor","configuredOf":"{configured} configurat din {total} furnizori disponibili","noModelsAvailable":"Nu există modele disponibile pentru acest furnizor.","configureFirst":"Configurați mai întâi o conexiune în {providers}","configureProvider":"Configurați furnizorul","modelAvailable":"{count} model disponibil","modelsAvailable":"{count} modele disponibile","connectionsActive":"{count} conexiune activă","connectionsActivePlural":"{count} conexiuni active","copyModelName":"Copiați numele modelului","documentation":"Documentare","healthMonitor":"Monitor de sănătate","reportIssue":"Raportați problema","activeError":"{active} activ · {errors} eroare","oauthLabel":"OAuth","apiKeyLabel":"Cheia API","requestsShort":"{count} solicită","providerModelsTitle":"{provider} - Modele","copiedModel":"Copiat: {model}","aliasLabel":"alias","updateNow":"Actualizați acum","updating":"Se actualizează...","updateAvailableDesc":"Este disponibilă o nouă versiune. Faceți clic pentru a actualiza.","updateStarted":"Actualizarea a început..."},"analytics":{"title":"Analytics","overviewDescription":"Monitorizați-vă modelele de utilizare a API-ului, consumul de simboluri, costurile și tendințele activității la toți furnizorii și modelele.","evalsDescription":"Rulați suite de evaluare pentru a testa și valida punctele finale LLM. Comparați calitatea modelului, detectați regresiile și evaluați latența.","overview":"Prezentare generală","evals":"Evaluări"},"apiManager":{"title":"Chei API","createKey":"Creați cheia API","key":"cheie","revokeKey":"Revocați cheia","revokeConfirm":"Sigur doriți să revocați această cheie API?","noKeys":"Încă nu există chei API","noKeysDesc":"Creați prima cheie API pentru a autentifica solicitările către punctul final","keyLabel":"Eticheta cheii","permissions":"Permisiuni","expiresAt":"Expiră","never":"Niciodată","revoke":"Revocați","showKey":"Afișați cheia","hideKey":"Ascunde cheia","copyKey":"Copiați cheia API","allModels":"Toate modelele","selectedModels":"Modele Selectate","readOnly":"Numai citire","fullAccess":"Acces complet","keyManagement":"Managementul cheilor API","keyManagementDesc":"Creați și gestionați cheile API pentru autentificarea solicitărilor către punctul dvs. final","totalKeys":"Total chei","restricted":"Restricţionat","totalRequests":"Total cereri","modelsAvailable":"Modele disponibile","registeredKeys":"Chei înregistrate","keysRegistered":"{count} chei înregistrate","keyRegistered":"{count} cheie înregistrată","keysSecurityNote":"Fiecare cheie izolează urmărirea utilizării și poate fi revocată independent. Cheile sunt mascate după creare pentru securitate.","createFirstKey":"Creați-vă prima cheie","name":"Nume","usage":"Utilizare","created":"Creat","actions":"Acțiuni","reqs":"solicită","neverUsed":"Nu a fost folosit niciodată","deleteConfirm":"Ștergeți această cheie API?","usageTips":"Sfaturi de utilizare","tipAuth":"Folosiți cheile API în antetul de autorizare ca purtător YOUR_KEY","tipSecure":"Cheile sunt afișate o singură dată în timpul creării - stocați-le în siguranță","tipSeparate":"Creați chei separate pentru diferiți clienți sau medii","tipRestrict":"Limitați cheile la anumite modele pentru o mai bună securitate și control al costurilor","keyName":"Nume cheie","keyNamePlaceholder":"de exemplu, cheie de producție, cheie de dezvoltare","keyNameDesc":"Alegeți un nume descriptiv pentru a identifica scopul acestei chei","keyCreated":"Cheia API creată","keyCreatedSuccess":"Cheie creată cu succes!","keyCreatedNote":"Copiați și stocați această cheie acum - nu va fi afișată din nou.","done":"Gata","savePermissions":"Salvare permisiuni","allowAll":"Permite Toate","restrict":"Restricționați","allowAllInfo":"Această cheie poate accesa toate modelele disponibile.","restrictInfo":"Această cheie poate accesa {selected} din {total} modele.","selected":"{count} selectat","all":"Toate","clear":"Clar","searchModels":"Căutați modele după nume sau furnizor...","noModelsFound":"Nu s-au găsit modele","keyNameRequired":"Numele cheii este obligatoriu","keyNameTooLong":"Numele cheii trebuie să aibă maximum {max} caractere","keyNameInvalid":"Numele cheii poate conține numai litere, cifre, spații, cratime și liniuțe de subliniere","invalidKeyName":"Nume cheie nevalid","failedCreateKey":"Nu s-a putut crea cheia","failedCreateKeyRetry":"Nu s-a putut crea cheia. Vă rugăm să încercați din nou.","invalidKeyId":"ID cheie nevalid","failedDeleteKey":"Cheia nu s-a șters","failedDeleteKeyRetry":"Cheia nu s-a șters. Vă rugăm să încercați din nou.","invalidModelsSelection":"Selecție nevalidă de modele","cannotSelectMoreThanModels":"Nu se pot selecta mai mult de {max} modele","failedUpdatePermissions":"Nu s-au actualizat permisiunile","failedUpdatePermissionsRetry":"Nu s-au actualizat permisiunile. Vă rugăm să încercați din nou.","unknownProvider":"necunoscut","copyMaskedKey":"Copiați cheia mascată","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Ultima: {date}","editPermissions":"Editați permisiunile","deleteKey":"Șterge cheia","model":"{count} model","models":"{count} modele","permissionsTitle":"Permisiuni: {name}","allowAllDesc":"Această cheie poate accesa toate modelele disponibile.","restrictDesc":"Această cheie poate accesa {selectedCount} din {totalModels} modele.","selectedCount":"{count} selectat","autoResolve":"Auto-Resolve","autoResolveDesc":"Auto-resolve ambiguous model names to native provider for this API key.","keyActive":"Key Active","keyActiveDesc":"Enable or disable this API key. Disabled keys are immediately rejected with 403.","accessSchedule":"Access Schedule","accessScheduleDesc":"Restrict access to specific hours and days of the week.","scheduleFrom":"From","scheduleUntil":"Until","scheduleDays":"Days","scheduleTimezone":"Timezone","scheduleTimezoneHint":"Use IANA timezone names, e.g. America/New_York, Europe/Berlin","scheduleActive":"Schedule","disabled":"Disabled","daySun":"Sun","dayMon":"Mon","dayTue":"Tue","dayWed":"Wed","dayThu":"Thu","dayFri":"Fri","daySat":"Sat","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"Jurnal de audit","searchPlaceholder":"Acțiuni de căutare...","action":"Acțiune","actor":"actor","target":"țintă","ipAddress":"Adresa IP","timestamp":"Marca temporală","noEntries":"Nu au fost găsite intrări de audit","filterByAction":"Filtrați după acțiune...","filterByActor":"Filtrați după actor...","filterEntriesAria":"Filtrați intrările din jurnalul de audit","filterByActionTypeAria":"Filtrați după tipul de acțiune","filterByActorAria":"Filtrați după actor","refreshAuditLogAria":"Actualizează jurnalul de audit","tableAria":"Intrări din jurnalul de audit","failedFetchAuditLog":"Nu s-a putut prelua jurnalul de audit","notAvailable":"—","description":"Acțiuni administrative și evenimente de securitate","showing":"Se afișează {count} intrări (offset {offset})","previous":"Anterior"},"media":{"title":"Studio media","subtitle":"Generează imagini, videoclipuri și muzică","model":"Model","prompt":"Prompt","generate":"Generează","generating":"Generating...","loadingModels":"Loading available models...","noModels":"No models available. Configure providers with media capabilities first.","error":"Generation Failed","result":"Result","imageDescription":"Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.","videoDescription":"Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.","musicDescription":"Compose music using Stable Audio Open or MusicGen via ComfyUI."},"cliTools":{"title":"Instrumente CLI","noActiveProviders":"Nu există furnizori activi","noActiveProvidersDesc":"Vă rugăm să adăugați și conectați mai întâi furnizorii pentru a configura instrumentele CLI.","mapModels":"Modele de hartă","testConnection":"Testează conexiunea","connectionStatus":"Starea conexiunii","configureEndpoint":"Configurați punctul final","instructions":"Instrucțiuni","modelMapping":"Maparea modelului","baseUrl":"Adresa URL de bază","apiKey":"Cheia API","configured":"Configurat","notConfigured":"Neconfigurat","notInstalled":"Neinstalat","custom":"Personalizat","unknown":"Necunoscut","lastSavedAt":"Ultima salvare: {date}","never":"Niciodată","justNow":"tocmai acum","minutesAgoShort":"{count}m în urmă","hoursAgoShort":"acum {count}h","daysAgoShort":"acum {count}d","monthsAgoShort":"{count}lună în urmă","yearsAgoShort":"{count}y în urmă","runtimeCheckFailed":"Verificarea timpului de execuție a eșuat","yourApiKeyPlaceholder":"cheia-api","modelPlaceholder":"provider/model-id","configurationSaved":"Configurația a fost salvată cu succes.","failedToSave":"Nu s-a putut salva configurația.","noApiKeysCreateOne":"Fără chei API - Creați una în pagina Chei","defaultOmnirouteKey":"sk_omniroute (implicit)","selectModel":"Selectați Model","selectModelForAlias":"Selectați modelul pentru {alias}","selectModelForTool":"Selectați modelul pentru {tool}","select":"Selectați","clear":"Clar","comingSoon":"În curând","checkingRuntime":"Se verifică starea de rulare...","guideOnlyIntegration":"Integrare numai cu ghid (nu este necesar un timp de rulare local)","cliRuntimeDetected":"Runtime CLI detectat și gata","cliFoundNotRunnable":"CLI găsit, dar nu poate fi executat{reason}","cliRuntimeNotDetected":"Runtime CLI nu a fost detectat","binary":"Binar","configPath":"Calea de configurare","configPathShort":"Config","failedCheckRuntimeStatus":"Nu s-a putut verifica starea de rulare.","copy":"Copiere","copied":"Copiat","copyConfig":"Copiați config","saveConfig":"Salvați configurația","selectionSaved":"Selecția a fost salvată","guide":"Ghid","detected":"Detectat","notReady":"Nu este gata","active":"Activ","inactive":"Inactiv","startMitm":"Porniți MITM","stopMitm":"Opriți MITM","mitmStarted":"MITM a început cu succes!","mitmStopped":"MITM sa oprit cu succes!","failedStart":"Nu s-a pornit MITM","failedStop":"Nu s-a oprit MITM","saveMappings":"Salvați mapările","mappingsSaved":"Mapări salvate!","failedSaveMappings":"Nu s-au salvat mapările","howItWorks":"Cum funcționează:","antigravityHowWorksDesc":"Antigravitația trimite solicitări către punctul final al Google. MITM le interceptează și le redirecționează către OmniRoute.","antigravityStep1":"1. Porniți MITM pentru a direcționa cererile prin OmniRoute.","antigravityStep2Prefix":"2. Adăugați","antigravityStep2Suffix":"în fișierul hosts ca 127.0.0.1.","antigravityStep3":"3. Deschideți Antigravity și cererile vor fi trimise prin proxy.","sudoPasswordRequiredTitle":"Parola Sudo este necesară","sudoPasswordHint":"Parola de administrator este necesară pentru a modifica setările de fișiere gazdă și proxy de sistem.","enterSudoPassword":"Introdu parola sudo","sudoPasswordRequiredError":"Este necesară parola Sudo.","cancel":"Anulează","confirm":"Confirmați","settingsApplied":"Setările aplicate cu succes!","failedApplySettings":"Nu s-au putut aplica setările","settingsReset":"Setările sunt resetate cu succes!","failedResetSettings":"Nu s-au resetat setările","backupRestored":"Backup restaurat!","failedRestore":"Restabilirea eșuată","checkingCli":"Se verifică {tool} CLI...","cliNotRunnable":"{tool} CLI instalat, dar nu poate fi executat","cliNotInstalled":"{tool} CLI nu este instalat","cliNotDetected":"{tool} CLI nu a fost detectat","cliDetectedReady":"{tool} CLI a fost detectat și gata","cliFoundFailedHealthcheck":"{tool} CLI a fost găsit, dar a eșuat verificarea stării de funcționare{reason}.","installCliPrompt":"Instalați {tool} CLI pentru a utiliza această funcție.","installCodexPrompt":"Instalați Codex CLI pentru a utiliza funcția de aplicare automată.","hide":"Ascunde","howToInstall":"Cum se instalează","installationGuide":"Ghid de instalare","platforms":"macOS / Linux / Windows:","afterInstallationRun":"După instalare, rulați","toVerify":"a verifica.","current":"Curent","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Resetați la valoarea implicită","providerModelPlaceholder":"provider/model-id","apply":"Aplicați","reset":"Resetați","manualConfig":"Configurare manuală","backups":"Backup-uri","configBackups":"Backup-uri de configurare","noBackupsYet":"Încă nu există copii de rezervă. Backup-urile sunt create automat înainte de fiecare Aplicare sau Resetare.","restore":"Restaurați","backupRestoredReloading":"Backup restaurat! Starea reîncărcării...","failedRestoreBackup":"Nu s-a restabilit backupul","applied":"Aplicat!","failed":"A eșuat","resetDone":"Resetați!","omnirouteConfiguredOpenAiCompatible":"OmniRoute este configurat ca furnizor compatibil cu OpenAI","provider":"Furnizor","model":"Model","providers":"Furnizorii","auth":"Auth","noApiKeysAvailable":"Nu există chei API disponibile","usingDefaultOmniroute":"Folosind implicit: sk_omniroute","updateConfig":"Actualizați configurația","applyConfig":"Aplicați Config","noBackupsAvailable":"Nu există copii de rezervă disponibile.","profileSaved":"Profilul „{name}” a fost salvat!","failedSaveProfile":"Nu s-a salvat profilul","profileActivated":"Profil activat!","failedActivateProfile":"Nu s-a activat profilul","profiles":"Profiluri","savedProfiles":"Profiluri salvate","noProfilesYet":"Niciun profil nu a fost salvat încă. Salvați configurația curentă ca profil de mai jos.","activate":"Activați","deleteProfile":"Ștergeți profilul","profileNamePlaceholder":"Numele profilului (de ex., Cont personal)","saveCurrent":"Salvați curent","codexAuthNotePrefix":"Codex folosește","codexAuthNoteMiddle":"cu","codexAuthNoteSuffix":"Faceți clic pe „Aplicați” pentru a configura automat.","claudeManualConfiguration":"Claude CLI - Configurare manuală","codexManualConfiguration":"Codex CLI - Configurare manuală","droidManualConfiguration":"Factory Droid - Configurare manuală","openClawManualConfiguration":"Open Claw - Configurare manuală","clineManualConfiguration":"Configurare manuală a liniei","kiloManualConfiguration":"Configurare manuală a codului Kilo","toolDescriptions":{"antigravity":"Google Antigravity IDE cu MITM","claude":"Codul antropic Claude CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"Deschideți Asistentul Claw AI","cline":"CLI Cline AI Coding Assistant","kilo":"Kilo Code AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Continuați Asistentul AI","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE","windsurf":"Windsurf AI Code Editor","copilot":"GitHub Copilot AI Assistant"},"guides":{"cursor":{"notes":{"0":"Este necesar un cont Cursor Pro pentru a utiliza această funcție.","1":"Cursorul direcționează cererile prin propriul server, astfel încât punctul final local nu este acceptat. Vă rugăm să activați Cloud Endpoint în Setări."},"steps":{"1":{"title":"Deschide Setări","desc":"Accesați Setări -> Modele"},"2":{"title":"Activați API-ul OpenAI","desc":"Activați opțiunea „Cheie API OpenAI”."},"3":{"title":"Adresa URL de bază"},"4":{"title":"Cheia API"},"5":{"title":"Adăugați model personalizat","desc":"Faceți clic pe „Vedeți toate modelele” -> „Adăugați modelul personalizat”"},"6":{"title":"Selectați Model"}}},"continue":{"steps":{"1":{"title":"Deschideți Config","desc":"Deschideți Continuați fișierul de configurare"},"2":{"title":"Cheia API"},"3":{"title":"Selectați Model"},"4":{"title":"Adăugați configurația modelului","desc":"Adăugați următoarea configurație la matricea dvs. de modele:"}},"notes":{"0":"Continuați folosește fișierul de configurare JSON."}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}},"notes":{"0":"OpenCode necesită configurarea cheii API.","1":"Setați adresa URL de bază la punctul final OmniRoute."}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}},"notes":{"0":"Kiro necesită un cont Amazon."}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"Când să utilizați","openToolDocs":"Deschideți documentele instrumentului","toolUseCases":{"claude":"Utilizați atunci când doriți fluxuri de lucru puternice de planificare și refactorări lungi cu mai multe fișiere cu Claude Code.","codex":"Utilizați atunci când echipa dvs. este standardizată pe fluxurile OpenAI Codex CLI și pe autentificarea bazată pe profil.","droid":"Utilizați atunci când aveți nevoie de un agent terminal ușor, concentrat pe codificarea rapidă și buclele de execuție a comenzilor.","openclaw":"Utilizați atunci când doriți un agent de codare în stil Open Claw, dar direcționat prin politicile OmniRoute.","cline":"Utilizați atunci când configurați agenți de codare în cadrul editorilor și doriți o configurare ghidată cu modelele OmniRoute.","kilo":"Utilizați atunci când fluxul dvs. de lucru depinde de comenzile Kilo Code și de editările iterative rapide.","cursor":"Utilizați când codați în Cursor și aveți nevoie de modele personalizate compatibile cu OpenAI prin OmniRoute.","continue":"Utilizați atunci când rulați Continue în IDE-uri și aveți nevoie de o configurație portabilă a furnizorului bazată pe JSON.","opencode":"Utilizați atunci când preferați rulările de agent nativ terminal și automatizarea prin script prin OpenCode.","kiro":"Utilizați atunci când integrați Kiro și controlați rutarea modelului central din OmniRoute.","antigravity":"Utilizați atunci când traficul Antigravity/Kiro trebuie interceptat prin MITM și direcționat către OmniRoute.","copilot":"Utilizați atunci când doriți UX în stilul de chat Copilot, în timp ce aplicați cheile și regulile de rutare OmniRoute."}},"combos":{"title":"Combo-uri","description":"Creați combinații de modele cu rutare ponderată și suport alternativ","createCombo":"Creați Combo","editCombo":"Editează Combo","deleteCombo":"Ștergeți Combo","noModels":"Fara modele","noModelsYet":"Nu au fost adăugate modele încă","addModel":"Adăugați modelul","addModelToCombo":"Adăugați modelul la Combo","routingStrategy":"Strategia de rutare","maxRetries":"Reîncercări maxime","timeout":"Timeout (ms)","healthcheck":"Controlul de sănătate","priority":"Prioritate","fallback":"Revenire","roundRobin":"Round Robin","random":"Aleatoriu","leastLatency":"Latență minimă","comboName":"Nume combinat","comboNamePlaceholder":"combo-ul meu","deleteConfirm":"Ștergeți această combinație?","noCombosYet":"Nicio combinație încă","comboCreated":"Combo creat cu succes","comboUpdated":"Combo actualizat cu succes","comboDeleted":"Combo a fost șters","failedCreate":"Nu s-a putut crea combo","failedUpdate":"Nu s-a putut actualiza combo","errorCreating":"Eroare la crearea comboiului","errorUpdating":"Eroare la actualizarea comboiului","errorDeleting":"Eroare la ștergerea combinației","testFailed":"Solicitarea de testare a eșuat","failedToggle":"Combo nu a putut fi comutat","testResults":"Rezultatele testului — {name}","resolvedBy":"Rezolvată de:","more":"+{count} mai mult","reqs":"solicită","success":"succes","proxyConfigured":"Proxy configurat","copyComboName":"Copiați numele combinației","enableCombo":"Activați combo","disableCombo":"Dezactivează combo","testCombo":"Test combo","duplicate":"Duplicat","proxyConfig":"Configurare proxy","nameRequired":"Numele este obligatoriu","nameInvalid":"Doar litere, cifre, -, _, / și . permis","nameHint":"Litere, cifre, -, _, / și . permis","priorityDesc":"Secvenţială alternativă: încearcă mai întâi modelul 1, apoi 2 etc.","weightedDesc":"Distribuie traficul în procente de greutate cu rezervă","roundRobinDesc":"Distribuție circulară: fiecare cerere trece la următorul model în rotație","randomDesc":"Selectare aleatorie uniformă, apoi revenire la modelele rămase","leastUsedDesc":"Alege modelul cu cele mai puține solicitări, echilibrând sarcina în timp","costOptimizedDesc":"Rute către cel mai ieftin model mai întâi pe baza prețului","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each model once before reshuffling","models":"Modele","autoBalance":"Auto-echilibrare","advancedSettings":"Setări avansate","retryDelay":"Întârziere reîncercare (ms)","concurrencyPerModel":"Concurență / Model","queueTimeout":"Timp de așteptare la coadă (ms)","advancedHint":"Lăsați gol pentru a utiliza setările implicite globale. Acestea înlocuiesc setările pentru fiecare furnizor.","moveUp":"Mișcă-te în sus","moveDown":"Deplasați-vă în jos","removeModel":"Eliminați","saving":"Se salvează...","weighted":"ponderat","leastUsed":"Cel mai puțin folosit","costOpt":"Cost-Opt","strategyGuideTitle":"How to use this strategy","strategyGuideWhen":"When to use","strategyGuideAvoid":"Avoid when","strategyGuideExample":"Example","strategyGuide":{"priority":{"when":"You have one preferred model and only want fallback on failure.","avoid":"You need request distribution across models.","example":"Primary coding model with cheaper backup for outages."},"weighted":{"when":"You need controlled traffic split across models.","avoid":"You cannot maintain accurate weights over time.","example":"80% stable model + 20% canary model rollout."},"round-robin":{"when":"You want predictable and even distribution.","avoid":"Models differ too much in latency or cost.","example":"Same model on multiple accounts to spread throughput."},"random":{"when":"You want simple distribution with minimal setup.","avoid":"You need strict traffic guarantees.","example":"Quick prototyping with equivalent models."},"least-used":{"when":"You want adaptive balancing based on live demand.","avoid":"Traffic is too low to benefit from usage balancing.","example":"Mixed workloads where one model often gets overloaded."},"cost-optimized":{"when":"Cost reduction is your top priority.","avoid":"Pricing data is missing or outdated.","example":"Background or batch jobs where lower cost is preferred."}},"advancedHelp":{"maxRetries":"How many retries are attempted before failing a request.","retryDelay":"Initial wait between retries. Higher values reduce burst pressure.","timeout":"Maximum request duration before aborting.","healthcheck":"Skips unhealthy models/providers from routing decisions.","concurrencyPerModel":"Max simultaneous requests allowed per model in round-robin.","queueTimeout":"How long a request can wait in queue before timing out."},"templatesTitle":"Quick templates","templatesDescription":"Apply a starting profile, then adjust models and config.","templateApply":"Apply template","templateHighAvailability":"High availability","templateHighAvailabilityDesc":"Priority routing with health checks and safe retries.","templateCostSaver":"Cost saver","templateCostSaverDesc":"Cost-optimized routing for budget-first workloads.","templateBalanced":"Balanced load","templateBalancedDesc":"Least-used routing to spread demand over time.","usageGuideHide":"Hide","usageGuideDontShowAgain":"Don\'t show again","usageGuideShow":"Show guide","quickTestTitle":"Combo ready to validate","quickTestDescription":"Run a test now to confirm fallback and latency behavior.","testNow":"Test now","pricingCoverage":"Pricing coverage","pricingCoverageHint":"Cost-optimized works best when all combo models have pricing.","pricingAvailable":"Pricing available","pricingMissing":"No pricing","pricingAvailableShort":"priced","pricingMissingShort":"no-price","warningRoundRobinSingleModel":"Round-robin is most useful with at least 2 models.","warningCostOptimizedPartialPricing":"Only {priced} of {total} models have pricing. Routing may be partially cost-aware.","warningCostOptimizedNoPricing":"No pricing data found for this combo. Cost-optimized may route unexpectedly.","readinessTitle":"Sunteți gata să economisiți?","readinessDescription":"Examinați lista de verificare înainte de a crea sau a actualiza această combinație.","readinessCheckName":"Numele combinației este valid","readinessCheckModels":"Este selectat cel puțin un model","readinessCheckWeights":"Totalul ponderat este 100%","readinessCheckWeightsOptional":"Regula de greutate nu este necesară","readinessCheckPricing":"Datele de preț sunt disponibile","readinessCheckPricingOptional":"Regula de preț nu este necesară","saveBlockedTitle":"Salvarea este blocată până când următoarele elemente sunt remediate:","saveBlockName":"Definiți un nume combinat.","saveBlockModels":"Adăugați cel puțin un model.","saveBlockWeighted":"Setați ponderi la 100% (actual: {total}%).","saveBlockPricing":"Adăugați prețuri pentru cel puțin un model sau alegeți o altă strategie.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}},"templateFreeStack":"Free Stack ($0)","templateFreeStackDesc":"Round-robin across all free providers: Kiro (Claude), iFlow (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding."},"costs":{"title":"Costuri","budget":"Buget","totalCost":"Costul total","breakdown":"Defalcarea costurilor","noData":"Fără date de cost","byModel":"După model","byProvider":"Prin Furnizor"},"endpoint":{"title":"API Endpoint","available":"Puncte finale disponibile","cloudProxy":"Cloud Proxy","disableConfirm":"Sigur doriți să dezactivați proxy-ul cloud?","baseUrl":"Adresa URL de bază","apiKeyLabel":"Cheia API","registeredKeys":"Chei înregistrate","chatCompletions":"Finalizări de chat","responses":"Răspunsuri","listModels":"Lista modele","usingCloudProxy":"Folosind Cloud Proxy","usingLocalServer":"Utilizarea serverului local","machineId":"ID mașină: {id}...","disableCloud":"Dezactivați Cloud","enableCloud":"Activați Cloud","modelsAcrossEndpoints":"{models} modele în {endpoints} puncte finale","chatDesc":"Chat în flux și non-stream cu toți furnizorii","embeddings":"Înglobări","embeddingsDesc":"Încorporare de text pentru conductele de căutare și RAG","imageGeneration":"Generare de imagini","imageDesc":"Generați imagini din solicitări de text","rerank":"Reclasează","rerankDesc":"Reglați documentele în funcție de relevanța pentru o interogare","audioTranscription":"Transcriere audio","audioTranscriptionDesc":"Transcrie fișiere audio în text (Șoaptă)","textToSpeech":"Text to Speech","textToSpeechDesc":"Transformați textul în vorbire cu sunet natural","moderations":"Moderații","moderationsDesc":"Moderarea conținutului și clasificarea siguranței","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApiDesc":"Read and modify OmniRoute configuration via API","settingsApi":"Settings API","categoryCore":"API-uri de Bază","categoryMedia":"Media și Multi-Modal","categoryUtility":"Utilități și Gestionare","enableCloudTitle":"Activați Cloud Proxy","whatYouGet":"Ce vei primi","cloudBenefitAccess":"Accesați-vă API-ul de oriunde în lume","cloudBenefitShare":"Partajați cu ușurință punctul final cu echipa dvs","cloudBenefitPorts":"Nu este nevoie să deschideți porturi sau să configurați firewall","cloudBenefitEdge":"Rețea de vârf globală rapidă","cloudSessionNote":"Cloud vă va păstra sesiunea de autentificare timp de 1 zi. Dacă nu este utilizat, acesta va fi șters automat.","cloudUnstableNote":"Cloud este în prezent instabil cu Claude Code OAuth în unele cazuri.","cloudConnected":"Cloud Proxy conectat!","connectingToCloud":"Se conectează la cloud...","verifyingConnection":"Se verifică conexiunea...","connecting":"Se conectează...","verifying":"Se verifică...","connected":"Conectat!","disableCloudTitle":"Dezactivați Cloud Proxy","disableWarning":"Toate sesiunile de autentificare vor fi șterse din cloud.","syncingData":"Se sincronizează cele mai recente date...","disablingCloud":"Se dezactivează cloud...","syncing":"Se sincronizează...","disabling":"Se dezactivează...","cloudConnectedVerified":"Cloud Proxy conectat și verificat!","connectedVerificationPending":"Conectat — verificare în așteptare","connectedVerificationPendingWithError":"Conectat — verificare în așteptare: {error}","cloudDisabledSuccess":"Cloud a fost dezactivat cu succes","syncedSuccess":"Sincronizat cu succes","failedDisable":"Nu s-a putut dezactiva cloud","failedEnable":"Nu s-a activat cloud","cloudRequestTimeout":"Timeout cerere cloud","cloudRequestFailed":"Solicitarea cloud a eșuat","cloudWorkerUnreachable":"Nu s-a putut contacta lucrătorul cloud. Asigurați-vă că serviciul cloud rulează (npm run dev în /cloud).","connectionFailed":"Conexiunea a eșuat","syncFailed":"Nu s-au putut sincroniza datele din cloud","providerModelsTitle":"{provider} — Modele","noModelsForProvider":"Nu există modele disponibile pentru acest furnizor.","chat":"Chat","embedding":"Încorporarea","image":"Imagine","custom":"personalizat","modelsCount":"{count, plural, one {# model} other {# models}}","sectionTitle":"Integration Surface","sectionDescription":"OpenAI-compatible APIs and operational protocol endpoints","tabApis":"OpenAI-compatible APIs","tabProtocols":"Protocols","tabsAria":"Endpoint sections","protocolsTitle":"Protocols","protocolsDescription":"MCP and A2A are first-class endpoints with dedicated observability and controls.","mcpCardTitle":"MCP Server","mcpCardDescription":"Model Context Protocol over stdio","a2aCardTitle":"A2A Server","a2aCardDescription":"Agent2Agent JSON-RPC endpoint","protocolToolsLabel":"Tools","protocolTasksLabel":"Tasks","protocolActiveStreamsLabel":"Active streams","protocolLastActivity":"Last activity","quickStart":"Quick Start","openMcpDashboard":"Open MCP management","openA2aDashboard":"Open A2A management","mcpQuickStartTitle":"MCP Quick Start","mcpQuickStartStep1":"Run the MCP server via `omniroute --mcp`.","mcpQuickStartStep2":"Configure your MCP client to connect over stdio transport.","mcpQuickStartStep3":"Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.","a2aQuickStartTitle":"A2A Quick Start","a2aQuickStartStep1":"Discover the agent card at `/.well-known/agent.json`.","a2aQuickStartStep2":"Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.","a2aQuickStartStep3":"Track and control tasks using `tasks/get` and `tasks/cancel`.","completionsLegacy":"Completions (Legacy)","completionsLegacyDesc":"Legacy OpenAI text completions — accepts both prompt string and messages array format","categorySearch":"Search & Discovery","webSearch":"Web Search","webSearchDesc":"Unified web search across multiple providers with automatic failover and caching","searchProvider":"Search Provider","searchProviderDesc":"This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected."},"mcpDashboard":{"loading":"Loading MCP dashboard...","activate":"activate","deactivate":"deactivate","confirmSwitchCombo":"Confirmați {action} combo „{combo}”?","switchComboFailed":"Nu s-a putut comuta starea combo.","switchComboSuccess":"Combo „{combo}” a fost actualizat.","confirmApplyProfile":"Aplicați profilul de rezistență „{profile}”?","applyProfileFailed":"Nu s-a putut aplica profilul de rezistență.","applyProfileSuccess":"S-a aplicat profilul „{profile}”.","confirmResetBreakers":"Resetați toate întreruptoarele?","resetBreakersFailed":"Nu s-au resetat întreruptoarele.","resetBreakersSuccess":"Întrerupătoarele se resetează.","processStatus":"Starea procesului","online":"Online","offline":"Offline","pid":"PID","sessionUptime":"Session uptime","lastHeartbeat":"Last heartbeat","activity24h":"Activity (24h)","totalCalls":"Total calls","successRate":"Success rate","avgLatency":"Avg latency","topTools":"Top tools","noToolCalls24h":"No tool calls in the last 24 hours.","runtimeDetails":"Runtime details","transport":"Transport","scopesEnforced":"Scopes enforced","yes":"yes","no":"no","lastCall":"Last call","heartbeatPath":"Heartbeat path","operationalControls":"Operational controls","switchCombo":"Switch combo","inactive":"inactive","active":"active","activateCombo":"Activate combo","deactivateCombo":"Deactivate combo","applyResilienceProfile":"Apply resilience profile","profileAggressive":"aggressive","profileBalanced":"balanced","profileConservative":"conservative","applyProfile":"Apply profile","resetCircuitBreakers":"Reset circuit breakers","resetCircuitBreakersHelp":"Clears current breaker state and failure counters for providers.","resetAllBreakers":"Reset all breakers","toolsAndScopes":"Tools and scopes","tableTool":"Tool","tableScopes":"Scopes","tablePhase":"Phase","tableAudit":"Audit","auditLog":"Audit log","auditSummary":"Calls: {total} | page {page} of {totalPages}","allTools":"All tools","allResults":"All results","success":"Success","failure":"Failure","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Loading audit entries...","noAuditEntriesForFilters":"No audit entries found for current filters.","tableTimestamp":"Timestamp","tableDuration":"Duration","tableResult":"Result","tableApiKey":"API key","failed":"failed","previous":"Previous","next":"Next"},"a2aDashboard":{"loading":"Loading A2A dashboard...","confirmCancelTask":"Cancel task {taskId}?","cancelTaskFailed":"Failed to cancel task.","cancelTaskSuccess":"Task {taskId} cancelled.","smokeSendFailed":"message/send smoke test failed.","smokeSendSuccessWithTask":"message/send ok (task {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"message/stream smoke test failed.","smokeStreamSuccessWithTask":"message/stream ok (task {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finished without task id.","health":"Health","ok":"ok","totalTasks":"Total tasks","activeStreams":"Active streams","lastTask":"Last task","taskStateOverview":"Task state overview","state":{"submitted":"submitted","working":"working","completed":"completed","failed":"failed","cancelled":"cancelled"},"agentCard":"Agent card","version":"Version","url":"URL","capabilities":"Capabilities","agentCardNotAvailable":"Agent card not available.","quickValidation":"Quick validation","quickValidationDescription":"Executes smoke calls through the live `/a2a` endpoint.","runMessageSend":"Run message/send","runMessageStream":"Run message/stream","taskManagement":"Task management","taskSummary":"{total} tasks | page {page} of {totalPages}","allStates":"all","allSkills":"all skills","loadingTasks":"Loading tasks...","noTasksForFilters":"No tasks found for current filters.","tableTask":"Task","tableSkill":"Skill","tableState":"State","tableUpdated":"Updated","tableActions":"Actions","view":"View","cancel":"Cancel","previous":"Previous","next":"Next","taskDetail":"Task detail","close":"Close","metadata":"Metadata","events":"Events","artifacts":"Artifacts"},"health":{"title":"Sănătatea sistemului","description":"Monitorizarea în timp real a instanței dvs. OmniRoute","healthy":"Sănătos","degraded":"Degradat","down":"Jos","uptime":"Timp de funcționare","memory":"Memorie","memoryRss":"Memorie (RSS)","heap":"grămada","cpu":"CPU","database":"Baza de date","version":"Versiune","lastCheck":"Ultima verificare","providerHealth":"Sanatatea furnizorului","systemMetrics":"Metrici de sistem","tokenHealth":"Token Health","refreshAll":"Reîmprospătați toate","checkNow":"Verificați acum","loadingHealth":"Se încarcă datele de sănătate...","failedToLoad":"Nu s-au încărcat datele de sănătate: {error}","retry":"Reîncercați","allOperational":"Toate sistemele sunt operaționale","issuesDetected":"Au fost detectate probleme de sistem","updatedAt":"Actualizat {time}","latency":"Latența","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Total cereri","noDataYet":"Nu există date încă","promptCache":"Prompt Cache","entries":"Intrări","hitRate":"Rata de lovituri","hitsMisses":"Hits / Misses","signatureCache":"Cache pentru semnături","signatureDefaults":"Valori implicite","signatureTool":"Instrument","signatureFamily":"Familie","signatureSession":"Sesiune","recovering":"Recuperarea","noCBData":"Nu sunt disponibile date despre întrerupător. Mai întâi faceți niște cereri.","providerHealthStatusAria":"Starea de sănătate a furnizorului","issuesLabel":"Probleme detectate","operational":"Operațional","providers":"Furnizorii","healthyCount":"{count} sănătos","nodeVersion":"Nodul {version}","failures":"{count} eșec","failuresPlural":"{count} eșecuri","lastFailure":"Ultimul","rateLimitStatus":"Starea limitei ratei","activeLimiters":"{count} limitator activ","activeLimitersPlural":"{count} limitatoare active","queued":"În coadă","queuedCount":"{count} pus în coadă","running":"alergând","runningCount":"{count} rulează","ok":"OK","activeLockouts":"Blocări active","resetConfirm":"Resetați toate întreruptoarele la starea sănătoasă? Acest lucru va șterge toate numărul de eșecuri și va restabili toți furnizorii la starea operațională.","resetAllTitle":"Resetați toate întreruptoarele la starea sănătoasă","resetting":"Se resetează...","resetAll":"Resetați toate","until":"Până la {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"Configurat în tabloul de bord","configuredProvidersHint":"Furnizorii cu acreditări salvate în /dashboard/providers, indiferent de starea de rulare.","activeProvidersHint":"Furnizorii configurați activați în prezent pentru solicitările de rutare.","monitoredProvidersHint":"Furnizorii sunt urmăriți în prezent de monitoarele de sănătate ale întreruptoarelor."},"limits":{"title":"Limite și cote","rateLimit":"Limită de rată","remaining":"Rămânând","requestsPerMinute":"Cereri/min","tokensPerMinute":"Jetoane/min","dailyLimit":"Limită zilnică"},"logs":{"title":"Bușteni","requestLogs":"Cereți jurnalele","proxyLogs":"Jurnalele proxy","auditLog":"Jurnal de audit","console":"Consolă","auditLogDesc":"Acțiuni administrative și evenimente de securitate","loading":"Se încarcă...","refresh":"Reîmprospătați","filterByAction":"Filtrați după acțiune...","filterByActor":"Filtrați după actor...","filterEntriesAria":"Filtrați intrările din jurnalul de audit","filterByActionTypeAria":"Filtrați după tipul de acțiune","filterByActorAria":"Filtrați după actor","refreshAuditLogAria":"Actualizează jurnalul de audit","tableAria":"Intrări din jurnalul de audit","failedFetchAuditLog":"Nu s-a putut prelua jurnalul de audit","showing":"Se afișează {count} intrări (offset {offset})","search":"Caută","timestamp":"Marca temporală","action":"Acțiune","actor":"actor","target":"țintă","details":"Detalii","ipAddress":"Adresa IP","notAvailable":"—","noEntries":"Nu au fost găsite intrări în jurnalul de audit","previous":"Anterior","next":"În continuare"},"onboarding":{"welcome":"Bun venit","security":"Securitate","test":"Testează","ready":"Gata!","setPassword":"Setați parola","addProvider":"Adăugați primul dvs. furnizor","getStarted":"Începeți","skip":"Sari peste","skipWizard":"Skip wizard complet","skipPassword":"Omiteți configurarea parolei","skipAndContinue":"Sariți și continuați","passwordLabel":"Parolă","confirmPassword":"Confirmați parola","enterPassword":"Introduceți parola","confirmPasswordPlaceholder":"Confirmați parola","passwordsMismatch":"Parolele nu se potrivesc","setupComplete":"Configurare finalizată!","goToDashboard":"Accesați Tabloul de bord →","welcomeDesc":"OmniRoute este proxy-ul local AI API. Acesta direcționează cererile către mai mulți furnizori de AI cu echilibrare a sarcinii, failover și urmărire a utilizării.","multiProvider":"Multi-furnizor","usageTracking":"Urmărirea utilizării","apiKeyMgmt":"Gestiunea cheii API","securityDesc":"Setați o parolă pentru a vă proteja tabloul de bord sau omiteți pentru moment.","providerDesc":"Conectați-vă primul furnizor de AI. Puteți adăuga mai multe mai târziu.","apiKeyRequired":"Cheie API (obligatorie)","customUrlOptional":"Adresă URL personalizată (opțional)","testDesc":"Să verificăm că conexiunea la furnizor funcționează.","runTest":"Rulați Testul de conexiune","testingConnection":"Se testează conexiunea...","connectionSuccessful":"Conexiune reușită! Furnizorul dvs. este pregătit.","noProviderFound":"Nu a fost găsit niciun furnizor. Puteți adăuga unul din tabloul de bord mai târziu.","testFailed":"Testul a eșuat, dar îl puteți configura mai târziu.","couldNotTest":"Nu am putut testa acum. Puteți testa din tabloul de bord.","doneDesc":"Sunteți gata! Instanța dvs. OmniRoute este configurată și pregătită pentru a trimite solicitări AI.","yourEndpoint":"Punctul final:","continue":"Continuă","retry":"Reîncercați","failedSetPassword":"Nu s-a putut seta parola. Încearcă din nou.","failedAddProvider":"Nu s-a putut adăuga furnizorul. Încearcă din nou.","connectionError":"Eroare de conectare. Vă rugăm să încercați din nou.","provider":"Furnizor"},"providers":{"title":"Furnizorii","addProvider":"Adăugați furnizorul","editProvider":"Editați furnizorul","deleteProvider":"Ștergeți furnizorul","noProviders":"Nu au fost configurați furnizori","modelAvailability":"Disponibilitatea modelului","accounts":"Conturi","newAccount":"Cont nou","deleteConfirm":"Sigur doriți să ștergeți acest furnizor?","testing":"Testare...","testConnection":"Testează conexiunea","testSuccess":"Conexiune reușită","testFailed":"Conexiunea a eșuat","available":"Disponibil","cooldown":"Cooldown","unavailable":"Indisponibil","unknown":"Necunoscut","oauthLabel":"OAuth","compatibleLabel":"Compatibil","chat":"Chat","responses":"Răspunsuri","messages":"Mesaje","oauthProviders":"Furnizori OAuth","freeProviders":"Furnizori gratuiti","apiKeyProviders":"Furnizori de chei API","compatibleProviders":"Furnizori compatibili cu cheile API","testAll":"Testează toate","testAllOAuth":"Testați toate conexiunile OAuth","testAllFree":"Testați toate conexiunile gratuite","testAllApiKey":"Testați toate conexiunile API Key","testAllCompatible":"Testați toate conexiunile compatibile","connected":"{count} Conectat","errorCount":"{count} Eroare ({code})","errorCountNoCode":"{count} Eroare","noConnections":"Fără conexiuni","disabled":"Dezactivat","enableProvider":"Activați furnizorul","disableProvider":"Dezactivați furnizorul","testResults":"Rezultatele testelor","noCompatibleYet":"Nu a fost adăugat încă niciun furnizor compatibil","compatibleHint":"Utilizați butoanele de mai sus pentru a adăuga puncte finale compatibile OpenAI sau Anthropic","addOpenAICompatible":"Adăugați compatibil OpenAI","addAnthropicCompatible":"Adăugați compatibil antropic","addNewProvider":"Adăugați un furnizor nou","backToProviders":"Înapoi la Furnizori","configureNewProvider":"Configurați un nou furnizor de inteligență artificială pe care să îl utilizați cu aplicațiile dvs.","providerLabel":"Furnizor","selectProvider":"Selectați un furnizor","selectedProvider":"Furnizorul selectat","authMethod":"Metoda de autentificare","apiKeyLabel":"Cheia API","apiKeyRequired":"Cheia API este necesară","selectProviderRequired":"Vă rugăm să selectați un furnizor","enterApiKey":"Introduceți cheia dvs. API","apiKeySecure":"Cheia dvs. API va fi criptată și stocată în siguranță.","oauth2Connect":"Conectați-vă cu OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Conectați-vă contul utilizând autentificarea OAuth2.","displayName":"Nume afișat","displayNamePlaceholder":"de exemplu, API de producție, mediu de dezvoltare","displayNameHint":"Opțional. Un nume prietenos pentru a identifica această configurație.","active":"Activ","activeDescription":"Activați acest furnizor pentru utilizare în aplicațiile dvs","cancel":"Anulează","createProvider":"Creați furnizor","failedCreate":"Nu s-a putut crea furnizorul","errorOccurred":"A apărut o eroare. Vă rugăm să încercați din nou.","modelStatus":"Stare model","allModelsOperational":"Toate modelele sunt operaționale","modelsWithIssues":"{count} model(e) cu probleme","allModelsNormal":"Toate modelele răspund normal.","cooldownCleared":"Timpul de răcire a fost eliminat pentru {model}","failedClearCooldown":"Nu s-a șters timpul de răcire","loadingAvailability":"Se încarcă disponibilitatea modelului...","clearCooldown":"Clar","clearing":"Se șterge...","until":"Până la {time}","providerTestFailed":"Testul furnizorului a eșuat","modeTest":"{mode} Test","passedCount":"{count} a trecut","failedCount":"{count} a eșuat","testedCount":"{count} testat","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"EROARE","noActiveConnectionsInGroup":"Nu s-au găsit conexiuni active pentru acest grup.","allTestsPassed":"Toate testele {total} au trecut","testSummary":"{passed}/{total} a trecut, {failed} a eșuat","nameLabel":"Nume","prefixLabel":"Prefix","baseUrlLabel":"Adresa URL de bază","apiTypeLabel":"Tip API","prefixHint":"Obligatoriu. Prefix unic pentru numele modelelor.","nameHint":"Obligatoriu. O etichetă prietenoasă pentru acest nod.","baseUrlHint":"Obligatoriu.  Adresa URL de bază a API-ului furnizorului.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Validați conexiunea","validating":"Se validează...","connectionValid":"Conexiunea este valabilă!","connectionFailed":"Conexiunea a eșuat. Verificați adresa URL și cheia.","testKeyLabel":"Testați cheia API","testKeyPlaceholder":"sk-... (doar pentru validare)","providerNotFound":"Furnizorul nu a fost găsit","deleteConnectionConfirm":"Ștergeți această conexiune?","failedSetAlias":"Nu s-a putut seta aliasul","failedSaveConnection":"Nu s-a putut salva conexiunea","failedSaveConnectionRetry":"Nu s-a putut salva conexiunea. Vă rugăm să încercați din nou.","failedRetestConnection":"Nu s-a retestat conexiunea","deleteCompatibleNodeConfirm":"Ștergeți acest nod {type} compatibil?","anthropicCompatibleDetails":"Detalii compatibile antropice","openaiCompatibleDetails":"Detalii compatibile cu OpenAI","messagesApi":"Messages API","responsesApi":"API de răspunsuri","chatCompletions":"Finalizări de chat","importingModels":"Se importă...","importFromModels":"Import din /modele","clearAllModels":"Ștergeți toate modelele","clearAllModelsConfirm":"Sigur doriți să eliminați toate modelele pentru acest furnizor? Acest lucru nu poate fi anulat.","clearAllModelsSuccess":"Toate modelele au fost eliminate","clearAllModelsFailed":"Nu s-au șters modelele","addConnectionToImport":"Adăugați o conexiune pentru a activa importul.","noModelsConfigured":"Nu au fost configurate modele","connectionCount":"{count} conexiuni","fetchingModels":"Se preiau modelele disponibile...","failedFetchModels":"Nu s-au putut prelua modelele","noModelsFound":"Nu s-au găsit modele","importFailed":"Importul nu a reușit","noNewModelsAdded":"Nu au fost adăugate modele noi.","adding":"Se adaugă...","importingModelsTitle":"Importul modelelor","copyModel":"Copiați modelul","removeModel":"Eliminați modelul","rateLimitProtected":"Protejat","rateLimitUnprotected":"Neprotejat","enableRateLimitProtection":"Faceți clic pentru a activa protecția limitei ratei","disableRateLimitProtection":"Faceți clic pentru a dezactiva protecția limitei ratei","productionKey":"Cheia de producție","enterNewApiKey":"Introduceți o nouă cheie API","optional":"Opțional","anthropicCompatibleName":"Compatibil antropic","openaiCompatibleName":"Compatibil cu OpenAI","failedImportModels":"Nu s-au putut importa modele","noModelsReturnedFromEndpoint":"Niciun model nu a fost returnat de la punctul final /models.","importingModelsProgress":"Se importă {current} din {total} modele...","foundModelsStartingImport":"S-au găsit {count} modele. Se începe importul...","importingModelById":"Se importă {modelId}...","importSuccessCount":"Importat cu succes {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Nu au fost adăugate modele noi (toate există deja).","importDoneCount":"✓ Gata! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"A apărut o eroare neașteptată","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"mesaje","responsesPath":"răspunsuri","chatCompletionsPath":"chat/completari","add":"Adăugați","edit":"Editați","delete":"Ștergeți","anthropic":"antropică","openai":"OpenAI","singleConnectionPerCompatible":"Este permisă o singură conexiune pentru fiecare nod compatibil. Adăugați un alt nod dacă aveți nevoie de mai multe conexiuni.","connections":"Conexiuni","providerProxyTitleConfigured":"Proxy furnizor: {host}","configured":"configurat","providerProxyConfigureHint":"Configurați proxy pentru toate conexiunile acestui furnizor","providerProxy":"Proxy de furnizor","noConnectionsYet":"Încă nu există conexiuni","addFirstConnectionHint":"Adăugați prima conexiune pentru a începe","addConnection":"Adăugați o conexiune","availableModels":"Modele disponibile","pageAutoRefresh":"Pagina se va reîmprospăta automat...","statusDisabled":"dezactivat","statusConnected":"conectat","statusRuntimeIssue":"problemă de rulare","statusAuthFailed":"auth a eșuat","statusRateLimited":"rata limitată","statusNetworkIssue":"problema rețelei","statusTestUnsupported":"test neacceptat","statusUnavailable":"indisponibil","statusFailed":"a eșuat","statusError":"eroare","oauthAccount":"Cont OAuth","errorTypeRuntime":"Timp de rulare local","errorTypeUpstreamAuth":"Autentificare în amonte","errorTypeMissingCredential":"Lipsește acreditarea","errorTypeRefreshFailed":"Reîmprospătarea a eșuat","errorTypeTokenExpired":"Tokenul a expirat","errorTypeRateLimited":"Tarif limitat","errorTypeUpstreamUnavailable":"În amonte indisponibil","errorTypeNetworkError":"Eroare de rețea","errorTypeTestUnsupported":"Testul nu este acceptat","errorTypeUpstreamError":"Eroare în amonte","proxySourceGlobal":"Global","proxySourceProvider":"Furnizor","proxySourceKey":"cheie","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Proxy","retestAuthentication":"Retestați autentificarea","retest":"Retestați","disableConnection":"Dezactivați conexiunea","enableConnection":"Activați conexiunea","reauthenticateConnection":"Re-autentificați această conexiune","proxyConfig":"Configurare proxy","aliasExistsAlert":"Aliasul „{alias}” există deja. Vă rugăm să utilizați un alt model sau să editați alias-ul existent.","openRouterAnyModelHint":"OpenRouter acceptă orice model. Adăugați modele și creați aliasuri pentru acces rapid.","modelIdFromOpenRouter":"ID model (de la OpenRouter)","openRouterModelPlaceholder":"antropic/claude-3-opus","customModels":"Modele personalizate","customModelsHint":"Adăugați ID-uri de model care nu sunt în lista implicită. Acestea vor fi disponibile pentru rutare.","modelId":"ID model","customModelPlaceholder":"de ex. gpt-4.5-turbo","loading":"Se încarcă...","removeCustomModel":"Eliminați modelul personalizat","noCustomModels":"Nu s-au adăugat încă modele personalizate.","allSuggestedAliasesExist":"Toate pseudonimele sugerate există deja. Vă rugăm să alegeți un alt model sau să eliminați aliasurile aflate în conflict.","failedSaveCustomModel":"Nu s-a salvat modelul personalizat","modelAddedSuccess":"Modelul {modelId} a fost adăugat cu succes","failedAddModelTryAgain":"Nu s-a putut adăuga modelul. Vă rugăm să încercați din nou.","failedSaveImportedModel":"Nu s-a salvat modelul importat în baza de date personalizată","failedImportModelsTryAgain":"Nu s-au putut importa modele. Vă rugăm să încercați din nou.","failedRemoveModelFromDatabase":"Nu s-a putut elimina modelul din baza de date","modelRemovedSuccess":"Modelul a fost eliminat cu succes","failedDeleteModelTryAgain":"Nu s-a șters modelul. Vă rugăm să încercați din nou.","compatibleModelsDescription":"Adăugați manual modele compatibile cu {type} sau importați-le din punctul final /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Validarea cheii API nu a reușit. Vă rugăm să vă verificați cheia și să încercați din nou.","addProviderApiKeyTitle":"Adăugați {provider} cheia API","checking":"Se verifică...","check":"Verificați","valid":"Valabil","invalid":"Invalid","creating":"Se creează...","validationChecksAnthropicCompatible":"Validarea verifică {provider} prin verificarea cheii API.","validationChecksOpenAiCompatible":"Verificări de validare {provider} prin /models pe adresa URL de bază.","priorityLabel":"Prioritate","saving":"Se salvează...","save":"Salvați","editConnection":"Editați conexiunea","accountName":"Numele contului","email":"E-mail","healthCheckMinutes":"Verificare de sănătate (min)","healthCheckHint":"Interval proactiv de reîmprospătare a simbolului. 0 = dezactivat.","groupLabel":"Environment","groupPlaceholder":"e.g. eKaizen, Personal","failedTestConnection":"Nu s-a testat conexiunea","failed":"A eșuat","leaveBlankKeepCurrentApiKey":"Lăsați necompletat pentru a păstra cheia API curentă.","editCompatibleTitle":"Editați {type} Compatibil","compatibleBaseUrlHint":"Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.","apiKeyForCheck":"Cheie API (pentru verificare)","compatibleProdPlaceholder":"{type} Compatibil (Prod)","providerTestTimeout":"Provider test timed out — too many connections to test at once","advancedSettings":"Advanced Settings","chatPathLabel":"Chat Endpoint Path","chatPathPlaceholder":"/chat/completions","chatPathHint":"Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)","modelsPathLabel":"Models Endpoint Path","modelsPathPlaceholder":"/models","modelsPathHint":"Custom models path for validation (e.g. /v4/models)","builtInModels":"Built-in models","builtInModelsHint":"Registry models for this provider. Use the pencil to set compatibility options.","normalizeToolCallIdLabel":"Normalize tool call IDs to 9 characters (e.g. Mistral)","preserveDeveloperRoleLabel":"Keep OpenAI Responses developer role (do not map to system)","compatAdjustmentsTitle":"Compatibility","compatButtonLabel":"Compatibility","compatToolIdShort":"Tool ID 9","compatDeveloperShort":"Developer role","compatDoNotPreserveDeveloper":"Do not preserve developer role","compatBadgeNoPreserve":"No preserve","compatProtocolLabel":"Client request protocol","compatProtocolHint":"These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","tokenRefreshed":"Token refreshed successfully","tokenRefreshFailed":"Token refresh failed","compatBadgeUpstreamHeaders":"Headers","compatUpstreamAddRow":"Add header","compatUpstreamHeaderName":"Header name","compatUpstreamHeaderValue":"Value","compatUpstreamHeadersHint":"High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.","compatUpstreamHeadersLabel":"Extra upstream headers","compatUpstreamRemoveRow":"Remove row","autoSync":"Sincronizare automată","autoSyncTooltip":"Actualizează automat lista de modele la fiecare 24 de ore (configurabil prin MODEL_SYNC_INTERVAL_HOURS)","autoSyncEnabled":"Sincronizare automată activată — modelele se vor reîmprospăta periodic","autoSyncDisabled":"Sincronizarea automată a fost dezactivată","autoSyncToggleFailed":"Nu s-a putut comuta sincronizarea automată","allModelsAlreadyImported":"Toate modelele sunt deja importate","noNewModelsToImport":"Niciun model nou de importat — toate modelele sunt deja în registru sau în lista de modele personalizate","skippingExistingModels":"Se omit {count} modele existente"},"settings":{"title":"Setări","general":"general","security":"Securitate","appearance":"Aspectul","routing":"Dirijare","cache":"Cache","resilience":"Reziliență","systemPrompt":"Prompt de sistem","thinkingBudget":"Gândirea bugetului","proxy":"Proxy","pricing":"Prețuri","storage":"Depozitare","policies":"Politici","ipFilter":"Filtru IP","comboDefaults":"Setări implicite combinate","fallbackChains":"Lanțuri de rezervă","changePassword":"Schimbați parola","enablePassword":"Activați parola","darkMode":"Modul întunecat","lightMode":"Modul de lumină","systemTheme":"Tema sistemului","enableCache":"Activați memoria cache","cacheTTL":"Cache TTL","maxCacheSize":"Dimensiunea maximă a memoriei cache","clearCache":"Goliți memoria cache","cacheHits":"Hits în cache","cacheMisses":"Cache Misses","hitRate":"Rata de lovituri","cacheEntries":"Intrări în cache","circuitBreaker":"Întrerupător","retryPolicy":"Reîncercați Politica","maxRetries":"Reîncercări maxime","retryDelay":"Reîncercați Întârziere","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Activați promptul de sistem","systemPromptText":"Text prompt de sistem","enableThinking":"Activați gândirea","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Activați proxy","proxyUrl":"Adresa URL proxy","pricingRates":"Formatul tarifelor de preț","currentPricing":"Prezentare generală a prețurilor actuale","loadingPricing":"Se încarcă datele de preț...","noPricing":"Nu sunt disponibile date de preț","input":"Intrare","output":"Ieșire","cached":"În cache","reasoning":"Raționamentul","cacheCreation":"Creare cache","customPricing":"Prețuri personalizate","databaseSize":"Dimensiunea bazei de date","backupDb":"Backup baze de date","restoreDb":"Restaurați baza de date","exportData":"Exportați date","importData":"Importați date","clearData":"Ștergeți toate datele","clearDataConfirm":"Aceasta va șterge definitiv toate datele. esti sigur?","enableRequestLogs":"Activați jurnalele de solicitări","logRetention":"Păstrarea jurnalelor","ipWhitelist":"Lista albă IP","ipBlacklist":"Lista neagră de IP","addIP":"Adăugați IP","savedSuccessfully":"Setările au fost salvate cu succes","ai":"AI","advanced":"Avansat","localMode":"Mod local — Toate datele stocate pe aparat","settingsSectionsAria":"Secțiunile de setări","switchThemes":"Comutați între temele deschise și cele întunecate","themeSelectionAria":"Selectarea temei","themeLight":"Lumină","themeDark":"Întuneric","themeSystem":"Sistem","hideHealthLogs":"Ascundeți jurnalele de verificare a stării de sănătate","hideHealthLogsDesc":"Când este ACTIVAT, suprimați mesajele [HealthCheck] din consola serverului","themeAccent":"Culoarea temei","themeAccentDesc":"Alege o culoare presetată sau creează-ți propria temă cu o singură culoare","themeCreate":"Creează temă","themeCustom":"Temă personalizată","themeBlue":"Albastru","themeRed":"Roșu","themeGreen":"Verde","themeViolet":"Violet","themeOrange":"Portocaliu","themeCyan":"Cian","promptCache":"Prompt Cache","flushCache":"Spălați memoria cache","flushing":"Spălare…","size":"Dimensiune","hits":"Hituri","evictions":"Evacuări","loadingCacheStats":"Se încarcă statisticile cache...","globalProxy":"Proxy global","globalProxyDesc":"Configurați un proxy global de ieșire pentru toate apelurile API. Furnizorii individuali, combo-urile și cheile pot suprascrie acest lucru.","noGlobalProxy":"Nu a fost configurat niciun proxy global","globalLabel":"Global","configure":"Configurați","globalSystemPrompt":"Global System Prompt","systemPromptDesc":"Injectat în toate solicitările la nivel de proxy","saved":"Salvat","systemPromptPlaceholder":"Introduceți promptul de sistem pentru a injecta în toate solicitările...","systemPromptHint":"Această solicitare este adăugată mesajului de sistem al fiecărei solicitări. Utilizați pentru instrucțiuni globale, ghiduri de siguranță sau reguli de formatare a răspunsurilor.","chars":"{count} caractere","thinkingBudgetTitle":"Gândirea bugetului","thinkingBudgetDesc":"Controlați utilizarea simbolurilor de raționament AI pentru toate solicitările","passthrough":"trecere","passthroughDesc":"Fără modificări — clientul controlează bugetul de gândire","auto":"Auto","autoDesc":"Eliminați toate configurațiile de gândire - lăsați furnizorul să decidă","custom":"Personalizat","customDesc":"Setați un buget fix pentru token pentru toate solicitările","adaptive":"Adaptiv","adaptiveDesc":"Scalați bugetul în funcție de complexitatea cererii","effortNone":"Niciunul (0 jetoane)","effortLow":"Scăzut (1K jetoane)","effortMedium":"Mediu (10.000 jetoane)","effortHigh":"Ridicat (128.000 jetoane)","tokenBudget":"Buget simbol","tokens":"jetoane","baseEffortLevel":"Nivelul de efort de bază","adaptiveHint":"Modul adaptiv crește de la acest nivel de bază în funcție de numărul de mesaje, utilizarea instrumentului și lungimea promptului.","requireLogin":"Necesită autentificare","requireLoginDesc":"Când este pornit, tabloul de bord necesită o parolă. Când este OFF, accesați fără autentificare.","currentPassword":"Parola curentă","enterCurrentPassword":"Introduceți parola curentă","newPassword":"Parolă nouă","enterNewPassword":"Introduceți o nouă parolă","confirmPassword":"Confirmați parola nouă","confirmPasswordPlaceholder":"Confirmați noua parolă","passwordsNoMatch":"Parolele nu se potrivesc","passwordUpdated":"Parola a fost actualizată cu succes","failedUpdatePassword":"Nu s-a putut actualiza parola","errorOccurred":"A apărut o eroare","updatePassword":"Actualizați parola","setPassword":"Setați parola","apiEndpointProtection":"API Endpoint Protection","requireAuthModels":"Necesită cheia API pentru /models","requireAuthModelsDesc":"Când este ACTIVAT, punctul final /v1/models returnează 404 pentru solicitările neautentificate. Previne descoperirea modelului de către utilizatori neautorizați.","blockedProviders":"Furnizori blocați","blockedProvidersDesc":"Ascundeți anumiți furnizori din răspunsul /v1/models. Furnizorii blocați nu vor apărea în listele de modele.","providersBlocked":"{count} furnizor(i) blocat(i) de la /modele","blockProviderTitle":"Blocați {provider}","unblockProviderTitle":"Deblocați {provider}","routingStrategy":"Strategia de rutare","fillFirst":"Umpleți mai întâi","fillFirstDesc":"Utilizați conturile în ordine de prioritate","roundRobin":"Round Robin","roundRobinDesc":"Parcurgeți toate conturile","p2c":"P2C","p2cDesc":"Alegeți 2 la întâmplare, folosiți-l pe cel mai sănătos","random":"Aleatoriu","randomDesc":"Cont aleatoriu pentru fiecare cerere","leastUsed":"Cel mai puțin folosit","leastUsedDesc":"Alegeți contul cel mai puțin utilizat recent","costOpt":"Cost Opt","costOptDesc":"Prefer cel mai ieftin cont disponibil","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each account once before reshuffling","stickyLimit":"Limită lipicioasă","stickyLimitDesc":"Apeluri pe cont înainte de a comuta","modelAliases":"Aliasuri de model","modelAliasesTitle":"Aliasuri de model","modelAliasesDesc":"Modele wildcard pentru a remapa numele modelelor • Utilizați * și ?","addCustomAlias":"Adaugă Alias Personalizat","deprecatedModelId":"ID model depreciat","newModelId":"ID model nou","customAliases":"Aliasuri personalizate","builtInAliases":"Aliasuri încorporate","backgroundDegradationTitle":"Degradare sarcini în fundal","backgroundDegradationDesc":"Detectează automat sarcinile în fundal (titluri, rezumate) și redirecționează către modele mai ieftine","enableDegradation":"Activează degradarea sarcinilor în fundal","enableDegradationHint":"Când este activat, sarcinile în fundal precum generarea de titluri și rezumate sunt redirecționate automat către modele mai ieftine","tasksDetected":"Sarcini detectate","degradationMap":"Hartă de degradare a modelelor","premiumModel":"Model premium","cheapModel":"Model ieftin","detectionPatterns":"Modele de detecție","newPattern":"ex: \\"generează un titlu\\"","aliasPatternPlaceholder":"claude-sonet-*","aliasTargetPlaceholder":"claude-sonet-4-20250514","pattern":"Model","targetModel":"Model țintă","add":"+ Adăugați","session":"Sesiune","sessionDetailsAria":"Detalii sesiune","status":"Stare","authenticated":"Autentificat","guest":"Oaspete","loginTime":"Ora de conectare","sessionAge":"Vârsta sesiunii","browser":"Browser","clearLocalData":"Ștergeți datele locale","logout":"Deconectare","clearLocalDataConfirm":"Ștergeți toate datele locale? Aceasta vă va reseta preferințele.","unknown":"Necunoscut","systemActor":"sistem","ipAccessControl":"Control acces IP","ipAccessControlDesc":"Blocați sau permiteți anumite adrese IP","ipModeDisabled":"Dezactivat","ipModeBlacklist":"Lista neagră","ipModeWhitelist":"Lista albă","ipModeWhitelistPriority":"Prioritate WL","addIpAddress":"Adăugați adresa IP","ipAddressPlaceholder":"192.168.1.0/24 sau 10.0.*.*","block":"+ Blocare","allow":"+ Permite","blocked":"Blocat ({count})","allowed":"Permis ({count})","temporaryBans":"Interdicții temporare ({count})","minLeft":"Au mai rămas {min}m","auditLog":"Jurnal de audit","searchAuditLogs":"Căutați jurnalele de audit...","failedLoadAuditLog":"Nu s-a încărcat jurnalul de audit","noAuditEvents":"Nu au fost găsite evenimente de audit","action":"Acțiune","actor":"actor","details":"Detalii","time":"timpul","fallbackChainsTitle":"Lanțuri de rezervă","fallbackChainsDesc":"Definiți ordinea de rezervă a furnizorului pentru fiecare model","addChain":"+ Adăugați lanț","modelName":"Numele modelului","modelNamePlaceholder":"claude-sonet-4-20250514","providersCommaSeparated":"Furnizori (separați prin virgulă, în ordine de prioritate)","providersCommaSeparatedPlaceholder":"antropic, openai, gemeni","createChain":"Creați lanț","noFallbackChains":"Fără lanțuri de rezervă","noFallbackChainsDesc":"Creați un lanț pentru a defini ordinea de rezervă a furnizorului pentru un model.","loadingFallbackChains":"Se încarcă lanțurile alternative...","deleteChainConfirm":"Ștergeți lanțul alternativ pentru „{model}”?","chainCreated":"Lanț creat pentru {model}","chainDeleted":"Lanțul a fost șters pentru {model}","failedCreateChain":"Nu s-a putut crea lanțul","failedDeleteChain":"Lanțul nu a putut fi șters","deleteChain":"Ștergeți lanțul","fillModelAndProviders":"Vă rugăm să completați numele modelului și furnizorii","addAtLeastOneProvider":"Adăugați cel puțin un furnizor","comboDefaultsTitle":"Setări implicite combinate","globalComboConfig":"Configurație globală combo","defaultStrategy":"Strategia implicită","defaultStrategyDesc":"Aplicat combo-urilor noi fără strategie explicită","comboStrategyAria":"Strategie combinată","priority":"Prioritate","weighted":"ponderat","maxRetriesLabel":"Reîncercări maxime","retryDelayLabel":"Întârziere reîncercare (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Verificare de sănătate","healthCheckDesc":"Verificați prealabil disponibilitatea furnizorului","trackMetrics":"Urmăriți valorile","trackMetricsDesc":"Înregistrați valorile pentru fiecare cerere combinată","providerOverrides":"Suprascrierea furnizorului","providerOverridesDesc":"Suprascrierea timpului de expirare și reîncercări pentru fiecare furnizor. Setările furnizorului înlocuiesc valorile prestabilite globale.","providerMaxRetriesAria":"{provider} max. reîncercări","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Eliminați anularea {provider}","newProviderNamePlaceholder":"de ex. google, deschide...","newProviderNameAria":"Numele furnizorului nou","retries":"reîncercări","ms":"ms","saveComboDefaults":"Salvați setările implicite de combo","maxNestingDepth":"Adâncimea maximă de cuibărire","concurrencyPerModel":"Concurență / Model","queueTimeout":"Timp de așteptare la coadă (ms)","providerProfiles":"Profiluri de furnizor","providerProfilesDesc":"Setări separate de rezistență pentru furnizorii OAuth (bazat pe sesiune) și API Key (contorizat). Furnizorii OAuth au praguri mai stricte din cauza limitelor mai mici ale ratei.","oauthProviders":"Furnizori OAuth","apiKeyProviders":"Furnizori de chei API","transientCooldown":"Răcire tranzitorie","rateLimitCooldown":"Rate de răcire limită","maxBackoffLevel":"Nivel maxim de retragere","cbThreshold":"Pragul CB","cbResetTime":"Timp de resetare CB","rateLimiting":"Limitarea ratei","rateLimitingDesc":"Furnizorii de chei API sunt limitate automat la rate cu valori implicite sigure. Limitele sunt învățate din anteturile de răspuns și se adaptează în timp.","defaultSafetyNet":"Rețea de siguranță implicită","rpm":"RPM","minGap":"Gap min","maxConcurrent":"Concurență maximă","activeLimiters":"Limitatoare active","noActiveLimiters":"Încă nu există limitatoare de rată active.","reservoir":"Rezervor","running":"Alergarea","queued":"În coadă","circuitBreakers":"Întreruptoare","breakerStateClosed":"Închis","breakerStateOpen":"Deschide","breakerStateHalfOpen":"Pe jumătate deschis","tripped":"{count} sa declanșat","healthy":"{count} sănătos","resetAll":"Resetați toate","noCircuitBreakers":"Niciun întrerupător de circuit activ încă. Acestea sunt create automat atunci când cererile trec prin conducta combinată.","failures":"{count} eșec(e)","policiesLocked":"Politici și identificatori blocați","allOperational":"Toate sistemele sunt operaționale — fără blocaje sau întrerupătoare declanșate","loadingPolicies":"Se încarcă politicile...","lockedIdentifiers":"Identificatori blocați","unlockedIdentifier":"Deblocat: {identifier}","sinceDate":"din {date}","forceUnlock":"Deblocare forțată","unlocking":"Se deblochează...","failedUnlock":"Deblocarea eșuată","failedLoadWithStatus":"Nu s-a încărcat: {status}","failedLoadResilience":"Nu s-a încărcat starea de rezistență","saveFailed":"Salvarea nu a reușit","resetFailed":"Resetarea a eșuat","loadingResilience":"Se încarcă starea rezistenței...","retry":"Reîncercați","systemStorage":"Sistem și stocare","allDataLocal":"Toate datele stocate local pe aparatul dvs","databasePath":"Calea bazei de date","exportDatabase":"Exportați baza de date","exportAll":"Exportați toate (.tar.gz)","importDatabase":"Importă baza de date","confirmDbImport":"Confirmați importul bazei de date","confirmDbImportDesc":"Aceasta va înlocui toate datele curente cu conținutul din {file}. O copie de rezervă va fi creată automat înainte de import.","yesImport":"Da, import","lastBackup":"Ultima copie de rezervă","noBackupYet":"Nicio rezervă încă","backupNow":"Faceți backup acum","backupRestore":"Backup și restaurare","viewBackups":"Vizualizați copii de rezervă","hide":"Ascunde","backupRetentionDesc":"Instantaneele bazei de date sunt create automat înainte de restaurare și la fiecare 15 minute când datele se modifică. Reținere: 24 de ore din 24 + 30 de backup-uri zilnice cu rotație inteligentă.","loadingBackups":"Se încarcă copii de rezervă...","noBackupsYet":"Nu există copii de rezervă disponibile încă. Backup-urile vor fi create automat când datele se schimbă.","backupsAvailable":"{count} backup(uri) disponibil(e).","refresh":"Reîmprospătați","confirm":"Confirm?","yes":"Da","no":"Nu","restore":"Restaurați","invalidFileType":"Tip de fișier nevalid. Sunt acceptate numai fișierele .sqlite.","exportFailed":"Exportul nu a reușit","exportFailedWithError":"Export eșuat: {error}","fullExportFailedWithError":"Exportul complet eșuat: {error}","backupCreated":"Backup creat: {file}","restoreSuccess":"Restaurat! {connections} conexiuni, {nodes} noduri, {combos} combo, {apiKeys} chei API.","importSuccess":"Baza de date importată! {connections} conexiuni, {nodes} noduri, {combos} combo, {apiKeys} chei API.","justNow":"tocmai acum","minutesAgo":"{count}m în urmă","hoursAgo":"acum {count}h","daysAgo":"acum {count}d","backupReasonManual":"manual","backupReasonPreRestore":"pre-restaurare","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Nicio modificare de la ultima copie de rezervă","backupFailed":"Copierea de rezervă a eșuat","restoreFailed":"Restaurarea a eșuat","importFailed":"Importul nu a reușit","errorDuringRestore":"A apărut o eroare în timpul restaurării","errorDuringImport":"A apărut o eroare în timpul importului","modelPricing":"Prețul modelului","modelPricingDesc":"Configurați tarifele de cost pe model • Toate tarifele în jetoane $/1M","providers":"Furnizorii","registry":"Registrul","priced":"Preț","searchProvidersModels":"Căutați furnizori sau modele...","showAll":"Arată toate","noProvidersMatch":"Niciun furnizor nu corespunde căutării dvs.","howPricingWorks":"Cum funcționează prețurile","cacheWrite":"Scriere în cache","unsaved":"nesalvat","resetDefaults":"Resetează setările implicite","saveProvider":"Salvați furnizorul","saving":"Se salvează...","model":"Model","models":"modele","moreProviders":"{count} mai mulți furnizori","withPricing":"cu prețul configurat","policiesCircuitBreakers":"Politici și întrerupătoare de circuit","activeIssuesDetected":"Au fost detectate probleme active","off":"Oprit","resetPricingConfirm":"Resetați toate prețurile pentru {provider} la valorile prestabilite?","pricingDescInput":"Intrare: jetoane trimise modelului","pricingDescOutput":"Ieșire: jetoane generate","pricingDescCached":"În cache: intrare reutilizată (~50% din rata de intrare)","pricingDescReasoning":"Raționament: jetoane de gândire (se întoarce la Ieșire)","pricingDescCacheWrite":"Scriere în cache: crearea de intrări în cache (revine la Intrare)","pricingDescFormula":"Cost = (input × input_rate) + (output × output_rate) + (cached × cached_rate) per milion de jetoane.","pricingSettingsTitle":"Setări de preț","totalModels":"Total Modele","active":"Activ","costCalculation":"Calculul costurilor","costCalculationDesc":"Costurile sunt calculate pe baza utilizării simbolurilor și a tarifelor de preț configurate pentru fiecare model.","pricingFormat":"Format de preț","pricingFormatDesc":"Toate tarifele sunt în jetoane/1 milion USD (dolari per milion de jetoane).","tokenTypes":"Tipuri de jetoane","inputTokenDesc":"Jetoane standard de prompt","outputTokenDesc":"Jetoane de completare/răspuns","cachedTokenDesc":"Jetoane de intrare stocate în cache (de obicei 50% din rata de intrare)","reasoningTokenDesc":"Indicative speciale de raționament/gândire (retracție la rata de ieșire)","cacheCreationTokenDesc":"Jetoane utilizate pentru a crea intrări în cache (retur la rata de intrare)","customPricingNote":"Puteți suprascrie prețurile implicite pentru anumite modele. Anulările personalizate au prioritate față de prețurile detectate automat.","editPricing":"Editați prețul","viewFullDetails":"Vezi detalii complete","themeCoral":"Coral","cliFingerprint":"CLI Fingerprint Matching","cliFingerprintDesc":"Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.","cliFingerprintEnabled":"{count} provider(s) with CLI fingerprint active","enableFingerprintTitle":"Enable fingerprint for {provider}","disableFingerprintTitle":"Disable fingerprint for {provider}","routingAdvancedGuideTitle":"Ghid avansat de rutare","routingAdvancedGuideHint1":"Folosiți Fill First pentru o prioritate previzibilă, Round Robin pentru corectitudine și P2C pentru rezistență la latență.","routingAdvancedGuideHint2":"Dacă furnizorii variază în ceea ce privește calitatea/costul, începeți cu Cost Opt pentru munca de fundal și Least Used pentru uzura echilibrată.","comboDefaultsGuideTitle":"Cum să reglați setările implicite de combo","comboDefaultsGuideHint1":"Menține reîncercările scăzute în fluxurile cu latență scăzută; crește timpul de expirare numai pentru sarcini de generație lungă.","comboDefaultsGuideHint2":"Folosiți suprascrierile furnizorului atunci când un furnizor are nevoie de un comportament de timeout/reîncercare diferit față de valorile prestabilite globale."},"translator":{"title":"Traducător","metaTitle":"Translator Playground | OmniRoute","metaDescription":"Depanați, testați și vizualizați traducerile în format API între furnizori","playgroundTitle":"Loc de joacă pentru traducător","playground":"Loc de joacă","realtime":"Activitate de traducere în timp real","chatTester":"Tester de chat","testBench":"Banc de testare","liveMonitor":"Monitor live","modeDescriptionPlayground":"Lipiți orice corp de solicitare API și vedeți cum îl traduce OmniRoute între formatele de furnizor (OpenAI ↔ Claude ↔ Gemini ↔ API-ul de răspunsuri)","modeDescriptionChatTester":"Trimiteți cereri reale de chat prin OmniRoute și inspectați întreaga călătorie dus-întors: intrare, cerere tradusă, răspuns furnizor și ieșire tradusă.","modeDescriptionTestBench":"Rulați scenarii predefinite și comparați compatibilitatea între furnizori și modele.","modeDescriptionLiveMonitor":"Urmărește evenimentele de traducere în timp real, pe măsură ce solicitările circulă prin OmniRoute.","modeDescriptionFallback":"Depanați, testați și vizualizați modul în care OmniRoute traduce cererile API între furnizori.","recentTranslations":"Traduceri recente","noTranslations":"Nicio traducere încă","source":"Sursa","target":"țintă","time":"timpul","model":"Model","status":"Stare","latency":"Latența","totalTranslations":"Traduceri totale","successful":"De succes","errors":"Erori","avgLatency":"Latență medie","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Auto-împrospătare","paused":"Întrerupt","eventsAppearHint":"Evenimentele de traducere apar aici pe măsură ce solicitările circulă prin OmniRoute. Utilizați oricare dintre aceste metode pentru a genera evenimente:","chatTesterTab":"Fila Tester de chat","testBenchTab":"Fila Banc de testare","externalApiCalls":"Apeluri API externe","ideCliIntegrations":"Integrari IDE/CLI","inMemoryNote":"Notă: Evenimentele sunt stocate în memorie și resetate atunci când serverul repornește.","ok":"OK","errorShort":"ERR","formatConverter":"Convertor de format","formatConverterDescription":"Lipiți sau introduceți un corp de solicitare JSON. Traducătorul va detecta automat formatul sursă și îl va converti în formatul țintă. Utilizați aceasta pentru a depana modul în care OmniRoute traduce cererile între formate (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Intrare","output":"Ieșire","auto":"Auto","swapFormats":"Schimbați formatele","translateAction":"Traduceți","clear":"Clar","inputPlaceholder":"Lipiți un corp de solicitare aici sau selectați un șablon de mai jos...","exampleTemplates":"Exemple de șabloane","exampleTemplatesHint":"— Faceți clic pentru a încărca","templateLoadHint":"Șablonul încarcă solicitarea în format {format}. Modificați formatul sursă pentru a încărca într-un alt format.","compatibilityTester":"Tester de compatibilitate","compatibilityReport":"Raport de compatibilitate","testBenchDescription":"Rulați scenarii predefinite (Simple Chat, Tool Calling etc.) pentru a verifica traducerea și compatibilitatea furnizorilor. Selectați un format sursă și un furnizor țintă, apoi rulați toate testele pentru a vedea un procent de compatibilitate. Folosiți acest lucru pentru a afla ce caracteristici funcționează între furnizori.","targetProvider":"Furnizor țintă","runAllTests":"Rulați toate testele","runTest":"Run Test","reRun":"Reluați","running":"Alergare...","passed":"a trecut","failed":"a eșuat","passedIconLabel":"✅ A trecut","chunks":"bucăți","scenarioSimpleChat":"Chat simplu","scenarioToolCalling":"Apelarea instrumentului","scenarioMultiTurn":"Multi-turn","scenarioThinking":"Gândirea","scenarioSystemPrompt":"Prompt de sistem","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Chat simplu","tool-calling":"Apelarea instrumentului","multi-turn":"Multi-turn","thinking":"Gândirea","system-prompt":"Prompt de sistem","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Mesaj text de bază","tool-calling":"Invocarea funcției/uneltei","multi-turn":"Conversație cu istoria","thinking":"Gândire extinsă / raționament","system-prompt":"Instrucțiuni de sistem complexe","streaming":"Solicitare de streaming SSE"},"templatePayloads":{"simpleChat":{"system":"Ești un asistent util.","userGreeting":"Bună ziua! Cum te simți azi?"},"toolCalling":{"userWeather":"Care este vremea în São Paulo?","toolDescription":"Obțineți vremea actuală pentru o locație","cityNameDescription":"Numele orașului"},"multiTurn":{"system":"Sunteți un asistent de codare.","userInitial":"Scrieți o funcție pentru a sorta o matrice în Python.","assistantExample":"Iată o funcție simplă de sortare:\\n\\n```python\\ndef sort_array(arr):\\n return sortat(arr)\\n```","userFollowUp":"Acum sortați în ordine descrescătoare."},"thinking":{"question":"Care este suma primelor 100 de numere prime?"},"systemPrompt":{"systemInstruction":"Sunteți un inginer de software senior specializat în sisteme distribuite. Răspundeți concis la întrebări folosind cele mai bune practici din industrie. Furnizați întotdeauna exemple de cod atunci când este relevant. Formatați răspunsurile folosind markdown.","question":"Cum implementez un model de întrerupător?"},"streaming":{"prompt":"Spune-mi o scurtă poveste despre un robot care învață să picteze."}},"openaiCompatibleLabel":"Compatibil cu OpenAI","anthropicCompatibleLabel":"Compatibil antropic","noTemplateForFormat":"Nu există șablon pentru acest format","translationFailed":"Traducerea a eșuat: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"Conducta de traduceri","pipelineVisualization":"Vizualizarea conductei","pipelineVisualizationHint":"Trimiteți un mesaj pentru a vedea cum decurge cererea dvs. prin detectare → traducere → apel de la furnizor.","chatTesterDescription":"Trimiteți mesaje ca un anumit format de client și inspectați fiecare pas al conductei de traducere.","chatTesterFlow":"Solicitare client → Detectare format → Intermediar OpenAI → Format furnizor → Răspuns","clickStepToInspect":"Faceți clic pe orice pas pentru a inspecta datele în acea etapă.","clientFormat":"Format client","provider":"Furnizor","modelPlaceholder":"Selectați sau introduceți un nume de model...","sendMessageToSeePipeline":"Trimiteți un mesaj pentru a vedea canalul de traducere","chatMessageHintPrefix":"Mesajul dvs. va fi formatat ca a","chatMessageHintSuffix":"cerere, tradusă prin conductă și trimisă furnizorului selectat.","youWithFormat":"Tu ({format})","assistant":"Asistent","typeMessage":"Tastați un mesaj...","send":"Trimite","clientRequest":"Solicitarea clientului","clientRequestDescription":"Corpul solicitării pe care l-ar trimite clientul dvs","formatDetected":"Format detectat","formatDetectedDescription":"OmniRoute detectează automat formatul API din structura cererii","openaiIntermediate":"OpenAI Intermediar","openaiIntermediateDescription":"Toate formatele sunt mai întâi normalizate la formatul OpenAI (puntea universală)","providerFormat":"Format de furnizor","providerFormatDescription":"Formatul OpenAI este tradus în formatul nativ al furnizorului","providerResponse":"Răspunsul furnizorului","providerResponseRawDescription":"Răspunsul brut de la API-ul furnizorului","providerResponseSseDescription":"Fluxul SSE brut de la API-ul furnizorului","unexpectedError":"A apărut o eroare neașteptată","error":"Eroare","errorMessage":"Eroare: {message}","requestFailed":"Solicitarea a eșuat","noTextExtracted":"(Niciun text extras)","liveMonitorDescriptionPrefix":"Afișează evenimentele de traducere pe măsură ce apelurile API circulă prin OmniRoute. Evenimentele provin din buffer-ul din memorie (resetează la repornire). Utilizați","liveMonitorDescriptionSuffix":", sau apeluri API externe pentru a genera evenimente."},"usage":{"title":"Utilizare","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Managementul bugetului","budgetSaved":"Limitele bugetare au fost salvate","budgetSaveFailed":"Nu s-a salvat bugetul","loadingBudgetData":"Se încarcă datele bugetare...","noApiKeysTitle":"Fără chei API","noApiKeysDescription":"Adăugați mai întâi cheile API pentru a configura limite de buget.","apiKey":"Cheia API","todaysSpend":"Cheltuielile de azi","thisMonth":"Luna aceasta","setLimits":"Setați limite","dailyLimitUsd":"Limită zilnică (USD)","monthlyLimitUsd":"Limită lunară (USD)","warningThresholdPercent":"Pragul de avertizare (%)","dailyLimitPlaceholder":"de ex. 5.00","monthlyLimitPlaceholder":"de ex. 50.00","warningThresholdPlaceholder":"80","saveLimits":"Salvați limite","budgetOk":"Buget OK — {remaining} rămas","budgetExceeded":"Buget depășit — solicitările pot fi blocate","totalRequests":"Total cereri","noDataYet":"Nu există date încă","latency":"Latența","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Prompt Cache","systemHealth":"Sănătatea sistemului","entries":"Intrări","activeCount":"{count} activ","openCircuitBreakersDetected":"Întreruptoare deschise detectate","hitRate":"Rata de lovituri","hitsMisses":"Hits / Misses","circuitBreakers":"Întreruptoare","lockedIPs":"IP-uri blocate","lockoutsAutoRefreshHint":"Blocări ale limitei ratei per model • Reîmprospătare automată 10 secunde","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} a rămas","howItWorks":"Cum funcționează","howItWorksSubtitle":"Aflați cum evaluările vă validează răspunsurile LLM","define":"Definiți","defineStepDescription":"Creați cazuri de testare cu solicitări de intrare și criterii de ieșire așteptate, folosind strategii precum conține, expresii regex sau potrivire exactă.","run":"Fugi","runStepDescription":"Execută cazuri de testare împotriva punctelor finale LLM prin OmniRoute. Fiecare caz este trimis ca o cerere API reală.","evaluate":"Evaluează","evaluateStepDescription":"Răspunsurile sunt comparate cu criteriile așteptate. Vedeți succes/eșec pentru fiecare caz cu valori de latență și feedback detaliat.","evalSuites":"Suite de evaluare","evalSuitesHint":"Faceți clic pe o suită pentru a vedea cazurile de testare, apoi rulați pentru a evalua punctele finale LLM","evalsLoading":"Se încarcă apartamentele de evaluare...","noEvalSuitesFound":"Nu au fost găsite suite Eval","noEvalSuitesDescription":"Suitele de evaluare pot fi definite prin API sau în cod. Ei testează ieșirile modelului în raport cu rezultatele așteptate folosind strategii precum conține, regex, potrivire exactă și funcții personalizate.","columnCase":"Caz","columnStatus":"Stare","columnLatency":"Latența","columnDetails":"Detalii","columnModel":"Model","columnStrategy":"Strategie","columnExpected":"Așteptată","statsSuites":"Suite","statsTestCases":"Cazuri de testare","statsModels":"Modele","statsCoverage":"Acoperire","statsStrategiesCount":"{count} strategii","evaluationStrategies":"Strategii de evaluare","modelsUnderTest":"Modele în curs de testare","searchSuitesPlaceholder":"Căutați apartamente...","passSuffix":"trece","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Rulați Eval","runningProgress":"Se rulează {current}/{total}...","passRate":"rata de promovare","summaryBreakdown":"{passed} a trecut · {failed} a eșuat · {total} total","passedIconLabel":"✅ A trecut","failedIconLabel":"❌ A eșuat","detailsContains":"Conține: „{term}”","detailsRegex":"Regex: {pattern}","detailsExpected":"Așteptată: „{expected}”","noResultsYet":"Niciun rezultat încă","testCasesCount":"Cazuri de testare ({count})","noTestCasesDefined":"Nu au fost definite cazuri de testare","runEvalHint":"Faceți clic pe „Run Eval” pentru a executa toate cazurile împotriva punctului final LLM. Fiecare test trimite o cerere reală prin OmniRoute.","notifyNoTestCases":"Nu au fost definite cazuri de testare pentru această suită","notifyAllCasesPassed":"Toate {total} cazuri au trecut ✅","notifySomeCasesFailed":"{passed}/{total} a trecut, {failed} a eșuat","notifyEvalRunFailed":"Evaluarea a eșuat","notifyEvalTitle":"Evaluare: {name}","modelEvals":"Evaluări de model","evalsHeroDescription":"Testați și validați punctele finale LLM rulând suite de evaluare predefinite. Fiecare suită conține cazuri de testare care trimit solicitări reale prin OmniRoute și compară răspunsurile cu criteriile așteptate - ajutându-vă să detectați regresiile, să comparați modele și să asigurați calitatea răspunsului între furnizori.","qualityValidation":"Validarea calității","modelComparison":"Comparație de modele","regressionDetection":"Detectarea regresiei","latencyBenchmarks":"Benchmark-uri de latență","modelLockouts":"Blocarea modelelor","noLockouts":"Nu există modele blocate momentan","activeSessions":"Sesiuni active","noSessions":"Fără sesiuni active","sessionsHint":"Sesiunile apar pe măsură ce solicitările circulă prin proxy","sessionsTrackedHint":"Urmărit prin amprenta la cerere • Reîmprospătare automată 5s","session":"Sesiune","age":"Vârsta","requests":"Cereri","connection":"Conexiune","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limitele furnizorului","noProviders":"Niciun furnizor conectat","connectProvidersForQuota":"Conectați-vă la furnizori cu OAuth pentru a urmări limitele și utilizarea cotelor API.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrat din {count})","autoRefresh":"Reîmprospătare automată","refreshAll":"Reîmprospătați toate","loadingQuotas":"Se încarcă...","account":"Cont","modelQuotas":"Cote model","lastUsed":"Ultima utilizare","actions":"Acțiuni","refreshQuota":"Actualizează cota","today":"Astăzi","tomorrow":"Mâine","dayTimeFormat":"{day}, {time}","inDuration":"în {duration}","notApplicable":"N/A","rawPlanWithValue":"Plan brut: {plan}","noPlanFromProvider":"Niciun plan de la furnizor","noQuotaData":"Fără date de cotă","ungrouped":"Ungrouped","viewFlat":"Flat","viewByEnvironment":"By Environment","noQuotaDataAvailable":"Nu sunt disponibile date privind cotele","noAccountsForTierFilter":"Nu s-au găsit conturi pentru filtrul de nivel","tierAll":"Toate","tierEnterprise":"Întreprindere","tierTeam":"Echipa","tierBusiness":"Afaceri","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratuit","tierUnknown":"Necunoscut"},"modals":{"waitingAuth":"În așteptarea autorizației","verificationUrl":"Adresa URL de verificare","yourCode":"Codul dvs","remoteAccess":"Acces de la distanță:","connectedSuccess":"Conectat cu succes!","connectionFailed":"Conexiune a eșuat","chooseAuthMethod":"Alegeți metoda de autentificare:","awsBuilderId":"ID AWS Builder","awsIamIdentity":"Centrul de identitate AWS IAM","googleAccount":"Cont Google","githubAccount":"Cont GitHub","importToken":"Import Token","pasteToken":"Lipiți indicativul de reîmprospătare din Kiro IDE.","awsRegion":"Regiunea AWS","autoDetecting":"Se detectează automat jetoanele...","readingFromCache":"Citirea din memoria cache AWS SSO","readingFromCursor":"Citirea din baza de date Cursor IDE","initializing":"Se inițializează...","pricingConfig":"Configurarea prețurilor","loadingPricing":"Se încarcă datele de preț...","pricingRatesFormat":"Formatul tarifelor de preț","noPricingData":"Nu sunt disponibile date de preț","noModelsFound":"Nu s-au găsit modele"},"loggers":{"allProviders":"Toți Furnizorii","allModels":"Toate modelele","allAccounts":"Toate Conturile","allApiKeys":"Toate cheile API","allTypes":"Toate Tipurile","allLevels":"Toate Nivelurile","modelAZ":"Modelul A-Z","modelZA":"Model Z-A","loadingLogs":"Se încarcă jurnalele...","loadingProxyLogs":"Se încarcă jurnalele proxy...","noLogEntries":"Nu au fost găsite intrări de jurnal","noPayloadData":"Nu există date disponibile pentru această intrare în jurnal.","proxyEvent":"Eveniment proxy","proxy":"Proxy","level":"Nivel","directNative":"Direct (nativ)","combo":"Combo","inputTokens":"eu:","outputTokens":"O:"},"stats":{"usageOverview":"Prezentare generală a utilizării","outputTokens":"Jetoane de ieșire","totalCost":"Costul total","usageByModel":"Utilizare după model","usageByAccount":"Utilizare după Cont","failedToLoad":"Nu s-au încărcat statisticile de utilizare.","tokenHealth":"Token Health","totalOAuth":"OAuth totală","healthy":"Sănătos","warning":"Avertisment","errored":"Eroare","lastCheck":"Ultima verificare","noData":"Fără date","share":"Distribuie","unableToLoad":"Nu se pot încărca valorile sistemului","product":"Produs","resources":"Resurse","company":"Compania"},"auth":{"welcome":"Bun venit","signIn":"Conectați-vă","enterPassword":"Introduceți parola pentru a continua","password":"Parolă","unifiedProxy":"Proxy API AI unificat","unifiedAiApiProxy":"Proxy API AI unificat","unifiedAiApiProxyDesc":"Dirijați cererile către mai mulți furnizori de AI printr-un singur punct final. Echilibrarea încărcăturii, failoverul și urmărirea utilizării încorporate.","passwordNotEnabled":"Protecția prin parolă nu este activată","loading":"Se încarcă...","invalidPassword":"Parolă nevalidă","errorOccurredRetry":"A apărut o eroare. Vă rugăm să încercați din nou.","configureInstance":"Haideți să vă configurați instanța OmniRoute","runOnboardingWizard":"Rulați expertul de onboarding pentru a vă configura parola și pentru a vă conecta primul furnizor de AI.","startOnboarding":"Începeți integrarea","secureYourInstance":"Asigurați-vă instanța","setPasswordDescription":"Setați o parolă pentru a vă proteja tabloul de bord și pentru a vă asigura punctele finale API împotriva accesului neautorizat.","configurePassword":"Configurați parola","continue":"Continuă","windowWillClose":"Această fereastră se va închide automat...","closeTabNow":"Puteți închide această filă acum.","copyUrlManual":"Vă rugăm să copiați adresa URL din bara de adrese și să o inserați în aplicație.","accessDeniedDescription":"Nu aveți permisiunea de a accesa această resursă. Verificați cheia API sau contactați administratorul.","goToDashboard":"Accesați tabloul de bord","featureMultiProviderTitle":"Multi-furnizor","featureMultiProviderDesc":"OpenAI, Anthropic, Google și multe altele","featureLoadBalancingTitle":"Echilibrarea sarcinii","featureLoadBalancingDesc":"Distribuiți cererile în mod inteligent","featureUsageTrackingTitle":"Urmărirea utilizării","featureUsageTrackingDesc":"Monitorizați costurile și jetoanele","resetPassword":"Resetează parola","resetDescription":"Alegeți o metodă pentru a recupera accesul la tabloul de bord","stopServer":"Opriți serverul OmniRoute","processing":"Se procesează...","pleaseWait":"Vă rugăm să așteptați până când completăm autorizarea.","authSuccess":"Autorizare reușită!","copyUrl":"Copiați această adresă URL","accessDenied":"Acces refuzat","methodCliTitle":"Metoda 1: Resetarea CLI","methodCliDescription":"Rulați următoarea comandă pe serverul pe care rulează OmniRoute:","methodCliHint":"Acest lucru vă va solicita să setați o nouă parolă. Serverul trebuie oprit mai întâi.","methodManualTitle":"Metoda 2: Resetare manuală","methodManualDescription":"Ștergeți parola din baza de date și setați una nouă la pornire:","setPasswordInYour":"Setați o nouă parolă în dvs","fileLabelSuffix":"fisier:","newPasswordPlaceholder":"dvs._noua_parolă","deleteSettingsFile":"Ștergeți","orRemovePasswordHashField":"sau eliminați câmpul passwordHash","restartServerWithNewPassword":"Reporniți serverul - va folosi noua parolă","backToLogin":"Înapoi la Logare","forgotPassword":"Ai uitat parola?","defaultPasswordHint":"Default password: 123456 (unless INITIAL_PASSWORD was set)","Authorization":"Autorizare","Content-Disposition":"Conținut-Dispoziție","waitingForAuthorization":"Se așteaptă autorizația...","waitingForGoogleAuthorization":"Se așteaptă autorizarea Google...","waitingForOpenAIAuthorization":"Se așteaptă autorizarea OpenAI...","waitingForAntigravityAuthorization":"Se așteaptă autorizația antigravitație...","waitingForIFlowAuthorization":"Se așteaptă autorizarea iFlow...","exchangingCodeForTokens":"Se schimbă codul pentru jetoane..."},"landing":{"brandName":"OmniRoute","navigateHome":"Navigați la acasă","toggleMenu":"Comutați meniul","featuresLink":"Caracteristici","docsLink":"Docs","github":"GitHub","versionLive":"v1.0 este acum live","oneEndpoint":"Un punct final pentru","allProviders":"Toți furnizorii de AI","heroDescription":"Proxy AI endpoint cu tablou de bord web - Un port JavaScript al CLIProxyAPI. Funcționează perfect cu Claude Code, OpenAI Codex, Cline, RooCode și alte instrumente CLI.","getStarted":"Începeți","viewOnGithub":"Vizualizați pe GitHub","powerfulFeatures":"Caracteristici puternice","featuresSubtitle":"Tot ce aveți nevoie pentru a vă gestiona infrastructura AI într-un singur loc, construit pentru scară.","featureUnifiedEndpointTitle":"Punct final unificat","featureUnifiedEndpointDesc":"Accesați toți furnizorii printr-o singură adresă URL API standard.","featureEasySetupTitle":"Configurare ușoară","featureEasySetupDesc":"Începeți să rulați în câteva minute cu comanda npx.","featureModelFallbackTitle":"Model de rezervă","featureModelFallbackDesc":"Comutați automat furnizorii în caz de eșec sau latență ridicată.","featureUsageTrackingTitle":"Urmărirea utilizării","featureUsageTrackingDesc":"Analiză detaliată și monitorizare a costurilor pentru toate modelele.","featureOAuthApiKeysTitle":"Chei OAuth și API","featureOAuthApiKeysDesc":"Gestionați în siguranță acreditările într-un singur seif.","featureCloudSyncTitle":"Sincronizare în cloud","featureCloudSyncDesc":"Sincronizați-vă configurațiile pe dispozitive instantaneu.","featureCliSupportTitle":"Suport CLI","featureCliSupportDesc":"Funcționează cu Claude Code, Codex, Cline, Cursor și multe altele.","featureDashboardTitle":"Tabloul de bord","featureDashboardDesc":"Tablou de bord vizual pentru analiza traficului în timp real.","howItWorks":"Cum funcționează OmniRoute","howItWorksDescription":"Datele circulă fără probleme de la aplicația dvs. prin stratul nostru inteligent de rutare către cel mai bun furnizor pentru job.","howItWorksStep1Title":"1. CLI și SDK-uri","howItWorksStep1Description":"Solicitările tale pornesc de la instrumentele tale preferate sau SDK-ul nostru unificat. Doar schimbați adresa URL de bază.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"Motorul nostru analizează promptul, verifică starea furnizorului și rutele pentru cea mai mică latență sau cost.","howItWorksStep3Title":"3. Furnizori AI","howItWorksStep3Description":"Solicitarea este îndeplinită instantaneu de OpenAI, Anthropic, Gemini sau altele.","getStartedIn30Seconds":"Începeți în 30 de secunde","getStartedDescription":"Instalați OmniRoute, configurați-vă furnizorii prin intermediul tabloului de bord web și începeți să direcționați cererile AI.","installOmniRoute":"Instalați OmniRoute","installStepDescription":"Rulați comanda npx pentru a porni serverul instantaneu","openDashboard":"Deschideți tabloul de bord","openDashboardStepDescription":"Configurați furnizorii și cheile API prin interfața web","routeRequests":"Cereri de traseu","routeRequestsStepDescription":"Îndreptați instrumentele CLI către {endpoint}","terminal":"terminal","copy":"Copiere","copied":"✓ Copiat","startingOmniRoute":"Se pornește OmniRoute...","serverRunningOnLabel":"Serverul rulează","dashboardLabel":"Tabloul de bord","readyToRoute":"Gata de traseu! ✓","configureProvidersNote":"📝 Configurați furnizorii în tabloul de bord sau utilizați variabile de mediu","dataLocation":"Locația datelor:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produs","dashboardLink":"Tabloul de bord","changelog":"Jurnalul modificărilor","resources":"Resurse","documentation":"Documentare","npm":"NPM","legal":"Legal","mitLicense":"Licență MIT","footerTagline":"Punctul final unificat pentru generarea AI. Conectați-vă, direcționați și gestionați cu ușurință furnizorii dvs. de AI.","copyright":"© {year} OmniRoute. Toate drepturile rezervate.","flowToolClaudeCode":"Claude Cod","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Cursorul","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"antropică","flowProviderGemini":"Gemeni","flowProviderGithubCopilot":"Copilotul GitHub","interactiveDiagram":"Diagrama interactivă vizibilă pe desktop","ctaTitle":"Sunteți gata să vă simplificați infrastructura AI?","ctaDescription":"Alăturați-vă dezvoltatorilor care își eficientizează integrările AI cu OmniRoute. Open source și liber pentru a începe.","startFree":"Începe gratuit","readDocumentation":"Citiți documentația"},"docs":{"title":"Documentare","quickStart":"Pornire rapidă","features":"Caracteristici","supportedProviders":"Furnizori acceptați","supportedProvidersToc":"Furnizorii","commonUseCases":"Cazuri comune de utilizare","clientCompatibility":"Compatibilitate client","protocolsToc":"Protocols","apiReference":"Referință API","method":"Metoda","path":"Calea","notes":"Note","modelPrefixes":"Prefixe de model","prefix":"Prefix","troubleshooting":"Depanare","supportsChat":"Acceptă atât punctele finale de chat, cât și cele de răspuns.","oauthAutoRefresh":"Conexiune OAuth cu reîmprospătare automată a simbolului.","fullStreaming":"Suport complet pentru streaming pentru toate modelele.","docsLabel":"Docs","docsHeroDescription":"Gateway AI pentru LLM cu mai mulți furnizori. Un punct final pentru OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor și peste 20 de furnizori.","openDashboard":"Deschideți tabloul de bord","endpointPage":"Pagina finală","github":"GitHub","reportIssue":"Raportați o problemă","onThisPage":"Pe această pagină","documentationVersion":"Documentație - v{version}","quickStartStep1Title":"1. Instalați și rulați","quickStartStep1Prefix":"Fugi","quickStartStep1Middle":"sau clonează din GitHub și rulează","quickStartStep2Title":"2. Creați cheia API","quickStartStep2Text":"Accesați Endpoint -> Chei înregistrate. Generați o cheie pentru fiecare mediu.","quickStartStep3Title":"3. Conectați furnizorii","quickStartStep3Text":"Adăugați conturi de furnizor prin autentificare OAuth, cheie API sau conexiune automată gratuită.","quickStartStep4Title":"4. Setați adresa URL a bazei de clienți","quickStartStep4Prefix":"Îndreptați-vă clientul IDE sau API către","quickStartStep4Suffix":"Utilizați prefixul furnizorului, de exemplu","featureRoutingTitle":"Rutare cu mai mulți furnizori","featureRoutingText":"Dirijați cererile către peste 30 de furnizori de AI printr-un singur punct final compatibil cu OpenAI. Acceptă API-uri de chat, răspunsuri, audio și imagine.","featureCombosTitle":"Combo și echilibrare","featureCombosText":"Creați combinații de modele cu lanțuri de rezervă și strategii de echilibrare: round-robin, prioritare, aleatorii, cel mai puțin utilizate și optimizate pentru costuri.","featureUsageTitle":"Urmărirea utilizării și a costurilor","featureUsageText":"Numărarea jetonelor în timp real, calculul costurilor pe furnizor/model și detalierea utilizării în funcție de cheie API și cont.","featureAnalyticsTitle":"Tabloul de bord Analytics","featureAnalyticsText":"Analiză vizuală cu diagrame pentru solicitări, jetoane, erori, latență, costuri și popularitatea modelului de-a lungul timpului.","featureHealthTitle":"Monitorizarea sănătății","featureHealthText":"Verificări live ale stării de sănătate, starea furnizorului, stările întrerupătoarelor de circuit și detectarea automată a limitei ratei cu retragere exponențială.","featureCliTitle":"Instrumente CLI","featureCliText":"Gestionați configurațiile IDE, exportați/importați copii de siguranță, descoperiți profiluri de codex și configurați setările din tabloul de bord.","featureSecurityTitle":"Securitate și politici","featureSecurityText":"Autentificare cu cheie API, filtrare IP, protectie pentru injectare promptă, politici de domeniu, gestionare a sesiunilor și înregistrare de audit.","featureCloudSyncTitle":"Sincronizare în cloud","featureCloudSyncText":"Sincronizați-vă configurația cu Cloudflare Workers pentru acces de la distanță cu acreditări criptate și failover automat.","providersAcrossConnectionTypes":"{count} furnizori din trei tipuri de conexiune.","manageProviders":"Gestionați furnizorii","providersCount":"{count} furnizori","providerTypeFree":"Nivel gratuit","providerTypeOAuth":"OAuth","providerTypeApiKey":"Cheia API","useCaseSingleEndpointTitle":"Punct final unic pentru mulți furnizori","useCaseSingleEndpointText":"Indicați clienții către o adresă URL de bază și rutați după prefix de model (de exemplu: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback și schimbare de model cu combo","useCaseFallbackText":"Creați modele combinate în Dashboard și mențineți stabilă configurația clientului în timp ce furnizorii se rotesc intern.","useCaseUsageVisibilityTitle":"Utilizare, cost și vizibilitate depanare","useCaseUsageVisibilityText":"Urmăriți jetoanele și costul în funcție de furnizor, cont și cheie API în filele Utilizare și Analytics.","clientCherryStudioTitle":"Studioul Cherry","baseUrlLabel":"Adresa URL de bază","chatEndpointLabel":"Punct final de chat","modelRecommendationLabel":"Recomandare model: prefix explicit","clientCodexTitle":"Modele Codex / GitHub Copilot","clientCodexBullet1":"Utilizați ID-uri de model cu","clientCodexBullet2":"Modelele din familia Codex au traseu automat către","clientCodexBullet3":"Modelele non-Codex continuă","clientCursorTitle":"Cursor IDE","clientCursorBullet1":"Utilizați","clientCursorBullet1Suffix":"prefix pentru modelele Cursor.","clientCursorBullet2":"Conexiune OAuth - conectați-vă din pagina Furnizori.","clientClaudeTitle":"Claude Code / Antigravitație","clientClaudeBullet1Prefix":"Utilizați","clientClaudeBullet1Middle":"(Claude) sau","clientClaudeBullet1Suffix":"(antigravitație) prefix.","protocolsTitle":"Protocols: MCP & A2A","protocolsDescription":"OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.","protocolMcpStep1":"Start MCP transport with `omniroute --mcp`.","protocolMcpStep2":"Point your MCP client to stdio transport.","protocolMcpStep3":"Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.","protocolA2aStep1":"Read `/.well-known/agent.json` for agent discovery.","protocolA2aStep2":"Send `message/send` or `message/stream` requests to `POST /a2a`.","protocolA2aStep3":"Manage task lifecycle with `tasks/get` and `tasks/cancel`.","protocolTroubleshootingTitle":"Protocol Troubleshooting","protocolTroubleshooting1":"If MCP status is offline, verify the stdio process is running and heartbeat file is updating.","protocolTroubleshooting2":"If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.","protocolTroubleshooting3":"Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.","endpointChatNote":"Punct final de chat compatibil cu OpenAI (implicit).","endpointResponsesNote":"Punct final API pentru răspunsuri (Codex, serie o).","endpointModelsNote":"Catalog model pentru toți furnizorii conectați.","endpointAudioNote":"Transcriere audio (Deepgram, AssemblyAI).","endpointImagesNote":"Generarea imaginii (NanoBanana).","endpointRewriteChatNote":"Rescrie ajutor pentru clienți fără /v1.","endpointRewriteResponsesNote":"Rescrie ajutor pentru răspunsuri fără /v1.","endpointRewriteModelsNote":"Rescrierea de ajutor pentru descoperirea modelului fără /v1.","modelPrefixesDescriptionStart":"Utilizați prefixul furnizorului înainte de numele modelului pentru a direcționa către un anumit furnizor. Exemplu:","modelPrefixesDescriptionEnd":"rute către GitHub Copilot.","provider":"Furnizor","type":"Tip","troubleshootingModelRouting":"Dacă clientul eșuează cu rutarea modelului, utilizați furnizorul/modelul explicit (de exemplu: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Dacă primiți erori de model ambigue, alegeți un prefix de furnizor în loc de un ID de model simplu.","troubleshootingCodexFamily":"Pentru modelele din familia GitHub Codex, păstrați modelul ca gh/codex-model; routerul selectează/răspunde automat.","troubleshootingTestConnection":"Utilizați Tabloul de bord > Furnizori > Testați conexiunea înainte de a testa de la IDE-uri sau clienți externi.","troubleshootingCircuitBreaker":"Dacă un furnizor arată întrerupătorul deschis, așteptați răcirea sau verificați pagina Sănătate pentru detalii.","troubleshootingOAuth":"Pentru furnizorii OAuth, re-autentificați-vă dacă tokenurile expiră. Verificați indicatorul de stare a cardului furnizorului.","managementApiReference":"Management API Reference","managementApiDescription":"Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.","mgmtProxiesListNote":"List saved proxy registry items (supports pagination).","mgmtProxiesCreateNote":"Create a reusable proxy item in the registry.","mgmtProxiesHealthNote":"Get 24h/rolling health metrics per saved proxy from proxy logs.","mgmtProxiesBulkAssignNote":"Assign or clear one proxy across many scope IDs in one request.","mgmtAssignmentsListNote":"List proxy assignments by scope, scope_id, or proxy_id.","mgmtAssignmentsUpdateNote":"Assign or clear proxy for global/provider/account/combo scope.","mgmtLegacyMigrationNote":"Import legacy proxyConfig maps into registry assignments.","endpointSpeechNote":"Generarea text-to-speech (ElevenLabs, OpenAI TTS).","endpointEmbeddingsNote":"Generarea de încorporare a textului (OpenAI, Cohere, Voyage)."},"legal":{"privacyPolicy":"Politica de confidențialitate","termsOfService":"Termeni și condiții","providerConfigurations":"Configurațiile furnizorului","apiKeys":"Chei API","usageLogs":"Jurnalele de utilizare","applicationSettings":"Setările aplicației","viewExportAnalytics":"Vizualizați și exportați analizele de utilizare","clearHistory":"Ștergeți istoricul utilizării în orice moment","configureRetention":"Configurați politicile de păstrare a jurnalelor","backupRestore":"Faceți backup și restaurați baza de date","privacyMetadataTitle":"Politica de confidențialitate | OmniRoute","privacyMetadataDescription":"Politica de confidențialitate pentru routerul proxy API OmniRoute AI.","termsMetadataTitle":"Termeni și condiții | OmniRoute","termsMetadataDescription":"Termenii și condițiile pentru routerul proxy API OmniRoute AI.","backToHome":"Înapoi acasă","lastUpdated":"Ultima actualizare: {date}","policyLastUpdatedDate":"13 februarie 2026","listSeparator":"-","questionsVisit":"Întrebări? Vizitează-ne","githubRepository":"Depozitul GitHub","privacySection1Title":"1. Local-First Architecture","privacySection1Text":"OmniRoute este proiectat ca o aplicație mai întâi locală. Toate procesarea și stocarea datelor au loc în întregime pe mașina dvs. Nu există un server centralizat care să vă colecteze informațiile.","privacySection2Title":"2. Datele pe care le stocăm","privacyDataStoredIn":"Următoarele date sunt stocate local în","privacyDataProviderConfigurationsDesc":"adrese URL de conexiune, tipuri de furnizori și setări de prioritate","privacyDataApiKeysDesc":"criptat și stocat local pentru autentificare cu furnizorii de AI","privacyDataUsageLogsDesc":"numărul de solicitări, utilizarea token-ului, numele modelelor, marcajele de timp și timpii de răspuns","privacyDataApplicationSettingsDesc":"preferințele temei, strategia de rutare și configurațiile combinate","privacySection3Title":"3. Fără telemetrie","privacySection3Text":"OmniRoute nu colectează telemetrie, analize sau rapoarte de blocare. Nicio dată nu ne sunt trimise nouă sau unei terțe părți. Tiparele dvs. de utilizare, apelurile API și configurațiile rămân în întregime private.","privacySection4Title":"4. Furnizori AI terți","privacySection4Text":"Când efectuați apeluri API prin OmniRoute, solicitările dvs. sunt redirecționate către furnizorii de AI pe care i-ați configurat (de exemplu: OpenAI, Anthropic, Google). Acești furnizori au propriile lor politici de confidențialitate care guvernează modul în care vă gestionează datele. Vă rugăm să revizuiți:","privacyOpenAiPolicy":"Politica de confidențialitate OpenAI","privacyAnthropicPolicy":"Politica de confidențialitate antropică","privacyGooglePolicy":"Politica de confidențialitate Google","privacySection5Title":"5. Cloud Sync (Opțional)","privacySection5Text":"Dacă activați caracteristica opțională de sincronizare în cloud, configurațiile furnizorului și cheile API pot fi transmise la un punct final de cloud configurat. Această funcție este dezactivată în mod implicit și necesită înscriere explicită.","privacySection6Title":"6. Înregistrare","privacyLoggingIntro":"Jurnalele de solicitări pot fi configurate prin setările tabloului de bord. Puteți:","privacySection7Title":"7. Drepturile tale","privacySection7TextStart":"Deoarece toate datele sunt stocate local, aveți control deplin. Vă puteți șterge datele oricând prin eliminarea","privacySection7TextEnd":"director sau folosind funcțiile de backup și restaurare a bazei de date din tabloul de bord.","termsSection1Title":"1. Prezentare generală","termsSection1Text":"OmniRoute este un router proxy API AI care funcționează în întregime pe mașina dumneavoastră. Acesta direcționează cererile către mai mulți furnizori de AI cu echilibrare a sarcinii, failover și urmărire a utilizării.","termsSection2Title":"2. Responsabilitățile utilizatorului","termsResponsibilityApiKeys":"Sunteți singurul responsabil pentru gestionarea propriilor chei și acreditări API pentru furnizorii terți de AI (OpenAI, Anthropic, Google etc.).","termsResponsibilityCompliance":"Trebuie să respectați termenii și condițiile fiecărui furnizor de AI al cărui API îl accesați prin OmniRoute.","termsResponsibilitySecurity":"Sunteți responsabil pentru securitatea instalării locale OmniRoute, inclusiv setarea unei parole și restricționarea accesului la rețea.","termsSection3Title":"3. Cum funcționează","termsSection3Text":"OmniRoute acționează ca un proxy intermediar. Apelurile API trimise către OmniRoute sunt traduse și redirecționate către furnizorii dvs. de AI configurați. OmniRoute nu modifică conținutul solicitărilor sau răspunsurilor dumneavoastră dincolo de traducerea protocolului necesară.","termsSection4Title":"4. Manipularea datelor","termsDataStoredLocally":"Toate datele sunt stocate local pe mașina dvs. într-o bază de date SQLite.","termsNoTransmission":"OmniRoute nu transmite date către servere externe decât dacă activați în mod explicit funcțiile de sincronizare în cloud.","termsDataLocationText":"Jurnalele de utilizare, cheile API și configurația sunt stocate în","termsSection5Title":"5. Exonerare de responsabilitate","termsSection5Text":"OmniRoute este furnizat „ca atare”, fără garanții de niciun fel. Nu suntem responsabili pentru costurile suportate prin utilizarea API-ului, întreruperile serviciilor sau pierderea datelor. Păstrați întotdeauna copii de siguranță ale configurației dvs.","termsSection6Title":"6. Open Source","termsSection6Text":"OmniRoute este un software open-source. Sunteți liber să îl inspectați, să modificați și să îl distribuiți în conformitate cu termenii licenței sale."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"API Endpoints","apiEndpointsTitle":"API Endpoints","apiEndpointsDescription":"Backend API endpoints that can be consumed by other applications and services. This section will list all available REST APIs with documentation and testing capabilities.","comingSoon":"Coming Soon","plannedFeatures":"Planned Features","featureRestApi":"REST API endpoint catalog with interactive documentation","featureWebhooks":"Webhook configuration and event subscriptions","featureSwagger":"OpenAPI / Swagger spec auto-generation","featureAuth":"API key and OAuth scope management per endpoint"},"agents":{"title":"CLI Agents","description":"Discover installed CLI agents on your system. Add custom agents for auto-detection.","refresh":"Refresh","installed":"Installed","notFound":"Not Found","builtIn":"Built-in","custom":"Custom","remove":"Remove","addCustomAgent":"Add Custom Agent","addCustomAgentDesc":"Register any CLI tool for detection. It will be scanned automatically on refresh.","agentName":"Agent Name","binaryName":"Binary Name","versionCommand":"Version Command","spawnArgs":"Spawn Args","addAgent":"Add Agent","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"Auto-Combo Engine","statusNormal":"Normal","statusIncident":"Incident Mode","modePack":"Mode Pack","providerScores":"Provider Scores","noAutoCombo":"No auto-combo configured.","excludedProviders":"Excluded Providers","noExclusions":"No providers currently excluded.","factorQuota":"Quota","factorHealth":"Health","factorCost":"Cost","factorLatency":"Latency","factorTaskFit":"Task Fit","factorStability":"Stability","factorTierPriority":"Tier Priority","factorTierPriorityDesc":"Prefers accounts with higher quota tiers (Ultra/Pro over Free)","scoreFactorBreakdown":"Scoring Factors","modePackShipFast":"Ship Fast","modePackCostSaver":"Cost Saver","modePackQualityFirst":"Quality First","modePackOfflineFriendly":"Offline Friendly"},"search":{"searchQuery":"Search Query","searchResults":"Search Results","cachedResult":"Cached","searchCost":"Cost","searchTools":"Search Tools","searchToolsDesc":"Advanced search testing with provider comparison","compareProviders":"Compare Providers","rerankResults":"Rerank Results","searchHistory":"Search History","urlOverlap":"URL Overlap","noSearchProviders":"No search providers configured. Add providers in Settings.","noRerankModels":"No rerank model available","webSearch":"Web Search","provider":"Provider","searchType":"Search Type","maxResults":"Max Results","filters":"Filters","country":"Country","language":"Language","timeRange":"Time Range","includeDomains":"Include Domains","excludeDomains":"Exclude Domains","safeSearch":"Safe Search","formatted":"Formatted","rawJson":"JSON","cacheMiss":"cache miss","cacheHit":"cache hit","latency":"Latency","cost":"Cost","results":"Results","rerank":"Rerank","rerankModel":"Rerank Model","positionDelta":"Position Change","emptyState":"Send a search query to see results","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"templateNames":{"simple-chat":"Chat simplu","streaming":"Streaming","system-prompt":"Prompt de sistem","thinking":"Gândirea","tool-calling":"Apelarea instrumentului","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Șablon de chat de bază cu mesaj de sistem","streaming":"Șablon pentru răspunsuri în flux","system-prompt":"Șablon cu prompt de sistem personalizat","thinking":"Șablon cu buget de raționament/gândire","tool-calling":"Șablon pentru apelarea instrumentului/funcției","multi-turn":"Șablon pentru conversații în mai multe rânduri"},"templatePayloads":{"simpleChat":{"system":"Sunteți un asistent AI util.","userGreeting":"Bună ziua! Cum te pot ajuta azi?"},"streaming":{"prompt":"Scrie o poveste despre"},"systemPrompt":{"question":"Care este sensul vieții?","systemInstruction":"Oferă un răspuns gânditor, filozofic."},"thinking":{"question":"Explicați calculul cuantic"},"toolCalling":{"cityNameDescription":"Numele orașului pentru care să aflați vremea","toolDescription":"Obțineți vremea actuală pentru o locație","userWeather":"Care este vremea în Tokyo?"},"multiTurn":{"system":"Ești un asistent util.","assistantExample":"Aș fi bucuros să te ajut cu asta.","userInitial":"Am nevoie de ajutor cu","userFollowUp":"Puteți detalia asta?"}},"cache":{"title":"Cache Management","description":"Monitor and manage semantic response cache, hit rates, and token savings.","refresh":"Refresh","clearAll":"Clear All","memoryEntries":"Memory Entries","dbEntries":"DB Entries","cacheHits":"Cache Hits","tokensSaved":"Tokens Saved","hitRate":"Hit Rate","performance":"Cache Performance","behavior":"Cache Behavior","idempotency":"Idempotency Layer","clearSuccess":"Cache cleared. {count} expired entries removed.","clearError":"Failed to clear cache.","unavailable":"Cache unavailable","unavailableDesc":"Could not fetch cache statistics. Make sure the server is running.","memoryEntriesSub":"In-memory LRU","dbEntriesSub":"Persisted (SQLite)","cacheHitsSub":"of {total} total","tokensSavedSub":"Estimated from hits","autoRefresh":"Auto-refreshes every {seconds}s","hits":"Hits","misses":"Misses","total":"Total","behaviorDeterministic":"Only non-streaming requests with temperature=0 are cached.","behaviorBypass":"Bypass with header {header}.","behaviorTwoTier":"Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).","behaviorTtl":"Default TTL: 30 minutes. Configure via {envVar}.","activeDedupKeys":"Active Dedup Keys","dedupWindow":"Dedup Window"}}'))}];
1
+ module.exports=[384650,a=>{a.v(JSON.parse('{"common":{"save":"Salvați","cancel":"Anulează","delete":"Ștergeți","loading":"Se încarcă...","error":"A apărut o eroare","success":"Succes","confirm":"esti sigur?","refresh":"Reîmprospătați","close":"Închide","add":"Adăugați","edit":"Editați","search":"Caută","back":"Înapoi","next":"În continuare","submit":"Trimiteți","reset":"Resetați","copy":"Copiere","copied":"Copiat!","enabled":"Activat","disabled":"Dezactivat","active":"Activ","inactive":"Inactiv","noData":"Nu există date disponibile","configure":"Configurați","manage":"Gestionează","name":"Nume","actions":"Acțiuni","status":"Stare","type":"Tip","model":"Model","models":"modele","provider":"Furnizor","account":"Cont","time":"timpul","details":"Detalii","created":"Creat","lastUsed":"Ultima utilizare","loadMore":"Încărcați mai multe","noResults":"Nu s-au găsit rezultate","reloadPage":"Reîncărcați pagina","connected":"Conectat","disconnected":"Deconectat","notConfigured":"Neconfigurat","testConnection":"Testează conexiunea","enable":"Activați","disable":"Dezactivați","columns":"Coloane","newest":"Cel mai nou","oldest":"Cel mai vechi","all":"Toate","none":"Niciuna","yes":"Da","no":"Nu","warning":"Avertisment","note":"Notă","free":"Gratuit","skipToContent":"Treci la conținut","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"Acceptați","accountId":"ID contului","alias":"Alias","apiKeyId":"ID-ul cheii API","apiKeyName":"Nume cheie API","apiKeySecret":"Secretul cheii API","authorization":"Autorizare","content-type":"Tip de conținut","content-length":"Lungimea conținutului","cookie":"Cookie","file":"Fișier","host":"Gazdă","id":"ID","import":"Import","limit":"Limită","offset":"Offset","open":"Deschide","origin":"Originea","promptTokens":"Jetoane prompte","completionTokens":"Jetoane de finalizare","totalTokens":"Total de jetoane","rawModel":"Model brut","scope":"Domeniul de aplicare","skill":"Îndemânare","sortBy":"Sortare după","sortOrder":"Ordine de sortare","tab":"Tab","text":"Text","textarea":"Textarea","tool":"Instrument","toolId":"ID instrument","web":"Web","whereUsed":"Unde este folosit","whitelist":"Lista albă","blacklist":"Lista neagră","resolve":"Rezolvați","force":"Forța","base64url":"URL Base64","hex":"Hex","range":"Gama","component":"Componentă","redirect_uri":"URI de redirecționare","idempotency-key":"Cheia Idempotnței","error_description":"Descrierea erorii","code":"Cod","compatible":"Compatibil","chat-completions":"Finalizări de chat","oauth":"OAuth","auth_token":"Jeton de autentificare","crypto":"Cripto","hours":"Ore","selfsigned":"Autosemnat","proxy_id":"ID proxy","proxyId":"ID proxy","connectionId":"ID conexiune","resolveConnectionId":"Rezolvați ID-ul conexiunii","resolve_connection_id":"Rezolvați ID-ul conexiunii","scope_id":"ID domeniului","scopeId":"ID domeniului","jwtSecret":"Secretul JWT","keytar":"Keytar","better-sqlite3":"mai bine-sqlite3","undici":"undici","builder-id":"ID constructor","musicDesc":"Descrierea muzicii","musicGeneration":"Generația muzicală","idc":"IDC","cloud-status-changed":"Starea cloudului s-a schimbat","where_used":"Unde este folosit","windowMs":"Fereastra (ms)","social-github":"GitHub","social-google":"Google","TOOL_ALLOWLIST":"Lista de instrumente permise","TOOL_DENYLIST":"Lista de refulare a instrumentelor","Failed to save pricing":"Nu s-a salvat prețul","Failed to reset pricing":"Nu s-a resetat prețul","apikey":"Cheia API","http":"HTTP"},"sidebar":{"home":"Acasă","dashboard":"Tabloul de bord","providers":"Furnizorii","combos":"Combo-uri","usage":"Utilizare","analytics":"Analytics","costs":"Costuri","health":"Sănătate","limits":"Limite și cote","cliTools":"Instrumente CLI","media":"Media","settings":"Setări","translator":"Traducător","docs":"Docs","issues":"Probleme","apiManager":"Manager API","logs":"Bușteni","auditLog":"Jurnal de audit","shutdown":"Închidere","restart":"Reporniți","shutdownConfirm":"Închideți OmniRoute?","restartConfirm":"Reporniți OmniRoute?","version":"v{version}","debug":"Depanați","system":"Sistem","help":"Ajutor","serverDisconnected":"Server deconectat","serverDisconnectedMsg":"Serverul proxy a fost oprit sau repornește.","expandSidebar":"Extinde bara laterală","collapseSidebar":"Restrângeți bara laterală","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Puncte finale","playground":"Playground","agents":"Agenți","cliToolsShort":"Instrumente","autoCombo":"Auto Combo","searchTools":"Search Tools","cache":"Cache","cacheShort":"Cache"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Active theme"},"header":{"logout":"Deconectare","language":"Limba","providers":"Furnizorii","providerDescription":"Gestionați-vă conexiunile furnizorului dvs. de AI","combos":"Combo-uri","comboDescription":"Combo de modele cu rezervă","usage":"Utilizare și analiză","usageDescription":"Monitorizați-vă utilizarea API-ului, consumul de token-uri și jurnalele de solicitări","analytics":"Analytics","analyticsDescription":"Diagrame, tendințe și perspective de evaluare","cliTools":"Instrumente CLI","cliToolsDescription":"Configurați instrumentele CLI","home":"Acasă","homeDescription":"Bun venit la OmniRoute","endpoint":"Endpoints","endpointDescription":"Manage proxy endpoints, MCP, A2A, and API endpoints","settings":"Setări","settingsDescription":"Gestionați-vă preferințele","openaiCompatible":"Compatibil cu OpenAI","anthropicCompatible":"Compatibil antropic","media":"Media","mediaDescription":"Generate images, videos, and music","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"Pornire rapidă","quickStartDesc":"Pune-te în funcțiune în 4 pași. Conectați furnizorii, modelele de traseu, monitorizați totul.","fullDocs":"Documente complete","step1Title":"1. Creați cheia API","step1Desc":"Accesați <endpoint>Endpoint</endpoint> -> Chei înregistrate. Generați o cheie pentru fiecare mediu.","step2Title":"2. Conectați furnizorii","step2Desc":"Adăugați conturi în <providers>Providers</providers>. Acceptă OAuth, cheie API și niveluri gratuite.","step3Title":"3. Indicați-vă clientul","step3Desc":"Setați adresa URL de bază la {url} în clientul dvs. IDE sau API.","step4Title":"4. Monitorizați și optimizați","step4Desc":"Urmăriți jetoanele, costurile și erorile în <logs>Request Logs</logs> și <analytics>Analytics</analytics>.","providersOverview":"Prezentare generală a furnizorilor","configuredOf":"{configured} configurat din {total} furnizori disponibili","noModelsAvailable":"Nu există modele disponibile pentru acest furnizor.","configureFirst":"Configurați mai întâi o conexiune în {providers}","configureProvider":"Configurați furnizorul","modelAvailable":"{count} model disponibil","modelsAvailable":"{count} modele disponibile","connectionsActive":"{count} conexiune activă","connectionsActivePlural":"{count} conexiuni active","copyModelName":"Copiați numele modelului","documentation":"Documentare","healthMonitor":"Monitor de sănătate","reportIssue":"Raportați problema","activeError":"{active} activ · {errors} eroare","oauthLabel":"OAuth","apiKeyLabel":"Cheia API","requestsShort":"{count} solicită","providerModelsTitle":"{provider} - Modele","copiedModel":"Copiat: {model}","aliasLabel":"alias","updateNow":"Actualizați acum","updating":"Se actualizează...","updateAvailableDesc":"Este disponibilă o nouă versiune. Faceți clic pentru a actualiza.","updateStarted":"Actualizarea a început..."},"analytics":{"title":"Analytics","overviewDescription":"Monitorizați-vă modelele de utilizare a API-ului, consumul de simboluri, costurile și tendințele activității la toți furnizorii și modelele.","evalsDescription":"Rulați suite de evaluare pentru a testa și valida punctele finale LLM. Comparați calitatea modelului, detectați regresiile și evaluați latența.","overview":"Prezentare generală","evals":"Evaluări"},"apiManager":{"title":"Chei API","createKey":"Creați cheia API","key":"cheie","revokeKey":"Revocați cheia","revokeConfirm":"Sigur doriți să revocați această cheie API?","noKeys":"Încă nu există chei API","noKeysDesc":"Creați prima cheie API pentru a autentifica solicitările către punctul final","keyLabel":"Eticheta cheii","permissions":"Permisiuni","expiresAt":"Expiră","never":"Niciodată","revoke":"Revocați","showKey":"Afișați cheia","hideKey":"Ascunde cheia","copyKey":"Copiați cheia API","allModels":"Toate modelele","selectedModels":"Modele Selectate","readOnly":"Numai citire","fullAccess":"Acces complet","keyManagement":"Managementul cheilor API","keyManagementDesc":"Creați și gestionați cheile API pentru autentificarea solicitărilor către punctul dvs. final","totalKeys":"Total chei","restricted":"Restricţionat","totalRequests":"Total cereri","modelsAvailable":"Modele disponibile","registeredKeys":"Chei înregistrate","keysRegistered":"{count} chei înregistrate","keyRegistered":"{count} cheie înregistrată","keysSecurityNote":"Fiecare cheie izolează urmărirea utilizării și poate fi revocată independent. Cheile sunt mascate după creare pentru securitate.","createFirstKey":"Creați-vă prima cheie","name":"Nume","usage":"Utilizare","created":"Creat","actions":"Acțiuni","reqs":"solicită","neverUsed":"Nu a fost folosit niciodată","deleteConfirm":"Ștergeți această cheie API?","usageTips":"Sfaturi de utilizare","tipAuth":"Folosiți cheile API în antetul de autorizare ca purtător YOUR_KEY","tipSecure":"Cheile sunt afișate o singură dată în timpul creării - stocați-le în siguranță","tipSeparate":"Creați chei separate pentru diferiți clienți sau medii","tipRestrict":"Limitați cheile la anumite modele pentru o mai bună securitate și control al costurilor","keyName":"Nume cheie","keyNamePlaceholder":"de exemplu, cheie de producție, cheie de dezvoltare","keyNameDesc":"Alegeți un nume descriptiv pentru a identifica scopul acestei chei","keyCreated":"Cheia API creată","keyCreatedSuccess":"Cheie creată cu succes!","keyCreatedNote":"Copiați și stocați această cheie acum - nu va fi afișată din nou.","done":"Gata","savePermissions":"Salvare permisiuni","allowAll":"Permite Toate","restrict":"Restricționați","allowAllInfo":"Această cheie poate accesa toate modelele disponibile.","restrictInfo":"Această cheie poate accesa {selected} din {total} modele.","selected":"{count} selectat","all":"Toate","clear":"Clar","searchModels":"Căutați modele după nume sau furnizor...","noModelsFound":"Nu s-au găsit modele","keyNameRequired":"Numele cheii este obligatoriu","keyNameTooLong":"Numele cheii trebuie să aibă maximum {max} caractere","keyNameInvalid":"Numele cheii poate conține numai litere, cifre, spații, cratime și liniuțe de subliniere","invalidKeyName":"Nume cheie nevalid","failedCreateKey":"Nu s-a putut crea cheia","failedCreateKeyRetry":"Nu s-a putut crea cheia. Vă rugăm să încercați din nou.","invalidKeyId":"ID cheie nevalid","failedDeleteKey":"Cheia nu s-a șters","failedDeleteKeyRetry":"Cheia nu s-a șters. Vă rugăm să încercați din nou.","invalidModelsSelection":"Selecție nevalidă de modele","cannotSelectMoreThanModels":"Nu se pot selecta mai mult de {max} modele","failedUpdatePermissions":"Nu s-au actualizat permisiunile","failedUpdatePermissionsRetry":"Nu s-au actualizat permisiunile. Vă rugăm să încercați din nou.","unknownProvider":"necunoscut","copyMaskedKey":"Copiați cheia mascată","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Ultima: {date}","editPermissions":"Editați permisiunile","deleteKey":"Șterge cheia","model":"{count} model","models":"{count} modele","permissionsTitle":"Permisiuni: {name}","allowAllDesc":"Această cheie poate accesa toate modelele disponibile.","restrictDesc":"Această cheie poate accesa {selectedCount} din {totalModels} modele.","selectedCount":"{count} selectat","autoResolve":"Auto-Resolve","autoResolveDesc":"Auto-resolve ambiguous model names to native provider for this API key.","keyActive":"Key Active","keyActiveDesc":"Enable or disable this API key. Disabled keys are immediately rejected with 403.","accessSchedule":"Access Schedule","accessScheduleDesc":"Restrict access to specific hours and days of the week.","scheduleFrom":"From","scheduleUntil":"Until","scheduleDays":"Days","scheduleTimezone":"Timezone","scheduleTimezoneHint":"Use IANA timezone names, e.g. America/New_York, Europe/Berlin","scheduleActive":"Schedule","disabled":"Disabled","daySun":"Sun","dayMon":"Mon","dayTue":"Tue","dayWed":"Wed","dayThu":"Thu","dayFri":"Fri","daySat":"Sat","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"Jurnal de audit","searchPlaceholder":"Acțiuni de căutare...","action":"Acțiune","actor":"actor","target":"țintă","ipAddress":"Adresa IP","timestamp":"Marca temporală","noEntries":"Nu au fost găsite intrări de audit","filterByAction":"Filtrați după acțiune...","filterByActor":"Filtrați după actor...","filterEntriesAria":"Filtrați intrările din jurnalul de audit","filterByActionTypeAria":"Filtrați după tipul de acțiune","filterByActorAria":"Filtrați după actor","refreshAuditLogAria":"Actualizează jurnalul de audit","tableAria":"Intrări din jurnalul de audit","failedFetchAuditLog":"Nu s-a putut prelua jurnalul de audit","notAvailable":"—","description":"Acțiuni administrative și evenimente de securitate","showing":"Se afișează {count} intrări (offset {offset})","previous":"Anterior"},"media":{"title":"Studio media","subtitle":"Generează imagini, videoclipuri și muzică","model":"Model","prompt":"Prompt","generate":"Generează","generating":"Generating...","loadingModels":"Loading available models...","noModels":"No models available. Configure providers with media capabilities first.","error":"Generation Failed","result":"Result","imageDescription":"Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.","videoDescription":"Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.","musicDescription":"Compose music using Stable Audio Open or MusicGen via ComfyUI."},"cliTools":{"title":"Instrumente CLI","noActiveProviders":"Nu există furnizori activi","noActiveProvidersDesc":"Vă rugăm să adăugați și conectați mai întâi furnizorii pentru a configura instrumentele CLI.","mapModels":"Modele de hartă","testConnection":"Testează conexiunea","connectionStatus":"Starea conexiunii","configureEndpoint":"Configurați punctul final","instructions":"Instrucțiuni","modelMapping":"Maparea modelului","baseUrl":"Adresa URL de bază","apiKey":"Cheia API","configured":"Configurat","notConfigured":"Neconfigurat","notInstalled":"Neinstalat","custom":"Personalizat","unknown":"Necunoscut","lastSavedAt":"Ultima salvare: {date}","never":"Niciodată","justNow":"tocmai acum","minutesAgoShort":"{count}m în urmă","hoursAgoShort":"acum {count}h","daysAgoShort":"acum {count}d","monthsAgoShort":"{count}lună în urmă","yearsAgoShort":"{count}y în urmă","runtimeCheckFailed":"Verificarea timpului de execuție a eșuat","yourApiKeyPlaceholder":"cheia-api","modelPlaceholder":"provider/model-id","configurationSaved":"Configurația a fost salvată cu succes.","failedToSave":"Nu s-a putut salva configurația.","noApiKeysCreateOne":"Fără chei API - Creați una în pagina Chei","defaultOmnirouteKey":"sk_omniroute (implicit)","selectModel":"Selectați Model","selectModelForAlias":"Selectați modelul pentru {alias}","selectModelForTool":"Selectați modelul pentru {tool}","select":"Selectați","clear":"Clar","comingSoon":"În curând","checkingRuntime":"Se verifică starea de rulare...","guideOnlyIntegration":"Integrare numai cu ghid (nu este necesar un timp de rulare local)","cliRuntimeDetected":"Runtime CLI detectat și gata","cliFoundNotRunnable":"CLI găsit, dar nu poate fi executat{reason}","cliRuntimeNotDetected":"Runtime CLI nu a fost detectat","binary":"Binar","configPath":"Calea de configurare","configPathShort":"Config","failedCheckRuntimeStatus":"Nu s-a putut verifica starea de rulare.","copy":"Copiere","copied":"Copiat","copyConfig":"Copiați config","saveConfig":"Salvați configurația","selectionSaved":"Selecția a fost salvată","guide":"Ghid","detected":"Detectat","notReady":"Nu este gata","active":"Activ","inactive":"Inactiv","startMitm":"Porniți MITM","stopMitm":"Opriți MITM","mitmStarted":"MITM a început cu succes!","mitmStopped":"MITM sa oprit cu succes!","failedStart":"Nu s-a pornit MITM","failedStop":"Nu s-a oprit MITM","saveMappings":"Salvați mapările","mappingsSaved":"Mapări salvate!","failedSaveMappings":"Nu s-au salvat mapările","howItWorks":"Cum funcționează:","antigravityHowWorksDesc":"Antigravitația trimite solicitări către punctul final al Google. MITM le interceptează și le redirecționează către OmniRoute.","antigravityStep1":"1. Porniți MITM pentru a direcționa cererile prin OmniRoute.","antigravityStep2Prefix":"2. Adăugați","antigravityStep2Suffix":"în fișierul hosts ca 127.0.0.1.","antigravityStep3":"3. Deschideți Antigravity și cererile vor fi trimise prin proxy.","sudoPasswordRequiredTitle":"Parola Sudo este necesară","sudoPasswordHint":"Parola de administrator este necesară pentru a modifica setările de fișiere gazdă și proxy de sistem.","enterSudoPassword":"Introdu parola sudo","sudoPasswordRequiredError":"Este necesară parola Sudo.","cancel":"Anulează","confirm":"Confirmați","settingsApplied":"Setările aplicate cu succes!","failedApplySettings":"Nu s-au putut aplica setările","settingsReset":"Setările sunt resetate cu succes!","failedResetSettings":"Nu s-au resetat setările","backupRestored":"Backup restaurat!","failedRestore":"Restabilirea eșuată","checkingCli":"Se verifică {tool} CLI...","cliNotRunnable":"{tool} CLI instalat, dar nu poate fi executat","cliNotInstalled":"{tool} CLI nu este instalat","cliNotDetected":"{tool} CLI nu a fost detectat","cliDetectedReady":"{tool} CLI a fost detectat și gata","cliFoundFailedHealthcheck":"{tool} CLI a fost găsit, dar a eșuat verificarea stării de funcționare{reason}.","installCliPrompt":"Instalați {tool} CLI pentru a utiliza această funcție.","installCodexPrompt":"Instalați Codex CLI pentru a utiliza funcția de aplicare automată.","hide":"Ascunde","howToInstall":"Cum se instalează","installationGuide":"Ghid de instalare","platforms":"macOS / Linux / Windows:","afterInstallationRun":"După instalare, rulați","toVerify":"a verifica.","current":"Curent","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Resetați la valoarea implicită","providerModelPlaceholder":"provider/model-id","apply":"Aplicați","reset":"Resetați","manualConfig":"Configurare manuală","backups":"Backup-uri","configBackups":"Backup-uri de configurare","noBackupsYet":"Încă nu există copii de rezervă. Backup-urile sunt create automat înainte de fiecare Aplicare sau Resetare.","restore":"Restaurați","backupRestoredReloading":"Backup restaurat! Starea reîncărcării...","failedRestoreBackup":"Nu s-a restabilit backupul","applied":"Aplicat!","failed":"A eșuat","resetDone":"Resetați!","omnirouteConfiguredOpenAiCompatible":"OmniRoute este configurat ca furnizor compatibil cu OpenAI","provider":"Furnizor","model":"Model","providers":"Furnizorii","auth":"Auth","noApiKeysAvailable":"Nu există chei API disponibile","usingDefaultOmniroute":"Folosind implicit: sk_omniroute","updateConfig":"Actualizați configurația","applyConfig":"Aplicați Config","noBackupsAvailable":"Nu există copii de rezervă disponibile.","profileSaved":"Profilul „{name}” a fost salvat!","failedSaveProfile":"Nu s-a salvat profilul","profileActivated":"Profil activat!","failedActivateProfile":"Nu s-a activat profilul","profiles":"Profiluri","savedProfiles":"Profiluri salvate","noProfilesYet":"Niciun profil nu a fost salvat încă. Salvați configurația curentă ca profil de mai jos.","activate":"Activați","deleteProfile":"Ștergeți profilul","profileNamePlaceholder":"Numele profilului (de ex., Cont personal)","saveCurrent":"Salvați curent","codexAuthNotePrefix":"Codex folosește","codexAuthNoteMiddle":"cu","codexAuthNoteSuffix":"Faceți clic pe „Aplicați” pentru a configura automat.","claudeManualConfiguration":"Claude CLI - Configurare manuală","codexManualConfiguration":"Codex CLI - Configurare manuală","droidManualConfiguration":"Factory Droid - Configurare manuală","openClawManualConfiguration":"Open Claw - Configurare manuală","clineManualConfiguration":"Configurare manuală a liniei","kiloManualConfiguration":"Configurare manuală a codului Kilo","toolDescriptions":{"antigravity":"Google Antigravity IDE cu MITM","claude":"Codul antropic Claude CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"Deschideți Asistentul Claw AI","cline":"CLI Cline AI Coding Assistant","kilo":"Kilo Code AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Continuați Asistentul AI","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE","windsurf":"Windsurf AI Code Editor","copilot":"GitHub Copilot AI Assistant"},"guides":{"cursor":{"notes":{"0":"Este necesar un cont Cursor Pro pentru a utiliza această funcție.","1":"Cursorul direcționează cererile prin propriul server, astfel încât punctul final local nu este acceptat. Vă rugăm să activați Cloud Endpoint în Setări."},"steps":{"1":{"title":"Deschide Setări","desc":"Accesați Setări -> Modele"},"2":{"title":"Activați API-ul OpenAI","desc":"Activați opțiunea „Cheie API OpenAI”."},"3":{"title":"Adresa URL de bază"},"4":{"title":"Cheia API"},"5":{"title":"Adăugați model personalizat","desc":"Faceți clic pe „Vedeți toate modelele” -> „Adăugați modelul personalizat”"},"6":{"title":"Selectați Model"}}},"continue":{"steps":{"1":{"title":"Deschideți Config","desc":"Deschideți Continuați fișierul de configurare"},"2":{"title":"Cheia API"},"3":{"title":"Selectați Model"},"4":{"title":"Adăugați configurația modelului","desc":"Adăugați următoarea configurație la matricea dvs. de modele:"}},"notes":{"0":"Continuați folosește fișierul de configurare JSON."}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}},"notes":{"0":"OpenCode necesită configurarea cheii API.","1":"Setați adresa URL de bază la punctul final OmniRoute."}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}},"notes":{"0":"Kiro necesită un cont Amazon."}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"Când să utilizați","openToolDocs":"Deschideți documentele instrumentului","toolUseCases":{"claude":"Utilizați atunci când doriți fluxuri de lucru puternice de planificare și refactorări lungi cu mai multe fișiere cu Claude Code.","codex":"Utilizați atunci când echipa dvs. este standardizată pe fluxurile OpenAI Codex CLI și pe autentificarea bazată pe profil.","droid":"Utilizați atunci când aveți nevoie de un agent terminal ușor, concentrat pe codificarea rapidă și buclele de execuție a comenzilor.","openclaw":"Utilizați atunci când doriți un agent de codare în stil Open Claw, dar direcționat prin politicile OmniRoute.","cline":"Utilizați atunci când configurați agenți de codare în cadrul editorilor și doriți o configurare ghidată cu modelele OmniRoute.","kilo":"Utilizați atunci când fluxul dvs. de lucru depinde de comenzile Kilo Code și de editările iterative rapide.","cursor":"Utilizați când codați în Cursor și aveți nevoie de modele personalizate compatibile cu OpenAI prin OmniRoute.","continue":"Utilizați atunci când rulați Continue în IDE-uri și aveți nevoie de o configurație portabilă a furnizorului bazată pe JSON.","opencode":"Utilizați atunci când preferați rulările de agent nativ terminal și automatizarea prin script prin OpenCode.","kiro":"Utilizați atunci când integrați Kiro și controlați rutarea modelului central din OmniRoute.","antigravity":"Utilizați atunci când traficul Antigravity/Kiro trebuie interceptat prin MITM și direcționat către OmniRoute.","copilot":"Utilizați atunci când doriți UX în stilul de chat Copilot, în timp ce aplicați cheile și regulile de rutare OmniRoute."}},"combos":{"title":"Combo-uri","description":"Creați combinații de modele cu rutare ponderată și suport alternativ","createCombo":"Creați Combo","editCombo":"Editează Combo","deleteCombo":"Ștergeți Combo","noModels":"Fara modele","noModelsYet":"Nu au fost adăugate modele încă","addModel":"Adăugați modelul","addModelToCombo":"Adăugați modelul la Combo","routingStrategy":"Strategia de rutare","maxRetries":"Reîncercări maxime","timeout":"Timeout (ms)","healthcheck":"Controlul de sănătate","priority":"Prioritate","fallback":"Revenire","roundRobin":"Round Robin","random":"Aleatoriu","leastLatency":"Latență minimă","comboName":"Nume combinat","comboNamePlaceholder":"combo-ul meu","deleteConfirm":"Ștergeți această combinație?","noCombosYet":"Nicio combinație încă","comboCreated":"Combo creat cu succes","comboUpdated":"Combo actualizat cu succes","comboDeleted":"Combo a fost șters","failedCreate":"Nu s-a putut crea combo","failedUpdate":"Nu s-a putut actualiza combo","errorCreating":"Eroare la crearea comboiului","errorUpdating":"Eroare la actualizarea comboiului","errorDeleting":"Eroare la ștergerea combinației","testFailed":"Solicitarea de testare a eșuat","failedToggle":"Combo nu a putut fi comutat","testResults":"Rezultatele testului — {name}","resolvedBy":"Rezolvată de:","more":"+{count} mai mult","reqs":"solicită","success":"succes","proxyConfigured":"Proxy configurat","copyComboName":"Copiați numele combinației","enableCombo":"Activați combo","disableCombo":"Dezactivează combo","testCombo":"Test combo","duplicate":"Duplicat","proxyConfig":"Configurare proxy","nameRequired":"Numele este obligatoriu","nameInvalid":"Doar litere, cifre, -, _, / și . permis","nameHint":"Litere, cifre, -, _, / și . permis","priorityDesc":"Secvenţială alternativă: încearcă mai întâi modelul 1, apoi 2 etc.","weightedDesc":"Distribuie traficul în procente de greutate cu rezervă","roundRobinDesc":"Distribuție circulară: fiecare cerere trece la următorul model în rotație","randomDesc":"Selectare aleatorie uniformă, apoi revenire la modelele rămase","leastUsedDesc":"Alege modelul cu cele mai puține solicitări, echilibrând sarcina în timp","costOptimizedDesc":"Rute către cel mai ieftin model mai întâi pe baza prețului","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each model once before reshuffling","models":"Modele","autoBalance":"Auto-echilibrare","advancedSettings":"Setări avansate","retryDelay":"Întârziere reîncercare (ms)","concurrencyPerModel":"Concurență / Model","queueTimeout":"Timp de așteptare la coadă (ms)","advancedHint":"Lăsați gol pentru a utiliza setările implicite globale. Acestea înlocuiesc setările pentru fiecare furnizor.","moveUp":"Mișcă-te în sus","moveDown":"Deplasați-vă în jos","removeModel":"Eliminați","saving":"Se salvează...","weighted":"ponderat","leastUsed":"Cel mai puțin folosit","costOpt":"Cost-Opt","strategyGuideTitle":"How to use this strategy","strategyGuideWhen":"When to use","strategyGuideAvoid":"Avoid when","strategyGuideExample":"Example","strategyGuide":{"priority":{"when":"You have one preferred model and only want fallback on failure.","avoid":"You need request distribution across models.","example":"Primary coding model with cheaper backup for outages."},"weighted":{"when":"You need controlled traffic split across models.","avoid":"You cannot maintain accurate weights over time.","example":"80% stable model + 20% canary model rollout."},"round-robin":{"when":"You want predictable and even distribution.","avoid":"Models differ too much in latency or cost.","example":"Same model on multiple accounts to spread throughput."},"random":{"when":"You want simple distribution with minimal setup.","avoid":"You need strict traffic guarantees.","example":"Quick prototyping with equivalent models."},"least-used":{"when":"You want adaptive balancing based on live demand.","avoid":"Traffic is too low to benefit from usage balancing.","example":"Mixed workloads where one model often gets overloaded."},"cost-optimized":{"when":"Cost reduction is your top priority.","avoid":"Pricing data is missing or outdated.","example":"Background or batch jobs where lower cost is preferred."}},"advancedHelp":{"maxRetries":"How many retries are attempted before failing a request.","retryDelay":"Initial wait between retries. Higher values reduce burst pressure.","timeout":"Maximum request duration before aborting.","healthcheck":"Skips unhealthy models/providers from routing decisions.","concurrencyPerModel":"Max simultaneous requests allowed per model in round-robin.","queueTimeout":"How long a request can wait in queue before timing out."},"templatesTitle":"Quick templates","templatesDescription":"Apply a starting profile, then adjust models and config.","templateApply":"Apply template","templateHighAvailability":"High availability","templateHighAvailabilityDesc":"Priority routing with health checks and safe retries.","templateCostSaver":"Cost saver","templateCostSaverDesc":"Cost-optimized routing for budget-first workloads.","templateBalanced":"Balanced load","templateBalancedDesc":"Least-used routing to spread demand over time.","usageGuideHide":"Hide","usageGuideDontShowAgain":"Don\'t show again","usageGuideShow":"Show guide","quickTestTitle":"Combo ready to validate","quickTestDescription":"Run a test now to confirm fallback and latency behavior.","testNow":"Test now","pricingCoverage":"Pricing coverage","pricingCoverageHint":"Cost-optimized works best when all combo models have pricing.","pricingAvailable":"Pricing available","pricingMissing":"No pricing","pricingAvailableShort":"priced","pricingMissingShort":"no-price","warningRoundRobinSingleModel":"Round-robin is most useful with at least 2 models.","warningCostOptimizedPartialPricing":"Only {priced} of {total} models have pricing. Routing may be partially cost-aware.","warningCostOptimizedNoPricing":"No pricing data found for this combo. Cost-optimized may route unexpectedly.","readinessTitle":"Sunteți gata să economisiți?","readinessDescription":"Examinați lista de verificare înainte de a crea sau a actualiza această combinație.","readinessCheckName":"Numele combinației este valid","readinessCheckModels":"Este selectat cel puțin un model","readinessCheckWeights":"Totalul ponderat este 100%","readinessCheckWeightsOptional":"Regula de greutate nu este necesară","readinessCheckPricing":"Datele de preț sunt disponibile","readinessCheckPricingOptional":"Regula de preț nu este necesară","saveBlockedTitle":"Salvarea este blocată până când următoarele elemente sunt remediate:","saveBlockName":"Definiți un nume combinat.","saveBlockModels":"Adăugați cel puțin un model.","saveBlockWeighted":"Setați ponderi la 100% (actual: {total}%).","saveBlockPricing":"Adăugați prețuri pentru cel puțin un model sau alegeți o altă strategie.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}},"templateFreeStack":"Free Stack ($0)","templateFreeStackDesc":"Round-robin across all free providers: Kiro (Claude), iFlow (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding."},"costs":{"title":"Costuri","budget":"Buget","totalCost":"Costul total","breakdown":"Defalcarea costurilor","noData":"Fără date de cost","byModel":"După model","byProvider":"Prin Furnizor"},"endpoint":{"title":"API Endpoint","available":"Puncte finale disponibile","cloudProxy":"Cloud Proxy","disableConfirm":"Sigur doriți să dezactivați proxy-ul cloud?","baseUrl":"Adresa URL de bază","apiKeyLabel":"Cheia API","registeredKeys":"Chei înregistrate","chatCompletions":"Finalizări de chat","responses":"Răspunsuri","listModels":"Lista modele","usingCloudProxy":"Folosind Cloud Proxy","usingLocalServer":"Utilizarea serverului local","machineId":"ID mașină: {id}...","disableCloud":"Dezactivați Cloud","enableCloud":"Activați Cloud","modelsAcrossEndpoints":"{models} modele în {endpoints} puncte finale","chatDesc":"Chat în flux și non-stream cu toți furnizorii","embeddings":"Înglobări","embeddingsDesc":"Încorporare de text pentru conductele de căutare și RAG","imageGeneration":"Generare de imagini","imageDesc":"Generați imagini din solicitări de text","rerank":"Reclasează","rerankDesc":"Reglați documentele în funcție de relevanța pentru o interogare","audioTranscription":"Transcriere audio","audioTranscriptionDesc":"Transcrie fișiere audio în text (Șoaptă)","textToSpeech":"Text to Speech","textToSpeechDesc":"Transformați textul în vorbire cu sunet natural","moderations":"Moderații","moderationsDesc":"Moderarea conținutului și clasificarea siguranței","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApiDesc":"Read and modify OmniRoute configuration via API","settingsApi":"Settings API","categoryCore":"API-uri de Bază","categoryMedia":"Media și Multi-Modal","categoryUtility":"Utilități și Gestionare","enableCloudTitle":"Activați Cloud Proxy","whatYouGet":"Ce vei primi","cloudBenefitAccess":"Accesați-vă API-ul de oriunde în lume","cloudBenefitShare":"Partajați cu ușurință punctul final cu echipa dvs","cloudBenefitPorts":"Nu este nevoie să deschideți porturi sau să configurați firewall","cloudBenefitEdge":"Rețea de vârf globală rapidă","cloudSessionNote":"Cloud vă va păstra sesiunea de autentificare timp de 1 zi. Dacă nu este utilizat, acesta va fi șters automat.","cloudUnstableNote":"Cloud este în prezent instabil cu Claude Code OAuth în unele cazuri.","cloudConnected":"Cloud Proxy conectat!","connectingToCloud":"Se conectează la cloud...","verifyingConnection":"Se verifică conexiunea...","connecting":"Se conectează...","verifying":"Se verifică...","connected":"Conectat!","disableCloudTitle":"Dezactivați Cloud Proxy","disableWarning":"Toate sesiunile de autentificare vor fi șterse din cloud.","syncingData":"Se sincronizează cele mai recente date...","disablingCloud":"Se dezactivează cloud...","syncing":"Se sincronizează...","disabling":"Se dezactivează...","cloudConnectedVerified":"Cloud Proxy conectat și verificat!","connectedVerificationPending":"Conectat — verificare în așteptare","connectedVerificationPendingWithError":"Conectat — verificare în așteptare: {error}","cloudDisabledSuccess":"Cloud a fost dezactivat cu succes","syncedSuccess":"Sincronizat cu succes","failedDisable":"Nu s-a putut dezactiva cloud","failedEnable":"Nu s-a activat cloud","cloudRequestTimeout":"Timeout cerere cloud","cloudRequestFailed":"Solicitarea cloud a eșuat","cloudWorkerUnreachable":"Nu s-a putut contacta lucrătorul cloud. Asigurați-vă că serviciul cloud rulează (npm run dev în /cloud).","connectionFailed":"Conexiunea a eșuat","syncFailed":"Nu s-au putut sincroniza datele din cloud","providerModelsTitle":"{provider} — Modele","noModelsForProvider":"Nu există modele disponibile pentru acest furnizor.","chat":"Chat","embedding":"Încorporarea","image":"Imagine","custom":"personalizat","modelsCount":"{count, plural, one {# model} other {# models}}","sectionTitle":"Integration Surface","sectionDescription":"OpenAI-compatible APIs and operational protocol endpoints","tabApis":"OpenAI-compatible APIs","tabProtocols":"Protocols","tabsAria":"Endpoint sections","protocolsTitle":"Protocols","protocolsDescription":"MCP and A2A are first-class endpoints with dedicated observability and controls.","mcpCardTitle":"MCP Server","mcpCardDescription":"Model Context Protocol over stdio","a2aCardTitle":"A2A Server","a2aCardDescription":"Agent2Agent JSON-RPC endpoint","protocolToolsLabel":"Tools","protocolTasksLabel":"Tasks","protocolActiveStreamsLabel":"Active streams","protocolLastActivity":"Last activity","quickStart":"Quick Start","openMcpDashboard":"Open MCP management","openA2aDashboard":"Open A2A management","mcpQuickStartTitle":"MCP Quick Start","mcpQuickStartStep1":"Run the MCP server via `omniroute --mcp`.","mcpQuickStartStep2":"Configure your MCP client to connect over stdio transport.","mcpQuickStartStep3":"Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.","a2aQuickStartTitle":"A2A Quick Start","a2aQuickStartStep1":"Discover the agent card at `/.well-known/agent.json`.","a2aQuickStartStep2":"Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.","a2aQuickStartStep3":"Track and control tasks using `tasks/get` and `tasks/cancel`.","completionsLegacy":"Completions (Legacy)","completionsLegacyDesc":"Legacy OpenAI text completions — accepts both prompt string and messages array format","categorySearch":"Search & Discovery","webSearch":"Web Search","webSearchDesc":"Unified web search across multiple providers with automatic failover and caching","searchProvider":"Search Provider","searchProviderDesc":"This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected.","cloudflaredUrlNotice":"Creates a temporary Cloudflare Quick Tunnel. The URL changes after every restart."},"mcpDashboard":{"loading":"Loading MCP dashboard...","activate":"activate","deactivate":"deactivate","confirmSwitchCombo":"Confirmați {action} combo „{combo}”?","switchComboFailed":"Nu s-a putut comuta starea combo.","switchComboSuccess":"Combo „{combo}” a fost actualizat.","confirmApplyProfile":"Aplicați profilul de rezistență „{profile}”?","applyProfileFailed":"Nu s-a putut aplica profilul de rezistență.","applyProfileSuccess":"S-a aplicat profilul „{profile}”.","confirmResetBreakers":"Resetați toate întreruptoarele?","resetBreakersFailed":"Nu s-au resetat întreruptoarele.","resetBreakersSuccess":"Întrerupătoarele se resetează.","processStatus":"Starea procesului","online":"Online","offline":"Offline","pid":"PID","sessionUptime":"Session uptime","lastHeartbeat":"Last heartbeat","activity24h":"Activity (24h)","totalCalls":"Total calls","successRate":"Success rate","avgLatency":"Avg latency","topTools":"Top tools","noToolCalls24h":"No tool calls in the last 24 hours.","runtimeDetails":"Runtime details","transport":"Transport","scopesEnforced":"Scopes enforced","yes":"yes","no":"no","lastCall":"Last call","heartbeatPath":"Heartbeat path","operationalControls":"Operational controls","switchCombo":"Switch combo","inactive":"inactive","active":"active","activateCombo":"Activate combo","deactivateCombo":"Deactivate combo","applyResilienceProfile":"Apply resilience profile","profileAggressive":"aggressive","profileBalanced":"balanced","profileConservative":"conservative","applyProfile":"Apply profile","resetCircuitBreakers":"Reset circuit breakers","resetCircuitBreakersHelp":"Clears current breaker state and failure counters for providers.","resetAllBreakers":"Reset all breakers","toolsAndScopes":"Tools and scopes","tableTool":"Tool","tableScopes":"Scopes","tablePhase":"Phase","tableAudit":"Audit","auditLog":"Audit log","auditSummary":"Calls: {total} | page {page} of {totalPages}","allTools":"All tools","allResults":"All results","success":"Success","failure":"Failure","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Loading audit entries...","noAuditEntriesForFilters":"No audit entries found for current filters.","tableTimestamp":"Timestamp","tableDuration":"Duration","tableResult":"Result","tableApiKey":"API key","failed":"failed","previous":"Previous","next":"Next"},"a2aDashboard":{"loading":"Loading A2A dashboard...","confirmCancelTask":"Cancel task {taskId}?","cancelTaskFailed":"Failed to cancel task.","cancelTaskSuccess":"Task {taskId} cancelled.","smokeSendFailed":"message/send smoke test failed.","smokeSendSuccessWithTask":"message/send ok (task {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"message/stream smoke test failed.","smokeStreamSuccessWithTask":"message/stream ok (task {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finished without task id.","health":"Health","ok":"ok","totalTasks":"Total tasks","activeStreams":"Active streams","lastTask":"Last task","taskStateOverview":"Task state overview","state":{"submitted":"submitted","working":"working","completed":"completed","failed":"failed","cancelled":"cancelled"},"agentCard":"Agent card","version":"Version","url":"URL","capabilities":"Capabilities","agentCardNotAvailable":"Agent card not available.","quickValidation":"Quick validation","quickValidationDescription":"Executes smoke calls through the live `/a2a` endpoint.","runMessageSend":"Run message/send","runMessageStream":"Run message/stream","taskManagement":"Task management","taskSummary":"{total} tasks | page {page} of {totalPages}","allStates":"all","allSkills":"all skills","loadingTasks":"Loading tasks...","noTasksForFilters":"No tasks found for current filters.","tableTask":"Task","tableSkill":"Skill","tableState":"State","tableUpdated":"Updated","tableActions":"Actions","view":"View","cancel":"Cancel","previous":"Previous","next":"Next","taskDetail":"Task detail","close":"Close","metadata":"Metadata","events":"Events","artifacts":"Artifacts"},"health":{"title":"Sănătatea sistemului","description":"Monitorizarea în timp real a instanței dvs. OmniRoute","healthy":"Sănătos","degraded":"Degradat","down":"Jos","uptime":"Timp de funcționare","memory":"Memorie","memoryRss":"Memorie (RSS)","heap":"grămada","cpu":"CPU","database":"Baza de date","version":"Versiune","lastCheck":"Ultima verificare","providerHealth":"Sanatatea furnizorului","systemMetrics":"Metrici de sistem","tokenHealth":"Token Health","refreshAll":"Reîmprospătați toate","checkNow":"Verificați acum","loadingHealth":"Se încarcă datele de sănătate...","failedToLoad":"Nu s-au încărcat datele de sănătate: {error}","retry":"Reîncercați","allOperational":"Toate sistemele sunt operaționale","issuesDetected":"Au fost detectate probleme de sistem","updatedAt":"Actualizat {time}","latency":"Latența","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Total cereri","noDataYet":"Nu există date încă","promptCache":"Prompt Cache","entries":"Intrări","hitRate":"Rata de lovituri","hitsMisses":"Hits / Misses","signatureCache":"Cache pentru semnături","signatureDefaults":"Valori implicite","signatureTool":"Instrument","signatureFamily":"Familie","signatureSession":"Sesiune","recovering":"Recuperarea","noCBData":"Nu sunt disponibile date despre întrerupător. Mai întâi faceți niște cereri.","providerHealthStatusAria":"Starea de sănătate a furnizorului","issuesLabel":"Probleme detectate","operational":"Operațional","providers":"Furnizorii","healthyCount":"{count} sănătos","nodeVersion":"Nodul {version}","failures":"{count} eșec","failuresPlural":"{count} eșecuri","lastFailure":"Ultimul","rateLimitStatus":"Starea limitei ratei","activeLimiters":"{count} limitator activ","activeLimitersPlural":"{count} limitatoare active","queued":"În coadă","queuedCount":"{count} pus în coadă","running":"alergând","runningCount":"{count} rulează","ok":"OK","activeLockouts":"Blocări active","resetConfirm":"Resetați toate întreruptoarele la starea sănătoasă? Acest lucru va șterge toate numărul de eșecuri și va restabili toți furnizorii la starea operațională.","resetAllTitle":"Resetați toate întreruptoarele la starea sănătoasă","resetting":"Se resetează...","resetAll":"Resetați toate","until":"Până la {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"Configurat în tabloul de bord","configuredProvidersHint":"Furnizorii cu acreditări salvate în /dashboard/providers, indiferent de starea de rulare.","activeProvidersHint":"Furnizorii configurați activați în prezent pentru solicitările de rutare.","monitoredProvidersHint":"Furnizorii sunt urmăriți în prezent de monitoarele de sănătate ale întreruptoarelor."},"limits":{"title":"Limite și cote","rateLimit":"Limită de rată","remaining":"Rămânând","requestsPerMinute":"Cereri/min","tokensPerMinute":"Jetoane/min","dailyLimit":"Limită zilnică"},"logs":{"title":"Bușteni","requestLogs":"Cereți jurnalele","proxyLogs":"Jurnalele proxy","auditLog":"Jurnal de audit","console":"Consolă","auditLogDesc":"Acțiuni administrative și evenimente de securitate","loading":"Se încarcă...","refresh":"Reîmprospătați","filterByAction":"Filtrați după acțiune...","filterByActor":"Filtrați după actor...","filterEntriesAria":"Filtrați intrările din jurnalul de audit","filterByActionTypeAria":"Filtrați după tipul de acțiune","filterByActorAria":"Filtrați după actor","refreshAuditLogAria":"Actualizează jurnalul de audit","tableAria":"Intrări din jurnalul de audit","failedFetchAuditLog":"Nu s-a putut prelua jurnalul de audit","showing":"Se afișează {count} intrări (offset {offset})","search":"Caută","timestamp":"Marca temporală","action":"Acțiune","actor":"actor","target":"țintă","details":"Detalii","ipAddress":"Adresa IP","notAvailable":"—","noEntries":"Nu au fost găsite intrări în jurnalul de audit","previous":"Anterior","next":"În continuare"},"onboarding":{"welcome":"Bun venit","security":"Securitate","test":"Testează","ready":"Gata!","setPassword":"Setați parola","addProvider":"Adăugați primul dvs. furnizor","getStarted":"Începeți","skip":"Sari peste","skipWizard":"Skip wizard complet","skipPassword":"Omiteți configurarea parolei","skipAndContinue":"Sariți și continuați","passwordLabel":"Parolă","confirmPassword":"Confirmați parola","enterPassword":"Introduceți parola","confirmPasswordPlaceholder":"Confirmați parola","passwordsMismatch":"Parolele nu se potrivesc","setupComplete":"Configurare finalizată!","goToDashboard":"Accesați Tabloul de bord →","welcomeDesc":"OmniRoute este proxy-ul local AI API. Acesta direcționează cererile către mai mulți furnizori de AI cu echilibrare a sarcinii, failover și urmărire a utilizării.","multiProvider":"Multi-furnizor","usageTracking":"Urmărirea utilizării","apiKeyMgmt":"Gestiunea cheii API","securityDesc":"Setați o parolă pentru a vă proteja tabloul de bord sau omiteți pentru moment.","providerDesc":"Conectați-vă primul furnizor de AI. Puteți adăuga mai multe mai târziu.","apiKeyRequired":"Cheie API (obligatorie)","customUrlOptional":"Adresă URL personalizată (opțional)","testDesc":"Să verificăm că conexiunea la furnizor funcționează.","runTest":"Rulați Testul de conexiune","testingConnection":"Se testează conexiunea...","connectionSuccessful":"Conexiune reușită! Furnizorul dvs. este pregătit.","noProviderFound":"Nu a fost găsit niciun furnizor. Puteți adăuga unul din tabloul de bord mai târziu.","testFailed":"Testul a eșuat, dar îl puteți configura mai târziu.","couldNotTest":"Nu am putut testa acum. Puteți testa din tabloul de bord.","doneDesc":"Sunteți gata! Instanța dvs. OmniRoute este configurată și pregătită pentru a trimite solicitări AI.","yourEndpoint":"Punctul final:","continue":"Continuă","retry":"Reîncercați","failedSetPassword":"Nu s-a putut seta parola. Încearcă din nou.","failedAddProvider":"Nu s-a putut adăuga furnizorul. Încearcă din nou.","connectionError":"Eroare de conectare. Vă rugăm să încercați din nou.","provider":"Furnizor"},"providers":{"title":"Furnizorii","addProvider":"Adăugați furnizorul","editProvider":"Editați furnizorul","deleteProvider":"Ștergeți furnizorul","noProviders":"Nu au fost configurați furnizori","modelAvailability":"Disponibilitatea modelului","accounts":"Conturi","newAccount":"Cont nou","deleteConfirm":"Sigur doriți să ștergeți acest furnizor?","testing":"Testare...","testConnection":"Testează conexiunea","testSuccess":"Conexiune reușită","testFailed":"Conexiunea a eșuat","available":"Disponibil","cooldown":"Cooldown","unavailable":"Indisponibil","unknown":"Necunoscut","oauthLabel":"OAuth","compatibleLabel":"Compatibil","chat":"Chat","responses":"Răspunsuri","messages":"Mesaje","oauthProviders":"Furnizori OAuth","freeProviders":"Furnizori gratuiti","apiKeyProviders":"Furnizori de chei API","compatibleProviders":"Furnizori compatibili cu cheile API","testAll":"Testează toate","testAllOAuth":"Testați toate conexiunile OAuth","testAllFree":"Testați toate conexiunile gratuite","testAllApiKey":"Testați toate conexiunile API Key","testAllCompatible":"Testați toate conexiunile compatibile","connected":"{count} Conectat","errorCount":"{count} Eroare ({code})","errorCountNoCode":"{count} Eroare","noConnections":"Fără conexiuni","disabled":"Dezactivat","enableProvider":"Activați furnizorul","disableProvider":"Dezactivați furnizorul","testResults":"Rezultatele testelor","noCompatibleYet":"Nu a fost adăugat încă niciun furnizor compatibil","compatibleHint":"Utilizați butoanele de mai sus pentru a adăuga puncte finale compatibile OpenAI sau Anthropic","addOpenAICompatible":"Adăugați compatibil OpenAI","addAnthropicCompatible":"Adăugați compatibil antropic","addNewProvider":"Adăugați un furnizor nou","backToProviders":"Înapoi la Furnizori","configureNewProvider":"Configurați un nou furnizor de inteligență artificială pe care să îl utilizați cu aplicațiile dvs.","providerLabel":"Furnizor","selectProvider":"Selectați un furnizor","selectedProvider":"Furnizorul selectat","authMethod":"Metoda de autentificare","apiKeyLabel":"Cheia API","apiKeyRequired":"Cheia API este necesară","selectProviderRequired":"Vă rugăm să selectați un furnizor","enterApiKey":"Introduceți cheia dvs. API","apiKeySecure":"Cheia dvs. API va fi criptată și stocată în siguranță.","oauth2Connect":"Conectați-vă cu OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Conectați-vă contul utilizând autentificarea OAuth2.","displayName":"Nume afișat","displayNamePlaceholder":"de exemplu, API de producție, mediu de dezvoltare","displayNameHint":"Opțional. Un nume prietenos pentru a identifica această configurație.","active":"Activ","activeDescription":"Activați acest furnizor pentru utilizare în aplicațiile dvs","cancel":"Anulează","createProvider":"Creați furnizor","failedCreate":"Nu s-a putut crea furnizorul","errorOccurred":"A apărut o eroare. Vă rugăm să încercați din nou.","modelStatus":"Stare model","allModelsOperational":"Toate modelele sunt operaționale","modelsWithIssues":"{count} model(e) cu probleme","allModelsNormal":"Toate modelele răspund normal.","cooldownCleared":"Timpul de răcire a fost eliminat pentru {model}","failedClearCooldown":"Nu s-a șters timpul de răcire","loadingAvailability":"Se încarcă disponibilitatea modelului...","clearCooldown":"Clar","clearing":"Se șterge...","until":"Până la {time}","providerTestFailed":"Testul furnizorului a eșuat","modeTest":"{mode} Test","passedCount":"{count} a trecut","failedCount":"{count} a eșuat","testedCount":"{count} testat","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"EROARE","noActiveConnectionsInGroup":"Nu s-au găsit conexiuni active pentru acest grup.","allTestsPassed":"Toate testele {total} au trecut","testSummary":"{passed}/{total} a trecut, {failed} a eșuat","nameLabel":"Nume","prefixLabel":"Prefix","baseUrlLabel":"Adresa URL de bază","apiTypeLabel":"Tip API","prefixHint":"Obligatoriu. Prefix unic pentru numele modelelor.","nameHint":"Obligatoriu. O etichetă prietenoasă pentru acest nod.","baseUrlHint":"Obligatoriu.  Adresa URL de bază a API-ului furnizorului.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Validați conexiunea","validating":"Se validează...","connectionValid":"Conexiunea este valabilă!","connectionFailed":"Conexiunea a eșuat. Verificați adresa URL și cheia.","testKeyLabel":"Testați cheia API","testKeyPlaceholder":"sk-... (doar pentru validare)","providerNotFound":"Furnizorul nu a fost găsit","deleteConnectionConfirm":"Ștergeți această conexiune?","failedSetAlias":"Nu s-a putut seta aliasul","failedSaveConnection":"Nu s-a putut salva conexiunea","failedSaveConnectionRetry":"Nu s-a putut salva conexiunea. Vă rugăm să încercați din nou.","failedRetestConnection":"Nu s-a retestat conexiunea","deleteCompatibleNodeConfirm":"Ștergeți acest nod {type} compatibil?","anthropicCompatibleDetails":"Detalii compatibile antropice","openaiCompatibleDetails":"Detalii compatibile cu OpenAI","messagesApi":"Messages API","responsesApi":"API de răspunsuri","chatCompletions":"Finalizări de chat","importingModels":"Se importă...","importFromModels":"Import din /modele","clearAllModels":"Ștergeți toate modelele","clearAllModelsConfirm":"Sigur doriți să eliminați toate modelele pentru acest furnizor? Acest lucru nu poate fi anulat.","clearAllModelsSuccess":"Toate modelele au fost eliminate","clearAllModelsFailed":"Nu s-au șters modelele","addConnectionToImport":"Adăugați o conexiune pentru a activa importul.","noModelsConfigured":"Nu au fost configurate modele","connectionCount":"{count} conexiuni","fetchingModels":"Se preiau modelele disponibile...","failedFetchModels":"Nu s-au putut prelua modelele","noModelsFound":"Nu s-au găsit modele","importFailed":"Importul nu a reușit","noNewModelsAdded":"Nu au fost adăugate modele noi.","adding":"Se adaugă...","importingModelsTitle":"Importul modelelor","copyModel":"Copiați modelul","removeModel":"Eliminați modelul","rateLimitProtected":"Protejat","rateLimitUnprotected":"Neprotejat","enableRateLimitProtection":"Faceți clic pentru a activa protecția limitei ratei","disableRateLimitProtection":"Faceți clic pentru a dezactiva protecția limitei ratei","productionKey":"Cheia de producție","enterNewApiKey":"Introduceți o nouă cheie API","optional":"Opțional","anthropicCompatibleName":"Compatibil antropic","openaiCompatibleName":"Compatibil cu OpenAI","failedImportModels":"Nu s-au putut importa modele","noModelsReturnedFromEndpoint":"Niciun model nu a fost returnat de la punctul final /models.","importingModelsProgress":"Se importă {current} din {total} modele...","foundModelsStartingImport":"S-au găsit {count} modele. Se începe importul...","importingModelById":"Se importă {modelId}...","importSuccessCount":"Importat cu succes {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Nu au fost adăugate modele noi (toate există deja).","importDoneCount":"✓ Gata! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"A apărut o eroare neașteptată","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"mesaje","responsesPath":"răspunsuri","chatCompletionsPath":"chat/completari","add":"Adăugați","edit":"Editați","delete":"Ștergeți","anthropic":"antropică","openai":"OpenAI","singleConnectionPerCompatible":"Este permisă o singură conexiune pentru fiecare nod compatibil. Adăugați un alt nod dacă aveți nevoie de mai multe conexiuni.","connections":"Conexiuni","providerProxyTitleConfigured":"Proxy furnizor: {host}","configured":"configurat","providerProxyConfigureHint":"Configurați proxy pentru toate conexiunile acestui furnizor","providerProxy":"Proxy de furnizor","noConnectionsYet":"Încă nu există conexiuni","addFirstConnectionHint":"Adăugați prima conexiune pentru a începe","addConnection":"Adăugați o conexiune","availableModels":"Modele disponibile","pageAutoRefresh":"Pagina se va reîmprospăta automat...","statusDisabled":"dezactivat","statusConnected":"conectat","statusRuntimeIssue":"problemă de rulare","statusAuthFailed":"auth a eșuat","statusRateLimited":"rata limitată","statusNetworkIssue":"problema rețelei","statusTestUnsupported":"test neacceptat","statusUnavailable":"indisponibil","statusFailed":"a eșuat","statusError":"eroare","oauthAccount":"Cont OAuth","errorTypeRuntime":"Timp de rulare local","errorTypeUpstreamAuth":"Autentificare în amonte","errorTypeMissingCredential":"Lipsește acreditarea","errorTypeRefreshFailed":"Reîmprospătarea a eșuat","errorTypeTokenExpired":"Tokenul a expirat","errorTypeRateLimited":"Tarif limitat","errorTypeUpstreamUnavailable":"În amonte indisponibil","errorTypeNetworkError":"Eroare de rețea","errorTypeTestUnsupported":"Testul nu este acceptat","errorTypeUpstreamError":"Eroare în amonte","proxySourceGlobal":"Global","proxySourceProvider":"Furnizor","proxySourceKey":"cheie","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Proxy","retestAuthentication":"Retestați autentificarea","retest":"Retestați","disableConnection":"Dezactivați conexiunea","enableConnection":"Activați conexiunea","reauthenticateConnection":"Re-autentificați această conexiune","proxyConfig":"Configurare proxy","aliasExistsAlert":"Aliasul „{alias}” există deja. Vă rugăm să utilizați un alt model sau să editați alias-ul existent.","openRouterAnyModelHint":"OpenRouter acceptă orice model. Adăugați modele și creați aliasuri pentru acces rapid.","modelIdFromOpenRouter":"ID model (de la OpenRouter)","openRouterModelPlaceholder":"antropic/claude-3-opus","customModels":"Modele personalizate","customModelsHint":"Adăugați ID-uri de model care nu sunt în lista implicită. Acestea vor fi disponibile pentru rutare.","modelId":"ID model","customModelPlaceholder":"de ex. gpt-4.5-turbo","loading":"Se încarcă...","removeCustomModel":"Eliminați modelul personalizat","noCustomModels":"Nu s-au adăugat încă modele personalizate.","allSuggestedAliasesExist":"Toate pseudonimele sugerate există deja. Vă rugăm să alegeți un alt model sau să eliminați aliasurile aflate în conflict.","failedSaveCustomModel":"Nu s-a salvat modelul personalizat","modelAddedSuccess":"Modelul {modelId} a fost adăugat cu succes","failedAddModelTryAgain":"Nu s-a putut adăuga modelul. Vă rugăm să încercați din nou.","failedSaveImportedModel":"Nu s-a salvat modelul importat în baza de date personalizată","failedImportModelsTryAgain":"Nu s-au putut importa modele. Vă rugăm să încercați din nou.","failedRemoveModelFromDatabase":"Nu s-a putut elimina modelul din baza de date","modelRemovedSuccess":"Modelul a fost eliminat cu succes","failedDeleteModelTryAgain":"Nu s-a șters modelul. Vă rugăm să încercați din nou.","compatibleModelsDescription":"Adăugați manual modele compatibile cu {type} sau importați-le din punctul final /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Validarea cheii API nu a reușit. Vă rugăm să vă verificați cheia și să încercați din nou.","addProviderApiKeyTitle":"Adăugați {provider} cheia API","checking":"Se verifică...","check":"Verificați","valid":"Valabil","invalid":"Invalid","creating":"Se creează...","validationChecksAnthropicCompatible":"Validarea verifică {provider} prin verificarea cheii API.","validationChecksOpenAiCompatible":"Verificări de validare {provider} prin /models pe adresa URL de bază.","priorityLabel":"Prioritate","saving":"Se salvează...","save":"Salvați","editConnection":"Editați conexiunea","accountName":"Numele contului","email":"E-mail","healthCheckMinutes":"Verificare de sănătate (min)","healthCheckHint":"Interval proactiv de reîmprospătare a simbolului. 0 = dezactivat.","groupLabel":"Environment","groupPlaceholder":"e.g. eKaizen, Personal","failedTestConnection":"Nu s-a testat conexiunea","failed":"A eșuat","leaveBlankKeepCurrentApiKey":"Lăsați necompletat pentru a păstra cheia API curentă.","editCompatibleTitle":"Editați {type} Compatibil","compatibleBaseUrlHint":"Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.","apiKeyForCheck":"Cheie API (pentru verificare)","compatibleProdPlaceholder":"{type} Compatibil (Prod)","providerTestTimeout":"Provider test timed out — too many connections to test at once","advancedSettings":"Advanced Settings","chatPathLabel":"Chat Endpoint Path","chatPathPlaceholder":"/chat/completions","chatPathHint":"Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)","modelsPathLabel":"Models Endpoint Path","modelsPathPlaceholder":"/models","modelsPathHint":"Custom models path for validation (e.g. /v4/models)","builtInModels":"Built-in models","builtInModelsHint":"Registry models for this provider. Use the pencil to set compatibility options.","normalizeToolCallIdLabel":"Normalize tool call IDs to 9 characters (e.g. Mistral)","preserveDeveloperRoleLabel":"Keep OpenAI Responses developer role (do not map to system)","compatAdjustmentsTitle":"Compatibility","compatButtonLabel":"Compatibility","compatToolIdShort":"Tool ID 9","compatDeveloperShort":"Developer role","compatDoNotPreserveDeveloper":"Do not preserve developer role","compatBadgeNoPreserve":"No preserve","compatProtocolLabel":"Client request protocol","compatProtocolHint":"These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","tokenRefreshed":"Token refreshed successfully","tokenRefreshFailed":"Token refresh failed","compatBadgeUpstreamHeaders":"Headers","compatUpstreamAddRow":"Add header","compatUpstreamHeaderName":"Header name","compatUpstreamHeaderValue":"Value","compatUpstreamHeadersHint":"High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.","compatUpstreamHeadersLabel":"Extra upstream headers","compatUpstreamRemoveRow":"Remove row","autoSync":"Sincronizare automată","autoSyncTooltip":"Actualizează automat lista de modele la fiecare 24 de ore (configurabil prin MODEL_SYNC_INTERVAL_HOURS)","autoSyncEnabled":"Sincronizare automată activată — modelele se vor reîmprospăta periodic","autoSyncDisabled":"Sincronizarea automată a fost dezactivată","autoSyncToggleFailed":"Nu s-a putut comuta sincronizarea automată","allModelsAlreadyImported":"Toate modelele sunt deja importate","noNewModelsToImport":"Niciun model nou de importat — toate modelele sunt deja în registru sau în lista de modele personalizate","skippingExistingModels":"Se omit {count} modele existente"},"settings":{"title":"Setări","general":"general","security":"Securitate","appearance":"Aspectul","routing":"Dirijare","cache":"Cache","resilience":"Reziliență","systemPrompt":"Prompt de sistem","thinkingBudget":"Gândirea bugetului","proxy":"Proxy","pricing":"Prețuri","storage":"Depozitare","policies":"Politici","ipFilter":"Filtru IP","comboDefaults":"Setări implicite combinate","fallbackChains":"Lanțuri de rezervă","changePassword":"Schimbați parola","enablePassword":"Activați parola","darkMode":"Modul întunecat","lightMode":"Modul de lumină","systemTheme":"Tema sistemului","enableCache":"Activați memoria cache","cacheTTL":"Cache TTL","maxCacheSize":"Dimensiunea maximă a memoriei cache","clearCache":"Goliți memoria cache","cacheHits":"Hits în cache","cacheMisses":"Cache Misses","hitRate":"Rata de lovituri","cacheEntries":"Intrări în cache","circuitBreaker":"Întrerupător","retryPolicy":"Reîncercați Politica","maxRetries":"Reîncercări maxime","retryDelay":"Reîncercați Întârziere","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Activați promptul de sistem","systemPromptText":"Text prompt de sistem","enableThinking":"Activați gândirea","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Activați proxy","proxyUrl":"Adresa URL proxy","pricingRates":"Formatul tarifelor de preț","currentPricing":"Prezentare generală a prețurilor actuale","loadingPricing":"Se încarcă datele de preț...","noPricing":"Nu sunt disponibile date de preț","input":"Intrare","output":"Ieșire","cached":"În cache","reasoning":"Raționamentul","cacheCreation":"Creare cache","customPricing":"Prețuri personalizate","databaseSize":"Dimensiunea bazei de date","backupDb":"Backup baze de date","restoreDb":"Restaurați baza de date","exportData":"Exportați date","importData":"Importați date","clearData":"Ștergeți toate datele","clearDataConfirm":"Aceasta va șterge definitiv toate datele. esti sigur?","enableRequestLogs":"Activați jurnalele de solicitări","logRetention":"Păstrarea jurnalelor","ipWhitelist":"Lista albă IP","ipBlacklist":"Lista neagră de IP","addIP":"Adăugați IP","savedSuccessfully":"Setările au fost salvate cu succes","ai":"AI","advanced":"Avansat","localMode":"Mod local — Toate datele stocate pe aparat","settingsSectionsAria":"Secțiunile de setări","switchThemes":"Comutați între temele deschise și cele întunecate","themeSelectionAria":"Selectarea temei","themeLight":"Lumină","themeDark":"Întuneric","themeSystem":"Sistem","hideHealthLogs":"Ascundeți jurnalele de verificare a stării de sănătate","hideHealthLogsDesc":"Când este ACTIVAT, suprimați mesajele [HealthCheck] din consola serverului","themeAccent":"Culoarea temei","themeAccentDesc":"Alege o culoare presetată sau creează-ți propria temă cu o singură culoare","themeCreate":"Creează temă","themeCustom":"Temă personalizată","themeBlue":"Albastru","themeRed":"Roșu","themeGreen":"Verde","themeViolet":"Violet","themeOrange":"Portocaliu","themeCyan":"Cian","promptCache":"Prompt Cache","flushCache":"Spălați memoria cache","flushing":"Spălare…","size":"Dimensiune","hits":"Hituri","evictions":"Evacuări","loadingCacheStats":"Se încarcă statisticile cache...","globalProxy":"Proxy global","globalProxyDesc":"Configurați un proxy global de ieșire pentru toate apelurile API. Furnizorii individuali, combo-urile și cheile pot suprascrie acest lucru.","noGlobalProxy":"Nu a fost configurat niciun proxy global","globalLabel":"Global","configure":"Configurați","globalSystemPrompt":"Global System Prompt","systemPromptDesc":"Injectat în toate solicitările la nivel de proxy","saved":"Salvat","systemPromptPlaceholder":"Introduceți promptul de sistem pentru a injecta în toate solicitările...","systemPromptHint":"Această solicitare este adăugată mesajului de sistem al fiecărei solicitări. Utilizați pentru instrucțiuni globale, ghiduri de siguranță sau reguli de formatare a răspunsurilor.","chars":"{count} caractere","thinkingBudgetTitle":"Gândirea bugetului","thinkingBudgetDesc":"Controlați utilizarea simbolurilor de raționament AI pentru toate solicitările","passthrough":"trecere","passthroughDesc":"Fără modificări — clientul controlează bugetul de gândire","auto":"Auto","autoDesc":"Eliminați toate configurațiile de gândire - lăsați furnizorul să decidă","custom":"Personalizat","customDesc":"Setați un buget fix pentru token pentru toate solicitările","adaptive":"Adaptiv","adaptiveDesc":"Scalați bugetul în funcție de complexitatea cererii","effortNone":"Niciunul (0 jetoane)","effortLow":"Scăzut (1K jetoane)","effortMedium":"Mediu (10.000 jetoane)","effortHigh":"Ridicat (128.000 jetoane)","tokenBudget":"Buget simbol","tokens":"jetoane","baseEffortLevel":"Nivelul de efort de bază","adaptiveHint":"Modul adaptiv crește de la acest nivel de bază în funcție de numărul de mesaje, utilizarea instrumentului și lungimea promptului.","requireLogin":"Necesită autentificare","requireLoginDesc":"Când este pornit, tabloul de bord necesită o parolă. Când este OFF, accesați fără autentificare.","currentPassword":"Parola curentă","enterCurrentPassword":"Introduceți parola curentă","newPassword":"Parolă nouă","enterNewPassword":"Introduceți o nouă parolă","confirmPassword":"Confirmați parola nouă","confirmPasswordPlaceholder":"Confirmați noua parolă","passwordsNoMatch":"Parolele nu se potrivesc","passwordUpdated":"Parola a fost actualizată cu succes","failedUpdatePassword":"Nu s-a putut actualiza parola","errorOccurred":"A apărut o eroare","updatePassword":"Actualizați parola","setPassword":"Setați parola","apiEndpointProtection":"API Endpoint Protection","requireAuthModels":"Necesită cheia API pentru /models","requireAuthModelsDesc":"Când este ACTIVAT, punctul final /v1/models returnează 404 pentru solicitările neautentificate. Previne descoperirea modelului de către utilizatori neautorizați.","blockedProviders":"Furnizori blocați","blockedProvidersDesc":"Ascundeți anumiți furnizori din răspunsul /v1/models. Furnizorii blocați nu vor apărea în listele de modele.","providersBlocked":"{count} furnizor(i) blocat(i) de la /modele","blockProviderTitle":"Blocați {provider}","unblockProviderTitle":"Deblocați {provider}","routingStrategy":"Strategia de rutare","fillFirst":"Umpleți mai întâi","fillFirstDesc":"Utilizați conturile în ordine de prioritate","roundRobin":"Round Robin","roundRobinDesc":"Parcurgeți toate conturile","p2c":"P2C","p2cDesc":"Alegeți 2 la întâmplare, folosiți-l pe cel mai sănătos","random":"Aleatoriu","randomDesc":"Cont aleatoriu pentru fiecare cerere","leastUsed":"Cel mai puțin folosit","leastUsedDesc":"Alegeți contul cel mai puțin utilizat recent","costOpt":"Cost Opt","costOptDesc":"Prefer cel mai ieftin cont disponibil","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each account once before reshuffling","stickyLimit":"Limită lipicioasă","stickyLimitDesc":"Apeluri pe cont înainte de a comuta","modelAliases":"Aliasuri de model","modelAliasesTitle":"Aliasuri de model","modelAliasesDesc":"Modele wildcard pentru a remapa numele modelelor • Utilizați * și ?","addCustomAlias":"Adaugă Alias Personalizat","deprecatedModelId":"ID model depreciat","newModelId":"ID model nou","customAliases":"Aliasuri personalizate","builtInAliases":"Aliasuri încorporate","backgroundDegradationTitle":"Degradare sarcini în fundal","backgroundDegradationDesc":"Detectează automat sarcinile în fundal (titluri, rezumate) și redirecționează către modele mai ieftine","enableDegradation":"Activează degradarea sarcinilor în fundal","enableDegradationHint":"Când este activat, sarcinile în fundal precum generarea de titluri și rezumate sunt redirecționate automat către modele mai ieftine","tasksDetected":"Sarcini detectate","degradationMap":"Hartă de degradare a modelelor","premiumModel":"Model premium","cheapModel":"Model ieftin","detectionPatterns":"Modele de detecție","newPattern":"ex: \\"generează un titlu\\"","aliasPatternPlaceholder":"claude-sonet-*","aliasTargetPlaceholder":"claude-sonet-4-20250514","pattern":"Model","targetModel":"Model țintă","add":"+ Adăugați","session":"Sesiune","sessionDetailsAria":"Detalii sesiune","status":"Stare","authenticated":"Autentificat","guest":"Oaspete","loginTime":"Ora de conectare","sessionAge":"Vârsta sesiunii","browser":"Browser","clearLocalData":"Ștergeți datele locale","logout":"Deconectare","clearLocalDataConfirm":"Ștergeți toate datele locale? Aceasta vă va reseta preferințele.","unknown":"Necunoscut","systemActor":"sistem","ipAccessControl":"Control acces IP","ipAccessControlDesc":"Blocați sau permiteți anumite adrese IP","ipModeDisabled":"Dezactivat","ipModeBlacklist":"Lista neagră","ipModeWhitelist":"Lista albă","ipModeWhitelistPriority":"Prioritate WL","addIpAddress":"Adăugați adresa IP","ipAddressPlaceholder":"192.168.1.0/24 sau 10.0.*.*","block":"+ Blocare","allow":"+ Permite","blocked":"Blocat ({count})","allowed":"Permis ({count})","temporaryBans":"Interdicții temporare ({count})","minLeft":"Au mai rămas {min}m","auditLog":"Jurnal de audit","searchAuditLogs":"Căutați jurnalele de audit...","failedLoadAuditLog":"Nu s-a încărcat jurnalul de audit","noAuditEvents":"Nu au fost găsite evenimente de audit","action":"Acțiune","actor":"actor","details":"Detalii","time":"timpul","fallbackChainsTitle":"Lanțuri de rezervă","fallbackChainsDesc":"Definiți ordinea de rezervă a furnizorului pentru fiecare model","addChain":"+ Adăugați lanț","modelName":"Numele modelului","modelNamePlaceholder":"claude-sonet-4-20250514","providersCommaSeparated":"Furnizori (separați prin virgulă, în ordine de prioritate)","providersCommaSeparatedPlaceholder":"antropic, openai, gemeni","createChain":"Creați lanț","noFallbackChains":"Fără lanțuri de rezervă","noFallbackChainsDesc":"Creați un lanț pentru a defini ordinea de rezervă a furnizorului pentru un model.","loadingFallbackChains":"Se încarcă lanțurile alternative...","deleteChainConfirm":"Ștergeți lanțul alternativ pentru „{model}”?","chainCreated":"Lanț creat pentru {model}","chainDeleted":"Lanțul a fost șters pentru {model}","failedCreateChain":"Nu s-a putut crea lanțul","failedDeleteChain":"Lanțul nu a putut fi șters","deleteChain":"Ștergeți lanțul","fillModelAndProviders":"Vă rugăm să completați numele modelului și furnizorii","addAtLeastOneProvider":"Adăugați cel puțin un furnizor","comboDefaultsTitle":"Setări implicite combinate","globalComboConfig":"Configurație globală combo","defaultStrategy":"Strategia implicită","defaultStrategyDesc":"Aplicat combo-urilor noi fără strategie explicită","comboStrategyAria":"Strategie combinată","priority":"Prioritate","weighted":"ponderat","maxRetriesLabel":"Reîncercări maxime","retryDelayLabel":"Întârziere reîncercare (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Verificare de sănătate","healthCheckDesc":"Verificați prealabil disponibilitatea furnizorului","trackMetrics":"Urmăriți valorile","trackMetricsDesc":"Înregistrați valorile pentru fiecare cerere combinată","providerOverrides":"Suprascrierea furnizorului","providerOverridesDesc":"Suprascrierea timpului de expirare și reîncercări pentru fiecare furnizor. Setările furnizorului înlocuiesc valorile prestabilite globale.","providerMaxRetriesAria":"{provider} max. reîncercări","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Eliminați anularea {provider}","newProviderNamePlaceholder":"de ex. google, deschide...","newProviderNameAria":"Numele furnizorului nou","retries":"reîncercări","ms":"ms","saveComboDefaults":"Salvați setările implicite de combo","maxNestingDepth":"Adâncimea maximă de cuibărire","concurrencyPerModel":"Concurență / Model","queueTimeout":"Timp de așteptare la coadă (ms)","providerProfiles":"Profiluri de furnizor","providerProfilesDesc":"Setări separate de rezistență pentru furnizorii OAuth (bazat pe sesiune) și API Key (contorizat). Furnizorii OAuth au praguri mai stricte din cauza limitelor mai mici ale ratei.","oauthProviders":"Furnizori OAuth","apiKeyProviders":"Furnizori de chei API","transientCooldown":"Răcire tranzitorie","rateLimitCooldown":"Rate de răcire limită","maxBackoffLevel":"Nivel maxim de retragere","cbThreshold":"Pragul CB","cbResetTime":"Timp de resetare CB","rateLimiting":"Limitarea ratei","rateLimitingDesc":"Furnizorii de chei API sunt limitate automat la rate cu valori implicite sigure. Limitele sunt învățate din anteturile de răspuns și se adaptează în timp.","defaultSafetyNet":"Rețea de siguranță implicită","rpm":"RPM","minGap":"Gap min","maxConcurrent":"Concurență maximă","activeLimiters":"Limitatoare active","noActiveLimiters":"Încă nu există limitatoare de rată active.","reservoir":"Rezervor","running":"Alergarea","queued":"În coadă","circuitBreakers":"Întreruptoare","breakerStateClosed":"Închis","breakerStateOpen":"Deschide","breakerStateHalfOpen":"Pe jumătate deschis","tripped":"{count} sa declanșat","healthy":"{count} sănătos","resetAll":"Resetați toate","noCircuitBreakers":"Niciun întrerupător de circuit activ încă. Acestea sunt create automat atunci când cererile trec prin conducta combinată.","failures":"{count} eșec(e)","policiesLocked":"Politici și identificatori blocați","allOperational":"Toate sistemele sunt operaționale — fără blocaje sau întrerupătoare declanșate","loadingPolicies":"Se încarcă politicile...","lockedIdentifiers":"Identificatori blocați","unlockedIdentifier":"Deblocat: {identifier}","sinceDate":"din {date}","forceUnlock":"Deblocare forțată","unlocking":"Se deblochează...","failedUnlock":"Deblocarea eșuată","failedLoadWithStatus":"Nu s-a încărcat: {status}","failedLoadResilience":"Nu s-a încărcat starea de rezistență","saveFailed":"Salvarea nu a reușit","resetFailed":"Resetarea a eșuat","loadingResilience":"Se încarcă starea rezistenței...","retry":"Reîncercați","systemStorage":"Sistem și stocare","allDataLocal":"Toate datele stocate local pe aparatul dvs","databasePath":"Calea bazei de date","exportDatabase":"Exportați baza de date","exportAll":"Exportați toate (.tar.gz)","importDatabase":"Importă baza de date","confirmDbImport":"Confirmați importul bazei de date","confirmDbImportDesc":"Aceasta va înlocui toate datele curente cu conținutul din {file}. O copie de rezervă va fi creată automat înainte de import.","yesImport":"Da, import","lastBackup":"Ultima copie de rezervă","noBackupYet":"Nicio rezervă încă","backupNow":"Faceți backup acum","backupRestore":"Backup și restaurare","viewBackups":"Vizualizați copii de rezervă","hide":"Ascunde","backupRetentionDesc":"Instantaneele bazei de date sunt create automat înainte de restaurare și la fiecare 15 minute când datele se modifică. Reținere: 24 de ore din 24 + 30 de backup-uri zilnice cu rotație inteligentă.","loadingBackups":"Se încarcă copii de rezervă...","noBackupsYet":"Nu există copii de rezervă disponibile încă. Backup-urile vor fi create automat când datele se schimbă.","backupsAvailable":"{count} backup(uri) disponibil(e).","refresh":"Reîmprospătați","confirm":"Confirm?","yes":"Da","no":"Nu","restore":"Restaurați","invalidFileType":"Tip de fișier nevalid. Sunt acceptate numai fișierele .sqlite.","exportFailed":"Exportul nu a reușit","exportFailedWithError":"Export eșuat: {error}","fullExportFailedWithError":"Exportul complet eșuat: {error}","backupCreated":"Backup creat: {file}","restoreSuccess":"Restaurat! {connections} conexiuni, {nodes} noduri, {combos} combo, {apiKeys} chei API.","importSuccess":"Baza de date importată! {connections} conexiuni, {nodes} noduri, {combos} combo, {apiKeys} chei API.","justNow":"tocmai acum","minutesAgo":"{count}m în urmă","hoursAgo":"acum {count}h","daysAgo":"acum {count}d","backupReasonManual":"manual","backupReasonPreRestore":"pre-restaurare","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Nicio modificare de la ultima copie de rezervă","backupFailed":"Copierea de rezervă a eșuat","restoreFailed":"Restaurarea a eșuat","importFailed":"Importul nu a reușit","errorDuringRestore":"A apărut o eroare în timpul restaurării","errorDuringImport":"A apărut o eroare în timpul importului","modelPricing":"Prețul modelului","modelPricingDesc":"Configurați tarifele de cost pe model • Toate tarifele în jetoane $/1M","providers":"Furnizorii","registry":"Registrul","priced":"Preț","searchProvidersModels":"Căutați furnizori sau modele...","showAll":"Arată toate","noProvidersMatch":"Niciun furnizor nu corespunde căutării dvs.","howPricingWorks":"Cum funcționează prețurile","cacheWrite":"Scriere în cache","unsaved":"nesalvat","resetDefaults":"Resetează setările implicite","saveProvider":"Salvați furnizorul","saving":"Se salvează...","model":"Model","models":"modele","moreProviders":"{count} mai mulți furnizori","withPricing":"cu prețul configurat","policiesCircuitBreakers":"Politici și întrerupătoare de circuit","activeIssuesDetected":"Au fost detectate probleme active","off":"Oprit","resetPricingConfirm":"Resetați toate prețurile pentru {provider} la valorile prestabilite?","pricingDescInput":"Intrare: jetoane trimise modelului","pricingDescOutput":"Ieșire: jetoane generate","pricingDescCached":"În cache: intrare reutilizată (~50% din rata de intrare)","pricingDescReasoning":"Raționament: jetoane de gândire (se întoarce la Ieșire)","pricingDescCacheWrite":"Scriere în cache: crearea de intrări în cache (revine la Intrare)","pricingDescFormula":"Cost = (input × input_rate) + (output × output_rate) + (cached × cached_rate) per milion de jetoane.","pricingSettingsTitle":"Setări de preț","totalModels":"Total Modele","active":"Activ","costCalculation":"Calculul costurilor","costCalculationDesc":"Costurile sunt calculate pe baza utilizării simbolurilor și a tarifelor de preț configurate pentru fiecare model.","pricingFormat":"Format de preț","pricingFormatDesc":"Toate tarifele sunt în jetoane/1 milion USD (dolari per milion de jetoane).","tokenTypes":"Tipuri de jetoane","inputTokenDesc":"Jetoane standard de prompt","outputTokenDesc":"Jetoane de completare/răspuns","cachedTokenDesc":"Jetoane de intrare stocate în cache (de obicei 50% din rata de intrare)","reasoningTokenDesc":"Indicative speciale de raționament/gândire (retracție la rata de ieșire)","cacheCreationTokenDesc":"Jetoane utilizate pentru a crea intrări în cache (retur la rata de intrare)","customPricingNote":"Puteți suprascrie prețurile implicite pentru anumite modele. Anulările personalizate au prioritate față de prețurile detectate automat.","editPricing":"Editați prețul","viewFullDetails":"Vezi detalii complete","themeCoral":"Coral","cliFingerprint":"CLI Fingerprint Matching","cliFingerprintDesc":"Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.","cliFingerprintEnabled":"{count} provider(s) with CLI fingerprint active","enableFingerprintTitle":"Enable fingerprint for {provider}","disableFingerprintTitle":"Disable fingerprint for {provider}","routingAdvancedGuideTitle":"Ghid avansat de rutare","routingAdvancedGuideHint1":"Folosiți Fill First pentru o prioritate previzibilă, Round Robin pentru corectitudine și P2C pentru rezistență la latență.","routingAdvancedGuideHint2":"Dacă furnizorii variază în ceea ce privește calitatea/costul, începeți cu Cost Opt pentru munca de fundal și Least Used pentru uzura echilibrată.","comboDefaultsGuideTitle":"Cum să reglați setările implicite de combo","comboDefaultsGuideHint1":"Menține reîncercările scăzute în fluxurile cu latență scăzută; crește timpul de expirare numai pentru sarcini de generație lungă.","comboDefaultsGuideHint2":"Folosiți suprascrierile furnizorului atunci când un furnizor are nevoie de un comportament de timeout/reîncercare diferit față de valorile prestabilite globale."},"translator":{"title":"Traducător","metaTitle":"Translator Playground | OmniRoute","metaDescription":"Depanați, testați și vizualizați traducerile în format API între furnizori","playgroundTitle":"Loc de joacă pentru traducător","playground":"Loc de joacă","realtime":"Activitate de traducere în timp real","chatTester":"Tester de chat","testBench":"Banc de testare","liveMonitor":"Monitor live","modeDescriptionPlayground":"Lipiți orice corp de solicitare API și vedeți cum îl traduce OmniRoute între formatele de furnizor (OpenAI ↔ Claude ↔ Gemini ↔ API-ul de răspunsuri)","modeDescriptionChatTester":"Trimiteți cereri reale de chat prin OmniRoute și inspectați întreaga călătorie dus-întors: intrare, cerere tradusă, răspuns furnizor și ieșire tradusă.","modeDescriptionTestBench":"Rulați scenarii predefinite și comparați compatibilitatea între furnizori și modele.","modeDescriptionLiveMonitor":"Urmărește evenimentele de traducere în timp real, pe măsură ce solicitările circulă prin OmniRoute.","modeDescriptionFallback":"Depanați, testați și vizualizați modul în care OmniRoute traduce cererile API între furnizori.","recentTranslations":"Traduceri recente","noTranslations":"Nicio traducere încă","source":"Sursa","target":"țintă","time":"timpul","model":"Model","status":"Stare","latency":"Latența","totalTranslations":"Traduceri totale","successful":"De succes","errors":"Erori","avgLatency":"Latență medie","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Auto-împrospătare","paused":"Întrerupt","eventsAppearHint":"Evenimentele de traducere apar aici pe măsură ce solicitările circulă prin OmniRoute. Utilizați oricare dintre aceste metode pentru a genera evenimente:","chatTesterTab":"Fila Tester de chat","testBenchTab":"Fila Banc de testare","externalApiCalls":"Apeluri API externe","ideCliIntegrations":"Integrari IDE/CLI","inMemoryNote":"Notă: Evenimentele sunt stocate în memorie și resetate atunci când serverul repornește.","ok":"OK","errorShort":"ERR","formatConverter":"Convertor de format","formatConverterDescription":"Lipiți sau introduceți un corp de solicitare JSON. Traducătorul va detecta automat formatul sursă și îl va converti în formatul țintă. Utilizați aceasta pentru a depana modul în care OmniRoute traduce cererile între formate (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Intrare","output":"Ieșire","auto":"Auto","swapFormats":"Schimbați formatele","translateAction":"Traduceți","clear":"Clar","inputPlaceholder":"Lipiți un corp de solicitare aici sau selectați un șablon de mai jos...","exampleTemplates":"Exemple de șabloane","exampleTemplatesHint":"— Faceți clic pentru a încărca","templateLoadHint":"Șablonul încarcă solicitarea în format {format}. Modificați formatul sursă pentru a încărca într-un alt format.","compatibilityTester":"Tester de compatibilitate","compatibilityReport":"Raport de compatibilitate","testBenchDescription":"Rulați scenarii predefinite (Simple Chat, Tool Calling etc.) pentru a verifica traducerea și compatibilitatea furnizorilor. Selectați un format sursă și un furnizor țintă, apoi rulați toate testele pentru a vedea un procent de compatibilitate. Folosiți acest lucru pentru a afla ce caracteristici funcționează între furnizori.","targetProvider":"Furnizor țintă","runAllTests":"Rulați toate testele","runTest":"Run Test","reRun":"Reluați","running":"Alergare...","passed":"a trecut","failed":"a eșuat","passedIconLabel":"✅ A trecut","chunks":"bucăți","scenarioSimpleChat":"Chat simplu","scenarioToolCalling":"Apelarea instrumentului","scenarioMultiTurn":"Multi-turn","scenarioThinking":"Gândirea","scenarioSystemPrompt":"Prompt de sistem","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Chat simplu","tool-calling":"Apelarea instrumentului","multi-turn":"Multi-turn","thinking":"Gândirea","system-prompt":"Prompt de sistem","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Mesaj text de bază","tool-calling":"Invocarea funcției/uneltei","multi-turn":"Conversație cu istoria","thinking":"Gândire extinsă / raționament","system-prompt":"Instrucțiuni de sistem complexe","streaming":"Solicitare de streaming SSE"},"templatePayloads":{"simpleChat":{"system":"Ești un asistent util.","userGreeting":"Bună ziua! Cum te simți azi?"},"toolCalling":{"userWeather":"Care este vremea în São Paulo?","toolDescription":"Obțineți vremea actuală pentru o locație","cityNameDescription":"Numele orașului"},"multiTurn":{"system":"Sunteți un asistent de codare.","userInitial":"Scrieți o funcție pentru a sorta o matrice în Python.","assistantExample":"Iată o funcție simplă de sortare:\\n\\n```python\\ndef sort_array(arr):\\n return sortat(arr)\\n```","userFollowUp":"Acum sortați în ordine descrescătoare."},"thinking":{"question":"Care este suma primelor 100 de numere prime?"},"systemPrompt":{"systemInstruction":"Sunteți un inginer de software senior specializat în sisteme distribuite. Răspundeți concis la întrebări folosind cele mai bune practici din industrie. Furnizați întotdeauna exemple de cod atunci când este relevant. Formatați răspunsurile folosind markdown.","question":"Cum implementez un model de întrerupător?"},"streaming":{"prompt":"Spune-mi o scurtă poveste despre un robot care învață să picteze."}},"openaiCompatibleLabel":"Compatibil cu OpenAI","anthropicCompatibleLabel":"Compatibil antropic","noTemplateForFormat":"Nu există șablon pentru acest format","translationFailed":"Traducerea a eșuat: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"Conducta de traduceri","pipelineVisualization":"Vizualizarea conductei","pipelineVisualizationHint":"Trimiteți un mesaj pentru a vedea cum decurge cererea dvs. prin detectare → traducere → apel de la furnizor.","chatTesterDescription":"Trimiteți mesaje ca un anumit format de client și inspectați fiecare pas al conductei de traducere.","chatTesterFlow":"Solicitare client → Detectare format → Intermediar OpenAI → Format furnizor → Răspuns","clickStepToInspect":"Faceți clic pe orice pas pentru a inspecta datele în acea etapă.","clientFormat":"Format client","provider":"Furnizor","modelPlaceholder":"Selectați sau introduceți un nume de model...","sendMessageToSeePipeline":"Trimiteți un mesaj pentru a vedea canalul de traducere","chatMessageHintPrefix":"Mesajul dvs. va fi formatat ca a","chatMessageHintSuffix":"cerere, tradusă prin conductă și trimisă furnizorului selectat.","youWithFormat":"Tu ({format})","assistant":"Asistent","typeMessage":"Tastați un mesaj...","send":"Trimite","clientRequest":"Solicitarea clientului","clientRequestDescription":"Corpul solicitării pe care l-ar trimite clientul dvs","formatDetected":"Format detectat","formatDetectedDescription":"OmniRoute detectează automat formatul API din structura cererii","openaiIntermediate":"OpenAI Intermediar","openaiIntermediateDescription":"Toate formatele sunt mai întâi normalizate la formatul OpenAI (puntea universală)","providerFormat":"Format de furnizor","providerFormatDescription":"Formatul OpenAI este tradus în formatul nativ al furnizorului","providerResponse":"Răspunsul furnizorului","providerResponseRawDescription":"Răspunsul brut de la API-ul furnizorului","providerResponseSseDescription":"Fluxul SSE brut de la API-ul furnizorului","unexpectedError":"A apărut o eroare neașteptată","error":"Eroare","errorMessage":"Eroare: {message}","requestFailed":"Solicitarea a eșuat","noTextExtracted":"(Niciun text extras)","liveMonitorDescriptionPrefix":"Afișează evenimentele de traducere pe măsură ce apelurile API circulă prin OmniRoute. Evenimentele provin din buffer-ul din memorie (resetează la repornire). Utilizați","liveMonitorDescriptionSuffix":", sau apeluri API externe pentru a genera evenimente."},"usage":{"title":"Utilizare","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Managementul bugetului","budgetSaved":"Limitele bugetare au fost salvate","budgetSaveFailed":"Nu s-a salvat bugetul","loadingBudgetData":"Se încarcă datele bugetare...","noApiKeysTitle":"Fără chei API","noApiKeysDescription":"Adăugați mai întâi cheile API pentru a configura limite de buget.","apiKey":"Cheia API","todaysSpend":"Cheltuielile de azi","thisMonth":"Luna aceasta","setLimits":"Setați limite","dailyLimitUsd":"Limită zilnică (USD)","monthlyLimitUsd":"Limită lunară (USD)","warningThresholdPercent":"Pragul de avertizare (%)","dailyLimitPlaceholder":"de ex. 5.00","monthlyLimitPlaceholder":"de ex. 50.00","warningThresholdPlaceholder":"80","saveLimits":"Salvați limite","budgetOk":"Buget OK — {remaining} rămas","budgetExceeded":"Buget depășit — solicitările pot fi blocate","totalRequests":"Total cereri","noDataYet":"Nu există date încă","latency":"Latența","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Prompt Cache","systemHealth":"Sănătatea sistemului","entries":"Intrări","activeCount":"{count} activ","openCircuitBreakersDetected":"Întreruptoare deschise detectate","hitRate":"Rata de lovituri","hitsMisses":"Hits / Misses","circuitBreakers":"Întreruptoare","lockedIPs":"IP-uri blocate","lockoutsAutoRefreshHint":"Blocări ale limitei ratei per model • Reîmprospătare automată 10 secunde","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} a rămas","howItWorks":"Cum funcționează","howItWorksSubtitle":"Aflați cum evaluările vă validează răspunsurile LLM","define":"Definiți","defineStepDescription":"Creați cazuri de testare cu solicitări de intrare și criterii de ieșire așteptate, folosind strategii precum conține, expresii regex sau potrivire exactă.","run":"Fugi","runStepDescription":"Execută cazuri de testare împotriva punctelor finale LLM prin OmniRoute. Fiecare caz este trimis ca o cerere API reală.","evaluate":"Evaluează","evaluateStepDescription":"Răspunsurile sunt comparate cu criteriile așteptate. Vedeți succes/eșec pentru fiecare caz cu valori de latență și feedback detaliat.","evalSuites":"Suite de evaluare","evalSuitesHint":"Faceți clic pe o suită pentru a vedea cazurile de testare, apoi rulați pentru a evalua punctele finale LLM","evalsLoading":"Se încarcă apartamentele de evaluare...","noEvalSuitesFound":"Nu au fost găsite suite Eval","noEvalSuitesDescription":"Suitele de evaluare pot fi definite prin API sau în cod. Ei testează ieșirile modelului în raport cu rezultatele așteptate folosind strategii precum conține, regex, potrivire exactă și funcții personalizate.","columnCase":"Caz","columnStatus":"Stare","columnLatency":"Latența","columnDetails":"Detalii","columnModel":"Model","columnStrategy":"Strategie","columnExpected":"Așteptată","statsSuites":"Suite","statsTestCases":"Cazuri de testare","statsModels":"Modele","statsCoverage":"Acoperire","statsStrategiesCount":"{count} strategii","evaluationStrategies":"Strategii de evaluare","modelsUnderTest":"Modele în curs de testare","searchSuitesPlaceholder":"Căutați apartamente...","passSuffix":"trece","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Rulați Eval","runningProgress":"Se rulează {current}/{total}...","passRate":"rata de promovare","summaryBreakdown":"{passed} a trecut · {failed} a eșuat · {total} total","passedIconLabel":"✅ A trecut","failedIconLabel":"❌ A eșuat","detailsContains":"Conține: „{term}”","detailsRegex":"Regex: {pattern}","detailsExpected":"Așteptată: „{expected}”","noResultsYet":"Niciun rezultat încă","testCasesCount":"Cazuri de testare ({count})","noTestCasesDefined":"Nu au fost definite cazuri de testare","runEvalHint":"Faceți clic pe „Run Eval” pentru a executa toate cazurile împotriva punctului final LLM. Fiecare test trimite o cerere reală prin OmniRoute.","notifyNoTestCases":"Nu au fost definite cazuri de testare pentru această suită","notifyAllCasesPassed":"Toate {total} cazuri au trecut ✅","notifySomeCasesFailed":"{passed}/{total} a trecut, {failed} a eșuat","notifyEvalRunFailed":"Evaluarea a eșuat","notifyEvalTitle":"Evaluare: {name}","modelEvals":"Evaluări de model","evalsHeroDescription":"Testați și validați punctele finale LLM rulând suite de evaluare predefinite. Fiecare suită conține cazuri de testare care trimit solicitări reale prin OmniRoute și compară răspunsurile cu criteriile așteptate - ajutându-vă să detectați regresiile, să comparați modele și să asigurați calitatea răspunsului între furnizori.","qualityValidation":"Validarea calității","modelComparison":"Comparație de modele","regressionDetection":"Detectarea regresiei","latencyBenchmarks":"Benchmark-uri de latență","modelLockouts":"Blocarea modelelor","noLockouts":"Nu există modele blocate momentan","activeSessions":"Sesiuni active","noSessions":"Fără sesiuni active","sessionsHint":"Sesiunile apar pe măsură ce solicitările circulă prin proxy","sessionsTrackedHint":"Urmărit prin amprenta la cerere • Reîmprospătare automată 5s","session":"Sesiune","age":"Vârsta","requests":"Cereri","connection":"Conexiune","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limitele furnizorului","noProviders":"Niciun furnizor conectat","connectProvidersForQuota":"Conectați-vă la furnizori cu OAuth pentru a urmări limitele și utilizarea cotelor API.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrat din {count})","autoRefresh":"Reîmprospătare automată","refreshAll":"Reîmprospătați toate","loadingQuotas":"Se încarcă...","account":"Cont","modelQuotas":"Cote model","lastUsed":"Ultima utilizare","actions":"Acțiuni","refreshQuota":"Actualizează cota","today":"Astăzi","tomorrow":"Mâine","dayTimeFormat":"{day}, {time}","inDuration":"în {duration}","notApplicable":"N/A","rawPlanWithValue":"Plan brut: {plan}","noPlanFromProvider":"Niciun plan de la furnizor","noQuotaData":"Fără date de cotă","ungrouped":"Ungrouped","viewFlat":"Flat","viewByEnvironment":"By Environment","noQuotaDataAvailable":"Nu sunt disponibile date privind cotele","noAccountsForTierFilter":"Nu s-au găsit conturi pentru filtrul de nivel","tierAll":"Toate","tierEnterprise":"Întreprindere","tierTeam":"Echipa","tierBusiness":"Afaceri","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratuit","tierUnknown":"Necunoscut"},"modals":{"waitingAuth":"În așteptarea autorizației","verificationUrl":"Adresa URL de verificare","yourCode":"Codul dvs","remoteAccess":"Acces de la distanță:","connectedSuccess":"Conectat cu succes!","connectionFailed":"Conexiune a eșuat","chooseAuthMethod":"Alegeți metoda de autentificare:","awsBuilderId":"ID AWS Builder","awsIamIdentity":"Centrul de identitate AWS IAM","googleAccount":"Cont Google","githubAccount":"Cont GitHub","importToken":"Import Token","pasteToken":"Lipiți indicativul de reîmprospătare din Kiro IDE.","awsRegion":"Regiunea AWS","autoDetecting":"Se detectează automat jetoanele...","readingFromCache":"Citirea din memoria cache AWS SSO","readingFromCursor":"Citirea din baza de date Cursor IDE","initializing":"Se inițializează...","pricingConfig":"Configurarea prețurilor","loadingPricing":"Se încarcă datele de preț...","pricingRatesFormat":"Formatul tarifelor de preț","noPricingData":"Nu sunt disponibile date de preț","noModelsFound":"Nu s-au găsit modele"},"loggers":{"allProviders":"Toți Furnizorii","allModels":"Toate modelele","allAccounts":"Toate Conturile","allApiKeys":"Toate cheile API","allTypes":"Toate Tipurile","allLevels":"Toate Nivelurile","modelAZ":"Modelul A-Z","modelZA":"Model Z-A","loadingLogs":"Se încarcă jurnalele...","loadingProxyLogs":"Se încarcă jurnalele proxy...","noLogEntries":"Nu au fost găsite intrări de jurnal","noPayloadData":"Nu există date disponibile pentru această intrare în jurnal.","proxyEvent":"Eveniment proxy","proxy":"Proxy","level":"Nivel","directNative":"Direct (nativ)","combo":"Combo","inputTokens":"eu:","outputTokens":"O:"},"stats":{"usageOverview":"Prezentare generală a utilizării","outputTokens":"Jetoane de ieșire","totalCost":"Costul total","usageByModel":"Utilizare după model","usageByAccount":"Utilizare după Cont","failedToLoad":"Nu s-au încărcat statisticile de utilizare.","tokenHealth":"Token Health","totalOAuth":"OAuth totală","healthy":"Sănătos","warning":"Avertisment","errored":"Eroare","lastCheck":"Ultima verificare","noData":"Fără date","share":"Distribuie","unableToLoad":"Nu se pot încărca valorile sistemului","product":"Produs","resources":"Resurse","company":"Compania"},"auth":{"welcome":"Bun venit","signIn":"Conectați-vă","enterPassword":"Introduceți parola pentru a continua","password":"Parolă","unifiedProxy":"Proxy API AI unificat","unifiedAiApiProxy":"Proxy API AI unificat","unifiedAiApiProxyDesc":"Dirijați cererile către mai mulți furnizori de AI printr-un singur punct final. Echilibrarea încărcăturii, failoverul și urmărirea utilizării încorporate.","passwordNotEnabled":"Protecția prin parolă nu este activată","loading":"Se încarcă...","invalidPassword":"Parolă nevalidă","errorOccurredRetry":"A apărut o eroare. Vă rugăm să încercați din nou.","configureInstance":"Haideți să vă configurați instanța OmniRoute","runOnboardingWizard":"Rulați expertul de onboarding pentru a vă configura parola și pentru a vă conecta primul furnizor de AI.","startOnboarding":"Începeți integrarea","secureYourInstance":"Asigurați-vă instanța","setPasswordDescription":"Setați o parolă pentru a vă proteja tabloul de bord și pentru a vă asigura punctele finale API împotriva accesului neautorizat.","configurePassword":"Configurați parola","continue":"Continuă","windowWillClose":"Această fereastră se va închide automat...","closeTabNow":"Puteți închide această filă acum.","copyUrlManual":"Vă rugăm să copiați adresa URL din bara de adrese și să o inserați în aplicație.","accessDeniedDescription":"Nu aveți permisiunea de a accesa această resursă. Verificați cheia API sau contactați administratorul.","goToDashboard":"Accesați tabloul de bord","featureMultiProviderTitle":"Multi-furnizor","featureMultiProviderDesc":"OpenAI, Anthropic, Google și multe altele","featureLoadBalancingTitle":"Echilibrarea sarcinii","featureLoadBalancingDesc":"Distribuiți cererile în mod inteligent","featureUsageTrackingTitle":"Urmărirea utilizării","featureUsageTrackingDesc":"Monitorizați costurile și jetoanele","resetPassword":"Resetează parola","resetDescription":"Alegeți o metodă pentru a recupera accesul la tabloul de bord","stopServer":"Opriți serverul OmniRoute","processing":"Se procesează...","pleaseWait":"Vă rugăm să așteptați până când completăm autorizarea.","authSuccess":"Autorizare reușită!","copyUrl":"Copiați această adresă URL","accessDenied":"Acces refuzat","methodCliTitle":"Metoda 1: Resetarea CLI","methodCliDescription":"Rulați următoarea comandă pe serverul pe care rulează OmniRoute:","methodCliHint":"Acest lucru vă va solicita să setați o nouă parolă. Serverul trebuie oprit mai întâi.","methodManualTitle":"Metoda 2: Resetare manuală","methodManualDescription":"Ștergeți parola din baza de date și setați una nouă la pornire:","setPasswordInYour":"Setați o nouă parolă în dvs","fileLabelSuffix":"fisier:","newPasswordPlaceholder":"dvs._noua_parolă","deleteSettingsFile":"Ștergeți","orRemovePasswordHashField":"sau eliminați câmpul passwordHash","restartServerWithNewPassword":"Reporniți serverul - va folosi noua parolă","backToLogin":"Înapoi la Logare","forgotPassword":"Ai uitat parola?","defaultPasswordHint":"Default password: 123456 (unless INITIAL_PASSWORD was set)","Authorization":"Autorizare","Content-Disposition":"Conținut-Dispoziție","waitingForAuthorization":"Se așteaptă autorizația...","waitingForGoogleAuthorization":"Se așteaptă autorizarea Google...","waitingForOpenAIAuthorization":"Se așteaptă autorizarea OpenAI...","waitingForAntigravityAuthorization":"Se așteaptă autorizația antigravitație...","waitingForIFlowAuthorization":"Se așteaptă autorizarea iFlow...","exchangingCodeForTokens":"Se schimbă codul pentru jetoane..."},"landing":{"brandName":"OmniRoute","navigateHome":"Navigați la acasă","toggleMenu":"Comutați meniul","featuresLink":"Caracteristici","docsLink":"Docs","github":"GitHub","versionLive":"v1.0 este acum live","oneEndpoint":"Un punct final pentru","allProviders":"Toți furnizorii de AI","heroDescription":"Proxy AI endpoint cu tablou de bord web - Un port JavaScript al CLIProxyAPI. Funcționează perfect cu Claude Code, OpenAI Codex, Cline, RooCode și alte instrumente CLI.","getStarted":"Începeți","viewOnGithub":"Vizualizați pe GitHub","powerfulFeatures":"Caracteristici puternice","featuresSubtitle":"Tot ce aveți nevoie pentru a vă gestiona infrastructura AI într-un singur loc, construit pentru scară.","featureUnifiedEndpointTitle":"Punct final unificat","featureUnifiedEndpointDesc":"Accesați toți furnizorii printr-o singură adresă URL API standard.","featureEasySetupTitle":"Configurare ușoară","featureEasySetupDesc":"Începeți să rulați în câteva minute cu comanda npx.","featureModelFallbackTitle":"Model de rezervă","featureModelFallbackDesc":"Comutați automat furnizorii în caz de eșec sau latență ridicată.","featureUsageTrackingTitle":"Urmărirea utilizării","featureUsageTrackingDesc":"Analiză detaliată și monitorizare a costurilor pentru toate modelele.","featureOAuthApiKeysTitle":"Chei OAuth și API","featureOAuthApiKeysDesc":"Gestionați în siguranță acreditările într-un singur seif.","featureCloudSyncTitle":"Sincronizare în cloud","featureCloudSyncDesc":"Sincronizați-vă configurațiile pe dispozitive instantaneu.","featureCliSupportTitle":"Suport CLI","featureCliSupportDesc":"Funcționează cu Claude Code, Codex, Cline, Cursor și multe altele.","featureDashboardTitle":"Tabloul de bord","featureDashboardDesc":"Tablou de bord vizual pentru analiza traficului în timp real.","howItWorks":"Cum funcționează OmniRoute","howItWorksDescription":"Datele circulă fără probleme de la aplicația dvs. prin stratul nostru inteligent de rutare către cel mai bun furnizor pentru job.","howItWorksStep1Title":"1. CLI și SDK-uri","howItWorksStep1Description":"Solicitările tale pornesc de la instrumentele tale preferate sau SDK-ul nostru unificat. Doar schimbați adresa URL de bază.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"Motorul nostru analizează promptul, verifică starea furnizorului și rutele pentru cea mai mică latență sau cost.","howItWorksStep3Title":"3. Furnizori AI","howItWorksStep3Description":"Solicitarea este îndeplinită instantaneu de OpenAI, Anthropic, Gemini sau altele.","getStartedIn30Seconds":"Începeți în 30 de secunde","getStartedDescription":"Instalați OmniRoute, configurați-vă furnizorii prin intermediul tabloului de bord web și începeți să direcționați cererile AI.","installOmniRoute":"Instalați OmniRoute","installStepDescription":"Rulați comanda npx pentru a porni serverul instantaneu","openDashboard":"Deschideți tabloul de bord","openDashboardStepDescription":"Configurați furnizorii și cheile API prin interfața web","routeRequests":"Cereri de traseu","routeRequestsStepDescription":"Îndreptați instrumentele CLI către {endpoint}","terminal":"terminal","copy":"Copiere","copied":"✓ Copiat","startingOmniRoute":"Se pornește OmniRoute...","serverRunningOnLabel":"Serverul rulează","dashboardLabel":"Tabloul de bord","readyToRoute":"Gata de traseu! ✓","configureProvidersNote":"📝 Configurați furnizorii în tabloul de bord sau utilizați variabile de mediu","dataLocation":"Locația datelor:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produs","dashboardLink":"Tabloul de bord","changelog":"Jurnalul modificărilor","resources":"Resurse","documentation":"Documentare","npm":"NPM","legal":"Legal","mitLicense":"Licență MIT","footerTagline":"Punctul final unificat pentru generarea AI. Conectați-vă, direcționați și gestionați cu ușurință furnizorii dvs. de AI.","copyright":"© {year} OmniRoute. Toate drepturile rezervate.","flowToolClaudeCode":"Claude Cod","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Cursorul","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"antropică","flowProviderGemini":"Gemeni","flowProviderGithubCopilot":"Copilotul GitHub","interactiveDiagram":"Diagrama interactivă vizibilă pe desktop","ctaTitle":"Sunteți gata să vă simplificați infrastructura AI?","ctaDescription":"Alăturați-vă dezvoltatorilor care își eficientizează integrările AI cu OmniRoute. Open source și liber pentru a începe.","startFree":"Începe gratuit","readDocumentation":"Citiți documentația"},"docs":{"title":"Documentare","quickStart":"Pornire rapidă","features":"Caracteristici","supportedProviders":"Furnizori acceptați","supportedProvidersToc":"Furnizorii","commonUseCases":"Cazuri comune de utilizare","clientCompatibility":"Compatibilitate client","protocolsToc":"Protocols","apiReference":"Referință API","method":"Metoda","path":"Calea","notes":"Note","modelPrefixes":"Prefixe de model","prefix":"Prefix","troubleshooting":"Depanare","supportsChat":"Acceptă atât punctele finale de chat, cât și cele de răspuns.","oauthAutoRefresh":"Conexiune OAuth cu reîmprospătare automată a simbolului.","fullStreaming":"Suport complet pentru streaming pentru toate modelele.","docsLabel":"Docs","docsHeroDescription":"Gateway AI pentru LLM cu mai mulți furnizori. Un punct final pentru OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor și peste 20 de furnizori.","openDashboard":"Deschideți tabloul de bord","endpointPage":"Pagina finală","github":"GitHub","reportIssue":"Raportați o problemă","onThisPage":"Pe această pagină","documentationVersion":"Documentație - v{version}","quickStartStep1Title":"1. Instalați și rulați","quickStartStep1Prefix":"Fugi","quickStartStep1Middle":"sau clonează din GitHub și rulează","quickStartStep2Title":"2. Creați cheia API","quickStartStep2Text":"Accesați Endpoint -> Chei înregistrate. Generați o cheie pentru fiecare mediu.","quickStartStep3Title":"3. Conectați furnizorii","quickStartStep3Text":"Adăugați conturi de furnizor prin autentificare OAuth, cheie API sau conexiune automată gratuită.","quickStartStep4Title":"4. Setați adresa URL a bazei de clienți","quickStartStep4Prefix":"Îndreptați-vă clientul IDE sau API către","quickStartStep4Suffix":"Utilizați prefixul furnizorului, de exemplu","featureRoutingTitle":"Rutare cu mai mulți furnizori","featureRoutingText":"Dirijați cererile către peste 30 de furnizori de AI printr-un singur punct final compatibil cu OpenAI. Acceptă API-uri de chat, răspunsuri, audio și imagine.","featureCombosTitle":"Combo și echilibrare","featureCombosText":"Creați combinații de modele cu lanțuri de rezervă și strategii de echilibrare: round-robin, prioritare, aleatorii, cel mai puțin utilizate și optimizate pentru costuri.","featureUsageTitle":"Urmărirea utilizării și a costurilor","featureUsageText":"Numărarea jetonelor în timp real, calculul costurilor pe furnizor/model și detalierea utilizării în funcție de cheie API și cont.","featureAnalyticsTitle":"Tabloul de bord Analytics","featureAnalyticsText":"Analiză vizuală cu diagrame pentru solicitări, jetoane, erori, latență, costuri și popularitatea modelului de-a lungul timpului.","featureHealthTitle":"Monitorizarea sănătății","featureHealthText":"Verificări live ale stării de sănătate, starea furnizorului, stările întrerupătoarelor de circuit și detectarea automată a limitei ratei cu retragere exponențială.","featureCliTitle":"Instrumente CLI","featureCliText":"Gestionați configurațiile IDE, exportați/importați copii de siguranță, descoperiți profiluri de codex și configurați setările din tabloul de bord.","featureSecurityTitle":"Securitate și politici","featureSecurityText":"Autentificare cu cheie API, filtrare IP, protectie pentru injectare promptă, politici de domeniu, gestionare a sesiunilor și înregistrare de audit.","featureCloudSyncTitle":"Sincronizare în cloud","featureCloudSyncText":"Sincronizați-vă configurația cu Cloudflare Workers pentru acces de la distanță cu acreditări criptate și failover automat.","providersAcrossConnectionTypes":"{count} furnizori din trei tipuri de conexiune.","manageProviders":"Gestionați furnizorii","providersCount":"{count} furnizori","providerTypeFree":"Nivel gratuit","providerTypeOAuth":"OAuth","providerTypeApiKey":"Cheia API","useCaseSingleEndpointTitle":"Punct final unic pentru mulți furnizori","useCaseSingleEndpointText":"Indicați clienții către o adresă URL de bază și rutați după prefix de model (de exemplu: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback și schimbare de model cu combo","useCaseFallbackText":"Creați modele combinate în Dashboard și mențineți stabilă configurația clientului în timp ce furnizorii se rotesc intern.","useCaseUsageVisibilityTitle":"Utilizare, cost și vizibilitate depanare","useCaseUsageVisibilityText":"Urmăriți jetoanele și costul în funcție de furnizor, cont și cheie API în filele Utilizare și Analytics.","clientCherryStudioTitle":"Studioul Cherry","baseUrlLabel":"Adresa URL de bază","chatEndpointLabel":"Punct final de chat","modelRecommendationLabel":"Recomandare model: prefix explicit","clientCodexTitle":"Modele Codex / GitHub Copilot","clientCodexBullet1":"Utilizați ID-uri de model cu","clientCodexBullet2":"Modelele din familia Codex au traseu automat către","clientCodexBullet3":"Modelele non-Codex continuă","clientCursorTitle":"Cursor IDE","clientCursorBullet1":"Utilizați","clientCursorBullet1Suffix":"prefix pentru modelele Cursor.","clientCursorBullet2":"Conexiune OAuth - conectați-vă din pagina Furnizori.","clientClaudeTitle":"Claude Code / Antigravitație","clientClaudeBullet1Prefix":"Utilizați","clientClaudeBullet1Middle":"(Claude) sau","clientClaudeBullet1Suffix":"(antigravitație) prefix.","protocolsTitle":"Protocols: MCP & A2A","protocolsDescription":"OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.","protocolMcpStep1":"Start MCP transport with `omniroute --mcp`.","protocolMcpStep2":"Point your MCP client to stdio transport.","protocolMcpStep3":"Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.","protocolA2aStep1":"Read `/.well-known/agent.json` for agent discovery.","protocolA2aStep2":"Send `message/send` or `message/stream` requests to `POST /a2a`.","protocolA2aStep3":"Manage task lifecycle with `tasks/get` and `tasks/cancel`.","protocolTroubleshootingTitle":"Protocol Troubleshooting","protocolTroubleshooting1":"If MCP status is offline, verify the stdio process is running and heartbeat file is updating.","protocolTroubleshooting2":"If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.","protocolTroubleshooting3":"Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.","endpointChatNote":"Punct final de chat compatibil cu OpenAI (implicit).","endpointResponsesNote":"Punct final API pentru răspunsuri (Codex, serie o).","endpointModelsNote":"Catalog model pentru toți furnizorii conectați.","endpointAudioNote":"Transcriere audio (Deepgram, AssemblyAI).","endpointImagesNote":"Generarea imaginii (NanoBanana).","endpointRewriteChatNote":"Rescrie ajutor pentru clienți fără /v1.","endpointRewriteResponsesNote":"Rescrie ajutor pentru răspunsuri fără /v1.","endpointRewriteModelsNote":"Rescrierea de ajutor pentru descoperirea modelului fără /v1.","modelPrefixesDescriptionStart":"Utilizați prefixul furnizorului înainte de numele modelului pentru a direcționa către un anumit furnizor. Exemplu:","modelPrefixesDescriptionEnd":"rute către GitHub Copilot.","provider":"Furnizor","type":"Tip","troubleshootingModelRouting":"Dacă clientul eșuează cu rutarea modelului, utilizați furnizorul/modelul explicit (de exemplu: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Dacă primiți erori de model ambigue, alegeți un prefix de furnizor în loc de un ID de model simplu.","troubleshootingCodexFamily":"Pentru modelele din familia GitHub Codex, păstrați modelul ca gh/codex-model; routerul selectează/răspunde automat.","troubleshootingTestConnection":"Utilizați Tabloul de bord > Furnizori > Testați conexiunea înainte de a testa de la IDE-uri sau clienți externi.","troubleshootingCircuitBreaker":"Dacă un furnizor arată întrerupătorul deschis, așteptați răcirea sau verificați pagina Sănătate pentru detalii.","troubleshootingOAuth":"Pentru furnizorii OAuth, re-autentificați-vă dacă tokenurile expiră. Verificați indicatorul de stare a cardului furnizorului.","managementApiReference":"Management API Reference","managementApiDescription":"Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.","mgmtProxiesListNote":"List saved proxy registry items (supports pagination).","mgmtProxiesCreateNote":"Create a reusable proxy item in the registry.","mgmtProxiesHealthNote":"Get 24h/rolling health metrics per saved proxy from proxy logs.","mgmtProxiesBulkAssignNote":"Assign or clear one proxy across many scope IDs in one request.","mgmtAssignmentsListNote":"List proxy assignments by scope, scope_id, or proxy_id.","mgmtAssignmentsUpdateNote":"Assign or clear proxy for global/provider/account/combo scope.","mgmtLegacyMigrationNote":"Import legacy proxyConfig maps into registry assignments.","endpointSpeechNote":"Generarea text-to-speech (ElevenLabs, OpenAI TTS).","endpointEmbeddingsNote":"Generarea de încorporare a textului (OpenAI, Cohere, Voyage)."},"legal":{"privacyPolicy":"Politica de confidențialitate","termsOfService":"Termeni și condiții","providerConfigurations":"Configurațiile furnizorului","apiKeys":"Chei API","usageLogs":"Jurnalele de utilizare","applicationSettings":"Setările aplicației","viewExportAnalytics":"Vizualizați și exportați analizele de utilizare","clearHistory":"Ștergeți istoricul utilizării în orice moment","configureRetention":"Configurați politicile de păstrare a jurnalelor","backupRestore":"Faceți backup și restaurați baza de date","privacyMetadataTitle":"Politica de confidențialitate | OmniRoute","privacyMetadataDescription":"Politica de confidențialitate pentru routerul proxy API OmniRoute AI.","termsMetadataTitle":"Termeni și condiții | OmniRoute","termsMetadataDescription":"Termenii și condițiile pentru routerul proxy API OmniRoute AI.","backToHome":"Înapoi acasă","lastUpdated":"Ultima actualizare: {date}","policyLastUpdatedDate":"13 februarie 2026","listSeparator":"-","questionsVisit":"Întrebări? Vizitează-ne","githubRepository":"Depozitul GitHub","privacySection1Title":"1. Local-First Architecture","privacySection1Text":"OmniRoute este proiectat ca o aplicație mai întâi locală. Toate procesarea și stocarea datelor au loc în întregime pe mașina dvs. Nu există un server centralizat care să vă colecteze informațiile.","privacySection2Title":"2. Datele pe care le stocăm","privacyDataStoredIn":"Următoarele date sunt stocate local în","privacyDataProviderConfigurationsDesc":"adrese URL de conexiune, tipuri de furnizori și setări de prioritate","privacyDataApiKeysDesc":"criptat și stocat local pentru autentificare cu furnizorii de AI","privacyDataUsageLogsDesc":"numărul de solicitări, utilizarea token-ului, numele modelelor, marcajele de timp și timpii de răspuns","privacyDataApplicationSettingsDesc":"preferințele temei, strategia de rutare și configurațiile combinate","privacySection3Title":"3. Fără telemetrie","privacySection3Text":"OmniRoute nu colectează telemetrie, analize sau rapoarte de blocare. Nicio dată nu ne sunt trimise nouă sau unei terțe părți. Tiparele dvs. de utilizare, apelurile API și configurațiile rămân în întregime private.","privacySection4Title":"4. Furnizori AI terți","privacySection4Text":"Când efectuați apeluri API prin OmniRoute, solicitările dvs. sunt redirecționate către furnizorii de AI pe care i-ați configurat (de exemplu: OpenAI, Anthropic, Google). Acești furnizori au propriile lor politici de confidențialitate care guvernează modul în care vă gestionează datele. Vă rugăm să revizuiți:","privacyOpenAiPolicy":"Politica de confidențialitate OpenAI","privacyAnthropicPolicy":"Politica de confidențialitate antropică","privacyGooglePolicy":"Politica de confidențialitate Google","privacySection5Title":"5. Cloud Sync (Opțional)","privacySection5Text":"Dacă activați caracteristica opțională de sincronizare în cloud, configurațiile furnizorului și cheile API pot fi transmise la un punct final de cloud configurat. Această funcție este dezactivată în mod implicit și necesită înscriere explicită.","privacySection6Title":"6. Înregistrare","privacyLoggingIntro":"Jurnalele de solicitări pot fi configurate prin setările tabloului de bord. Puteți:","privacySection7Title":"7. Drepturile tale","privacySection7TextStart":"Deoarece toate datele sunt stocate local, aveți control deplin. Vă puteți șterge datele oricând prin eliminarea","privacySection7TextEnd":"director sau folosind funcțiile de backup și restaurare a bazei de date din tabloul de bord.","termsSection1Title":"1. Prezentare generală","termsSection1Text":"OmniRoute este un router proxy API AI care funcționează în întregime pe mașina dumneavoastră. Acesta direcționează cererile către mai mulți furnizori de AI cu echilibrare a sarcinii, failover și urmărire a utilizării.","termsSection2Title":"2. Responsabilitățile utilizatorului","termsResponsibilityApiKeys":"Sunteți singurul responsabil pentru gestionarea propriilor chei și acreditări API pentru furnizorii terți de AI (OpenAI, Anthropic, Google etc.).","termsResponsibilityCompliance":"Trebuie să respectați termenii și condițiile fiecărui furnizor de AI al cărui API îl accesați prin OmniRoute.","termsResponsibilitySecurity":"Sunteți responsabil pentru securitatea instalării locale OmniRoute, inclusiv setarea unei parole și restricționarea accesului la rețea.","termsSection3Title":"3. Cum funcționează","termsSection3Text":"OmniRoute acționează ca un proxy intermediar. Apelurile API trimise către OmniRoute sunt traduse și redirecționate către furnizorii dvs. de AI configurați. OmniRoute nu modifică conținutul solicitărilor sau răspunsurilor dumneavoastră dincolo de traducerea protocolului necesară.","termsSection4Title":"4. Manipularea datelor","termsDataStoredLocally":"Toate datele sunt stocate local pe mașina dvs. într-o bază de date SQLite.","termsNoTransmission":"OmniRoute nu transmite date către servere externe decât dacă activați în mod explicit funcțiile de sincronizare în cloud.","termsDataLocationText":"Jurnalele de utilizare, cheile API și configurația sunt stocate în","termsSection5Title":"5. Exonerare de responsabilitate","termsSection5Text":"OmniRoute este furnizat „ca atare”, fără garanții de niciun fel. Nu suntem responsabili pentru costurile suportate prin utilizarea API-ului, întreruperile serviciilor sau pierderea datelor. Păstrați întotdeauna copii de siguranță ale configurației dvs.","termsSection6Title":"6. Open Source","termsSection6Text":"OmniRoute este un software open-source. Sunteți liber să îl inspectați, să modificați și să îl distribuiți în conformitate cu termenii licenței sale."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"API Endpoints","apiEndpointsTitle":"API Endpoints","apiEndpointsDescription":"Backend API endpoints that can be consumed by other applications and services. This section will list all available REST APIs with documentation and testing capabilities.","comingSoon":"Coming Soon","plannedFeatures":"Planned Features","featureRestApi":"REST API endpoint catalog with interactive documentation","featureWebhooks":"Webhook configuration and event subscriptions","featureSwagger":"OpenAPI / Swagger spec auto-generation","featureAuth":"API key and OAuth scope management per endpoint"},"agents":{"title":"CLI Agents","description":"Discover installed CLI agents on your system. Add custom agents for auto-detection.","refresh":"Refresh","installed":"Installed","notFound":"Not Found","builtIn":"Built-in","custom":"Custom","remove":"Remove","addCustomAgent":"Add Custom Agent","addCustomAgentDesc":"Register any CLI tool for detection. It will be scanned automatically on refresh.","agentName":"Agent Name","binaryName":"Binary Name","versionCommand":"Version Command","spawnArgs":"Spawn Args","addAgent":"Add Agent","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"Auto-Combo Engine","statusNormal":"Normal","statusIncident":"Incident Mode","modePack":"Mode Pack","providerScores":"Provider Scores","noAutoCombo":"No auto-combo configured.","excludedProviders":"Excluded Providers","noExclusions":"No providers currently excluded.","factorQuota":"Quota","factorHealth":"Health","factorCost":"Cost","factorLatency":"Latency","factorTaskFit":"Task Fit","factorStability":"Stability","factorTierPriority":"Tier Priority","factorTierPriorityDesc":"Prefers accounts with higher quota tiers (Ultra/Pro over Free)","scoreFactorBreakdown":"Scoring Factors","modePackShipFast":"Ship Fast","modePackCostSaver":"Cost Saver","modePackQualityFirst":"Quality First","modePackOfflineFriendly":"Offline Friendly"},"search":{"searchQuery":"Search Query","searchResults":"Search Results","cachedResult":"Cached","searchCost":"Cost","searchTools":"Search Tools","searchToolsDesc":"Advanced search testing with provider comparison","compareProviders":"Compare Providers","rerankResults":"Rerank Results","searchHistory":"Search History","urlOverlap":"URL Overlap","noSearchProviders":"No search providers configured. Add providers in Settings.","noRerankModels":"No rerank model available","webSearch":"Web Search","provider":"Provider","searchType":"Search Type","maxResults":"Max Results","filters":"Filters","country":"Country","language":"Language","timeRange":"Time Range","includeDomains":"Include Domains","excludeDomains":"Exclude Domains","safeSearch":"Safe Search","formatted":"Formatted","rawJson":"JSON","cacheMiss":"cache miss","cacheHit":"cache hit","latency":"Latency","cost":"Cost","results":"Results","rerank":"Rerank","rerankModel":"Rerank Model","positionDelta":"Position Change","emptyState":"Send a search query to see results","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"templateNames":{"simple-chat":"Chat simplu","streaming":"Streaming","system-prompt":"Prompt de sistem","thinking":"Gândirea","tool-calling":"Apelarea instrumentului","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Șablon de chat de bază cu mesaj de sistem","streaming":"Șablon pentru răspunsuri în flux","system-prompt":"Șablon cu prompt de sistem personalizat","thinking":"Șablon cu buget de raționament/gândire","tool-calling":"Șablon pentru apelarea instrumentului/funcției","multi-turn":"Șablon pentru conversații în mai multe rânduri"},"templatePayloads":{"simpleChat":{"system":"Sunteți un asistent AI util.","userGreeting":"Bună ziua! Cum te pot ajuta azi?"},"streaming":{"prompt":"Scrie o poveste despre"},"systemPrompt":{"question":"Care este sensul vieții?","systemInstruction":"Oferă un răspuns gânditor, filozofic."},"thinking":{"question":"Explicați calculul cuantic"},"toolCalling":{"cityNameDescription":"Numele orașului pentru care să aflați vremea","toolDescription":"Obțineți vremea actuală pentru o locație","userWeather":"Care este vremea în Tokyo?"},"multiTurn":{"system":"Ești un asistent util.","assistantExample":"Aș fi bucuros să te ajut cu asta.","userInitial":"Am nevoie de ajutor cu","userFollowUp":"Puteți detalia asta?"}},"cache":{"title":"Cache Management","description":"Monitor and manage semantic response cache, hit rates, and token savings.","refresh":"Refresh","clearAll":"Clear All","memoryEntries":"Memory Entries","dbEntries":"DB Entries","cacheHits":"Cache Hits","tokensSaved":"Tokens Saved","hitRate":"Hit Rate","performance":"Cache Performance","behavior":"Cache Behavior","idempotency":"Idempotency Layer","clearSuccess":"Cache cleared. {count} expired entries removed.","clearError":"Failed to clear cache.","unavailable":"Cache unavailable","unavailableDesc":"Could not fetch cache statistics. Make sure the server is running.","memoryEntriesSub":"In-memory LRU","dbEntriesSub":"Persisted (SQLite)","cacheHitsSub":"of {total} total","tokensSavedSub":"Estimated from hits","autoRefresh":"Auto-refreshes every {seconds}s","hits":"Hits","misses":"Misses","total":"Total","behaviorDeterministic":"Only non-streaming requests with temperature=0 are cached.","behaviorBypass":"Bypass with header {header}.","behaviorTwoTier":"Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).","behaviorTtl":"Default TTL: 30 minutes. Configure via {envVar}.","activeDedupKeys":"Active Dedup Keys","dedupWindow":"Dedup Window"}}'))}];
2
2
 
3
3
  //# sourceMappingURL=src_i18n_messages_ro_json_d1a5f5ee._.js.map