omniroute 1.7.2 → 1.7.4

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 (843) hide show
  1. package/README.ar.md +4 -0
  2. package/README.bg.md +4 -0
  3. package/README.da.md +4 -0
  4. package/README.de.md +13 -9
  5. package/README.es.md +13 -9
  6. package/README.fi.md +4 -0
  7. package/README.fr.md +13 -9
  8. package/README.he.md +29 -25
  9. package/README.hu.md +4 -0
  10. package/README.id.md +4 -0
  11. package/README.in.md +4 -0
  12. package/README.it.md +13 -9
  13. package/README.ja.md +4 -0
  14. package/README.ko.md +29 -25
  15. package/README.md +45 -0
  16. package/README.ms.md +4 -0
  17. package/README.nl.md +4 -0
  18. package/README.no.md +4 -0
  19. package/README.phi.md +4 -0
  20. package/README.pl.md +4 -0
  21. package/README.pt-BR.md +29 -25
  22. package/README.pt.md +4 -0
  23. package/README.ro.md +4 -0
  24. package/README.ru.md +13 -9
  25. package/README.sk.md +4 -0
  26. package/README.sv.md +4 -0
  27. package/README.th.md +16 -12
  28. package/README.uk-UA.md +4 -0
  29. package/README.vi.md +4 -0
  30. package/README.zh-CN.md +26 -22
  31. package/app/.env +122 -0
  32. package/app/.next/BUILD_ID +1 -1
  33. package/app/.next/app-path-routes-manifest.json +30 -28
  34. package/app/.next/build-manifest.json +3 -3
  35. package/app/.next/prerender-manifest.json +3 -3
  36. package/app/.next/required-server-files.json +1 -1
  37. package/app/.next/routes-manifest.json +12 -0
  38. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  39. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +2 -2
  42. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
  45. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +3 -3
  48. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  51. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  57. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
  60. package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
  63. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +2 -2
  66. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/media/page.js +2 -2
  69. package/app/.next/server/app/(dashboard)/dashboard/media/page.js.nft.json +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
  72. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  73. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  75. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  76. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  78. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  79. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  81. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  82. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  84. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  85. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  87. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  88. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  90. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  91. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  93. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  94. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
  96. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  97. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  99. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  100. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/_global-error/page.js +3 -3
  102. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/_global-error.html +2 -2
  104. package/app/.next/server/app/_global-error.rsc +4 -4
  105. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +4 -4
  106. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  107. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  108. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  109. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  110. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  111. package/app/.next/server/app/_not-found/page.js +2 -2
  112. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  113. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/auth/login/route.js +1 -1
  115. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  116. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  118. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/auth/status/route.js +1 -1
  120. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/cache/route.js +1 -1
  122. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/cache/stats/route.js +1 -1
  124. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  126. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  129. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
  131. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  133. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  135. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  137. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  139. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  141. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route.js +1 -1
  143. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  145. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  147. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  149. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  151. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  153. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  154. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  156. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  157. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  159. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  160. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  162. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  163. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  165. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  166. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/combos/metrics/route.js +1 -1
  168. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/combos/route.js +1 -1
  170. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/combos/test/route.js +1 -1
  173. package/app/.next/server/app/api/combos/test/route.js.nft.json +1 -1
  174. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
  176. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/db-backups/export/route.js +1 -1
  178. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
  180. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/db-backups/import/route.js +1 -1
  182. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/db-backups/route.js +1 -1
  184. package/app/.next/server/app/api/db-backups/route.js.nft.json +1 -1
  185. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/evals/[suiteId]/route.js +1 -1
  187. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/evals/route.js +1 -1
  189. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/fallback/chains/route.js +2 -2
  191. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/init/route.js +1 -1
  193. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  196. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/keys/route.js +1 -1
  199. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/logs/console/route.js +1 -1
  202. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/models/alias/route.js +1 -1
  204. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  205. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/models/availability/route.js +1 -1
  207. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/models/catalog/route.js +2 -2
  209. package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/models/route.js +2 -2
  212. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/monitoring/health/route.js +2 -2
  215. package/app/.next/server/app/api/monitoring/health/route.js.nft.json +1 -1
  216. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +2 -2
  218. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  221. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  222. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  223. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  224. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  226. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  228. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  229. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  230. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  231. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  233. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  234. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/policies/route.js +2 -2
  236. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  237. package/app/.next/server/app/api/pricing/defaults/route.js +1 -1
  238. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/api/pricing/models/route.js +1 -1
  240. package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -1
  241. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  242. package/app/.next/server/app/api/pricing/route.js +1 -1
  243. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  244. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/api/provider-metrics/route.js +2 -2
  246. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  247. package/app/.next/server/app/api/provider-models/route.js +1 -1
  248. package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
  249. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  250. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  251. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  252. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  253. package/app/.next/server/app/api/provider-nodes/route.js +2 -2
  254. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  255. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  256. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  257. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  258. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  259. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  260. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  261. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  262. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  263. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  264. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  265. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  266. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/api/providers/client/route.js +1 -1
  268. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  269. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  270. package/app/.next/server/app/api/providers/route.js +2 -2
  271. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  273. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  274. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  275. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  276. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  277. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  279. package/app/.next/server/app/api/rate-limit/route.js +1 -1
  280. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  281. package/app/.next/server/app/api/rate-limits/route.js +1 -1
  282. package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -1
  283. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  284. package/app/.next/server/app/api/resilience/reset/route.js +1 -1
  285. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  286. package/app/.next/server/app/api/resilience/route.js +1 -1
  287. package/app/.next/server/app/api/resilience/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  289. package/app/.next/server/app/api/restart/route.js +1 -1
  290. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  291. package/app/.next/server/app/api/sessions/route.js +1 -1
  292. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  293. package/app/.next/server/app/api/settings/background-degradation/route.js +1 -0
  294. package/app/.next/server/app/api/settings/background-degradation/route.js.nft.json +1 -0
  295. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -0
  296. package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
  297. package/app/.next/server/app/api/settings/combo-defaults/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  299. package/app/.next/server/app/api/settings/ip-filter/route.js +1 -1
  300. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  301. package/app/.next/server/app/api/settings/model-aliases/route.js +1 -0
  302. package/app/.next/server/app/api/settings/model-aliases/route.js.nft.json +1 -0
  303. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -0
  304. package/app/.next/server/app/api/settings/proxy/route.js +1 -1
  305. package/app/.next/server/app/api/settings/proxy/route.js.nft.json +1 -1
  306. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  307. package/app/.next/server/app/api/settings/proxy/test/route.js +1 -1
  308. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  309. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  310. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  311. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  312. package/app/.next/server/app/api/settings/route.js +1 -1
  313. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  314. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  315. package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
  316. package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -1
  317. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  318. package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
  319. package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -1
  320. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  321. package/app/.next/server/app/api/shutdown/route.js +1 -1
  322. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  323. package/app/.next/server/app/api/storage/health/route.js +1 -1
  324. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  325. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  326. package/app/.next/server/app/api/sync/cloud/route.js.nft.json +1 -1
  327. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  328. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  329. package/app/.next/server/app/api/sync/initialize/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  331. package/app/.next/server/app/api/tags/route.js +1 -1
  332. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  333. package/app/.next/server/app/api/telemetry/summary/route.js +1 -1
  334. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  335. package/app/.next/server/app/api/token-health/route.js +1 -1
  336. package/app/.next/server/app/api/token-health/route.js.nft.json +1 -1
  337. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  338. package/app/.next/server/app/api/translator/detect/route.js +1 -1
  339. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  340. package/app/.next/server/app/api/translator/history/route.js +1 -1
  341. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  342. package/app/.next/server/app/api/translator/load/route.js +1 -1
  343. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  344. package/app/.next/server/app/api/translator/save/route.js +1 -1
  345. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  346. package/app/.next/server/app/api/translator/send/route.js +1 -1
  347. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  349. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  350. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  351. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  352. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  353. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  355. package/app/.next/server/app/api/usage/analytics/route.js +1 -1
  356. package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
  357. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  358. package/app/.next/server/app/api/usage/budget/route.js +2 -2
  359. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  360. package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
  361. package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
  362. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  363. package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
  364. package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
  365. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  366. package/app/.next/server/app/api/usage/history/route.js +1 -1
  367. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  368. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  369. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  370. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  371. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  372. package/app/.next/server/app/api/usage/proxy-logs/route.js +1 -1
  373. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  374. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  375. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  376. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  377. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  378. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  379. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  380. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  381. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  382. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  383. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  384. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  385. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  386. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  387. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  388. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  389. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  390. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  391. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  392. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  393. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  394. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  395. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  396. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  397. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  398. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  399. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  400. package/app/.next/server/app/api/v1/models/route.js +2 -2
  401. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  402. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  403. package/app/.next/server/app/api/v1/moderations/route.js +1 -1
  404. package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
  405. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  406. package/app/.next/server/app/api/v1/music/generations/route.js +1 -1
  407. package/app/.next/server/app/api/v1/music/generations/route.js.nft.json +1 -1
  408. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  409. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
  410. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
  411. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  412. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
  413. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
  414. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  415. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
  416. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
  417. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  418. package/app/.next/server/app/api/v1/rerank/route.js +1 -1
  419. package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
  420. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  421. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  422. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  423. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  424. package/app/.next/server/app/api/v1/route.js +1 -1
  425. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  426. package/app/.next/server/app/api/v1/videos/generations/route.js +1 -1
  427. package/app/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  428. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  429. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  430. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  431. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  432. package/app/.next/server/app/api/v1beta/models/route.js +2 -2
  433. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  434. package/app/.next/server/app/callback/page.js +2 -2
  435. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  436. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  437. package/app/.next/server/app/docs/page.js +3 -3
  438. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  439. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  440. package/app/.next/server/app/forbidden/page.js +2 -2
  441. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  442. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  443. package/app/.next/server/app/forgot-password/page.js +2 -2
  444. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  445. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  446. package/app/.next/server/app/landing/page.js +2 -2
  447. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  448. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  449. package/app/.next/server/app/login/page.js +2 -2
  450. package/app/.next/server/app/login/page.js.nft.json +1 -1
  451. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  452. package/app/.next/server/app/page.js +2 -2
  453. package/app/.next/server/app/page.js.nft.json +1 -1
  454. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  455. package/app/.next/server/app/privacy/page.js +2 -2
  456. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  457. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  458. package/app/.next/server/app/terms/page.js +2 -2
  459. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  460. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  461. package/app/.next/server/app-paths-manifest.json +30 -28
  462. package/app/.next/server/chunks/1248.js +1 -1
  463. package/app/.next/server/chunks/1308.js +1 -1
  464. package/app/.next/server/chunks/1526.js +1 -1
  465. package/app/.next/server/chunks/1584.js +1 -1
  466. package/app/.next/server/chunks/1623.js +1 -1
  467. package/app/.next/server/chunks/1880.js +1 -1
  468. package/app/.next/server/chunks/1960.js +1 -1
  469. package/app/.next/server/chunks/1990.js +1 -1
  470. package/app/.next/server/chunks/2180.js +1 -1
  471. package/app/.next/server/chunks/2214.js +1 -1
  472. package/app/.next/server/chunks/2372.js +1 -1
  473. package/app/.next/server/chunks/2594.js +1 -1
  474. package/app/.next/server/chunks/2767.js +1 -1
  475. package/app/.next/server/chunks/2901.js +2 -2
  476. package/app/.next/server/chunks/2910.js +1 -1
  477. package/app/.next/server/chunks/3371.js +1 -1
  478. package/app/.next/server/chunks/3447.js +1 -1
  479. package/app/.next/server/chunks/3498.js +1 -1
  480. package/app/.next/server/chunks/3596.js +1 -1
  481. package/app/.next/server/chunks/3801.js +2 -0
  482. package/app/.next/server/chunks/3911.js +1 -1
  483. package/app/.next/server/chunks/4488.js +1 -1
  484. package/app/.next/server/chunks/4568.js +1 -1
  485. package/app/.next/server/chunks/496.js +1 -1
  486. package/app/.next/server/chunks/5047.js +1 -1
  487. package/app/.next/server/chunks/5094.js +1 -1
  488. package/app/.next/server/chunks/5097.js +1 -1
  489. package/app/.next/server/chunks/5521.js +1 -1
  490. package/app/.next/server/chunks/5945.js +1 -1
  491. package/app/.next/server/chunks/6118.js +1 -1
  492. package/app/.next/server/chunks/6930.js +1 -1
  493. package/app/.next/server/chunks/7011.js +1 -1
  494. package/app/.next/server/chunks/708.js +1 -1
  495. package/app/.next/server/chunks/7109.js +1 -1
  496. package/app/.next/server/chunks/7230.js +2 -2
  497. package/app/.next/server/chunks/7650.js +1 -1
  498. package/app/.next/server/chunks/8020.js +3 -3
  499. package/app/.next/server/chunks/8220.js +1 -1
  500. package/app/.next/server/chunks/8464.js +1 -1
  501. package/app/.next/server/chunks/8706.js +1 -1
  502. package/app/.next/server/chunks/8976.js +1 -1
  503. package/app/.next/server/chunks/9119.js +1 -1
  504. package/app/.next/server/chunks/944.js +1 -1
  505. package/app/.next/server/chunks/9548.js +1 -0
  506. package/app/.next/server/chunks/9679.js +1 -0
  507. package/app/.next/server/chunks/9824.js +2 -2
  508. package/app/.next/server/chunks/9837.js +1 -1
  509. package/app/.next/server/middleware-build-manifest.js +1 -1
  510. package/app/.next/server/middleware.js +3 -3
  511. package/app/.next/server/next-font-manifest.js +1 -1
  512. package/app/.next/server/next-font-manifest.json +1 -1
  513. package/app/.next/server/pages/500.html +2 -2
  514. package/app/.next/server/server-reference-manifest.js +1 -1
  515. package/app/.next/server/server-reference-manifest.json +1 -1
  516. package/app/.next/static/a624rqqXG_QtNPqv8ZMWa/_buildManifest.js +1 -0
  517. package/app/.next/static/chunks/5846-1dad4fadf761e0d8.js +2 -0
  518. package/app/.next/static/chunks/{993-035473765d7d1871.js → 993-9f36b0b069ca090e.js} +2 -2
  519. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-ce5214cdf489c9df.js +1 -0
  520. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-52f76c7c91444ec2.js → page-20786f2c7fdbab57.js} +1 -1
  521. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-12d772841a253032.js +1 -0
  522. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c9b98846b8479f3f.js +1 -0
  523. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-5e34630a5dc32825.js +15 -0
  524. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-3dce7fccfcf177dd.js → page-85a3e6a423aceded.js} +1 -1
  525. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/{page-3ed2a7685adf9b91.js → page-cdb8071441476da9.js} +1 -1
  526. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-588b8bc3c4e631e0.js +1 -0
  527. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/{page-9a6519bf1468f16e.js → page-b480b3cb318782d7.js} +1 -1
  528. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-0ae1d6cc5fc4671f.js +1 -0
  529. package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-833d24f322a20f5a.js → page-ffdc1dcf074c7528.js} +1 -1
  530. package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-72b768421394b42c.js +1 -0
  531. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/{page-d424641c7e428be9.js → page-5378e9473a20cd6a.js} +1 -1
  532. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-5c87e49261a22fd5.js +1 -0
  533. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-6301a4ed902b878a.js +1 -0
  534. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b38f2d03bae8166a.js +1 -0
  535. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{error-2f0177a2197dd556.js → error-f0730d6d62d02e82.js} +1 -1
  536. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{loading-99ab4d478260d53b.js → loading-59cbccd6d5185ca9.js} +1 -1
  537. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-a7fb36872be60fe0.js +1 -0
  538. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-1f022385b812b987.js → page-40dc5ac82df708e9.js} +1 -1
  539. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{error-e844916e39172c8b.js → error-cc85c3ff1f63aea6.js} +1 -1
  540. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{loading-bb068659ee679ff4.js → loading-19fc771a287bcb4c.js} +1 -1
  541. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1550a2460948273c.js +1 -0
  542. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-f10a8d4bb8236913.js → page-cbe9b21b62bbc2bd.js} +1 -1
  543. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-83b07523f81d6282.js → page-534e13a69cb60a4f.js} +1 -1
  544. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-9cc99ab874fc36e7.js → page-86a076d820931a30.js} +1 -1
  545. package/app/.next/static/chunks/app/(dashboard)/{layout-00d5d56af65098a9.js → layout-16302e54f9ef3d0e.js} +1 -1
  546. package/app/.next/static/chunks/app/_global-error/page-6301a4ed902b878a.js +1 -0
  547. package/app/.next/static/chunks/app/_not-found/page-6301a4ed902b878a.js +1 -0
  548. package/app/.next/static/chunks/app/api/auth/login/route-6301a4ed902b878a.js +1 -0
  549. package/app/.next/static/chunks/app/api/auth/logout/route-6301a4ed902b878a.js +1 -0
  550. package/app/.next/static/chunks/app/api/auth/status/route-6301a4ed902b878a.js +1 -0
  551. package/app/.next/static/chunks/app/api/cache/route-6301a4ed902b878a.js +1 -0
  552. package/app/.next/static/chunks/app/api/cache/stats/route-6301a4ed902b878a.js +1 -0
  553. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6301a4ed902b878a.js +1 -0
  554. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-6301a4ed902b878a.js +1 -0
  555. package/app/.next/static/chunks/app/api/cli-tools/backups/route-6301a4ed902b878a.js +1 -0
  556. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-6301a4ed902b878a.js +1 -0
  557. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-6301a4ed902b878a.js +1 -0
  558. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-6301a4ed902b878a.js +1 -0
  559. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-6301a4ed902b878a.js +1 -0
  560. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-6301a4ed902b878a.js +1 -0
  561. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-6301a4ed902b878a.js +1 -0
  562. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-6301a4ed902b878a.js +1 -0
  563. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-6301a4ed902b878a.js +1 -0
  564. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-6301a4ed902b878a.js +1 -0
  565. package/app/.next/static/chunks/app/api/cli-tools/status/route-6301a4ed902b878a.js +1 -0
  566. package/app/.next/static/chunks/app/api/cloud/auth/route-6301a4ed902b878a.js +1 -0
  567. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-6301a4ed902b878a.js +1 -0
  568. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-6301a4ed902b878a.js +1 -0
  569. package/app/.next/static/chunks/app/api/cloud/models/alias/route-6301a4ed902b878a.js +1 -0
  570. package/app/.next/static/chunks/app/api/combos/[id]/route-6301a4ed902b878a.js +1 -0
  571. package/app/.next/static/chunks/app/api/combos/metrics/route-6301a4ed902b878a.js +1 -0
  572. package/app/.next/static/chunks/app/api/combos/route-6301a4ed902b878a.js +1 -0
  573. package/app/.next/static/chunks/app/api/combos/test/route-6301a4ed902b878a.js +1 -0
  574. package/app/.next/static/chunks/app/api/compliance/audit-log/route-6301a4ed902b878a.js +1 -0
  575. package/app/.next/static/chunks/app/api/db-backups/export/route-6301a4ed902b878a.js +1 -0
  576. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-6301a4ed902b878a.js +1 -0
  577. package/app/.next/static/chunks/app/api/db-backups/import/route-6301a4ed902b878a.js +1 -0
  578. package/app/.next/static/chunks/app/api/db-backups/route-6301a4ed902b878a.js +1 -0
  579. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-6301a4ed902b878a.js +1 -0
  580. package/app/.next/static/chunks/app/api/evals/route-6301a4ed902b878a.js +1 -0
  581. package/app/.next/static/chunks/app/api/fallback/chains/route-6301a4ed902b878a.js +1 -0
  582. package/app/.next/static/chunks/app/api/init/route-6301a4ed902b878a.js +1 -0
  583. package/app/.next/static/chunks/app/api/keys/[id]/route-6301a4ed902b878a.js +1 -0
  584. package/app/.next/static/chunks/app/api/keys/route-6301a4ed902b878a.js +1 -0
  585. package/app/.next/static/chunks/app/api/logs/console/route-6301a4ed902b878a.js +1 -0
  586. package/app/.next/static/chunks/app/api/models/alias/route-6301a4ed902b878a.js +1 -0
  587. package/app/.next/static/chunks/app/api/models/availability/route-6301a4ed902b878a.js +1 -0
  588. package/app/.next/static/chunks/app/api/models/catalog/route-6301a4ed902b878a.js +1 -0
  589. package/app/.next/static/chunks/app/api/models/route-6301a4ed902b878a.js +1 -0
  590. package/app/.next/static/chunks/app/api/monitoring/health/route-6301a4ed902b878a.js +1 -0
  591. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-6301a4ed902b878a.js +1 -0
  592. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-6301a4ed902b878a.js +1 -0
  593. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-6301a4ed902b878a.js +1 -0
  594. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-6301a4ed902b878a.js +1 -0
  595. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-6301a4ed902b878a.js +1 -0
  596. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-6301a4ed902b878a.js +1 -0
  597. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-6301a4ed902b878a.js +1 -0
  598. package/app/.next/static/chunks/app/api/policies/route-6301a4ed902b878a.js +1 -0
  599. package/app/.next/static/chunks/app/api/pricing/defaults/route-6301a4ed902b878a.js +1 -0
  600. package/app/.next/static/chunks/app/api/pricing/models/route-6301a4ed902b878a.js +1 -0
  601. package/app/.next/static/chunks/app/api/pricing/route-6301a4ed902b878a.js +1 -0
  602. package/app/.next/static/chunks/app/api/provider-metrics/route-6301a4ed902b878a.js +1 -0
  603. package/app/.next/static/chunks/app/api/provider-models/route-6301a4ed902b878a.js +1 -0
  604. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-6301a4ed902b878a.js +1 -0
  605. package/app/.next/static/chunks/app/api/provider-nodes/route-6301a4ed902b878a.js +1 -0
  606. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-6301a4ed902b878a.js +1 -0
  607. package/app/.next/static/chunks/app/api/providers/[id]/models/route-6301a4ed902b878a.js +1 -0
  608. package/app/.next/static/chunks/app/api/providers/[id]/route-6301a4ed902b878a.js +1 -0
  609. package/app/.next/static/chunks/app/api/providers/[id]/test/route-6301a4ed902b878a.js +1 -0
  610. package/app/.next/static/chunks/app/api/providers/client/route-6301a4ed902b878a.js +1 -0
  611. package/app/.next/static/chunks/app/api/providers/route-6301a4ed902b878a.js +1 -0
  612. package/app/.next/static/chunks/app/api/providers/test-batch/route-6301a4ed902b878a.js +1 -0
  613. package/app/.next/static/chunks/app/api/providers/validate/route-6301a4ed902b878a.js +1 -0
  614. package/app/.next/static/chunks/app/api/rate-limit/route-6301a4ed902b878a.js +1 -0
  615. package/app/.next/static/chunks/app/api/rate-limits/route-6301a4ed902b878a.js +1 -0
  616. package/app/.next/static/chunks/app/api/resilience/reset/route-6301a4ed902b878a.js +1 -0
  617. package/app/.next/static/chunks/app/api/resilience/route-6301a4ed902b878a.js +1 -0
  618. package/app/.next/static/chunks/app/api/restart/route-6301a4ed902b878a.js +1 -0
  619. package/app/.next/static/chunks/app/api/sessions/route-6301a4ed902b878a.js +1 -0
  620. package/app/.next/static/chunks/app/api/settings/background-degradation/route-6301a4ed902b878a.js +1 -0
  621. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-6301a4ed902b878a.js +1 -0
  622. package/app/.next/static/chunks/app/api/settings/ip-filter/route-6301a4ed902b878a.js +1 -0
  623. package/app/.next/static/chunks/app/api/settings/model-aliases/route-6301a4ed902b878a.js +1 -0
  624. package/app/.next/static/chunks/app/api/settings/proxy/route-6301a4ed902b878a.js +1 -0
  625. package/app/.next/static/chunks/app/api/settings/proxy/test/route-6301a4ed902b878a.js +1 -0
  626. package/app/.next/static/chunks/app/api/settings/require-login/route-6301a4ed902b878a.js +1 -0
  627. package/app/.next/static/chunks/app/api/settings/route-6301a4ed902b878a.js +1 -0
  628. package/app/.next/static/chunks/app/api/settings/system-prompt/route-6301a4ed902b878a.js +1 -0
  629. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-6301a4ed902b878a.js +1 -0
  630. package/app/.next/static/chunks/app/api/shutdown/route-6301a4ed902b878a.js +1 -0
  631. package/app/.next/static/chunks/app/api/storage/health/route-6301a4ed902b878a.js +1 -0
  632. package/app/.next/static/chunks/app/api/sync/cloud/route-6301a4ed902b878a.js +1 -0
  633. package/app/.next/static/chunks/app/api/sync/initialize/route-6301a4ed902b878a.js +1 -0
  634. package/app/.next/static/chunks/app/api/tags/route-6301a4ed902b878a.js +1 -0
  635. package/app/.next/static/chunks/app/api/telemetry/summary/route-6301a4ed902b878a.js +1 -0
  636. package/app/.next/static/chunks/app/api/token-health/route-6301a4ed902b878a.js +1 -0
  637. package/app/.next/static/chunks/app/api/translator/detect/route-6301a4ed902b878a.js +1 -0
  638. package/app/.next/static/chunks/app/api/translator/history/route-6301a4ed902b878a.js +1 -0
  639. package/app/.next/static/chunks/app/api/translator/load/route-6301a4ed902b878a.js +1 -0
  640. package/app/.next/static/chunks/app/api/translator/save/route-6301a4ed902b878a.js +1 -0
  641. package/app/.next/static/chunks/app/api/translator/send/route-6301a4ed902b878a.js +1 -0
  642. package/app/.next/static/chunks/app/api/translator/translate/route-6301a4ed902b878a.js +1 -0
  643. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-6301a4ed902b878a.js +1 -0
  644. package/app/.next/static/chunks/app/api/usage/analytics/route-6301a4ed902b878a.js +1 -0
  645. package/app/.next/static/chunks/app/api/usage/budget/route-6301a4ed902b878a.js +1 -0
  646. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-6301a4ed902b878a.js +1 -0
  647. package/app/.next/static/chunks/app/api/usage/call-logs/route-6301a4ed902b878a.js +1 -0
  648. package/app/.next/static/chunks/app/api/usage/history/route-6301a4ed902b878a.js +1 -0
  649. package/app/.next/static/chunks/app/api/usage/logs/route-6301a4ed902b878a.js +1 -0
  650. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-6301a4ed902b878a.js +1 -0
  651. package/app/.next/static/chunks/app/api/usage/request-logs/route-6301a4ed902b878a.js +1 -0
  652. package/app/.next/static/chunks/app/api/v1/api/chat/route-6301a4ed902b878a.js +1 -0
  653. package/app/.next/static/chunks/app/api/v1/audio/speech/route-6301a4ed902b878a.js +1 -0
  654. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-6301a4ed902b878a.js +1 -0
  655. package/app/.next/static/chunks/app/api/v1/chat/completions/route-6301a4ed902b878a.js +1 -0
  656. package/app/.next/static/chunks/app/api/v1/embeddings/route-6301a4ed902b878a.js +1 -0
  657. package/app/.next/static/chunks/app/api/v1/images/generations/route-6301a4ed902b878a.js +1 -0
  658. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-6301a4ed902b878a.js +1 -0
  659. package/app/.next/static/chunks/app/api/v1/messages/route-6301a4ed902b878a.js +1 -0
  660. package/app/.next/static/chunks/app/api/v1/models/route-6301a4ed902b878a.js +1 -0
  661. package/app/.next/static/chunks/app/api/v1/moderations/route-6301a4ed902b878a.js +1 -0
  662. package/app/.next/static/chunks/app/api/v1/music/generations/route-6301a4ed902b878a.js +1 -0
  663. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-6301a4ed902b878a.js +1 -0
  664. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-6301a4ed902b878a.js +1 -0
  665. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-6301a4ed902b878a.js +1 -0
  666. package/app/.next/static/chunks/app/api/v1/rerank/route-6301a4ed902b878a.js +1 -0
  667. package/app/.next/static/chunks/app/api/v1/responses/route-6301a4ed902b878a.js +1 -0
  668. package/app/.next/static/chunks/app/api/v1/route-6301a4ed902b878a.js +1 -0
  669. package/app/.next/static/chunks/app/api/v1/videos/generations/route-6301a4ed902b878a.js +1 -0
  670. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-6301a4ed902b878a.js +1 -0
  671. package/app/.next/static/chunks/app/api/v1beta/models/route-6301a4ed902b878a.js +1 -0
  672. package/app/.next/static/chunks/app/callback/{page-585a53f7dc6a30f1.js → page-0f0ebc0820dd18a5.js} +1 -1
  673. package/app/.next/static/chunks/app/docs/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  674. package/app/.next/static/chunks/app/{error-0d59fc4efafbc38c.js → error-f918d9961a2368d3.js} +1 -1
  675. package/app/.next/static/chunks/app/forbidden/page-77657dfa95e61cd8.js +1 -0
  676. package/app/.next/static/chunks/app/forgot-password/page-be3bacc125c30a6b.js +1 -0
  677. package/app/.next/static/chunks/app/global-error-504ff9093e2a997d.js +1 -0
  678. package/app/.next/static/chunks/app/landing/page-75b0c988db383cfc.js +1 -0
  679. package/app/.next/static/chunks/app/{layout-108592eafb959363.js → layout-070972eb026af319.js} +1 -1
  680. package/app/.next/static/chunks/app/login/{page-121c612ee459e7c2.js → page-6c769465e407368f.js} +1 -1
  681. package/app/.next/static/chunks/app/not-found-11b712c853d93172.js +1 -0
  682. package/app/.next/static/chunks/app/page-6301a4ed902b878a.js +1 -0
  683. package/app/.next/static/chunks/app/privacy/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  684. package/app/.next/static/chunks/app/terms/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  685. package/app/.next/static/chunks/{main-app-c9da11a8061df107.js → main-app-ae230f6bf51a5edb.js} +1 -1
  686. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-6301a4ed902b878a.js +1 -0
  687. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-6301a4ed902b878a.js +1 -0
  688. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6301a4ed902b878a.js +1 -0
  689. package/app/.next/static/css/bcd1741aee9d39ab.css +1 -0
  690. package/app/package.json +1 -1
  691. package/app/server.js +1 -1
  692. package/package.json +1 -1
  693. package/app/.next/server/chunks/5248.js +0 -1
  694. package/app/.next/server/chunks/5393.js +0 -2
  695. package/app/.next/static/chunks/5846-9e0f1f3afcbfb08c.js +0 -2
  696. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6f1750506292c630.js +0 -1
  697. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +0 -1
  698. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +0 -1
  699. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-77ab26722f5c56c7.js +0 -15
  700. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-1420c3ca376f1585.js +0 -1
  701. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +0 -1
  702. package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-1d0ca9b5d3eaf7cd.js +0 -1
  703. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +0 -1
  704. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-cab2fb7f592d3c36.js +0 -1
  705. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +0 -1
  706. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +0 -1
  707. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1393d4935fc087cf.js +0 -1
  708. package/app/.next/static/chunks/app/_global-error/page-cab2fb7f592d3c36.js +0 -1
  709. package/app/.next/static/chunks/app/_not-found/page-cab2fb7f592d3c36.js +0 -1
  710. package/app/.next/static/chunks/app/api/auth/login/route-cab2fb7f592d3c36.js +0 -1
  711. package/app/.next/static/chunks/app/api/auth/logout/route-cab2fb7f592d3c36.js +0 -1
  712. package/app/.next/static/chunks/app/api/auth/status/route-cab2fb7f592d3c36.js +0 -1
  713. package/app/.next/static/chunks/app/api/cache/route-cab2fb7f592d3c36.js +0 -1
  714. package/app/.next/static/chunks/app/api/cache/stats/route-cab2fb7f592d3c36.js +0 -1
  715. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-cab2fb7f592d3c36.js +0 -1
  716. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-cab2fb7f592d3c36.js +0 -1
  717. package/app/.next/static/chunks/app/api/cli-tools/backups/route-cab2fb7f592d3c36.js +0 -1
  718. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-cab2fb7f592d3c36.js +0 -1
  719. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-cab2fb7f592d3c36.js +0 -1
  720. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-cab2fb7f592d3c36.js +0 -1
  721. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-cab2fb7f592d3c36.js +0 -1
  722. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-cab2fb7f592d3c36.js +0 -1
  723. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-cab2fb7f592d3c36.js +0 -1
  724. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-cab2fb7f592d3c36.js +0 -1
  725. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-cab2fb7f592d3c36.js +0 -1
  726. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-cab2fb7f592d3c36.js +0 -1
  727. package/app/.next/static/chunks/app/api/cli-tools/status/route-cab2fb7f592d3c36.js +0 -1
  728. package/app/.next/static/chunks/app/api/cloud/auth/route-cab2fb7f592d3c36.js +0 -1
  729. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-cab2fb7f592d3c36.js +0 -1
  730. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-cab2fb7f592d3c36.js +0 -1
  731. package/app/.next/static/chunks/app/api/cloud/models/alias/route-cab2fb7f592d3c36.js +0 -1
  732. package/app/.next/static/chunks/app/api/combos/[id]/route-cab2fb7f592d3c36.js +0 -1
  733. package/app/.next/static/chunks/app/api/combos/metrics/route-cab2fb7f592d3c36.js +0 -1
  734. package/app/.next/static/chunks/app/api/combos/route-cab2fb7f592d3c36.js +0 -1
  735. package/app/.next/static/chunks/app/api/combos/test/route-cab2fb7f592d3c36.js +0 -1
  736. package/app/.next/static/chunks/app/api/compliance/audit-log/route-cab2fb7f592d3c36.js +0 -1
  737. package/app/.next/static/chunks/app/api/db-backups/export/route-cab2fb7f592d3c36.js +0 -1
  738. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-cab2fb7f592d3c36.js +0 -1
  739. package/app/.next/static/chunks/app/api/db-backups/import/route-cab2fb7f592d3c36.js +0 -1
  740. package/app/.next/static/chunks/app/api/db-backups/route-cab2fb7f592d3c36.js +0 -1
  741. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-cab2fb7f592d3c36.js +0 -1
  742. package/app/.next/static/chunks/app/api/evals/route-cab2fb7f592d3c36.js +0 -1
  743. package/app/.next/static/chunks/app/api/fallback/chains/route-cab2fb7f592d3c36.js +0 -1
  744. package/app/.next/static/chunks/app/api/init/route-cab2fb7f592d3c36.js +0 -1
  745. package/app/.next/static/chunks/app/api/keys/[id]/route-cab2fb7f592d3c36.js +0 -1
  746. package/app/.next/static/chunks/app/api/keys/route-cab2fb7f592d3c36.js +0 -1
  747. package/app/.next/static/chunks/app/api/logs/console/route-cab2fb7f592d3c36.js +0 -1
  748. package/app/.next/static/chunks/app/api/models/alias/route-cab2fb7f592d3c36.js +0 -1
  749. package/app/.next/static/chunks/app/api/models/availability/route-cab2fb7f592d3c36.js +0 -1
  750. package/app/.next/static/chunks/app/api/models/catalog/route-cab2fb7f592d3c36.js +0 -1
  751. package/app/.next/static/chunks/app/api/models/route-cab2fb7f592d3c36.js +0 -1
  752. package/app/.next/static/chunks/app/api/monitoring/health/route-cab2fb7f592d3c36.js +0 -1
  753. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-cab2fb7f592d3c36.js +0 -1
  754. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-cab2fb7f592d3c36.js +0 -1
  755. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-cab2fb7f592d3c36.js +0 -1
  756. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-cab2fb7f592d3c36.js +0 -1
  757. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-cab2fb7f592d3c36.js +0 -1
  758. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-cab2fb7f592d3c36.js +0 -1
  759. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-cab2fb7f592d3c36.js +0 -1
  760. package/app/.next/static/chunks/app/api/policies/route-cab2fb7f592d3c36.js +0 -1
  761. package/app/.next/static/chunks/app/api/pricing/defaults/route-cab2fb7f592d3c36.js +0 -1
  762. package/app/.next/static/chunks/app/api/pricing/models/route-cab2fb7f592d3c36.js +0 -1
  763. package/app/.next/static/chunks/app/api/pricing/route-cab2fb7f592d3c36.js +0 -1
  764. package/app/.next/static/chunks/app/api/provider-metrics/route-cab2fb7f592d3c36.js +0 -1
  765. package/app/.next/static/chunks/app/api/provider-models/route-cab2fb7f592d3c36.js +0 -1
  766. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-cab2fb7f592d3c36.js +0 -1
  767. package/app/.next/static/chunks/app/api/provider-nodes/route-cab2fb7f592d3c36.js +0 -1
  768. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-cab2fb7f592d3c36.js +0 -1
  769. package/app/.next/static/chunks/app/api/providers/[id]/models/route-cab2fb7f592d3c36.js +0 -1
  770. package/app/.next/static/chunks/app/api/providers/[id]/route-cab2fb7f592d3c36.js +0 -1
  771. package/app/.next/static/chunks/app/api/providers/[id]/test/route-cab2fb7f592d3c36.js +0 -1
  772. package/app/.next/static/chunks/app/api/providers/client/route-cab2fb7f592d3c36.js +0 -1
  773. package/app/.next/static/chunks/app/api/providers/route-cab2fb7f592d3c36.js +0 -1
  774. package/app/.next/static/chunks/app/api/providers/test-batch/route-cab2fb7f592d3c36.js +0 -1
  775. package/app/.next/static/chunks/app/api/providers/validate/route-cab2fb7f592d3c36.js +0 -1
  776. package/app/.next/static/chunks/app/api/rate-limit/route-cab2fb7f592d3c36.js +0 -1
  777. package/app/.next/static/chunks/app/api/rate-limits/route-cab2fb7f592d3c36.js +0 -1
  778. package/app/.next/static/chunks/app/api/resilience/reset/route-cab2fb7f592d3c36.js +0 -1
  779. package/app/.next/static/chunks/app/api/resilience/route-cab2fb7f592d3c36.js +0 -1
  780. package/app/.next/static/chunks/app/api/restart/route-cab2fb7f592d3c36.js +0 -1
  781. package/app/.next/static/chunks/app/api/sessions/route-cab2fb7f592d3c36.js +0 -1
  782. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-cab2fb7f592d3c36.js +0 -1
  783. package/app/.next/static/chunks/app/api/settings/ip-filter/route-cab2fb7f592d3c36.js +0 -1
  784. package/app/.next/static/chunks/app/api/settings/proxy/route-cab2fb7f592d3c36.js +0 -1
  785. package/app/.next/static/chunks/app/api/settings/proxy/test/route-cab2fb7f592d3c36.js +0 -1
  786. package/app/.next/static/chunks/app/api/settings/require-login/route-cab2fb7f592d3c36.js +0 -1
  787. package/app/.next/static/chunks/app/api/settings/route-cab2fb7f592d3c36.js +0 -1
  788. package/app/.next/static/chunks/app/api/settings/system-prompt/route-cab2fb7f592d3c36.js +0 -1
  789. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-cab2fb7f592d3c36.js +0 -1
  790. package/app/.next/static/chunks/app/api/shutdown/route-cab2fb7f592d3c36.js +0 -1
  791. package/app/.next/static/chunks/app/api/storage/health/route-cab2fb7f592d3c36.js +0 -1
  792. package/app/.next/static/chunks/app/api/sync/cloud/route-cab2fb7f592d3c36.js +0 -1
  793. package/app/.next/static/chunks/app/api/sync/initialize/route-cab2fb7f592d3c36.js +0 -1
  794. package/app/.next/static/chunks/app/api/tags/route-cab2fb7f592d3c36.js +0 -1
  795. package/app/.next/static/chunks/app/api/telemetry/summary/route-cab2fb7f592d3c36.js +0 -1
  796. package/app/.next/static/chunks/app/api/token-health/route-cab2fb7f592d3c36.js +0 -1
  797. package/app/.next/static/chunks/app/api/translator/detect/route-cab2fb7f592d3c36.js +0 -1
  798. package/app/.next/static/chunks/app/api/translator/history/route-cab2fb7f592d3c36.js +0 -1
  799. package/app/.next/static/chunks/app/api/translator/load/route-cab2fb7f592d3c36.js +0 -1
  800. package/app/.next/static/chunks/app/api/translator/save/route-cab2fb7f592d3c36.js +0 -1
  801. package/app/.next/static/chunks/app/api/translator/send/route-cab2fb7f592d3c36.js +0 -1
  802. package/app/.next/static/chunks/app/api/translator/translate/route-cab2fb7f592d3c36.js +0 -1
  803. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-cab2fb7f592d3c36.js +0 -1
  804. package/app/.next/static/chunks/app/api/usage/analytics/route-cab2fb7f592d3c36.js +0 -1
  805. package/app/.next/static/chunks/app/api/usage/budget/route-cab2fb7f592d3c36.js +0 -1
  806. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-cab2fb7f592d3c36.js +0 -1
  807. package/app/.next/static/chunks/app/api/usage/call-logs/route-cab2fb7f592d3c36.js +0 -1
  808. package/app/.next/static/chunks/app/api/usage/history/route-cab2fb7f592d3c36.js +0 -1
  809. package/app/.next/static/chunks/app/api/usage/logs/route-cab2fb7f592d3c36.js +0 -1
  810. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-cab2fb7f592d3c36.js +0 -1
  811. package/app/.next/static/chunks/app/api/usage/request-logs/route-cab2fb7f592d3c36.js +0 -1
  812. package/app/.next/static/chunks/app/api/v1/api/chat/route-cab2fb7f592d3c36.js +0 -1
  813. package/app/.next/static/chunks/app/api/v1/audio/speech/route-cab2fb7f592d3c36.js +0 -1
  814. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-cab2fb7f592d3c36.js +0 -1
  815. package/app/.next/static/chunks/app/api/v1/chat/completions/route-cab2fb7f592d3c36.js +0 -1
  816. package/app/.next/static/chunks/app/api/v1/embeddings/route-cab2fb7f592d3c36.js +0 -1
  817. package/app/.next/static/chunks/app/api/v1/images/generations/route-cab2fb7f592d3c36.js +0 -1
  818. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-cab2fb7f592d3c36.js +0 -1
  819. package/app/.next/static/chunks/app/api/v1/messages/route-cab2fb7f592d3c36.js +0 -1
  820. package/app/.next/static/chunks/app/api/v1/models/route-cab2fb7f592d3c36.js +0 -1
  821. package/app/.next/static/chunks/app/api/v1/moderations/route-cab2fb7f592d3c36.js +0 -1
  822. package/app/.next/static/chunks/app/api/v1/music/generations/route-cab2fb7f592d3c36.js +0 -1
  823. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-cab2fb7f592d3c36.js +0 -1
  824. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-cab2fb7f592d3c36.js +0 -1
  825. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-cab2fb7f592d3c36.js +0 -1
  826. package/app/.next/static/chunks/app/api/v1/rerank/route-cab2fb7f592d3c36.js +0 -1
  827. package/app/.next/static/chunks/app/api/v1/responses/route-cab2fb7f592d3c36.js +0 -1
  828. package/app/.next/static/chunks/app/api/v1/route-cab2fb7f592d3c36.js +0 -1
  829. package/app/.next/static/chunks/app/api/v1/videos/generations/route-cab2fb7f592d3c36.js +0 -1
  830. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-cab2fb7f592d3c36.js +0 -1
  831. package/app/.next/static/chunks/app/api/v1beta/models/route-cab2fb7f592d3c36.js +0 -1
  832. package/app/.next/static/chunks/app/forbidden/page-df886dfa2d5bd9fa.js +0 -1
  833. package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +0 -1
  834. package/app/.next/static/chunks/app/global-error-41eef2a698918fc1.js +0 -1
  835. package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +0 -1
  836. package/app/.next/static/chunks/app/not-found-1dbd8c3e506fe00f.js +0 -1
  837. package/app/.next/static/chunks/app/page-cab2fb7f592d3c36.js +0 -1
  838. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-cab2fb7f592d3c36.js +0 -1
  839. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-cab2fb7f592d3c36.js +0 -1
  840. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cab2fb7f592d3c36.js +0 -1
  841. package/app/.next/static/css/b77490a14619ffbb.css +0 -1
  842. package/app/.next/static/ozfkuTtQLl3_rnlOdkSZi/_buildManifest.js +0 -1
  843. /package/app/.next/static/{ozfkuTtQLl3_rnlOdkSZi → a624rqqXG_QtNPqv8ZMWa}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=2214,exports.ids=[2214],exports.modules={22214:a=>{a.exports=JSON.parse('{"common":{"save":"Lưu","cancel":"Hủy bỏ","delete":"X\xf3a","loading":"Đang tải...","error":"Đ\xe3 xảy ra lỗi","success":"th\xe0nh c\xf4ng","confirm":"Bạn c\xf3 chắc kh\xf4ng?","refresh":"L\xe0m mới","close":"Đ\xf3ng","add":"Th\xeam","edit":"Chỉnh sửa","search":"T\xecm kiếm","back":"Quay lại","next":"Tiếp theo","submit":"Gửi","reset":"Đặt lại","copy":"Sao ch\xe9p","copied":"Đ\xe3 sao ch\xe9p!","enabled":"Đ\xe3 bật","disabled":"Đ\xe3 tắt","active":"Đang hoạt động","inactive":"Kh\xf4ng hoạt động","noData":"Kh\xf4ng c\xf3 sẵn dữ liệu","configure":"Cấu h\xecnh","manage":"Quản l\xfd","name":"T\xean","actions":"h\xe0nh động","status":"Trạng th\xe1i","type":"loại","model":"người mẫu","models":"m\xf4 h\xecnh","provider":"nh\xe0 cung cấp","account":"T\xe0i khoản","time":"thời gian","details":"Chi tiết","created":"Đ\xe3 tạo","lastUsed":"Được sử dụng lần cuối","loadMore":"Tải th\xeam","noResults":"Kh\xf4ng t\xecm thấy kết quả n\xe0o","reloadPage":"Tải lại trang","connected":"Đ\xe3 kết nối","disconnected":"Đ\xe3 ngắt kết nối","notConfigured":"Chưa được định cấu h\xecnh","testConnection":"Kiểm tra kết nối","enable":"K\xedch hoạt","disable":"V\xf4 hiệu h\xf3a","columns":"Cột","newest":"Mới nhất","oldest":"Cũ nhất","all":"Tất cả","none":"kh\xf4ng c\xf3","yes":"C\xf3","no":"Kh\xf4ng","warning":"Cảnh b\xe1o","note":"Lưu \xfd","free":"miễn ph\xed","skipToContent":"Chuyển đến nội dung"},"sidebar":{"home":"Trang chủ","dashboard":"Trang tổng quan","providers":"Nh\xe0 cung cấp","combos":"Combo","usage":"C\xe1ch sử dụng","analytics":"Ph\xe2n t\xedch","costs":"Chi ph\xed","health":"sức khỏe","limits":"Giới hạn & hạn ngạch","cliTools":"C\xf4ng cụ CLI","settings":"C\xe0i đặt","translator":"Người phi\xean dịch","docs":"T\xe0i liệu","issues":"vấn đề","endpoint":"Điểm cuối","apiManager":"Tr\xecnh quản l\xfd API","logs":"Nhật k\xfd","auditLog":"Nhật k\xfd kiểm tra","shutdown":"Tắt m\xe1y","restart":"Khởi động lại","shutdownConfirm":"Tắt OmniRoute?","restartConfirm":"Khởi động lại OmniRoute?","version":"v{version}","debug":"Gỡ lỗi","system":"Hệ thống","help":"Trợ gi\xfap","serverDisconnected":"M\xe1y chủ bị ngắt kết nối","serverDisconnectedMsg":"M\xe1y chủ proxy đ\xe3 bị dừng hoặc đang khởi động lại.","expandSidebar":"Mở rộng thanh b\xean","collapseSidebar":"Thu gọn thanh b\xean"},"header":{"logout":"Đăng xuất","language":"Ng\xf4n ngữ","providers":"Nh\xe0 cung cấp","providerDescription":"Quản l\xfd kết nối nh\xe0 cung cấp AI của bạn","combos":"Combo","comboDescription":"Kết hợp m\xf4 h\xecnh với dự ph\xf2ng","usage":"C\xe1ch sử dụng & ph\xe2n t\xedch","usageDescription":"Gi\xe1m s\xe1t việc sử dụng API, mức ti\xeau thụ m\xe3 th\xf4ng b\xe1o v\xe0 nhật k\xfd y\xeau cầu của bạn","analytics":"Ph\xe2n t\xedch","analyticsDescription":"Biểu đồ, xu hướng v\xe0 th\xf4ng tin đ\xe1nh gi\xe1","cliTools":"C\xf4ng cụ CLI","cliToolsDescription":"Định cấu h\xecnh c\xf4ng cụ CLI","home":"Trang chủ","homeDescription":"Ch\xe0o mừng đến với OmniRoute","endpoint":"Điểm cuối","endpointDescription":"Cấu h\xecnh điểm cuối API","settings":"C\xe0i đặt","settingsDescription":"Quản l\xfd t\xf9y chọn của bạn","openaiCompatible":"Tương th\xedch OpenAI","anthropicCompatible":"Tương th\xedch với con người"},"home":{"quickStart":"Bắt đầu nhanh","quickStartDesc":"H\xe3y đứng dậy v\xe0 chạy trong 4 bước. Kết nối nh\xe0 cung cấp, m\xf4 h\xecnh định tuyến, gi\xe1m s\xe1t mọi thứ.","fullDocs":"T\xe0i liệu đầy đủ","step1Title":"1. Tạo kh\xf3a API","step1Desc":"Đi tới <endpoint>Endpoint</endpoint> -> Kh\xf3a đ\xe3 đăng k\xfd. Tạo một kh\xf3a cho mỗi m\xf4i trường.","step2Title":"2. Kết nối nh\xe0 cung cấp","step2Desc":"Th\xeam t\xe0i khoản trong <providers>Providers</providers>. Hỗ trợ OAuth, Kh\xf3a API v\xe0 c\xe1c cấp miễn ph\xed.","step3Title":"3. Chỉ v\xe0o kh\xe1ch h\xe0ng của bạn","step3Desc":"Đặt URL cơ sở th\xe0nh {url} trong ứng dụng kh\xe1ch IDE hoặc API của bạn.","step4Title":"4. Gi\xe1m s\xe1t & tối ưu h\xf3a","step4Desc":"Theo d\xf5i m\xe3 th\xf4ng b\xe1o, chi ph\xed v\xe0 lỗi trong <logs>Nhật k\xfd y\xeau cầu</logs> v\xe0 <analytics>Analytics</analytics>.","providersOverview":"Tổng quan về nh\xe0 cung cấp","configuredOf":"{configured} được định cấu h\xecnh của {total} nh\xe0 cung cấp hiện c\xf3","noModelsAvailable":"Kh\xf4ng c\xf3 m\xf4 h\xecnh c\xf3 sẵn cho nh\xe0 cung cấp n\xe0y.","configureFirst":"Trước ti\xean h\xe3y định cấu h\xecnh kết nối trong {providers}","configureProvider":"Định cấu h\xecnh nh\xe0 cung cấp","modelAvailable":"C\xf3 mẫu {count}","modelsAvailable":"C\xf3 sẵn mẫu {count}","connectionsActive":"{count} kết nối đang hoạt động","connectionsActivePlural":"{count} kết nối đang hoạt động","copyModelName":"Sao ch\xe9p t\xean mẫu","documentation":"T\xe0i liệu","healthMonitor":"Theo d\xf5i sức khỏe","reportIssue":"B\xe1o c\xe1o vấn đề","activeError":"{active} đang hoạt động \xb7 Lỗi {errors}","oauthLabel":"OAuth","apiKeyLabel":"Kh\xf3a API","requestsShort":"{count} y\xeau cầu","providerModelsTitle":"{provider} - Người mẫu","copiedModel":"Đ\xe3 sao ch\xe9p: {model}","aliasLabel":"b\xed danh"},"analytics":{"title":"Ph\xe2n t\xedch","overviewDescription":"Gi\xe1m s\xe1t m\xf4 h\xecnh sử dụng API, mức ti\xeau thụ m\xe3 th\xf4ng b\xe1o, chi ph\xed v\xe0 xu hướng hoạt động của bạn tr\xean tất cả c\xe1c nh\xe0 cung cấp v\xe0 m\xf4 h\xecnh.","evalsDescription":"Chạy bộ đ\xe1nh gi\xe1 để kiểm tra v\xe0 x\xe1c thực điểm cuối LLM của bạn. So s\xe1nh chất lượng m\xf4 h\xecnh, ph\xe1t hiện hồi quy v\xe0 độ trễ điểm chuẩn.","overview":"Tổng quan","evals":"Đ\xe1nh gi\xe1"},"apiManager":{"title":"Kh\xf3a API","createKey":"Tạo kh\xf3a API","key":"Ch\xeca kh\xf3a","revokeKey":"Thu hồi kh\xf3a","revokeConfirm":"Bạn c\xf3 chắc chắn muốn thu hồi kh\xf3a API n\xe0y kh\xf4ng?","noKeys":"Chưa c\xf3 kh\xf3a API n\xe0o","noKeysDesc":"Tạo kh\xf3a API đầu ti\xean để x\xe1c thực c\xe1c y\xeau cầu tới điểm cuối của bạn","keyLabel":"Nh\xe3n kh\xf3a","permissions":"Quyền","expiresAt":"Hết hạn","never":"kh\xf4ng bao giờ","revoke":"Thu hồi","showKey":"Hiển thị kh\xf3a","hideKey":"Ẩn ph\xedm","copyKey":"Sao ch\xe9p kh\xf3a API","allModels":"Tất cả c\xe1c m\xf4 h\xecnh","selectedModels":"C\xe1c mẫu đ\xe3 chọn","readOnly":"Chỉ đọc","fullAccess":"To\xe0n quyền truy cập","keyManagement":"Quản l\xfd kh\xf3a API","keyManagementDesc":"Tạo v\xe0 quản l\xfd kh\xf3a API để x\xe1c thực c\xe1c y\xeau cầu tới điểm cuối của bạn","totalKeys":"Tổng số ph\xedm","restricted":"Bị hạn chế","totalRequests":"Tổng số y\xeau cầu","modelsAvailable":"C\xe1c mẫu c\xf3 sẵn","registeredKeys":"Kh\xf3a đ\xe3 đăng k\xfd","keysRegistered":"{count} kh\xf3a đ\xe3 được đăng k\xfd","keyRegistered":"Đ\xe3 đăng k\xfd kh\xf3a {count}","keysSecurityNote":"Mỗi kh\xf3a t\xe1ch biệt việc theo d\xf5i việc sử dụng v\xe0 c\xf3 thể được thu hồi một c\xe1ch độc lập. C\xe1c kh\xf3a được che dấu sau khi tạo để bảo mật.","createFirstKey":"Tạo ch\xeca kh\xf3a đầu ti\xean của bạn","name":"T\xean","usage":"C\xe1ch sử dụng","created":"Đ\xe3 tạo","actions":"h\xe0nh động","reqs":"y\xeau cầu","neverUsed":"Chưa bao giờ sử dụng","deleteConfirm":"X\xf3a kh\xf3a API n\xe0y?","usageTips":"Mẹo sử dụng","tipAuth":"Sử dụng c\xe1c kh\xf3a API trong ti\xeau đề Cấp ph\xe9p l\xe0m Người ghi t\xean YOUR_KEY","tipSecure":"Kh\xf3a chỉ được hiển thị một lần trong qu\xe1 tr\xecnh tạo — h\xe3y lưu trữ ch\xfang một c\xe1ch an to\xe0n","tipSeparate":"Tạo kh\xf3a ri\xeang cho c\xe1c m\xe1y kh\xe1ch hoặc m\xf4i trường kh\xe1c nhau","tipRestrict":"Hạn chế kh\xf3a cho c\xe1c kiểu m\xe1y cụ thể để bảo mật tốt hơn v\xe0 kiểm so\xe1t chi ph\xed","keyName":"T\xean kh\xf3a","keyNamePlaceholder":"v\xed dụ: Kh\xf3a sản xuất, Kh\xf3a ph\xe1t triển","keyNameDesc":"Chọn t\xean m\xf4 tả để x\xe1c định mục đ\xedch của kh\xf3a n\xe0y","keyCreated":"Đ\xe3 tạo kh\xf3a API","keyCreatedSuccess":"Đ\xe3 tạo kh\xf3a th\xe0nh c\xf4ng!","keyCreatedNote":"Sao ch\xe9p v\xe0 lưu trữ kh\xf3a n\xe0y ngay b\xe2y giờ — n\xf3 sẽ kh\xf4ng được hiển thị lại.","done":"Xong","savePermissions":"Lưu quyền","allowAll":"Cho ph\xe9p tất cả","restrict":"hạn chế","allowAllInfo":"Ch\xeca kh\xf3a n\xe0y c\xf3 thể truy cập v\xe0o tất cả c\xe1c m\xf4 h\xecnh c\xf3 sẵn.","restrictInfo":"Kh\xf3a n\xe0y c\xf3 thể truy cập {selected} trong số {total} m\xf4 h\xecnh.","selected":"{count} đ\xe3 chọn","all":"Tất cả","clear":"X\xf3a","searchModels":"T\xecm kiếm m\xf4 h\xecnh theo t\xean hoặc nh\xe0 cung cấp...","noModelsFound":"Kh\xf4ng t\xecm thấy m\xf4 h\xecnh n\xe0o","keyNameRequired":"T\xean kh\xf3a l\xe0 bắt buộc","keyNameTooLong":"T\xean kh\xf3a phải c\xf3 {max} k\xfd tự trở xuống","keyNameInvalid":"T\xean kh\xf3a chỉ c\xf3 thể chứa chữ c\xe1i, số, dấu c\xe1ch, dấu gạch ngang v\xe0 dấu gạch dưới","invalidKeyName":"T\xean kh\xf3a kh\xf4ng hợp lệ","failedCreateKey":"Kh\xf4ng tạo được kh\xf3a","failedCreateKeyRetry":"Kh\xf4ng tạo được kh\xf3a. Vui l\xf2ng thử lại.","invalidKeyId":"ID kh\xf3a kh\xf4ng hợp lệ","failedDeleteKey":"Kh\xf4ng thể x\xf3a kh\xf3a","failedDeleteKeyRetry":"Kh\xf4ng thể x\xf3a kh\xf3a. Vui l\xf2ng thử lại.","invalidModelsSelection":"Lựa chọn m\xf4 h\xecnh kh\xf4ng hợp lệ","cannotSelectMoreThanModels":"Kh\xf4ng thể chọn nhiều hơn {max} mẫu","failedUpdatePermissions":"Kh\xf4ng cập nhật được quyền","failedUpdatePermissionsRetry":"Kh\xf4ng cập nhật được quyền. Vui l\xf2ng thử lại.","unknownProvider":"kh\xf4ng r\xf5","copyMaskedKey":"Sao ch\xe9p kh\xf3a bị che","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Cuối c\xf9ng: {date}","editPermissions":"Chỉnh sửa quyền","deleteKey":"X\xf3a ph\xedm","model":"{count} m\xf4 h\xecnh","models":"{count} m\xf4 h\xecnh","permissionsTitle":"Quyền: {name}","allowAllDesc":"Ch\xeca kh\xf3a n\xe0y c\xf3 thể truy cập v\xe0o tất cả c\xe1c m\xf4 h\xecnh c\xf3 sẵn.","restrictDesc":"Kh\xf3a n\xe0y c\xf3 thể truy cập {selectedCount} trong số {totalModels} m\xf4 h\xecnh.","selectedCount":"{count} đ\xe3 chọn"},"auditLog":{"title":"Nhật k\xfd kiểm tra","searchPlaceholder":"H\xe0nh động t\xecm kiếm...","action":"h\xe0nh động","actor":"diễn vi\xean","target":"Mục ti\xeau","ipAddress":"Địa chỉ IP","timestamp":"Dấu thời gian","noEntries":"Kh\xf4ng t\xecm thấy mục kiểm tra n\xe0o","filterByAction":"Lọc theo h\xe0nh động...","filterByActor":"Lọc theo diễn vi\xean...","filterEntriesAria":"Lọc c\xe1c mục nhật k\xfd kiểm tra","filterByActionTypeAria":"Lọc theo loại h\xe0nh động","filterByActorAria":"Lọc theo diễn vi\xean","refreshAuditLogAria":"L\xe0m mới nhật k\xfd kiểm tra","tableAria":"Mục nhật k\xfd kiểm tra","failedFetchAuditLog":"Kh\xf4ng t\xecm nạp được nhật k\xfd kiểm tra","notAvailable":"—","description":"H\xe0nh động h\xe0nh ch\xednh v\xe0 sự kiện bảo mật","showing":"Hiển thị c\xe1c mục {count} (b\xf9 đắp {offset})","previous":"trước đ\xf3"},"cliTools":{"title":"C\xf4ng cụ CLI","noActiveProviders":"Kh\xf4ng c\xf3 nh\xe0 cung cấp đang hoạt động","noActiveProvidersDesc":"Trước ti\xean, vui l\xf2ng th\xeam v\xe0 kết nối nh\xe0 cung cấp để định cấu h\xecnh c\xf4ng cụ CLI.","mapModels":"M\xf4 h\xecnh bản đồ","testConnection":"Kiểm tra kết nối","connectionStatus":"Trạng th\xe1i kết nối","configureEndpoint":"Định cấu h\xecnh điểm cuối","instructions":"Hướng dẫn","modelMapping":"\xc1nh xạ m\xf4 h\xecnh","baseUrl":"URL cơ sở","apiKey":"Kh\xf3a API","configured":"Đ\xe3 định cấu h\xecnh","notConfigured":"Chưa được định cấu h\xecnh","notInstalled":"Chưa được c\xe0i đặt","custom":"t\xf9y chỉnh","unknown":"Kh\xf4ng x\xe1c định","lastSavedAt":"Đ\xe3 lưu lần cuối: {date}","never":"kh\xf4ng bao giờ","justNow":"ngay b\xe2y giờ","minutesAgoShort":"{count} ph\xfat trước","hoursAgoShort":"{count} giờ trước","daysAgoShort":"{count}ng\xe0y trước","monthsAgoShort":"{count}th\xe1ng trước","yearsAgoShort":"{count} năm trước","runtimeCheckFailed":"Kiểm tra thời gian chạy kh\xf4ng th\xe0nh c\xf4ng","yourApiKeyPlaceholder":"kh\xf3a-api-của bạn","modelPlaceholder":"nh\xe0 cung cấp/id m\xf4 h\xecnh","configurationSaved":"Đ\xe3 lưu cấu h\xecnh th\xe0nh c\xf4ng.","failedToSave":"Kh\xf4ng lưu được cấu h\xecnh.","noApiKeysCreateOne":"Kh\xf4ng c\xf3 kh\xf3a API - Tạo một kh\xf3a trong trang Kh\xf3a","defaultOmnirouteKey":"sk_omniroute (mặc định)","selectModel":"Chọn mẫu","selectModelForAlias":"Chọn kiểu m\xe1y cho {alias}","selectModelForTool":"Chọn mẫu cho {tool}","select":"chọn","clear":"X\xf3a","comingSoon":"Sắp c\xf3","checkingRuntime":"Đang kiểm tra trạng th\xe1i thời gian chạy...","guideOnlyIntegration":"T\xedch hợp chỉ c\xf3 hướng dẫn (kh\xf4ng y\xeau cầu thời gian chạy cục bộ)","cliRuntimeDetected":"Đ\xe3 ph\xe1t hiện v\xe0 sẵn s\xe0ng thời gian chạy CLI","cliFoundNotRunnable":"Đ\xe3 t\xecm thấy CLI nhưng kh\xf4ng thể chạy được{reason}","cliRuntimeNotDetected":"Thời gian chạy CLI kh\xf4ng được ph\xe1t hiện","binary":"nhị ph\xe2n","configPath":"Đường dẫn cấu h\xecnh","configPathShort":"Cấu h\xecnh","failedCheckRuntimeStatus":"Kh\xf4ng thể kiểm tra trạng th\xe1i thời gian chạy.","copy":"Sao ch\xe9p","copied":"Đ\xe3 sao ch\xe9p","copyConfig":"Sao ch\xe9p cấu h\xecnh","saveConfig":"Lưu cấu h\xecnh","selectionSaved":"Đ\xe3 lưu lựa chọn","guide":"hướng dẫn","detected":"Đ\xe3 ph\xe1t hiện","notReady":"Chưa sẵn s\xe0ng","active":"Đang hoạt động","inactive":"Kh\xf4ng hoạt động","startMitm":"Bắt đầu MITM","stopMitm":"Dừng MITM","mitmStarted":"MITM đ\xe3 bắt đầu th\xe0nh c\xf4ng!","mitmStopped":"MITM đ\xe3 dừng th\xe0nh c\xf4ng!","failedStart":"Kh\xf4ng khởi động được MITM","failedStop":"Kh\xf4ng thể dừng MITM","saveMappings":"Lưu bản đồ","mappingsSaved":"Đ\xe3 lưu bản đồ!","failedSaveMappings":"Kh\xf4ng lưu được bản đồ","howItWorks":"N\xf3 hoạt động như thế n\xe0o:","antigravityHowWorksDesc":"Phản trọng lực gửi y\xeau cầu đến điểm cuối của Google. MITM chặn v\xe0 chuyển hướng ch\xfang đến OmniRoute.","antigravityStep1":"1. Khởi động MITM để định tuyến c\xe1c y\xeau cầu th\xf4ng qua OmniRoute.","antigravityStep2Prefix":"2. Th\xeam","antigravityStep2Suffix":"v\xe0o tệp m\xe1y chủ của bạn dưới dạng 127.0.0.1.","antigravityStep3":"3. Mở AntiGravity v\xe0 c\xe1c y\xeau cầu sẽ được ủy quyền.","sudoPasswordRequiredTitle":"Y\xeau cầu mật khẩu Sudo","sudoPasswordHint":"Cần c\xf3 mật khẩu quản trị vi\xean để sửa đổi c\xe0i đặt proxy hệ thống v\xe0 tệp m\xe1y chủ.","enterSudoPassword":"Nhập mật khẩu sudo","sudoPasswordRequiredError":"Mật khẩu Sudo l\xe0 bắt buộc.","cancel":"Hủy bỏ","confirm":"X\xe1c nhận","settingsApplied":"C\xe0i đặt được \xe1p dụng th\xe0nh c\xf4ng!","failedApplySettings":"Kh\xf4ng thể \xe1p dụng c\xe0i đặt","settingsReset":"Thiết lập lại c\xe0i đặt th\xe0nh c\xf4ng!","failedResetSettings":"Kh\xf4ng thể đặt lại c\xe0i đặt","backupRestored":"Đ\xe3 kh\xf4i phục bản sao lưu!","failedRestore":"Kh\xf4ng thể kh\xf4i phục","checkingCli":"Đang kiểm tra {tool} CLI...","cliNotRunnable":"{tool} CLI đ\xe3 được c\xe0i đặt nhưng kh\xf4ng chạy được","cliNotInstalled":"{tool} CLI chưa được c\xe0i đặt","cliNotDetected":"{tool} CLI kh\xf4ng được ph\xe1t hiện","cliDetectedReady":"{tool} CLI đ\xe3 được ph\xe1t hiện v\xe0 sẵn s\xe0ng","cliFoundFailedHealthcheck":"{tool} CLI đ\xe3 được t\xecm thấy nhưng qu\xe1 tr\xecnh kiểm tra t\xecnh trạng thời gian chạy kh\xf4ng th\xe0nh c\xf4ng{reason}.","installCliPrompt":"Vui l\xf2ng c\xe0i đặt {tool} CLI để sử dụng t\xednh năng n\xe0y.","installCodexPrompt":"Vui l\xf2ng c\xe0i đặt Codex CLI để sử dụng t\xednh năng tự động \xe1p dụng.","hide":"Ẩn","howToInstall":"C\xe1ch c\xe0i đặt","installationGuide":"Hướng dẫn c\xe0i đặt","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Sau khi c\xe0i đặt, h\xe3y chạy","toVerify":"để x\xe1c minh.","current":"hiện tại","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Đặt lại về mặc định","providerModelPlaceholder":"nh\xe0 cung cấp/id m\xf4 h\xecnh","apply":"\xc1p dụng","reset":"Đặt lại","manualConfig":"Cấu h\xecnh thủ c\xf4ng","backups":"Sao lưu","configBackups":"Cấu h\xecnh sao lưu","noBackupsYet":"Chưa c\xf3 bản sao lưu n\xe0o. C\xe1c bản sao lưu được tạo tự động trước mỗi lần \xc1p dụng hoặc Đặt lại.","restore":"Kh\xf4i phục","backupRestoredReloading":"Đ\xe3 kh\xf4i phục bản sao lưu! Đang tải lại trạng th\xe1i...","failedRestoreBackup":"Kh\xf4ng thể kh\xf4i phục bản sao lưu","applied":"Đ\xe3 \xe1p dụng!","failed":"thất bại","resetDone":"Đặt lại!","omnirouteConfiguredOpenAiCompatible":"OmniRoute được định cấu h\xecnh l\xe0 nh\xe0 cung cấp tương th\xedch với OpenAI","provider":"nh\xe0 cung cấp","model":"người mẫu","providers":"Nh\xe0 cung cấp","auth":"X\xe1c thực","noApiKeysAvailable":"Kh\xf4ng c\xf3 kh\xf3a API n\xe0o","usingDefaultOmniroute":"Sử dụng mặc định: sk_omniroute","updateConfig":"Cập nhật cấu h\xecnh","applyConfig":"\xc1p dụng cấu h\xecnh","noBackupsAvailable":"Kh\xf4ng c\xf3 bản sao lưu n\xe0o c\xf3 sẵn.","profileSaved":"Đ\xe3 lưu hồ sơ \\"{name}\\"!","failedSaveProfile":"Kh\xf4ng lưu được hồ sơ","profileActivated":"Hồ sơ đ\xe3 được k\xedch hoạt!","failedActivateProfile":"Kh\xf4ng thể k\xedch hoạt hồ sơ","profiles":"Hồ sơ","savedProfiles":"Hồ sơ đ\xe3 lưu","noProfilesYet":"Chưa c\xf3 hồ sơ n\xe0o được lưu. Lưu cấu h\xecnh hiện tại dưới dạng hồ sơ b\xean dưới.","activate":"K\xedch hoạt","deleteProfile":"X\xf3a hồ sơ","profileNamePlaceholder":"T\xean hồ sơ (v\xed dụ: T\xe0i khoản c\xe1 nh\xe2n)","saveCurrent":"Lưu hiện tại","codexAuthNotePrefix":"C\xf4ng dụng của Codex","codexAuthNoteMiddle":"với","codexAuthNoteSuffix":"Nhấp v\xe0o \\"\xc1p dụng\\" để tự động định cấu h\xecnh.","claudeManualConfiguration":"Claude CLI - Cấu h\xecnh thủ c\xf4ng","codexManualConfiguration":"Codex CLI - Cấu h\xecnh thủ c\xf4ng","droidManualConfiguration":"Factory Droid - Cấu h\xecnh thủ c\xf4ng","openClawManualConfiguration":"Open Claw - Cấu h\xecnh thủ c\xf4ng","clineManualConfiguration":"Cấu h\xecnh thủ c\xf4ng Cline","kiloManualConfiguration":"Cấu h\xecnh thủ c\xf4ng m\xe3 Kilo","toolDescriptions":{"antigravity":"IDE chống trọng lực của Google với MITM","claude":"M\xe3 Claude nh\xe2n loại CLI","codex":"OpenAI Codex CLI","droid":"Trợ l\xfd AI Droid của nh\xe0 m\xe1y","openclaw":"Trợ l\xfd AI m\xf3ng vuốt mở","cline":"Trợ l\xfd m\xe3 h\xf3a Cline AI CLI","kilo":"Trợ l\xfd AI Kilo Code CLI","cursor":"Tr\xecnh chỉnh sửa m\xe3 AI con trỏ","continue":"Tiếp tục Trợ l\xfd AI"},"guides":{"cursor":{"notes":{"0":"Y\xeau cầu t\xe0i khoản Cursor Pro để sử dụng t\xednh năng n\xe0y.","1":"Con trỏ định tuyến c\xe1c y\xeau cầu th\xf4ng qua m\xe1y chủ của ch\xednh n\xf3, do đ\xf3 điểm cuối cục bộ kh\xf4ng được hỗ trợ. Vui l\xf2ng bật Cloud Endpoint trong C\xe0i đặt."},"steps":{"1":{"title":"Mở C\xe0i đặt","desc":"Đi tới C\xe0i đặt -> Kiểu m\xe1y"},"2":{"title":"K\xedch hoạt API OpenAI","desc":"Bật t\xf9y chọn \\"Kh\xf3a API OpenAI\\""},"3":{"title":"URL cơ sở"},"4":{"title":"Kh\xf3a API"},"5":{"title":"Th\xeam m\xf4 h\xecnh t\xf9y chỉnh","desc":"Nhấp v\xe0o \\"Xem tất cả mẫu\\" -> \\"Th\xeam mẫu t\xf9y chỉnh\\""},"6":{"title":"Chọn mẫu"}}},"continue":{"steps":{"1":{"title":"Mở cấu h\xecnh","desc":"Mở tệp cấu h\xecnh Tiếp tục"},"2":{"title":"Kh\xf3a API"},"3":{"title":"Chọn mẫu"},"4":{"title":"Th\xeam cấu h\xecnh m\xf4 h\xecnh","desc":"Th\xeam cấu h\xecnh sau v\xe0o mảng m\xf4 h\xecnh của bạn:"}}}}},"combos":{"title":"Combo","description":"Tạo c\xe1c tổ hợp m\xf4 h\xecnh với hỗ trợ định tuyến v\xe0 dự ph\xf2ng c\xf3 trọng số","createCombo":"Tạo tổ hợp","editCombo":"Chỉnh sửa kết hợp","deleteCombo":"X\xf3a tổ hợp","noModels":"Kh\xf4ng c\xf3 m\xf4 h\xecnh","noModelsYet":"Chưa c\xf3 m\xf4 h\xecnh n\xe0o được th\xeam v\xe0o","addModel":"Th\xeam m\xf4 h\xecnh","addModelToCombo":"Th\xeam Model v\xe0o Combo","routingStrategy":"Chiến lược định tuyến","maxRetries":"Số lần thử lại tối đa","timeout":"Thời gian chờ (ms)","healthcheck":"Kiểm tra sức khỏe","priority":"Ưu ti\xean","fallback":"Dự ph\xf2ng","roundRobin":"V\xf2ng Robin","random":"Ngẫu nhi\xean","leastLatency":"Độ trễ \xedt nhất","comboName":"T\xean kết hợp","comboNamePlaceholder":"combo của t\xf4i","deleteConfirm":"X\xf3a tổ hợp n\xe0y?","noCombosYet":"Chưa c\xf3 combo n\xe0o","comboCreated":"Combo được tạo th\xe0nh c\xf4ng","comboUpdated":"Combo được cập nhật th\xe0nh c\xf4ng","comboDeleted":"Đ\xe3 x\xf3a kết hợp","failedCreate":"Kh\xf4ng tạo được kết hợp","failedUpdate":"Kh\xf4ng thể cập nhật kết hợp","errorCreating":"Lỗi tạo combo","errorUpdating":"Lỗi cập nhật kết hợp","errorDeleting":"Lỗi x\xf3a kết hợp","testFailed":"Y\xeau cầu kiểm tra kh\xf4ng th\xe0nh c\xf4ng","failedToggle":"Kh\xf4ng thể chuyển đổi kết hợp","testResults":"Kết quả kiểm tra — {name}","resolvedBy":"Đ\xe3 giải quyết bởi:","more":"+{count} kh\xe1c","reqs":"y\xeau cầu","success":"sự th\xe0nh c\xf4ng","proxyConfigured":"Đ\xe3 định cấu h\xecnh proxy","copyComboName":"Sao ch\xe9p t\xean tổ hợp","enableCombo":"Bật kết hợp","disableCombo":"Tắt kết hợp","testCombo":"Kết hợp thử nghiệm","duplicate":"tr\xf9ng lặp","proxyConfig":"Cấu h\xecnh proxy","nameRequired":"T\xean l\xe0 bắt buộc","nameInvalid":"Chỉ c\xe1c chữ c\xe1i, số, -, _, / v\xe0 . được ph\xe9p","nameHint":"C\xe1c chữ c\xe1i, số, -, _, / v\xe0 . được ph\xe9p","priorityDesc":"Dự ph\xf2ng tuần tự: thử m\xf4 h\xecnh 1 trước, sau đ\xf3 đến m\xf4 h\xecnh 2, v.v.","weightedDesc":"Ph\xe2n phối lưu lượng truy cập theo phần trăm trọng lượng với dự ph\xf2ng","roundRobinDesc":"Ph\xe2n phối v\xf2ng tr\xf2n: mỗi y\xeau cầu sẽ chuyển sang m\xf4 h\xecnh tiếp theo trong v\xf2ng quay","randomDesc":"Lựa chọn ngẫu nhi\xean thống nhất, sau đ\xf3 dự ph\xf2ng cho c\xe1c m\xf4 h\xecnh c\xf2n lại","leastUsedDesc":"Chọn m\xf4 h\xecnh c\xf3 \xedt y\xeau cầu nhất, c\xe2n bằng tải theo thời gian","costOptimizedDesc":"Hướng tới m\xf4 h\xecnh rẻ nhất trước ti\xean dựa tr\xean gi\xe1 cả","models":"Người mẫu","autoBalance":"Tự động c\xe2n bằng","advancedSettings":"C\xe0i đặt n\xe2ng cao","retryDelay":"Độ trễ thử lại (ms)","concurrencyPerModel":"Đồng thời / M\xf4 h\xecnh","queueTimeout":"Hết thời gian xếp h\xe0ng (ms)","advancedHint":"Để trống để sử dụng mặc định chung. Những c\xe0i đặt n\xe0y ghi đ\xe8 l\xean mỗi nh\xe0 cung cấp.","moveUp":"Di chuyển l\xean","moveDown":"Di chuyển xuống","removeModel":"X\xf3a","saving":"Đang lưu...","weighted":"C\xf3 trọng số","leastUsed":"\xcdt được sử dụng nhất","costOpt":"Lựa chọn chi ph\xed"},"costs":{"title":"Chi ph\xed","budget":"Ng\xe2n s\xe1ch","totalCost":"Tổng chi ph\xed","breakdown":"Ph\xe2n t\xedch chi ph\xed","noData":"Kh\xf4ng c\xf3 dữ liệu chi ph\xed","byModel":"Theo mẫu","byProvider":"Theo nh\xe0 cung cấp"},"endpoint":{"title":"Điểm cuối API","available":"Điểm cuối c\xf3 sẵn","cloudProxy":"Proxy đ\xe1m m\xe2y","disableConfirm":"Bạn c\xf3 chắc chắn muốn tắt proxy đ\xe1m m\xe2y kh\xf4ng?","baseUrl":"URL cơ sở","apiKeyLabel":"Kh\xf3a API","registeredKeys":"Kh\xf3a đ\xe3 đăng k\xfd","chatCompletions":"Ho\xe0n th\xe0nh cuộc tr\xf2 chuyện","responses":"Phản hồi","listModels":"Danh s\xe1ch m\xf4 h\xecnh","usingCloudProxy":"Sử dụng Proxy đ\xe1m m\xe2y","usingLocalServer":"Sử dụng m\xe1y chủ cục bộ","machineId":"ID m\xe1y: {id}...","disableCloud":"Tắt đ\xe1m m\xe2y","enableCloud":"K\xedch hoạt đ\xe1m m\xe2y","modelsAcrossEndpoints":"{models} m\xf4 h\xecnh tr\xean {endpoints} điểm cuối","chatDesc":"Tr\xf2 chuyện trực tuyến v\xe0 kh\xf4ng ph\xe1t trực tuyến với tất cả c\xe1c nh\xe0 cung cấp","embeddings":"Nh\xfang","embeddingsDesc":"Nh\xfang văn bản cho đường dẫn t\xecm kiếm & RAG","imageGeneration":"Tạo h\xecnh ảnh","imageDesc":"Tạo h\xecnh ảnh từ lời nhắc văn bản","rerank":"Xếp hạng lại","rerankDesc":"Sắp xếp lại t\xe0i liệu theo mức độ li\xean quan đến truy vấn","audioTranscription":"Phi\xean \xe2m \xe2m thanh","audioTranscriptionDesc":"Phi\xean \xe2m tập tin \xe2m thanh th\xe0nh văn bản (Whisper)","textToSpeech":"Chuyển văn bản th\xe0nh giọng n\xf3i","textToSpeechDesc":"Chuyển đổi văn bản th\xe0nh giọng n\xf3i tự nhi\xean","moderations":"Kiểm duyệt","moderationsDesc":"Kiểm duyệt nội dung v\xe0 ph\xe2n loại an to\xe0n","enableCloudTitle":"K\xedch hoạt proxy đ\xe1m m\xe2y","whatYouGet":"Những g\xec bạn sẽ nhận được","cloudBenefitAccess":"Truy cập API của bạn từ mọi nơi tr\xean thế giới","cloudBenefitShare":"Chia sẻ điểm cuối với nh\xf3m của bạn một c\xe1ch dễ d\xe0ng","cloudBenefitPorts":"Kh\xf4ng cần mở cổng hoặc cấu h\xecnh tường lửa","cloudBenefitEdge":"Mạng bi\xean to\xe0n cầu nhanh","cloudSessionNote":"Cloud sẽ giữ phi\xean x\xe1c thực của bạn trong 1 ng\xe0y. Nếu kh\xf4ng được sử dụng, n\xf3 sẽ tự động bị x\xf3a.","cloudUnstableNote":"Cloud hiện tại kh\xf4ng ổn định với Claude Code OAuth trong một số trường hợp.","cloudConnected":"Đ\xe3 kết nối Proxy đ\xe1m m\xe2y!","connectingToCloud":"Đang kết nối với đ\xe1m m\xe2y...","verifyingConnection":"Đang x\xe1c minh kết nối...","connecting":"Đang kết nối...","verifying":"Đang x\xe1c minh...","connected":"Đ\xe3 kết nối!","disableCloudTitle":"V\xf4 hiệu h\xf3a Proxy đ\xe1m m\xe2y","disableWarning":"Tất cả c\xe1c phi\xean x\xe1c thực sẽ bị x\xf3a khỏi đ\xe1m m\xe2y.","syncingData":"Đang đồng bộ h\xf3a dữ liệu mới nhất...","disablingCloud":"Đang tắt đ\xe1m m\xe2y...","syncing":"Đang đồng bộ h\xf3a...","disabling":"Đang tắt...","cloudConnectedVerified":"Cloud Proxy đ\xe3 được kết nối v\xe0 x\xe1c minh!","connectedVerificationPending":"Đ\xe3 kết nối - đang chờ x\xe1c minh","connectedVerificationPendingWithError":"Đ\xe3 kết nối — đang chờ x\xe1c minh: {error}","cloudDisabledSuccess":"Đ\xe1m m\xe2y đ\xe3 được tắt th\xe0nh c\xf4ng","syncedSuccess":"Đ\xe3 đồng bộ h\xf3a th\xe0nh c\xf4ng","failedDisable":"Kh\xf4ng thể tắt đ\xe1m m\xe2y","failedEnable":"Kh\xf4ng thể bật đ\xe1m m\xe2y","cloudRequestTimeout":"Hết thời gian y\xeau cầu đ\xe1m m\xe2y","cloudRequestFailed":"Y\xeau cầu đ\xe1m m\xe2y kh\xf4ng th\xe0nh c\xf4ng","cloudWorkerUnreachable":"Kh\xf4ng thể li\xean hệ với nh\xe2n vi\xean đ\xe1m m\xe2y. Đảm bảo dịch vụ đ\xe1m m\xe2y đang chạy (npm run dev in /cloud).","connectionFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng","syncFailed":"Kh\xf4ng thể đồng bộ h\xf3a dữ liệu đ\xe1m m\xe2y","providerModelsTitle":"{provider} — M\xf4 h\xecnh","noModelsForProvider":"Kh\xf4ng c\xf3 m\xf4 h\xecnh c\xf3 sẵn cho nh\xe0 cung cấp n\xe0y.","chat":"Tr\xf2 chuyện","embedding":"Nh\xfang","image":"H\xecnh ảnh","custom":"t\xf9y chỉnh","modelsCount":"{count, plural, one {# model} other {# models}}"},"health":{"title":"T\xecnh trạng hệ thống","description":"Gi\xe1m s\xe1t thời gian thực phi\xean bản OmniRoute của bạn","healthy":"khỏe mạnh","degraded":"xuống cấp","down":"xuống","uptime":"Thời gian hoạt động","memory":"Bộ nhớ","memoryRss":"Bộ nhớ (RSS)","heap":"Đống","cpu":"CPU","database":"Cơ sở dữ liệu","version":"Phi\xean bản","lastCheck":"Kiểm tra lần cuối","providerHealth":"Sức khỏe nh\xe0 cung cấp","systemMetrics":"Số liệu hệ thống","tokenHealth":"T\xecnh trạng m\xe3 th\xf4ng b\xe1o","refreshAll":"L\xe0m mới tất cả","checkNow":"Kiểm tra ngay","loadingHealth":"Đang tải dữ liệu sức khỏe...","failedToLoad":"Kh\xf4ng tải được dữ liệu sức khỏe: {error}","retry":"Thử lại","allOperational":"Tất cả c\xe1c hệ thống hoạt động","issuesDetected":"Đ\xe3 ph\xe1t hiện sự cố hệ thống","updatedAt":"Đ\xe3 cập nhật {time}","latency":"Độ trễ","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Tổng số y\xeau cầu","noDataYet":"Chưa c\xf3 dữ liệu","promptCache":"Bộ nhớ đệm nhắc nhở","entries":"B\xe0i dự thi","hitRate":"Tỷ lệ tr\xfang","hitsMisses":"Lượt truy cập / Bỏ lỡ","signatureCache":"Bộ đệm chữ k\xfd","signatureDefaults":"Mặc định","signatureTool":"C\xf4ng cụ","signatureFamily":"gia đ\xecnh","signatureSession":"Phi\xean","recovering":"Đang phục hồi","noCBData":"Kh\xf4ng c\xf3 dữ liệu ngắt mạch c\xf3 sẵn. Thực hiện một số y\xeau cầu đầu ti\xean.","providerHealthStatusAria":"T\xecnh trạng sức khỏe của nh\xe0 cung cấp","issuesLabel":"Đ\xe3 ph\xe1t hiện sự cố","operational":"hoạt động","providers":"Nh\xe0 cung cấp","healthyCount":"{count} khỏe mạnh","nodeVersion":"N\xfat {version}","failures":"{count} thất bại","failuresPlural":"{count} thất bại","lastFailure":"Cuối c\xf9ng","rateLimitStatus":"Trạng th\xe1i giới hạn tỷ lệ","activeLimiters":"{count} bộ giới hạn hoạt động","activeLimitersPlural":"{count} bộ giới hạn hoạt động","queued":"Đ\xe3 xếp h\xe0ng","queuedCount":"{count} đ\xe3 xếp h\xe0ng","running":"đang chạy","runningCount":"{count} đang chạy","ok":"được rồi","activeLockouts":"Kh\xf3a hoạt động","resetConfirm":"Đặt lại tất cả c\xe1c bộ ngắt mạch về trạng th\xe1i khỏe mạnh? Điều n\xe0y sẽ x\xf3a tất cả số lần lỗi v\xe0 kh\xf4i phục tất cả c\xe1c nh\xe0 cung cấp về trạng th\xe1i hoạt động.","resetAllTitle":"Đặt lại tất cả c\xe1c bộ ngắt mạch về trạng th\xe1i khỏe mạnh","resetting":"Đang đặt lại...","resetAll":"Đặt lại tất cả","until":"Cho đến {time}"},"limits":{"title":"Giới hạn & hạn ngạch","rateLimit":"Giới hạn tỷ lệ","remaining":"C\xf2n lại","requestsPerMinute":"Y\xeau cầu/ph\xfat","tokensPerMinute":"M\xe3 th\xf4ng b\xe1o/ph\xfat","dailyLimit":"Giới hạn h\xe0ng ng\xe0y"},"logs":{"title":"Nhật k\xfd","requestLogs":"Nhật k\xfd y\xeau cầu","proxyLogs":"Nhật k\xfd proxy","auditLog":"Nhật k\xfd kiểm tra","console":"Bảng điều khiển","auditLogDesc":"H\xe0nh động h\xe0nh ch\xednh v\xe0 sự kiện bảo mật","loading":"Đang tải...","refresh":"L\xe0m mới","filterByAction":"Lọc theo h\xe0nh động...","filterByActor":"Lọc theo diễn vi\xean...","filterEntriesAria":"Lọc c\xe1c mục nhật k\xfd kiểm tra","filterByActionTypeAria":"Lọc theo loại h\xe0nh động","filterByActorAria":"Lọc theo diễn vi\xean","refreshAuditLogAria":"L\xe0m mới nhật k\xfd kiểm tra","tableAria":"Mục nhật k\xfd kiểm tra","failedFetchAuditLog":"Kh\xf4ng t\xecm nạp được nhật k\xfd kiểm tra","showing":"Hiển thị c\xe1c mục {count} (b\xf9 đắp {offset})","search":"T\xecm kiếm","timestamp":"Dấu thời gian","action":"h\xe0nh động","actor":"diễn vi\xean","target":"Mục ti\xeau","details":"Chi tiết","ipAddress":"Địa chỉ IP","notAvailable":"—","noEntries":"Kh\xf4ng t\xecm thấy mục nhật k\xfd kiểm tra n\xe0o","previous":"trước đ\xf3","next":"Tiếp theo"},"onboarding":{"welcome":"Ch\xe0o mừng","security":"Bảo mật","test":"kiểm tra","ready":"Sẵn s\xe0ng!","setPassword":"Đặt mật khẩu","addProvider":"Th\xeam nh\xe0 cung cấp đầu ti\xean của bạn","getStarted":"Bắt đầu","skip":"Bỏ qua","skipWizard":"Bỏ qua ho\xe0n to\xe0n tr\xecnh hướng dẫn","skipPassword":"Bỏ qua việc thiết lập mật khẩu","skipAndContinue":"Bỏ qua & Tiếp tục","passwordLabel":"Mật khẩu","confirmPassword":"X\xe1c nhận mật khẩu","enterPassword":"Nhập mật khẩu","confirmPasswordPlaceholder":"X\xe1c nhận mật khẩu","passwordsMismatch":"Mật khẩu kh\xf4ng khớp","setupComplete":"Thiết lập ho\xe0n tất!","goToDashboard":"Đi tới Bảng điều khiển →","welcomeDesc":"OmniRoute l\xe0 proxy API AI cục bộ của bạn. N\xf3 định tuyến c\xe1c y\xeau cầu đến nhiều nh\xe0 cung cấp AI với t\xednh năng c\xe2n bằng tải, chuyển đổi dự ph\xf2ng v\xe0 theo d\xf5i việc sử dụng.","multiProvider":"Đa nh\xe0 cung cấp","usageTracking":"Theo d\xf5i sử dụng","apiKeyMgmt":"Quản l\xfd kh\xf3a API","securityDesc":"Đặt mật khẩu để bảo vệ trang tổng quan của bạn hoặc bỏ qua ngay b\xe2y giờ.","providerDesc":"Kết nối nh\xe0 cung cấp AI đầu ti\xean của bạn. Bạn c\xf3 thể th\xeam nhiều hơn sau.","apiKeyRequired":"Kh\xf3a API (bắt buộc)","customUrlOptional":"URL t\xf9y chỉnh (t\xf9y chọn)","testDesc":"H\xe3y x\xe1c minh kết nối nh\xe0 cung cấp của bạn hoạt động.","runTest":"Chạy kiểm tra kết nối","testingConnection":"Đang kiểm tra kết nối...","connectionSuccessful":"Kết nối th\xe0nh c\xf4ng! Nh\xe0 cung cấp của bạn đ\xe3 sẵn s\xe0ng.","noProviderFound":"Kh\xf4ng t\xecm thấy nh\xe0 cung cấp n\xe0o. Bạn c\xf3 thể th\xeam một từ bảng điều khiển sau.","testFailed":"Thử nghiệm kh\xf4ng th\xe0nh c\xf4ng nhưng bạn c\xf3 thể định cấu h\xecnh điều n\xe0y sau.","couldNotTest":"Kh\xf4ng thể kiểm tra ngay b\xe2y giờ. Bạn c\xf3 thể kiểm tra từ bảng điều khiển.","doneDesc":"Bạn đ\xe3 ho\xe0n tất! Phi\xean bản OmniRoute của bạn đ\xe3 được định cấu h\xecnh v\xe0 sẵn s\xe0ng thực hiện c\xe1c y\xeau cầu AI proxy.","yourEndpoint":"Điểm cuối của bạn:","continue":"Tiếp tục","retry":"Thử lại","failedSetPassword":"Kh\xf4ng thể đặt mật khẩu. H\xe3y thử lại.","failedAddProvider":"Kh\xf4ng thể th\xeam nh\xe0 cung cấp. H\xe3y thử lại.","connectionError":"Lỗi kết nối. Vui l\xf2ng thử lại.","provider":"nh\xe0 cung cấp"},"providers":{"title":"Nh\xe0 cung cấp","addProvider":"Th\xeam nh\xe0 cung cấp","editProvider":"Chỉnh sửa nh\xe0 cung cấp","deleteProvider":"X\xf3a nh\xe0 cung cấp","noProviders":"Kh\xf4ng c\xf3 nh\xe0 cung cấp n\xe0o được định cấu h\xecnh","modelAvailability":"Mẫu sẵn c\xf3","accounts":"T\xe0i khoản","newAccount":"T\xe0i khoản mới","deleteConfirm":"Bạn c\xf3 chắc chắn muốn x\xf3a nh\xe0 cung cấp n\xe0y kh\xf4ng?","testing":"Đang thử nghiệm...","testConnection":"Kiểm tra kết nối","testSuccess":"Kết nối th\xe0nh c\xf4ng","testFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng","available":"C\xf3 sẵn","cooldown":"Thời gian hồi chi\xeau","unavailable":"Kh\xf4ng c\xf3 sẵn","unknown":"Kh\xf4ng x\xe1c định","oauthLabel":"OAuth","compatibleLabel":"Tương th\xedch","chat":"Tr\xf2 chuyện","responses":"Phản hồi","messages":"Tin nhắn","oauthProviders":"Nh\xe0 cung cấp OAuth","freeProviders":"Nh\xe0 cung cấp miễn ph\xed","apiKeyProviders":"Nh\xe0 cung cấp kh\xf3a API","compatibleProviders":"Nh\xe0 cung cấp tương th\xedch với kh\xf3a API","testAll":"Kiểm tra tất cả","testAllOAuth":"Kiểm tra tất cả c\xe1c kết nối OAuth","testAllFree":"Kiểm tra tất cả c\xe1c kết nối miễn ph\xed","testAllApiKey":"Kiểm tra tất cả c\xe1c kết nối Kh\xf3a API","testAllCompatible":"Kiểm tra tất cả c\xe1c kết nối tương th\xedch","connected":"{count} Đ\xe3 kết nối","errorCount":"{count} Lỗi ({code})","errorCountNoCode":"{count} Lỗi","noConnections":"Kh\xf4ng c\xf3 kết nối","disabled":"Đ\xe3 tắt","enableProvider":"K\xedch hoạt nh\xe0 cung cấp","disableProvider":"V\xf4 hiệu h\xf3a nh\xe0 cung cấp","testResults":"Kết quả kiểm tra","noCompatibleYet":"Chưa c\xf3 nh\xe0 cung cấp tương th\xedch n\xe0o được th\xeam v\xe0o","compatibleHint":"Sử dụng c\xe1c n\xfat ở tr\xean để th\xeam điểm cuối tương th\xedch với OpenAI hoặc Anthropic","addOpenAICompatible":"Th\xeam tương th\xedch OpenAI","addAnthropicCompatible":"Th\xeam t\xednh tương th\xedch với con người","addNewProvider":"Th\xeam nh\xe0 cung cấp mới","backToProviders":"Quay lại Nh\xe0 cung cấp","configureNewProvider":"Định cấu h\xecnh nh\xe0 cung cấp AI mới để sử dụng với c\xe1c ứng dụng của bạn.","providerLabel":"nh\xe0 cung cấp","selectProvider":"Chọn nh\xe0 cung cấp","selectedProvider":"Nh\xe0 cung cấp đ\xe3 chọn","authMethod":"Phương thức x\xe1c thực","apiKeyLabel":"Kh\xf3a API","apiKeyRequired":"Cần c\xf3 kh\xf3a API","selectProviderRequired":"Vui l\xf2ng chọn nh\xe0 cung cấp","enterApiKey":"Nhập kh\xf3a API của bạn","apiKeySecure":"Kh\xf3a API của bạn sẽ được m\xe3 h\xf3a v\xe0 lưu trữ an to\xe0n.","oauth2Connect":"Kết nối với OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Kết nối t\xe0i khoản của bạn bằng x\xe1c thực OAuth2.","displayName":"T\xean hiển thị","displayNamePlaceholder":"v\xed dụ: API sản xuất, M\xf4i trường ph\xe1t triển","displayNameHint":"T\xf9y chọn. Một c\xe1i t\xean th\xe2n thiện để x\xe1c định cấu h\xecnh n\xe0y.","active":"Đang hoạt động","activeDescription":"Cho ph\xe9p nh\xe0 cung cấp n\xe0y sử dụng trong c\xe1c ứng dụng của bạn","cancel":"Hủy bỏ","createProvider":"Tạo nh\xe0 cung cấp","failedCreate":"Kh\xf4ng tạo được nh\xe0 cung cấp","errorOccurred":"Đ\xe3 xảy ra lỗi. Vui l\xf2ng thử lại.","modelStatus":"T\xecnh trạng mẫu","allModelsOperational":"Tất cả c\xe1c m\xf4 h\xecnh hoạt động","modelsWithIssues":"{count} m\xf4 h\xecnh c\xf3 vấn đề","allModelsNormal":"Tất cả c\xe1c model đều phản hồi b\xecnh thường.","cooldownCleared":"Đ\xe3 x\xf3a thời gian hồi chi\xeau cho {model}","failedClearCooldown":"Kh\xf4ng thể x\xf3a thời gian hồi chi\xeau","loadingAvailability":"Đang tải t\xednh khả dụng của m\xf4 h\xecnh...","clearCooldown":"X\xf3a","clearing":"Đang dọn dẹp...","until":"Cho đến {time}","providerTestFailed":"Kiểm tra nh\xe0 cung cấp kh\xf4ng th\xe0nh c\xf4ng","modeTest":"{mode} Kiểm tra","passedCount":"{count} đ\xe3 vượt qua","failedCount":"{count} kh\xf4ng th\xe0nh c\xf4ng","testedCount":"{count} đ\xe3 kiểm tra","millisecondsAbbr":"{value}ms","okShort":"được rồi","errorShort":"LỖI","noActiveConnectionsInGroup":"Kh\xf4ng t\xecm thấy kết nối hoạt động n\xe0o cho nh\xf3m n\xe0y.","allTestsPassed":"Tất cả {total} b\xe0i kiểm tra đ\xe3 vượt qua","testSummary":"{passed}/{total} đ\xe3 đạt, {failed} kh\xf4ng th\xe0nh c\xf4ng","nameLabel":"T\xean","prefixLabel":"Tiền tố","baseUrlLabel":"URL cơ sở","apiTypeLabel":"Loại API","prefixHint":"Bắt buộc. Tiền tố duy nhất cho t\xean model.","nameHint":"Bắt buộc. Một nh\xe3n th\xe2n thiện cho n\xfat n\xe0y.","baseUrlHint":"Bắt buộc.  URL cơ sở API của nh\xe0 cung cấp.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"X\xe1c thực kết nối","validating":"Đang x\xe1c thực...","connectionValid":"Kết nối l\xe0 hợp lệ!","connectionFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng. Kiểm tra URL v\xe0 kh\xf3a.","testKeyLabel":"Kh\xf3a API kiểm tra","testKeyPlaceholder":"sk-... (chỉ để x\xe1c nhận)","providerNotFound":"Kh\xf4ng t\xecm thấy nh\xe0 cung cấp","deleteConnectionConfirm":"X\xf3a kết nối n\xe0y?","failedSetAlias":"Kh\xf4ng đặt được b\xed danh","failedSaveConnection":"Kh\xf4ng lưu được kết nối","failedSaveConnectionRetry":"Kh\xf4ng lưu được kết nối. Vui l\xf2ng thử lại.","failedRetestConnection":"Kh\xf4ng thể kiểm tra lại kết nối","deleteCompatibleNodeConfirm":"X\xf3a n\xfat tương th\xedch {type} n\xe0y?","anthropicCompatibleDetails":"Chi tiết tương th\xedch nh\xe2n loại","openaiCompatibleDetails":"Chi tiết tương th\xedch OpenAI","messagesApi":"API tin nhắn","responsesApi":"API phản hồi","chatCompletions":"Ho\xe0n th\xe0nh cuộc tr\xf2 chuyện","importingModels":"Đang nhập khẩu...","importFromModels":"Nhập từ /model","addConnectionToImport":"Th\xeam kết nối để cho ph\xe9p nhập.","noModelsConfigured":"Kh\xf4ng c\xf3 m\xf4 h\xecnh n\xe0o được định cấu h\xecnh","connectionCount":"{count} kết nối","fetchingModels":"Đang t\xecm nạp c\xe1c mẫu c\xf3 sẵn...","failedFetchModels":"Kh\xf4ng t\xecm nạp được m\xf4 h\xecnh","noModelsFound":"Kh\xf4ng t\xecm thấy m\xf4 h\xecnh n\xe0o","importFailed":"Nhập kh\xf4ng th\xe0nh c\xf4ng","noNewModelsAdded":"Kh\xf4ng c\xf3 m\xf4 h\xecnh mới được th\xeam v\xe0o.","adding":"Đang th\xeam...","importingModelsTitle":"Nhập m\xf4 h\xecnh","copyModel":"Sao ch\xe9p m\xf4 h\xecnh","removeModel":"X\xf3a m\xf4 h\xecnh","rateLimitProtected":"Được bảo vệ","rateLimitUnprotected":"kh\xf4ng được bảo vệ","enableRateLimitProtection":"Nhấp để bật bảo vệ giới hạn tỷ lệ","disableRateLimitProtection":"Nhấp để tắt bảo vệ giới hạn tỷ lệ","productionKey":"Kh\xf3a sản xuất","enterNewApiKey":"Nhập kh\xf3a API mới","optional":"T\xf9y chọn","anthropicCompatibleName":"Tương th\xedch với con người","openaiCompatibleName":"Tương th\xedch OpenAI","failedImportModels":"Kh\xf4ng thể nhập m\xf4 h\xecnh","noModelsReturnedFromEndpoint":"Kh\xf4ng c\xf3 m\xf4 h\xecnh n\xe0o được trả về từ điểm cuối /models.","importingModelsProgress":"Đang nhập {current} trong số {total} m\xf4 h\xecnh...","foundModelsStartingImport":"Đ\xe3 t\xecm thấy m\xf4 h\xecnh {count}. Đang bắt đầu nhập...","importingModelById":"Đang nhập {modelId}...","importSuccessCount":"Đ\xe3 nhập th\xe0nh c\xf4ng {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Kh\xf4ng c\xf3 mẫu mới n\xe0o được th\xeam v\xe0o (tất cả đều đ\xe3 tồn tại).","importDoneCount":"✓ Xong! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Đ\xe3 xảy ra lỗi kh\xf4ng mong muốn","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"tin nhắn","responsesPath":"phản hồi","chatCompletionsPath":"tr\xf2 chuyện/ho\xe0n th\xe0nh","add":"Th\xeam","edit":"Chỉnh sửa","delete":"X\xf3a","anthropic":"nh\xe2n loại","openai":"OpenAI","singleConnectionPerCompatible":"Chỉ c\xf3 một kết nối được ph\xe9p cho mỗi n\xfat tương th\xedch. Th\xeam một n\xfat kh\xe1c nếu bạn cần th\xeam kết nối.","connections":"Kết nối","providerProxyTitleConfigured":"Proxy của nh\xe0 cung cấp: {host}","configured":"được cấu h\xecnh","providerProxyConfigureHint":"Định cấu h\xecnh proxy cho tất cả c\xe1c kết nối của nh\xe0 cung cấp n\xe0y","providerProxy":"Ủy quyền của nh\xe0 cung cấp","noConnectionsYet":"Chưa c\xf3 kết nối n\xe0o","addFirstConnectionHint":"Th\xeam kết nối đầu ti\xean của bạn để bắt đầu","addConnection":"Th\xeam kết nối","availableModels":"C\xe1c mẫu c\xf3 sẵn","pageAutoRefresh":"Trang sẽ tự động l\xe0m mới...","statusDisabled":"bị v\xf4 hiệu h\xf3a","statusConnected":"đ\xe3 kết nối","statusRuntimeIssue":"vấn đề thời gian chạy","statusAuthFailed":"x\xe1c thực thất bại","statusRateLimited":"tỷ lệ giới hạn","statusNetworkIssue":"sự cố mạng","statusTestUnsupported":"kiểm tra kh\xf4ng được hỗ trợ","statusUnavailable":"kh\xf4ng c\xf3 sẵn","statusFailed":"thất bại","statusError":"lỗi","oauthAccount":"T\xe0i khoản OAuth","errorTypeRuntime":"Thời gian chạy cục bộ","errorTypeUpstreamAuth":"X\xe1c thực ngược d\xf2ng","errorTypeMissingCredential":"Thiếu th\xf4ng tin x\xe1c thực","errorTypeRefreshFailed":"L\xe0m mới kh\xf4ng th\xe0nh c\xf4ng","errorTypeTokenExpired":"M\xe3 th\xf4ng b\xe1o đ\xe3 hết hạn","errorTypeRateLimited":"Tỷ lệ giới hạn","errorTypeUpstreamUnavailable":"Thượng nguồn kh\xf4ng c\xf3 sẵn","errorTypeNetworkError":"Lỗi mạng","errorTypeTestUnsupported":"Kiểm tra kh\xf4ng được hỗ trợ","errorTypeUpstreamError":"Lỗi ngược d\xf2ng","proxySourceGlobal":"To\xe0n cầu","proxySourceProvider":"nh\xe0 cung cấp","proxySourceKey":"Ch\xeca kh\xf3a","proxyConfiguredBySource":"Ủy quyền ({source}): {host}","autoPriority":"Tự động: {priority}","proxy":"ủy nhiệm","retestAuthentication":"Kiểm tra lại x\xe1c thực","retest":"Kiểm tra lại","disableConnection":"Tắt kết nối","enableConnection":"K\xedch hoạt kết nối","reauthenticateConnection":"X\xe1c thực lại kết nối n\xe0y","proxyConfig":"Cấu h\xecnh proxy","aliasExistsAlert":"B\xed danh \\"{alias}\\" đ\xe3 tồn tại. Vui l\xf2ng sử dụng một m\xf4 h\xecnh kh\xe1c hoặc chỉnh sửa b\xed danh hiện c\xf3.","openRouterAnyModelHint":"OpenRouter hỗ trợ mọi m\xf4 h\xecnh. Th\xeam m\xf4 h\xecnh v\xe0 tạo b\xed danh để truy cập nhanh.","modelIdFromOpenRouter":"ID mẫu (từ OpenRouter)","openRouterModelPlaceholder":"nh\xe2n chủng/claude-3-opus","customModels":"M\xf4 h\xecnh t\xf9y chỉnh","customModelsHint":"Th\xeam ID mẫu kh\xf4ng c\xf3 trong danh s\xe1ch mặc định. Ch\xfang sẽ c\xf3 sẵn để định tuyến.","modelId":"M\xe3 mẫu","customModelPlaceholder":"v\xed dụ: gpt-4.5-turbo","loading":"Đang tải...","removeCustomModel":"X\xf3a m\xf4 h\xecnh t\xf9y chỉnh","noCustomModels":"Chưa c\xf3 m\xf4 h\xecnh t\xf9y chỉnh n\xe0o được th\xeam v\xe0o.","allSuggestedAliasesExist":"Tất cả c\xe1c b\xed danh được đề xuất đ\xe3 tồn tại. Vui l\xf2ng chọn một mẫu kh\xe1c hoặc x\xf3a c\xe1c b\xed danh xung đột.","failedSaveCustomModel":"Kh\xf4ng lưu được m\xf4 h\xecnh t\xf9y chỉnh","modelAddedSuccess":"Đ\xe3 th\xeam m\xf4 h\xecnh {modelId} th\xe0nh c\xf4ng","failedAddModelTryAgain":"Kh\xf4ng thể th\xeam m\xf4 h\xecnh. Vui l\xf2ng thử lại.","failedSaveImportedModel":"Kh\xf4ng lưu được m\xf4 h\xecnh đ\xe3 nhập v\xe0o cơ sở dữ liệu t\xf9y chỉnh","failedImportModelsTryAgain":"Kh\xf4ng thể nhập m\xf4 h\xecnh. Vui l\xf2ng thử lại.","failedRemoveModelFromDatabase":"Kh\xf4ng thể x\xf3a m\xf4 h\xecnh khỏi cơ sở dữ liệu","modelRemovedSuccess":"Đ\xe3 x\xf3a m\xf4 h\xecnh th\xe0nh c\xf4ng","failedDeleteModelTryAgain":"Kh\xf4ng x\xf3a được m\xf4 h\xecnh. Vui l\xf2ng thử lại.","compatibleModelsDescription":"Th\xeam c\xe1c m\xf4 h\xecnh tương th\xedch {type} theo c\xe1ch thủ c\xf4ng hoặc nhập ch\xfang từ điểm cuối /models.","anthropicCompatibleModelPlaceholder":"Claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"X\xe1c thực kh\xf3a API kh\xf4ng th\xe0nh c\xf4ng. Vui l\xf2ng kiểm tra ch\xeca kh\xf3a của bạn v\xe0 thử lại.","addProviderApiKeyTitle":"Th\xeam kh\xf3a API {provider}","checking":"Đang kiểm tra...","check":"Kiểm tra","valid":"hợp lệ","invalid":"kh\xf4ng hợp lệ","creating":"Đang tạo...","validationChecksAnthropicCompatible":"Kiểm tra x\xe1c thực {provider} bằng c\xe1ch x\xe1c minh kh\xf3a API.","validationChecksOpenAiCompatible":"Kiểm tra x\xe1c thực {provider} th\xf4ng qua /models tr\xean URL cơ sở của bạn.","priorityLabel":"Ưu ti\xean","saving":"Đang lưu...","save":"Lưu","editConnection":"Chỉnh sửa kết nối","accountName":"T\xean t\xe0i khoản","email":"Email","healthCheckMinutes":"Kiểm tra sức khỏe (ph\xfat)","healthCheckHint":"Khoảng thời gian l\xe0m mới m\xe3 th\xf4ng b\xe1o chủ động. 0 = bị v\xf4 hiệu h\xf3a.","failedTestConnection":"Kh\xf4ng thể kiểm tra kết nối","failed":"thất bại","leaveBlankKeepCurrentApiKey":"Để trống để giữ kh\xf3a API hiện tại.","editCompatibleTitle":"Chỉnh sửa {type} Tương th\xedch","compatibleBaseUrlHint":"Sử dụng URL cơ sở (kết th\xfac bằng /v1) cho API tương th\xedch {type} của bạn.","apiKeyForCheck":"Kh\xf3a API (để kiểm tra)","compatibleProdPlaceholder":"{type} Tương th\xedch (Sản phẩm)"},"settings":{"title":"C\xe0i đặt","general":"chung","security":"Bảo mật","appearance":"Ngoại h\xecnh","routing":"Định tuyến","cache":"Bộ nhớ đệm","resilience":"khả năng phục hồi","systemPrompt":"Lời nhắc hệ thống","thinkingBudget":"Suy nghĩ về ng\xe2n s\xe1ch","proxy":"ủy nhiệm","pricing":"Định gi\xe1","storage":"Lưu trữ","policies":"Ch\xednh s\xe1ch","ipFilter":"Bộ lọc IP","comboDefaults":"Mặc định kết hợp","fallbackChains":"Chuỗi dự ph\xf2ng","changePassword":"Thay đổi mật khẩu","enablePassword":"K\xedch hoạt mật khẩu","darkMode":"Chế độ tối","lightMode":"Chế độ \xe1nh s\xe1ng","systemTheme":"Chủ đề hệ thống","enableCache":"Bật bộ đệm","cacheTTL":"Bộ nhớ đệm TTL","maxCacheSize":"K\xedch thước bộ đệm tối đa","clearCache":"X\xf3a bộ nhớ đệm","cacheHits":"Số lần truy cập bộ đệm","cacheMisses":"Thiếu bộ nhớ đệm","hitRate":"Tỷ lệ tr\xfang","cacheEntries":"Mục nhập bộ nhớ đệm","circuitBreaker":"Bộ ngắt mạch","retryPolicy":"Ch\xednh s\xe1ch thử lại","maxRetries":"Số lần thử lại tối đa","retryDelay":"Tr\xec ho\xe3n thử lại","timeoutMs":"Thời gian chờ (ms)","enableSystemPrompt":"K\xedch hoạt lời nhắc hệ thống","systemPromptText":"Văn bản nhắc nhở hệ thống","enableThinking":"K\xedch hoạt tư duy","maxThinkingTokens":"M\xe3 th\xf4ng b\xe1o tư duy tối đa","enableProxy":"K\xedch hoạt proxy","proxyUrl":"URL proxy","pricingRates":"Định dạng gi\xe1 cước","currentPricing":"Tổng quan về gi\xe1 hiện tại","loadingPricing":"Đang tải dữ liệu gi\xe1...","noPricing":"Kh\xf4ng c\xf3 dữ liệu gi\xe1 cả","input":"đầu v\xe0o","output":"đầu ra","cached":"Đ\xe3 lưu v\xe0o bộ nhớ đệm","reasoning":"L\xfd luận","cacheCreation":"Tạo bộ đệm","customPricing":"Gi\xe1 t\xf9y chỉnh","databaseSize":"K\xedch thước cơ sở dữ liệu","backupDb":"Sao lưu cơ sở dữ liệu","restoreDb":"Kh\xf4i phục cơ sở dữ liệu","exportData":"Xuất dữ liệu","importData":"Nhập dữ liệu","clearData":"X\xf3a tất cả dữ liệu","clearDataConfirm":"Điều n\xe0y sẽ x\xf3a vĩnh viễn tất cả dữ liệu. Bạn c\xf3 chắc kh\xf4ng?","enableRequestLogs":"Bật nhật k\xfd y\xeau cầu","logRetention":"Lưu giữ nhật k\xfd","ipWhitelist":"Danh s\xe1ch trắng IP","ipBlacklist":"Danh s\xe1ch đen IP","addIP":"Th\xeam IP","savedSuccessfully":"Đ\xe3 lưu c\xe0i đặt th\xe0nh c\xf4ng","ai":"tr\xed tuệ nh\xe2n tạo","advanced":"N\xe2ng cao","localMode":"Chế độ cục bộ - Tất cả dữ liệu được lưu trữ tr\xean m\xe1y của bạn","settingsSectionsAria":"Phần c\xe0i đặt","switchThemes":"Chuyển đổi giữa chủ đề s\xe1ng v\xe0 tối","themeSelectionAria":"Lựa chọn chủ đề","themeLight":"\xc1nh s\xe1ng","themeDark":"Tối","themeSystem":"Hệ thống","hideHealthLogs":"Ẩn nhật k\xfd kiểm tra sức khỏe","hideHealthLogsDesc":"Khi BẬT, h\xe3y chặn th\xf4ng b\xe1o [HealthCheck] trong bảng điều khiển m\xe1y chủ","promptCache":"Bộ nhớ đệm nhắc nhở","flushCache":"X\xf3a bộ nhớ đệm","flushing":"Đang xả…","size":"K\xedch thước","hits":"Lượt truy cập","evictions":"Trục xuất","loadingCacheStats":"Đang tải số liệu thống k\xea về bộ nhớ đệm…","globalProxy":"Proxy to\xe0n cầu","globalProxyDesc":"Định cấu h\xecnh proxy gửi đi to\xe0n cầu cho tất cả lệnh gọi API. C\xe1c nh\xe0 cung cấp, tổ hợp v\xe0 kh\xf3a ri\xeang lẻ c\xf3 thể ghi đ\xe8 điều n\xe0y.","noGlobalProxy":"Kh\xf4ng c\xf3 proxy to\xe0n cầu n\xe0o được định cấu h\xecnh","globalLabel":"To\xe0n cầu","configure":"Cấu h\xecnh","globalSystemPrompt":"Lời nhắc hệ thống to\xe0n cầu","systemPromptDesc":"Được đưa v\xe0o tất cả c\xe1c y\xeau cầu ở cấp độ proxy","saved":"Đ\xe3 lưu","systemPromptPlaceholder":"Nhập lời nhắc hệ thống để đưa v\xe0o tất cả c\xe1c y\xeau cầu...","systemPromptHint":"Lời nhắc n\xe0y được th\xeam v\xe0o trước th\xf4ng b\xe1o hệ thống của mọi y\xeau cầu. Sử dụng cho c\xe1c hướng dẫn chung, nguy\xean tắc an to\xe0n hoặc quy tắc định dạng phản hồi.","chars":"{count} k\xfd tự","thinkingBudgetTitle":"Suy nghĩ về ng\xe2n s\xe1ch","thinkingBudgetDesc":"Kiểm so\xe1t việc sử dụng m\xe3 th\xf4ng b\xe1o l\xfd luận AI tr\xean tất cả c\xe1c y\xeau cầu","passthrough":"Truyền qua","passthroughDesc":"Kh\xf4ng c\xf3 thay đổi - kh\xe1ch h\xe0ng kiểm so\xe1t ng\xe2n s\xe1ch tư duy","auto":"Tự động","autoDesc":"Loại bỏ mọi cấu h\xecnh suy nghĩ - h\xe3y để nh\xe0 cung cấp quyết định","custom":"t\xf9y chỉnh","customDesc":"Đặt ng\xe2n s\xe1ch m\xe3 th\xf4ng b\xe1o cố định cho tất cả c\xe1c y\xeau cầu","adaptive":"Th\xedch ứng","adaptiveDesc":"Mở rộng ng\xe2n s\xe1ch dựa tr\xean độ phức tạp của y\xeau cầu","effortNone":"Kh\xf4ng c\xf3 (0 m\xe3 th\xf4ng b\xe1o)","effortLow":"Thấp (1K token)","effortMedium":"Trung b\xecnh (10K token)","effortHigh":"Cao (128K token)","tokenBudget":"Ng\xe2n s\xe1ch m\xe3 th\xf4ng b\xe1o","tokens":"m\xe3 th\xf4ng b\xe1o","baseEffortLevel":"Mức nỗ lực cơ bản","adaptiveHint":"Chế độ th\xedch ứng sẽ chia tỷ lệ từ cấp cơ sở n\xe0y dựa tr\xean số lượng tin nhắn, mức sử dụng c\xf4ng cụ v\xe0 độ d\xe0i lời nhắc.","requireLogin":"Y\xeau cầu đăng nhập","requireLoginDesc":"Khi BẬT, bảng điều khiển y\xeau cầu mật khẩu. Khi TẮT, truy cập m\xe0 kh\xf4ng cần đăng nhập.","currentPassword":"Mật khẩu hiện tại","enterCurrentPassword":"Nhập mật khẩu hiện tại","newPassword":"Mật khẩu mới","enterNewPassword":"Nhập mật khẩu mới","confirmPassword":"X\xe1c nhận mật khẩu mới","confirmPasswordPlaceholder":"X\xe1c nhận mật khẩu mới","passwordsNoMatch":"Mật khẩu kh\xf4ng khớp","passwordUpdated":"Đ\xe3 cập nhật mật khẩu th\xe0nh c\xf4ng","failedUpdatePassword":"Kh\xf4ng cập nhật được mật khẩu","errorOccurred":"Đ\xe3 xảy ra lỗi","updatePassword":"Cập nhật mật khẩu","setPassword":"Đặt mật khẩu","apiEndpointProtection":"Bảo vệ điểm cuối API","requireAuthModels":"Y\xeau cầu kh\xf3a API cho /model","requireAuthModelsDesc":"Khi BẬT, điểm cuối /v1/models trả về 404 cho c\xe1c y\xeau cầu kh\xf4ng được x\xe1c thực. Ngăn chặn việc ph\xe1t hiện m\xf4 h\xecnh bởi người d\xf9ng tr\xe1i ph\xe9p.","blockedProviders":"Nh\xe0 cung cấp bị chặn","blockedProvidersDesc":"Ẩn c\xe1c nh\xe0 cung cấp cụ thể khỏi phản hồi /v1/models. C\xe1c nh\xe0 cung cấp bị chặn sẽ kh\xf4ng xuất hiện trong danh s\xe1ch m\xf4 h\xecnh.","providersBlocked":"{count} nh\xe0 cung cấp bị chặn khỏi /models","blockProviderTitle":"Chặn {provider}","unblockProviderTitle":"Bỏ chặn {provider}","routingStrategy":"Chiến lược định tuyến","fillFirst":"điền đầu ti\xean","fillFirstDesc":"Sử dụng t\xe0i khoản theo thứ tự ưu ti\xean","roundRobin":"V\xf2ng Robin","roundRobinDesc":"Duyệt qua tất cả c\xe1c t\xe0i khoản","p2c":"P2C","p2cDesc":"Chọn ngẫu nhi\xean 2 c\xe1i, chọn c\xe1i l\xe0nh mạnh hơn","random":"Ngẫu nhi\xean","randomDesc":"T\xe0i khoản ngẫu nhi\xean mỗi y\xeau cầu","leastUsed":"\xcdt được sử dụng nhất","leastUsedDesc":"Chọn t\xe0i khoản \xedt được sử dụng gần đ\xe2y nhất","costOpt":"Lựa chọn chi ph\xed","costOptDesc":"Ưu ti\xean t\xe0i khoản c\xf3 sẵn rẻ nhất","stickyLimit":"Giới hạn d\xednh","stickyLimitDesc":"Cuộc gọi tr\xean mỗi t\xe0i khoản trước khi chuyển đổi","modelAliases":"B\xed danh mẫu","modelAliasesDesc":"C\xe1c mẫu k\xfd tự đại diện để \xe1nh xạ lại t\xean mẫu m\xe1y • Sử dụng * v\xe0 ?","aliasPatternPlaceholder":"Claude-sonnet-*","aliasTargetPlaceholder":"Claude-sonnet-4-20250514","pattern":"mẫu","targetModel":"M\xf4 h\xecnh mục ti\xeau","add":"+ Th\xeam","session":"Phi\xean","sessionDetailsAria":"Chi tiết phi\xean","status":"Trạng th\xe1i","authenticated":"Đ\xe3 x\xe1c thực","guest":"kh\xe1ch","loginTime":"Thời gian đăng nhập","sessionAge":"Tuổi phi\xean","browser":"Tr\xecnh duyệt","clearLocalData":"X\xf3a dữ liệu cục bộ","logout":"Đăng xuất","clearLocalDataConfirm":"X\xf3a tất cả dữ liệu cục bộ? Điều n\xe0y sẽ thiết lập lại t\xf9y chọn của bạn.","unknown":"Kh\xf4ng x\xe1c định","systemActor":"hệ thống","ipAccessControl":"Kiểm so\xe1t truy cập IP","ipAccessControlDesc":"Chặn hoặc cho ph\xe9p c\xe1c địa chỉ IP cụ thể","ipModeDisabled":"Đ\xe3 tắt","ipModeBlacklist":"Danh s\xe1ch đen","ipModeWhitelist":"Danh s\xe1ch trắng","ipModeWhitelistPriority":"Ưu ti\xean WL","addIpAddress":"Th\xeam địa chỉ IP","ipAddressPlaceholder":"192.168.1.0/24 hoặc 10.0.*.*","block":"+ Chặn","allow":"+ Cho ph\xe9p","blocked":"Đ\xe3 chặn ({count})","allowed":"Được ph\xe9p ({count})","temporaryBans":"Lệnh cấm tạm thời ({count})","minLeft":"{min} ph\xfat c\xf2n lại","auditLog":"Nhật k\xfd kiểm tra","searchAuditLogs":"T\xecm kiếm nhật k\xfd kiểm tra...","failedLoadAuditLog":"Kh\xf4ng tải được nhật k\xfd kiểm tra","noAuditEvents":"Kh\xf4ng t\xecm thấy sự kiện kiểm tra n\xe0o","action":"h\xe0nh động","actor":"diễn vi\xean","details":"Chi tiết","time":"thời gian","fallbackChainsTitle":"Chuỗi dự ph\xf2ng","fallbackChainsDesc":"X\xe1c định thứ tự dự ph\xf2ng của nh\xe0 cung cấp cho mỗi m\xf4 h\xecnh","addChain":"+ Th\xeam chuỗi","modelName":"T\xean mẫu","modelNamePlaceholder":"Claude-sonnet-4-20250514","providersCommaSeparated":"Nh\xe0 cung cấp (được ph\xe2n t\xe1ch bằng dấu phẩy, theo thứ tự ưu ti\xean)","providersCommaSeparatedPlaceholder":"nh\xe2n loại, openai, song tử","createChain":"Tạo chuỗi","noFallbackChains":"Kh\xf4ng c\xf3 chuỗi dự ph\xf2ng","noFallbackChainsDesc":"Tạo một chuỗi để x\xe1c định thứ tự dự ph\xf2ng của nh\xe0 cung cấp cho một m\xf4 h\xecnh.","loadingFallbackChains":"Đang tải chuỗi dự ph\xf2ng...","deleteChainConfirm":"X\xf3a chuỗi dự ph\xf2ng cho \\"{model}\\"?","chainCreated":"Đ\xe3 tạo chuỗi cho {model}","chainDeleted":"Đ\xe3 x\xf3a chuỗi cho {model}","failedCreateChain":"Kh\xf4ng tạo được chuỗi","failedDeleteChain":"Kh\xf4ng thể x\xf3a chuỗi","deleteChain":"X\xf3a chuỗi","fillModelAndProviders":"Vui l\xf2ng điền t\xean model v\xe0 nh\xe0 cung cấp","addAtLeastOneProvider":"Th\xeam \xedt nhất một nh\xe0 cung cấp","comboDefaultsTitle":"Mặc định kết hợp","globalComboConfig":"Cấu h\xecnh kết hợp to\xe0n cầu","defaultStrategy":"Chiến lược mặc định","defaultStrategyDesc":"\xc1p dụng cho c\xe1c combo mới kh\xf4ng c\xf3 chiến lược r\xf5 r\xe0ng","comboStrategyAria":"Chiến lược kết hợp","priority":"Ưu ti\xean","weighted":"C\xf3 trọng số","maxRetriesLabel":"Số lần thử lại tối đa","retryDelayLabel":"Độ trễ thử lại (ms)","timeoutLabel":"Thời gian chờ (ms)","healthCheck":"Kiểm tra sức khỏe","healthCheckDesc":"Kiểm tra trước t\xednh khả dụng của nh\xe0 cung cấp","trackMetrics":"Theo d\xf5i số liệu","trackMetricsDesc":"Ghi lại số liệu y\xeau cầu tr\xean mỗi kết hợp","providerOverrides":"Ghi đ\xe8 nh\xe0 cung cấp","providerOverridesDesc":"Ghi đ\xe8 thời gian chờ v\xe0 thử lại tr\xean mỗi nh\xe0 cung cấp. C\xe0i đặt nh\xe0 cung cấp ghi đ\xe8 mặc định chung.","providerMaxRetriesAria":"{provider} số lần thử lại tối đa","providerTimeoutAria":"{provider} hết thời gian chờ mili gi\xe2y","removeProviderOverrideAria":"X\xf3a ghi đ\xe8 {provider}","newProviderNamePlaceholder":"v\xed dụ: google, openai...","newProviderNameAria":"T\xean nh\xe0 cung cấp mới","retries":"thử lại","ms":"c\xf4","saveComboDefaults":"Lưu mặc định kết hợp","maxNestingDepth":"Độ s\xe2u lồng tối đa","concurrencyPerModel":"Đồng thời / M\xf4 h\xecnh","queueTimeout":"Hết thời gian xếp h\xe0ng (ms)","providerProfiles":"Hồ sơ nh\xe0 cung cấp","providerProfilesDesc":"C\xe0i đặt khả năng phục hồi ri\xeang biệt cho c\xe1c nh\xe0 cung cấp OAuth (dựa tr\xean phi\xean) v\xe0 Kh\xf3a API (được đo lường). Nh\xe0 cung cấp OAuth c\xf3 ngưỡng chặt chẽ hơn do giới hạn tốc độ thấp hơn.","oauthProviders":"Nh\xe0 cung cấp OAuth","apiKeyProviders":"Nh\xe0 cung cấp kh\xf3a API","transientCooldown":"Thời gian hồi chi\xeau tho\xe1ng qua","rateLimitCooldown":"Thời gian hồi chi\xeau giới hạn tốc độ","maxBackoffLevel":"Mức chờ đợi tối đa","cbThreshold":"Ngưỡng CB","cbResetTime":"Thời gian đặt lại CB","rateLimiting":"Giới hạn tỷ lệ","rateLimitingDesc":"Nh\xe0 cung cấp Kh\xf3a API được tự động giới hạn tỷ lệ với c\xe1c gi\xe1 trị mặc định an to\xe0n. C\xe1c giới hạn được học từ ti\xeau đề phản hồi v\xe0 điều chỉnh theo thời gian.","defaultSafetyNet":"Mạng lưới an to\xe0n mặc định","rpm":"v\xf2ng/ph\xfat","minGap":"Khoảng c\xe1ch tối thiểu","maxConcurrent":"Đồng thời tối đa","activeLimiters":"Bộ hạn chế hoạt động","noActiveLimiters":"Chưa c\xf3 giới hạn tỷ lệ hoạt động n\xe0o.","reservoir":"Hồ chứa nước","running":"Đang chạy","queued":"Đ\xe3 xếp h\xe0ng","circuitBreakers":"Bộ ngắt mạch","breakerStateClosed":"Đ\xe3 đ\xf3ng","breakerStateOpen":"Mở","breakerStateHalfOpen":"Nửa mở","tripped":"{count} bị vấp","healthy":"{count} khỏe mạnh","resetAll":"Đặt lại tất cả","noCircuitBreakers":"Chưa c\xf3 bộ ngắt mạch n\xe0o hoạt động. Ch\xfang được tạo tự động khi c\xe1c y\xeau cầu chảy qua đường dẫn kết hợp.","failures":"{count} lỗi","policiesLocked":"Ch\xednh s\xe1ch & M\xe3 định danh bị kh\xf3a","allOperational":"Tất cả c\xe1c hệ thống đều hoạt động - kh\xf4ng c\xf3 kh\xf3a hoặc cầu dao bị ngắt","loadingPolicies":"Đang tải ch\xednh s\xe1ch...","lockedIdentifiers":"Số nhận dạng bị kh\xf3a","unlockedIdentifier":"Đ\xe3 mở kh\xf3a: {identifier}","sinceDate":"kể từ {date}","forceUnlock":"Buộc mở kh\xf3a","unlocking":"Đang mở kh\xf3a...","failedUnlock":"Kh\xf4ng thể mở kh\xf3a","failedLoadWithStatus":"Kh\xf4ng tải được: {status}","failedLoadResilience":"Kh\xf4ng tải được trạng th\xe1i phục hồi","saveFailed":"Lưu kh\xf4ng th\xe0nh c\xf4ng","resetFailed":"Đặt lại kh\xf4ng th\xe0nh c\xf4ng","loadingResilience":"Đang tải trạng th\xe1i phục hồi...","retry":"Thử lại","systemStorage":"Hệ thống & Lưu trữ","allDataLocal":"Tất cả dữ liệu được lưu trữ cục bộ tr\xean m\xe1y của bạn","databasePath":"Đường dẫn cơ sở dữ liệu","exportDatabase":"Xuất cơ sở dữ liệu","exportAll":"Xuất tất cả (.tar.gz)","importDatabase":"Nhập cơ sở dữ liệu","confirmDbImport":"X\xe1c nhận nhập cơ sở dữ liệu","confirmDbImportDesc":"Thao t\xe1c n\xe0y sẽ thay thế tất cả dữ liệu hiện tại bằng nội dung từ {file}. Một bản sao lưu sẽ được tạo tự động trước khi nhập.","yesImport":"C\xf3, nhập khẩu","lastBackup":"Sao lưu lần cuối","noBackupYet":"Chưa c\xf3 bản sao lưu n\xe0o","backupNow":"Sao lưu ngay","backupRestore":"Sao lưu & Kh\xf4i phục","viewBackups":"Xem bản sao lưu","hide":"Ẩn","backupRetentionDesc":"Ảnh chụp nhanh cơ sở dữ liệu được tạo tự động trước khi kh\xf4i phục v\xe0 cứ sau 15 ph\xfat khi dữ liệu thay đổi. Lưu giữ: 24 giờ + 30 lần sao lưu h\xe0ng ng\xe0y với chế độ xoay th\xf4ng minh.","loadingBackups":"Đang tải bản sao lưu...","noBackupsYet":"Chưa c\xf3 bản sao lưu n\xe0o. Bản sao lưu sẽ được tạo tự động khi dữ liệu thay đổi.","backupsAvailable":"{count} bản sao lưu c\xf3 sẵn","refresh":"L\xe0m mới","confirm":"X\xe1c nhận?","yes":"C\xf3","no":"Kh\xf4ng","restore":"Kh\xf4i phục","invalidFileType":"Loại tệp kh\xf4ng hợp lệ. Chỉ c\xe1c tệp .sqlite được chấp nhận.","exportFailed":"Xuất kh\xf4ng th\xe0nh c\xf4ng","exportFailedWithError":"Xuất kh\xf4ng th\xe0nh c\xf4ng: {error}","fullExportFailedWithError":"Xuất to\xe0n bộ kh\xf4ng th\xe0nh c\xf4ng: {error}","backupCreated":"Đ\xe3 tạo bản sao lưu: {file}","restoreSuccess":"Đ\xe3 kh\xf4i phục! {connections} kết nối, n\xfat {nodes}, tổ hợp {combos}, kh\xf3a API {apiKeys}.","importSuccess":"Cơ sở dữ liệu đ\xe3 được nhập! {connections} kết nối, n\xfat {nodes}, tổ hợp {combos}, kh\xf3a API {apiKeys}.","justNow":"ngay b\xe2y giờ","minutesAgo":"{count} ph\xfat trước","hoursAgo":"{count} giờ trước","daysAgo":"{count}ng\xe0y trước","backupReasonManual":"hướng dẫn sử dụng","backupReasonPreRestore":"kh\xf4i phục trước","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Kh\xf4ng c\xf3 thay đổi n\xe0o kể từ lần sao lưu cuối c\xf9ng","backupFailed":"Sao lưu kh\xf4ng th\xe0nh c\xf4ng","restoreFailed":"Kh\xf4i phục kh\xf4ng th\xe0nh c\xf4ng","importFailed":"Nhập kh\xf4ng th\xe0nh c\xf4ng","errorDuringRestore":"Đ\xe3 xảy ra lỗi trong qu\xe1 tr\xecnh kh\xf4i phục","errorDuringImport":"Đ\xe3 xảy ra lỗi trong qu\xe1 tr\xecnh nhập","modelPricing":"Gi\xe1 mẫu","modelPricingDesc":"Định cấu h\xecnh mức chi ph\xed cho mỗi m\xf4 h\xecnh • Tất cả mức gi\xe1 bằng m\xe3 th\xf4ng b\xe1o $/1 triệu","providers":"Nh\xe0 cung cấp","registry":"Đăng k\xfd","priced":"Đ\xe3 định gi\xe1","searchProvidersModels":"T\xecm kiếm nh\xe0 cung cấp hoặc m\xf4 h\xecnh...","showAll":"Hiển thị tất cả","noProvidersMatch":"Kh\xf4ng c\xf3 nh\xe0 cung cấp n\xe0o ph\xf9 hợp với t\xecm kiếm của bạn.","howPricingWorks":"C\xe1ch thức hoạt động của gi\xe1","cacheWrite":"Ghi bộ nhớ đệm","unsaved":"chưa được lưu","resetDefaults":"Đặt lại mặc định","saveProvider":"Lưu nh\xe0 cung cấp","saving":"Đang lưu...","model":"người mẫu","models":"m\xf4 h\xecnh","moreProviders":"{count} nh\xe0 cung cấp kh\xe1c","withPricing":"với gi\xe1 được cấu h\xecnh","policiesCircuitBreakers":"Ch\xednh s\xe1ch & Bộ ngắt mạch","activeIssuesDetected":"Đ\xe3 ph\xe1t hiện sự cố đang diễn ra","off":"Tắt","resetPricingConfirm":"Đặt lại tất cả gi\xe1 cho {provider} về mặc định?","pricingDescInput":"Đầu v\xe0o: m\xe3 th\xf4ng b\xe1o được gửi đến m\xf4 h\xecnh","pricingDescOutput":"Đầu ra: m\xe3 th\xf4ng b\xe1o được tạo","pricingDescCached":"Đ\xe3 lưu v\xe0o bộ nhớ đệm: đầu v\xe0o được sử dụng lại (~50% tốc độ đầu v\xe0o)","pricingDescReasoning":"L\xfd luận: m\xe3 th\xf4ng b\xe1o suy nghĩ (quay lại Đầu ra)","pricingDescCacheWrite":"Ghi bộ đệm: tạo c\xe1c mục bộ đệm (quay lại Đầu v\xe0o)","pricingDescFormula":"Chi ph\xed = (đầu v\xe0o \xd7 tốc độ đầu v\xe0o) + (đầu ra \xd7 tốc độ đầu ra) + (được lưu v\xe0o bộ nhớ đệm \xd7 tốc độ được lưu v\xe0o bộ nhớ cache) tr\xean một triệu m\xe3 th\xf4ng b\xe1o.","pricingSettingsTitle":"C\xe0i đặt gi\xe1","totalModels":"Tổng số m\xf4 h\xecnh","active":"Đang hoạt động","costCalculation":"T\xednh to\xe1n chi ph\xed","costCalculationDesc":"Chi ph\xed được t\xednh to\xe1n dựa tr\xean mức sử dụng m\xe3 th\xf4ng b\xe1o v\xe0 mức gi\xe1 được định cấu h\xecnh cho từng m\xf4 h\xecnh.","pricingFormat":"Định dạng gi\xe1","pricingFormatDesc":"Tất cả c\xe1c mức gi\xe1 đều t\xednh bằng token $/1 triệu (đ\xf4 la tr\xean một triệu token).","tokenTypes":"C\xe1c loại m\xe3 th\xf4ng b\xe1o","inputTokenDesc":"M\xe3 th\xf4ng b\xe1o nhắc nhở ti\xeau chuẩn","outputTokenDesc":"M\xe3 th\xf4ng b\xe1o ho\xe0n th\xe0nh/phản hồi","cachedTokenDesc":"M\xe3 th\xf4ng b\xe1o đầu v\xe0o được lưu trong bộ nhớ đệm (thường l\xe0 50% tốc độ đầu v\xe0o)","reasoningTokenDesc":"M\xe3 th\xf4ng b\xe1o l\xfd luận/suy nghĩ đặc biệt (dự ph\xf2ng tốc độ đầu ra)","cacheCreationTokenDesc":"M\xe3 th\xf4ng b\xe1o được sử dụng để tạo mục nhập bộ đệm (dự ph\xf2ng tốc độ đầu v\xe0o)","customPricingNote":"Bạn c\xf3 thể ghi đ\xe8 gi\xe1 mặc định cho c\xe1c kiểu m\xe1y cụ thể. Ghi đ\xe8 t\xf9y chỉnh được ưu ti\xean hơn gi\xe1 được tự động ph\xe1t hiện.","editPricing":"Chỉnh sửa gi\xe1","viewFullDetails":"Xem chi tiết đầy đủ"},"translator":{"title":"Người phi\xean dịch","metaTitle":"S\xe2n chơi phi\xean dịch | OmniRoute","metaDescription":"Gỡ lỗi, kiểm tra v\xe0 trực quan h\xf3a bản dịch định dạng API giữa c\xe1c nh\xe0 cung cấp","playgroundTitle":"S\xe2n chơi phi\xean dịch","playground":"S\xe2n chơi","realtime":"Hoạt động dịch thời gian thực","chatTester":"Tr\xecnh kiểm tra tr\xf2 chuyện","testBench":"Ghế thử nghiệm","liveMonitor":"M\xe0n h\xecnh trực tiếp","modeDescriptionPlayground":"D\xe1n bất kỳ nội dung y\xeau cầu API n\xe0o v\xe0 xem c\xe1ch OmniRoute dịch n\xf3 giữa c\xe1c định dạng nh\xe0 cung cấp (OpenAI ↔ Claude ↔ Gemini ↔ API phản hồi)","modeDescriptionChatTester":"Gửi c\xe1c y\xeau cầu tr\xf2 chuyện thực tế th\xf4ng qua OmniRoute v\xe0 kiểm tra to\xe0n bộ h\xe0nh tr\xecnh: đầu v\xe0o, y\xeau cầu đ\xe3 dịch, phản hồi của nh\xe0 cung cấp v\xe0 đầu ra đ\xe3 dịch.","modeDescriptionTestBench":"Chạy c\xe1c kịch bản được x\xe1c định trước v\xe0 so s\xe1nh khả năng tương th\xedch giữa c\xe1c nh\xe0 cung cấp v\xe0 m\xf4 h\xecnh.","modeDescriptionLiveMonitor":"Xem c\xe1c sự kiện dịch thuật trong thời gian thực khi c\xe1c y\xeau cầu chảy qua OmniRoute.","modeDescriptionFallback":"Gỡ lỗi, kiểm tra v\xe0 trực quan h\xf3a c\xe1ch OmniRoute dịch c\xe1c y\xeau cầu API giữa c\xe1c nh\xe0 cung cấp.","recentTranslations":"Bản dịch gần đ\xe2y","noTranslations":"Chưa c\xf3 bản dịch n\xe0o","source":"Nguồn","target":"Mục ti\xeau","time":"thời gian","model":"người mẫu","status":"Trạng th\xe1i","latency":"Độ trễ","totalTranslations":"Tổng số bản dịch","successful":"th\xe0nh c\xf4ng","errors":"Lỗi","avgLatency":"Độ trễ trung b\xecnh","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Trực tiếp - Tự động l\xe0m mới","paused":"Đ\xe3 tạm dừng","eventsAppearHint":"C\xe1c sự kiện dịch xuất hiện ở đ\xe2y khi c\xe1c y\xeau cầu chuyển qua OmniRoute. Sử dụng bất kỳ phương ph\xe1p n\xe0o sau đ\xe2y để tạo sự kiện:","chatTesterTab":"Tab Tr\xecnh kiểm tra tr\xf2 chuyện","testBenchTab":"Tab Bench thử nghiệm","externalApiCalls":"Lệnh gọi API b\xean ngo\xe0i","ideCliIntegrations":"T\xedch hợp IDE/CLI","inMemoryNote":"Lưu \xfd: C\xe1c sự kiện được lưu trong bộ nhớ v\xe0 được đặt lại khi m\xe1y chủ khởi động lại.","ok":"được rồi","errorShort":"LỖI","formatConverter":"Tr\xecnh chuyển đổi định dạng","formatConverterDescription":"D\xe1n hoặc nhập nội dung y\xeau cầu JSON. Tr\xecnh dịch sẽ tự động ph\xe1t hiện định dạng nguồn v\xe0 chuyển đổi n\xf3 sang định dạng đ\xedch. Sử dụng t\xednh năng n\xe0y để gỡ lỗi c\xe1ch OmniRoute dịch c\xe1c y\xeau cầu giữa c\xe1c định dạng (OpenAI ↔ Claude ↔ Gemini ↔ API phản hồi).","input":"đầu v\xe0o","output":"đầu ra","auto":"Tự động","swapFormats":"Ho\xe1n đổi định dạng","translateAction":"Dịch","clear":"X\xf3a","inputPlaceholder":"D\xe1n nội dung y\xeau cầu tại đ\xe2y hoặc chọn mẫu b\xean dưới...","exampleTemplates":"Mẫu v\xed dụ","exampleTemplatesHint":"- Bấm để tải","templateLoadHint":"Mẫu tải y\xeau cầu ở định dạng {format}. Thay đổi định dạng nguồn để tải ở định dạng kh\xe1c.","compatibilityTester":"Tr\xecnh kiểm tra khả năng tương th\xedch","compatibilityReport":"B\xe1o c\xe1o tương th\xedch","testBenchDescription":"Chạy c\xe1c kịch bản được x\xe1c định trước (Tr\xf2 chuyện đơn giản, Gọi c\xf4ng cụ, v.v.) để x\xe1c minh khả năng tương th\xedch của bản dịch v\xe0 nh\xe0 cung cấp. Chọn định dạng nguồn v\xe0 nh\xe0 cung cấp mục ti\xeau, sau đ\xf3 chạy tất cả c\xe1c thử nghiệm để xem tỷ lệ phần trăm tương th\xedch. Sử dụng c\xf4ng cụ n\xe0y để t\xecm những t\xednh năng n\xe0o hoạt động giữa c\xe1c nh\xe0 cung cấp.","targetProvider":"Nh\xe0 cung cấp mục ti\xeau","runAllTests":"Chạy tất cả c\xe1c b\xe0i kiểm tra","runTest":"Chạy thử nghiệm","reRun":"Chạy lại","running":"Đang chạy...","passed":"đ\xe3 vượt qua","failed":"thất bại","passedIconLabel":"✅ Đạt","chunks":"khối","scenarioSimpleChat":"Tr\xf2 chuyện đơn giản","scenarioToolCalling":"Gọi c\xf4ng cụ","scenarioMultiTurn":"Nhiều lượt","scenarioThinking":"suy nghĩ","scenarioSystemPrompt":"Lời nhắc hệ thống","scenarioStreaming":"Truyền ph\xe1t","templateNames":{"simple-chat":"Tr\xf2 chuyện đơn giản","tool-calling":"Gọi c\xf4ng cụ","multi-turn":"Nhiều lượt","thinking":"suy nghĩ","system-prompt":"Lời nhắc hệ thống","streaming":"Truyền ph\xe1t"},"templateDescriptions":{"simple-chat":"Tin nhắn văn bản cơ bản","tool-calling":"Lệnh gọi h\xe0m/c\xf4ng cụ","multi-turn":"Đối thoại với lịch sử","thinking":"Suy nghĩ/l\xfd luận mở rộng","system-prompt":"Hướng dẫn hệ thống phức tạp","streaming":"Y\xeau cầu ph\xe1t trực tuyến SSE"},"templatePayloads":{"simpleChat":{"system":"Bạn l\xe0 một trợ l\xfd hữu \xedch.","userGreeting":"Xin ch\xe0o! Bạn h\xf4m nay thế n\xe0o?"},"toolCalling":{"userWeather":"Thời tiết ở S\xe3o Paulo thế n\xe0o?","toolDescription":"Nhận thời tiết hiện tại cho một địa điểm","cityNameDescription":"T\xean th\xe0nh phố"},"multiTurn":{"system":"Bạn l\xe0 một trợ l\xfd m\xe3 h\xf3a.","userInitial":"Viết h\xe0m sắp xếp một mảng trong Python.","assistantExample":"Đ\xe2y l\xe0 một chức năng sắp xếp đơn giản:\\n\\n``` con trăn\\ndef sắp xếp_array(arr):\\n trả về đ\xe3 sắp xếp(arr)\\n```","userFollowUp":"B\xe2y giờ h\xe3y sắp xếp n\xf3 theo thứ tự giảm dần."},"thinking":{"question":"Tổng của 100 số nguy\xean tố đầu ti\xean l\xe0 bao nhi\xeau?"},"systemPrompt":{"systemInstruction":"Bạn l\xe0 một kỹ sư phần mềm cao cấp chuy\xean về hệ thống ph\xe2n t\xe1n. Trả lời c\xe1c c\xe2u hỏi một c\xe1ch ch\xednh x\xe1c bằng c\xe1ch sử dụng c\xe1c phương ph\xe1p hay nhất trong ng\xe0nh. Lu\xf4n cung cấp c\xe1c v\xed dụ về m\xe3 khi c\xf3 li\xean quan. Định dạng c\xe2u trả lời của bạn bằng c\xe1ch sử dụng markdown.","question":"L\xe0m c\xe1ch n\xe0o để triển khai mẫu ngắt mạch?"},"streaming":{"prompt":"Kể cho t\xf4i nghe một c\xe2u chuyện ngắn về một robot học vẽ."}},"openaiCompatibleLabel":"Tương th\xedch OpenAI","anthropicCompatibleLabel":"Tương th\xedch với con người","noTemplateForFormat":"Kh\xf4ng c\xf3 mẫu cho định dạng n\xe0y","translationFailed":"Dịch kh\xf4ng th\xe0nh c\xf4ng: {error}","pipelineDebugger":"Tr\xecnh gỡ lỗi đường ống","translationPipeline":"Đường dẫn dịch thuật","pipelineVisualization":"Trực quan h\xf3a đường ống","pipelineVisualizationHint":"Gửi tin nhắn để xem y\xeau cầu của bạn diễn ra như thế n\xe0o th\xf4ng qua qu\xe1 tr\xecnh ph\xe1t hiện → dịch thuật → cuộc gọi của nh\xe0 cung cấp.","chatTesterDescription":"Gửi tin nhắn dưới dạng định dạng ứng dụng kh\xe1ch cụ thể v\xe0 kiểm tra từng bước của quy tr\xecnh dịch thuật.","chatTesterFlow":"Y\xeau cầu của kh\xe1ch h\xe0ng → Ph\xe1t hiện định dạng → Trung gian OpenAI → Định dạng nh\xe0 cung cấp → Phản hồi","clickStepToInspect":"Nhấp v\xe0o bất kỳ bước n\xe0o để kiểm tra dữ liệu ở giai đoạn đ\xf3.","clientFormat":"Định dạng kh\xe1ch h\xe0ng","provider":"nh\xe0 cung cấp","modelPlaceholder":"Chọn hoặc nhập t\xean mẫu m\xe1y...","sendMessageToSeePipeline":"Gửi tin nhắn để xem quy tr\xecnh dịch thuật","chatMessageHintPrefix":"Tin nhắn của bạn sẽ được định dạng dưới dạng","chatMessageHintSuffix":"y\xeau cầu, được dịch qua quy tr\xecnh v\xe0 gửi đến nh\xe0 cung cấp đ\xe3 chọn.","youWithFormat":"Bạn ({format})","assistant":"Trợ l\xfd","typeMessage":"Nhập tin nhắn...","send":"Gửi","clientRequest":"Y\xeau cầu của kh\xe1ch h\xe0ng","clientRequestDescription":"Nội dung y\xeau cầu m\xe0 kh\xe1ch h\xe0ng của bạn sẽ gửi n\xf3","formatDetected":"Đ\xe3 ph\xe1t hiện định dạng","formatDetectedDescription":"OmniRoute tự động ph\xe1t hiện định dạng API từ cấu tr\xfac y\xeau cầu","openaiIntermediate":"Trung cấp OpenAI","openaiIntermediateDescription":"Tất cả c\xe1c định dạng trước ti\xean được chuẩn h\xf3a th\xe0nh định dạng OpenAI (cầu nối phổ qu\xe1t)","providerFormat":"Định dạng nh\xe0 cung cấp","providerFormatDescription":"Định dạng OpenAI được dịch sang định dạng gốc của nh\xe0 cung cấp","providerResponse":"Phản hồi của nh\xe0 cung cấp","providerResponseRawDescription":"Phản hồi th\xf4 từ API nh\xe0 cung cấp","providerResponseSseDescription":"Luồng SSE th\xf4 từ API nh\xe0 cung cấp","unexpectedError":"Đ\xe3 xảy ra lỗi kh\xf4ng mong muốn","error":"Lỗi","errorMessage":"Lỗi: {message}","requestFailed":"Y\xeau cầu kh\xf4ng th\xe0nh c\xf4ng","noTextExtracted":"(Kh\xf4ng tr\xedch xuất văn bản)","liveMonitorDescriptionPrefix":"Hiển thị c\xe1c sự kiện dịch khi lệnh gọi API đi qua OmniRoute. C\xe1c sự kiện đến từ bộ đệm trong bộ nhớ (đặt lại khi khởi động lại). sử dụng","liveMonitorDescriptionSuffix":"hoặc lệnh gọi API b\xean ngo\xe0i để tạo sự kiện."},"usage":{"title":"C\xe1ch sử dụng","loggerTab":"Tr\xecnh ghi nhật k\xfd","proxyTab":"ủy nhiệm","budgetManagement":"Quản l\xfd ng\xe2n s\xe1ch","budgetSaved":"Đ\xe3 lưu giới hạn ng\xe2n s\xe1ch","budgetSaveFailed":"Kh\xf4ng thể tiết kiệm ng\xe2n s\xe1ch","loadingBudgetData":"Đang tải dữ liệu ng\xe2n s\xe1ch...","noApiKeysTitle":"Kh\xf4ng c\xf3 kh\xf3a API","noApiKeysDescription":"Th\xeam kh\xf3a API trước để thiết lập giới hạn ng\xe2n s\xe1ch.","apiKey":"Kh\xf3a API","todaysSpend":"Chi ti\xeau h\xf4m nay","thisMonth":"Th\xe1ng n\xe0y","setLimits":"Đặt giới hạn","dailyLimitUsd":"Giới hạn h\xe0ng ng\xe0y (USD)","monthlyLimitUsd":"Giới hạn h\xe0ng th\xe1ng (USD)","warningThresholdPercent":"Ngưỡng cảnh b\xe1o (%)","dailyLimitPlaceholder":"v\xed dụ: 5 giờ 00","monthlyLimitPlaceholder":"v\xed dụ: 50,00","warningThresholdPlaceholder":"80","saveLimits":"Lưu giới hạn","budgetOk":"Ng\xe2n s\xe1ch ổn — c\xf2n lại {remaining}","budgetExceeded":"Vượt qu\xe1 ng\xe2n s\xe1ch — y\xeau cầu c\xf3 thể bị chặn","totalRequests":"Tổng số y\xeau cầu","noDataYet":"Chưa c\xf3 dữ liệu","latency":"Độ trễ","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Bộ nhớ đệm nhắc nhở","systemHealth":"T\xecnh trạng hệ thống","entries":"B\xe0i dự thi","activeCount":"{count} đang hoạt động","openCircuitBreakersDetected":"Đ\xe3 ph\xe1t hiện bộ ngắt mạch hở","hitRate":"Tỷ lệ tr\xfang","hitsMisses":"Lượt truy cập / Bỏ lỡ","circuitBreakers":"Bộ ngắt mạch","lockedIPs":"IP bị kh\xf3a","lockoutsAutoRefreshHint":"Kh\xf3a giới hạn tốc độ tr\xean mỗi m\xf4 h\xecnh • Tự động l\xe0m mới 10 gi\xe2y","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} c\xf2n lại","howItWorks":"N\xf3 hoạt động như thế n\xe0o","howItWorksSubtitle":"T\xecm hiểu c\xe1ch đ\xe1nh gi\xe1 x\xe1c thực phản hồi LLM của bạn","define":"X\xe1c định","defineStepDescription":"Tạo c\xe1c trường hợp thử nghiệm với lời nhắc đầu v\xe0o v\xe0 ti\xeau ch\xed đầu ra dự kiến bằng c\xe1ch sử dụng c\xe1c chiến lược như chứa, biểu thức ch\xednh quy hoặc đối s\xe1nh ch\xednh x\xe1c.","run":"Chạy","runStepDescription":"Thực hiện c\xe1c trường hợp kiểm thử đối với điểm cuối LLM của bạn th\xf4ng qua OmniRoute. Mỗi trường hợp được gửi dưới dạng một y\xeau cầu API thực sự.","evaluate":"Đ\xe1nh gi\xe1","evaluateStepDescription":"C\xe1c c\xe2u trả lời được so s\xe1nh với c\xe1c ti\xeau ch\xed dự kiến. Xem đạt/kh\xf4ng đạt cho từng trường hợp với số liệu về độ trễ v\xe0 phản hồi chi tiết.","evalSuites":"Bộ đ\xe1nh gi\xe1","evalSuitesHint":"Nhấp v\xe0o một bộ để xem c\xe1c trường hợp thử nghiệm, sau đ\xf3 chạy để đ\xe1nh gi\xe1 điểm cuối LLM của bạn","evalsLoading":"Đang tải bộ đ\xe1nh gi\xe1...","noEvalSuitesFound":"Kh\xf4ng t\xecm thấy bộ đ\xe1nh gi\xe1 n\xe0o","noEvalSuitesDescription":"Bộ đ\xe1nh gi\xe1 c\xf3 thể được x\xe1c định th\xf4ng qua API hoặc bằng m\xe3. Họ kiểm tra kết quả đầu ra của m\xf4 h\xecnh so với kết quả mong đợi bằng c\xe1ch sử dụng c\xe1c chiến lược như chứa, biểu thức ch\xednh quy, đối s\xe1nh ch\xednh x\xe1c v\xe0 c\xe1c h\xe0m t\xf9y chỉnh.","columnCase":"trường hợp","columnStatus":"Trạng th\xe1i","columnLatency":"Độ trễ","columnDetails":"Chi tiết","columnModel":"người mẫu","columnStrategy":"Chiến lược","columnExpected":"Dự kiến","statsSuites":"d\xe3y ph\xf2ng","statsTestCases":"Trường hợp thử nghiệm","statsModels":"Người mẫu","statsCoverage":"Bảo hiểm","statsStrategiesCount":"{count} chiến lược","evaluationStrategies":"Chiến lược đ\xe1nh gi\xe1","modelsUnderTest":"M\xf4 h\xecnh đang được thử nghiệm","searchSuitesPlaceholder":"Bộ t\xecm kiếm...","passSuffix":"vượt qua","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Chạy đ\xe1nh gi\xe1","runningProgress":"Đang chạy {current}/{total}...","passRate":"tỷ lệ đậu","summaryBreakdown":"{passed} đ\xe3 đạt \xb7 {failed} thất bại \xb7 tổng cộng {total}","passedIconLabel":"✅ Đạt","failedIconLabel":"❌ Thất bại","detailsContains":"Chứa: \\"{term}\\"","detailsRegex":"Biểu thức ch\xednh quy: {pattern}","detailsExpected":"Dự kiến: \\"{expected}\\"","noResultsYet":"Chưa c\xf3 kết quả","testCasesCount":"C\xe1c trường hợp thử nghiệm ({count})","noTestCasesDefined":"Kh\xf4ng c\xf3 trường hợp thử nghiệm n\xe0o được x\xe1c định","runEvalHint":"Nhấp v\xe0o \\"Chạy đ\xe1nh gi\xe1\\" để thực thi tất cả c\xe1c trường hợp đối với điểm cuối LLM của bạn. Mỗi b\xe0i kiểm tra sẽ gửi một y\xeau cầu thực sự th\xf4ng qua OmniRoute.","notifyNoTestCases":"Kh\xf4ng c\xf3 trường hợp thử nghiệm n\xe0o được x\xe1c định cho bộ phần mềm n\xe0y","notifyAllCasesPassed":"Tất cả {total} trường hợp đ\xe3 th\xe0nh c\xf4ng ✅","notifySomeCasesFailed":"{passed}/{total} đ\xe3 đạt, {failed} kh\xf4ng th\xe0nh c\xf4ng","notifyEvalRunFailed":"Chạy đ\xe1nh gi\xe1 kh\xf4ng th\xe0nh c\xf4ng","notifyEvalTitle":"Đ\xe1nh gi\xe1: {name}","modelEvals":"Đ\xe1nh gi\xe1 m\xf4 h\xecnh","evalsHeroDescription":"Kiểm tra v\xe0 x\xe1c thực c\xe1c điểm cuối LLM của bạn bằng c\xe1ch chạy c\xe1c bộ đ\xe1nh gi\xe1 được x\xe1c định trước. Mỗi bộ chứa c\xe1c trường hợp thử nghiệm gửi lời nhắc thực sự th\xf4ng qua OmniRoute v\xe0 so s\xe1nh phản hồi với ti\xeau ch\xed dự kiến ​​— gi\xfap bạn ph\xe1t hiện hồi quy, so s\xe1nh m\xf4 h\xecnh v\xe0 đảm bảo chất lượng phản hồi giữa c\xe1c nh\xe0 cung cấp.","qualityValidation":"X\xe1c nhận chất lượng","modelComparison":"So s\xe1nh m\xf4 h\xecnh","regressionDetection":"Ph\xe1t hiện hồi quy","latencyBenchmarks":"Điểm chuẩn độ trễ","modelLockouts":"Kh\xf3a m\xf4 h\xecnh","noLockouts":"Hiện kh\xf4ng c\xf3 mẫu n\xe0o bị kh\xf3a","activeSessions":"Phi\xean hoạt động","noSessions":"Kh\xf4ng c\xf3 phi\xean hoạt động n\xe0o","sessionsHint":"Phi\xean xuất hiện khi y\xeau cầu chảy qua proxy","sessionsTrackedHint":"Được theo d\xf5i th\xf4ng qua dấu v\xe2n tay y\xeau cầu • Tự động l\xe0m mới 5 gi\xe2y","session":"Phi\xean","age":"Tuổi","requests":"Y\xeau cầu","connection":"Kết nối","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value} ph\xfat","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Giới hạn của nh\xe0 cung cấp","noProviders":"Kh\xf4ng c\xf3 nh\xe0 cung cấp n\xe0o được kết nối","connectProvidersForQuota":"Kết nối với nh\xe0 cung cấp bằng OAuth để theo d\xf5i giới hạn v\xe0 mức sử dụng hạn ngạch API của bạn.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(được lọc từ {count})","autoRefresh":"Tự động l\xe0m mới","refreshAll":"L\xe0m mới tất cả","loadingQuotas":"Đang tải...","account":"T\xe0i khoản","modelQuotas":"Hạn ngạch mẫu","lastUsed":"Được sử dụng lần cuối","actions":"h\xe0nh động","refreshQuota":"L\xe0m mới hạn ngạch","today":"h\xf4m nay","tomorrow":"Ng\xe0y mai","dayTimeFormat":"{day}, {time}","inDuration":"trong {duration}","notApplicable":"kh\xf4ng \xe1p dụng","rawPlanWithValue":"G\xf3i th\xf4: {plan}","noPlanFromProvider":"Kh\xf4ng c\xf3 kế hoạch từ nh\xe0 cung cấp","noQuotaData":"Kh\xf4ng c\xf3 dữ liệu hạn ngạch","noQuotaDataAvailable":"Kh\xf4ng c\xf3 sẵn dữ liệu hạn ngạch","noAccountsForTierFilter":"Kh\xf4ng t\xecm thấy t\xe0i khoản n\xe0o cho bộ lọc cấp độ","tierAll":"Tất cả","tierEnterprise":"Doanh nghiệp","tierTeam":"đội","tierBusiness":"Kinh doanh","tierUltra":"si\xeau","tierPro":"chuy\xean nghiệp","tierPlus":"Cộng th\xeam","tierFree":"miễn ph\xed","tierUnknown":"Kh\xf4ng x\xe1c định"},"modals":{"waitingAuth":"Đang chờ cấp ph\xe9p","verificationUrl":"URL x\xe1c minh","yourCode":"M\xe3 của bạn","remoteAccess":"Truy cập từ xa:","connectedSuccess":"Đ\xe3 kết nối th\xe0nh c\xf4ng!","connectionFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng","chooseAuthMethod":"Chọn phương thức x\xe1c thực của bạn:","awsBuilderId":"ID tr\xecnh tạo AWS","awsIamIdentity":"Trung t\xe2m nhận dạng AWS IAM","googleAccount":"T\xe0i khoản Google","githubAccount":"T\xe0i khoản GitHub","importToken":"Nhập m\xe3 th\xf4ng b\xe1o","pasteToken":"D\xe1n m\xe3 th\xf4ng b\xe1o l\xe0m mới từ Kiro IDE.","awsRegion":"Khu vực AWS","autoDetecting":"Tự động ph\xe1t hiện m\xe3 th\xf4ng b\xe1o...","readingFromCache":"Đọc từ bộ đệm AWS SSO","readingFromCursor":"Đọc từ cơ sở dữ liệu Cursor IDE","initializing":"Đang khởi tạo...","pricingConfig":"Cấu h\xecnh gi\xe1","loadingPricing":"Đang tải dữ liệu gi\xe1...","pricingRatesFormat":"Định dạng gi\xe1 cước","noPricingData":"Kh\xf4ng c\xf3 dữ liệu gi\xe1 cả","noModelsFound":"Kh\xf4ng t\xecm thấy m\xf4 h\xecnh n\xe0o"},"loggers":{"allProviders":"Tất cả nh\xe0 cung cấp","allModels":"Tất cả c\xe1c mẫu","allAccounts":"Tất cả t\xe0i khoản","allApiKeys":"Tất cả c\xe1c kh\xf3a API","allTypes":"Tất cả c\xe1c loại","allLevels":"Tất cả c\xe1c cấp độ","modelAZ":"M\xf4 h\xecnh A-Z","modelZA":"Model Z-A","loadingLogs":"Đang tải nhật k\xfd...","loadingProxyLogs":"Đang tải nhật k\xfd proxy...","noLogEntries":"Kh\xf4ng t\xecm thấy mục nhật k\xfd n\xe0o","noPayloadData":"Kh\xf4ng c\xf3 dữ liệu tải trọng cho mục nhập nhật k\xfd n\xe0y.","proxyEvent":"Sự kiện ủy quyền","proxy":"ủy nhiệm","level":"Cấp độ","directNative":"Trực tiếp (gốc)","combo":"kết hợp","inputTokens":"T\xf4i:","outputTokens":"Ồ:"},"stats":{"usageOverview":"Tổng quan về c\xe1ch sử dụng","outputTokens":"M\xe3 th\xf4ng b\xe1o đầu ra","totalCost":"Tổng chi ph\xed","usageByModel":"C\xe1ch sử dụng theo mẫu","usageByAccount":"Mức sử dụng theo t\xe0i khoản","failedToLoad":"Kh\xf4ng tải được số liệu thống k\xea sử dụng.","tokenHealth":"T\xecnh trạng m\xe3 th\xf4ng b\xe1o","totalOAuth":"Tổng OAuth","healthy":"khỏe mạnh","warning":"Cảnh b\xe1o","errored":"Đ\xe3 xảy ra lỗi","lastCheck":"Kiểm tra lần cuối","noData":"Kh\xf4ng c\xf3 dữ liệu","share":"Chia sẻ","unableToLoad":"Kh\xf4ng thể tải số liệu hệ thống","product":"sản phẩm","resources":"T\xe0i nguy\xean","company":"C\xf4ng ty"},"auth":{"welcome":"Ch\xe0o mừng","signIn":"Đăng nhập","enterPassword":"Nhập mật khẩu của bạn để tiếp tục","password":"Mật khẩu","unifiedProxy":"Proxy API AI hợp nhất","unifiedAiApiProxy":"Proxy API AI hợp nhất","unifiedAiApiProxyDesc":"Định tuyến c\xe1c y\xeau cầu đến nhiều nh\xe0 cung cấp AI th\xf4ng qua một điểm cuối duy nhất. C\xe2n bằng tải, chuyển đổi dự ph\xf2ng v\xe0 theo d\xf5i sử dụng được t\xedch hợp sẵn.","passwordNotEnabled":"Bảo vệ mật khẩu kh\xf4ng được k\xedch hoạt","loading":"Đang tải...","invalidPassword":"Mật khẩu kh\xf4ng hợp lệ","errorOccurredRetry":"Đ\xe3 xảy ra lỗi. Vui l\xf2ng thử lại.","configureInstance":"H\xe3y cấu h\xecnh phi\xean bản OmniRoute của bạn","runOnboardingWizard":"Chạy tr\xecnh hướng dẫn t\xedch hợp để thiết lập mật khẩu v\xe0 kết nối với nh\xe0 cung cấp AI đầu ti\xean của bạn.","startOnboarding":"Bắt đầu giới thiệu","secureYourInstance":"Bảo mật phi\xean bản của bạn","setPasswordDescription":"Đặt mật khẩu để bảo vệ bảng th\xf4ng tin v\xe0 bảo mật c\xe1c điểm cuối API của bạn khỏi bị truy cập tr\xe1i ph\xe9p.","configurePassword":"Định cấu h\xecnh mật khẩu","continue":"Tiếp tục","windowWillClose":"Cửa sổ n\xe0y sẽ tự động đ\xf3ng lại...","closeTabNow":"Bạn c\xf3 thể đ\xf3ng tab n\xe0y ngay b\xe2y giờ.","copyUrlManual":"Vui l\xf2ng sao ch\xe9p URL từ thanh địa chỉ v\xe0 d\xe1n v\xe0o ứng dụng.","accessDeniedDescription":"Bạn kh\xf4ng c\xf3 quyền truy cập t\xe0i nguy\xean n\xe0y. Kiểm tra kh\xf3a API của bạn hoặc li\xean hệ với quản trị vi\xean.","goToDashboard":"Đi tới Trang tổng quan","featureMultiProviderTitle":"Đa nh\xe0 cung cấp","featureMultiProviderDesc":"OpenAI, Anthropic, Google, v.v.","featureLoadBalancingTitle":"C\xe2n bằng tải","featureLoadBalancingDesc":"Ph\xe2n phối y\xeau cầu một c\xe1ch th\xf4ng minh","featureUsageTrackingTitle":"Theo d\xf5i sử dụng","featureUsageTrackingDesc":"Theo d\xf5i chi ph\xed v\xe0 m\xe3 th\xf4ng b\xe1o","resetPassword":"Đặt lại mật khẩu","resetDescription":"Chọn một phương ph\xe1p để kh\xf4i phục quyền truy cập v\xe0o trang tổng quan của bạn","stopServer":"Dừng m\xe1y chủ OmniRoute","processing":"Đang xử l\xfd...","pleaseWait":"Vui l\xf2ng đợi trong khi ch\xfang t\xf4i ho\xe0n tất việc ủy quyền.","authSuccess":"Ủy quyền th\xe0nh c\xf4ng!","copyUrl":"Sao ch\xe9p URL n\xe0y","accessDenied":"Truy cập bị từ chối","methodCliTitle":"Phương ph\xe1p 1: Đặt lại CLI","methodCliDescription":"Chạy lệnh sau tr\xean m\xe1y chủ nơi OmniRoute đang chạy:","methodCliHint":"Điều n\xe0y sẽ nhắc bạn đặt mật khẩu mới. M\xe1y chủ phải được dừng trước ti\xean.","methodManualTitle":"Phương ph\xe1p 2: Đặt lại thủ c\xf4ng","methodManualDescription":"X\xf3a mật khẩu khỏi cơ sở dữ liệu v\xe0 đặt mật khẩu mới khi khởi động:","setPasswordInYour":"Đặt mật khẩu mới trong","fileLabelSuffix":"tập tin:","newPasswordPlaceholder":"your_new_password","deleteSettingsFile":"X\xf3a","orRemovePasswordHashField":"hoặc x\xf3a trường mật khẩuHash","restartServerWithNewPassword":"Khởi động lại m\xe1y chủ - n\xf3 sẽ sử dụng mật khẩu mới","backToLogin":"Quay lại đăng nhập","forgotPassword":"Qu\xean mật khẩu?"},"landing":{"brandName":"OmniRoute","navigateHome":"Điều hướng về nh\xe0","toggleMenu":"Chuyển đổi menu","featuresLink":"T\xednh năng","docsLink":"T\xe0i liệu","github":"GitHub","versionLive":"v1.0 hiện đang hoạt động","oneEndpoint":"Một điểm cuối cho","allProviders":"Tất cả c\xe1c nh\xe0 cung cấp AI","heroDescription":"Proxy điểm cuối AI với bảng điều khiển web - Cổng JavaScript của CLIProxyAPI. Hoạt động liền mạch với Claude Code, OpenAI Codex, Cline, RooCode v\xe0 c\xe1c c\xf4ng cụ CLI kh\xe1c.","getStarted":"Bắt đầu","viewOnGithub":"Xem tr\xean GitHub","powerfulFeatures":"T\xednh năng mạnh mẽ","featuresSubtitle":"Mọi thứ bạn cần để quản l\xfd cơ sở hạ tầng AI ở một nơi, được x\xe2y dựng theo quy m\xf4.","featureUnifiedEndpointTitle":"Điểm cuối hợp nhất","featureUnifiedEndpointDesc":"Truy cập tất cả c\xe1c nh\xe0 cung cấp th\xf4ng qua một URL API ti\xeau chuẩn duy nhất.","featureEasySetupTitle":"Thiết lập dễ d\xe0ng","featureEasySetupDesc":"Thiết lập v\xe0 chạy trong v\xe0i ph\xfat với lệnh npx.","featureModelFallbackTitle":"Dự ph\xf2ng m\xf4 h\xecnh","featureModelFallbackDesc":"Tự động chuyển đổi nh\xe0 cung cấp khi c\xf3 lỗi hoặc độ trễ cao.","featureUsageTrackingTitle":"Theo d\xf5i sử dụng","featureUsageTrackingDesc":"Ph\xe2n t\xedch chi tiết v\xe0 gi\xe1m s\xe1t chi ph\xed tr\xean tất cả c\xe1c m\xf4 h\xecnh.","featureOAuthApiKeysTitle":"Kh\xf3a OAuth & API","featureOAuthApiKeysDesc":"Quản l\xfd an to\xe0n th\xf4ng tin x\xe1c thực trong một kho tiền.","featureCloudSyncTitle":"Đồng bộ đ\xe1m m\xe2y","featureCloudSyncDesc":"Đồng bộ h\xf3a cấu h\xecnh của bạn tr\xean c\xe1c thiết bị ngay lập tức.","featureCliSupportTitle":"Hỗ trợ CLI","featureCliSupportDesc":"Hoạt động với Claude Code, Codex, Cline, Cursor, v.v.","featureDashboardTitle":"Trang tổng quan","featureDashboardDesc":"Bảng điều khiển trực quan để ph\xe2n t\xedch lưu lượng truy cập theo thời gian thực.","howItWorks":"OmniRoute hoạt động như thế n\xe0o","howItWorksDescription":"Dữ liệu được truyền liền mạch từ ứng dụng của bạn th\xf4ng qua lớp định tuyến th\xf4ng minh của ch\xfang t\xf4i đến nh\xe0 cung cấp tốt nhất cho c\xf4ng việc.","howItWorksStep1Title":"1. CLI & SDK","howItWorksStep1Description":"Y\xeau cầu của bạn bắt đầu từ c\xe1c c\xf4ng cụ y\xeau th\xedch của bạn hoặc SDK hợp nhất của ch\xfang t\xf4i. Chỉ cần thay đổi URL cơ sở.","howItWorksStep2Title":"2. Trung t\xe2m OmniRoute","howItWorksStep2Description":"C\xf4ng cụ của ch\xfang t\xf4i ph\xe2n t\xedch lời nhắc, kiểm tra trạng th\xe1i của nh\xe0 cung cấp v\xe0 c\xe1c lộ tr\xecnh để c\xf3 độ trễ hoặc chi ph\xed thấp nhất.","howItWorksStep3Title":"3. Nh\xe0 cung cấp AI","howItWorksStep3Description":"Y\xeau cầu được OpenAI, Anthropic, Gemini hoặc những người kh\xe1c thực hiện ngay lập tức.","getStartedIn30Seconds":"Bắt đầu sau 30 gi\xe2y","getStartedDescription":"C\xe0i đặt OmniRoute, định cấu h\xecnh nh\xe0 cung cấp của bạn th\xf4ng qua bảng điều khiển web v\xe0 bắt đầu định tuyến c\xe1c y\xeau cầu AI.","installOmniRoute":"C\xe0i đặt OmniRoute","installStepDescription":"Chạy lệnh npx để khởi động m\xe1y chủ ngay lập tức","openDashboard":"Mở trang tổng quan","openDashboardStepDescription":"Định cấu h\xecnh nh\xe0 cung cấp v\xe0 kh\xf3a API th\xf4ng qua giao diện web","routeRequests":"Y\xeau cầu lộ tr\xecnh","routeRequestsStepDescription":"Trỏ c\xf4ng cụ CLI của bạn tới {endpoint}","terminal":"thiết bị đầu cuối","copy":"Sao ch\xe9p","copied":"✓ Sao ch\xe9p","startingOmniRoute":"Đang khởi động OmniRoute...","serverRunningOnLabel":"M\xe1y chủ đang chạy","dashboardLabel":"Trang tổng quan","readyToRoute":"Sẵn s\xe0ng l\xean đường! ✓","configureProvidersNote":"\uD83D\uDCDD Định cấu h\xecnh nh\xe0 cung cấp trong bảng điều khiển hoặc sử dụng biến m\xf4i trường","dataLocation":"Vị tr\xed dữ liệu:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"sản phẩm","dashboardLink":"Trang tổng quan","changelog":"Nhật k\xfd thay đổi","resources":"T\xe0i nguy\xean","documentation":"T\xe0i liệu","npm":"NPM","legal":"ph\xe1p l\xfd","mitLicense":"Giấy ph\xe9p MIT","footerTagline":"Điểm cuối thống nhất để tạo AI. Kết nối, định tuyến v\xe0 quản l\xfd c\xe1c nh\xe0 cung cấp AI của bạn một c\xe1ch dễ d\xe0ng.","copyright":"\xa9 {year} OmniRoute. Mọi quyền được bảo lưu.","flowToolClaudeCode":"M\xe3 Claude","flowToolOpenAICodex":"Codex OpenAI","flowToolCline":"Cline","flowToolCursor":"Con trỏ","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"nh\xe2n loại","flowProviderGemini":"Song Tử","flowProviderGithubCopilot":"Phi c\xf4ng phụ GitHub","interactiveDiagram":"Sơ đồ tương t\xe1c hiển thị tr\xean m\xe0n h\xecnh","ctaTitle":"Sẵn s\xe0ng đơn giản h\xf3a cơ sở hạ tầng AI của bạn?","ctaDescription":"Tham gia c\xf9ng c\xe1c nh\xe0 ph\xe1t triển đang hợp l\xfd h\xf3a việc t\xedch hợp AI của họ với OmniRoute. Nguồn mở v\xe0 miễn ph\xed để bắt đầu.","startFree":"Bắt đầu miễn ph\xed","readDocumentation":"Đọc t\xe0i liệu"},"docs":{"title":"T\xe0i liệu","quickStart":"Bắt đầu nhanh","features":"T\xednh năng","supportedProviders":"Nh\xe0 cung cấp được hỗ trợ","supportedProvidersToc":"Nh\xe0 cung cấp","commonUseCases":"C\xe1c trường hợp sử dụng phổ biến","clientCompatibility":"Khả năng tương th\xedch của kh\xe1ch h\xe0ng","apiReference":"Tham chiếu API","method":"phương ph\xe1p","path":"Đường dẫn","notes":"Ghi ch\xfa","modelPrefixes":"Tiền tố mẫu","prefix":"Tiền tố","troubleshooting":"Khắc phục sự cố","supportsChat":"Hỗ trợ cả điểm cuối tr\xf2 chuyện v\xe0 phản hồi.","oauthAutoRefresh":"Kết nối OAuth với t\xednh năng l\xe0m mới m\xe3 th\xf4ng b\xe1o tự động.","fullStreaming":"Hỗ trợ ph\xe1t trực tuyến đầy đủ cho tất cả c\xe1c kiểu m\xe1y.","docsLabel":"T\xe0i liệu","docsHeroDescription":"Cổng AI cho LLM đa nh\xe0 cung cấp. Một điểm cuối cho OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor v\xe0 hơn 20 nh\xe0 cung cấp kh\xe1c.","openDashboard":"Mở trang tổng quan","endpointPage":"Trang điểm cuối","github":"GitHub","reportIssue":"B\xe1o c\xe1o vấn đề","onThisPage":"Tr\xean trang n\xe0y","documentationVersion":"T\xe0i liệu - v{version}","quickStartStep1Title":"1. C\xe0i đặt v\xe0 chạy","quickStartStep1Prefix":"Chạy","quickStartStep1Middle":"hoặc sao ch\xe9p từ GitHub v\xe0 chạy","quickStartStep2Title":"2. Tạo kh\xf3a API","quickStartStep2Text":"Đi tới Điểm cuối -> Kh\xf3a đ\xe3 đăng k\xfd. Tạo một kh\xf3a cho mỗi m\xf4i trường.","quickStartStep3Title":"3. Kết nối nh\xe0 cung cấp","quickStartStep3Text":"Th\xeam t\xe0i khoản nh\xe0 cung cấp th\xf4ng qua th\xf4ng tin đăng nhập OAuth, kh\xf3a API hoặc tự động kết nối bậc miễn ph\xed.","quickStartStep4Title":"4. Đặt URL cơ sở kh\xe1ch h\xe0ng","quickStartStep4Prefix":"Trỏ ứng dụng kh\xe1ch IDE hoặc API của bạn tới","quickStartStep4Suffix":"Sử dụng tiền tố nh\xe0 cung cấp, v\xed dụ","featureRoutingTitle":"Định tuyến nhiều nh\xe0 cung cấp","featureRoutingText":"Định tuyến y\xeau cầu đến hơn 30 nh\xe0 cung cấp AI th\xf4ng qua một điểm cuối tương th\xedch với OpenAI. Hỗ trợ API tr\xf2 chuyện, phản hồi, \xe2m thanh v\xe0 h\xecnh ảnh.","featureCombosTitle":"Combo v\xe0 c\xe2n bằng","featureCombosText":"Tạo c\xe1c tổ hợp m\xf4 h\xecnh với chuỗi dự ph\xf2ng v\xe0 chiến lược c\xe2n bằng: lu\xe2n phi\xean, ưu ti\xean, ngẫu nhi\xean, \xedt sử dụng nhất v\xe0 tối ưu h\xf3a chi ph\xed.","featureUsageTitle":"Theo d\xf5i việc sử dụng v\xe0 chi ph\xed","featureUsageText":"Đếm m\xe3 th\xf4ng b\xe1o theo thời gian thực, t\xednh to\xe1n chi ph\xed cho mỗi nh\xe0 cung cấp/m\xf4 h\xecnh v\xe0 ph\xe2n t\xedch mức sử dụng chi tiết theo kh\xf3a v\xe0 t\xe0i khoản API.","featureAnalyticsTitle":"Trang tổng quan ph\xe2n t\xedch","featureAnalyticsText":"Ph\xe2n t\xedch trực quan với biểu đồ về y\xeau cầu, m\xe3 th\xf4ng b\xe1o, lỗi, độ trễ, chi ph\xed v\xe0 mức độ phổ biến của m\xf4 h\xecnh theo thời gian.","featureHealthTitle":"Theo d\xf5i sức khỏe","featureHealthText":"Kiểm tra t\xecnh trạng trực tiếp, trạng th\xe1i nh\xe0 cung cấp, trạng th\xe1i ngắt mạch v\xe0 ph\xe1t hiện giới hạn tốc độ tự động với thời gian chờ theo cấp số nh\xe2n.","featureCliTitle":"C\xf4ng cụ CLI","featureCliText":"Quản l\xfd cấu h\xecnh IDE, xuất/nhập bản sao lưu, kh\xe1m ph\xe1 cấu h\xecnh codex v\xe0 định cấu h\xecnh c\xe0i đặt từ bảng điều khiển.","featureSecurityTitle":"Bảo mật v\xe0 ch\xednh s\xe1ch","featureSecurityText":"X\xe1c thực kh\xf3a API, lọc IP, bảo vệ ti\xeam nhắc nhở, ch\xednh s\xe1ch miền, quản l\xfd phi\xean v\xe0 ghi nhật k\xfd kiểm tra.","featureCloudSyncTitle":"Đồng bộ đ\xe1m m\xe2y","featureCloudSyncText":"Đồng bộ h\xf3a cấu h\xecnh của bạn với Cloudflare Workers để truy cập từ xa bằng th\xf4ng tin x\xe1c thực được m\xe3 h\xf3a v\xe0 chuyển đổi dự ph\xf2ng tự động.","providersAcrossConnectionTypes":"{count} nh\xe0 cung cấp tr\xean ba loại kết nối.","manageProviders":"Quản l\xfd nh\xe0 cung cấp","providersCount":"{count} nh\xe0 cung cấp","providerTypeFree":"Bậc miễn ph\xed","providerTypeOAuth":"OAuth","providerTypeApiKey":"Kh\xf3a API","useCaseSingleEndpointTitle":"Điểm cuối duy nhất cho nhiều nh\xe0 cung cấp","useCaseSingleEndpointText":"Trỏ m\xe1y kh\xe1ch đến một URL cơ sở v\xe0 định tuyến theo tiền tố m\xf4 h\xecnh (v\xed dụ: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Dự ph\xf2ng v\xe0 chuyển đổi m\xf4 h\xecnh bằng combo","useCaseFallbackText":"Tạo c\xe1c m\xf4 h\xecnh kết hợp trong Bảng điều khiển v\xe0 giữ cấu h\xecnh m\xe1y kh\xe1ch ổn định trong khi c\xe1c nh\xe0 cung cấp lu\xe2n chuyển nội bộ.","useCaseUsageVisibilityTitle":"Khả năng hiển thị c\xe1ch sử dụng, chi ph\xed v\xe0 gỡ lỗi","useCaseUsageVisibilityText":"Theo d\xf5i m\xe3 th\xf4ng b\xe1o v\xe0 chi ph\xed theo nh\xe0 cung cấp, t\xe0i khoản v\xe0 kh\xf3a API trong tab Sử dụng v\xe0 Ph\xe2n t\xedch.","clientCherryStudioTitle":"Xưởng Anh Đ\xe0o","baseUrlLabel":"URL cơ sở","chatEndpointLabel":"Điểm cuối tr\xf2 chuyện","modelRecommendationLabel":"Đề xuất m\xf4 h\xecnh: tiền tố r\xf5 r\xe0ng","clientCodexTitle":"M\xf4 h\xecnh phi c\xf4ng phụ Codex / GitHub","clientCodexBullet1":"Sử dụng ID mẫu với","clientCodexBullet2":"C\xe1c m\xf4 h\xecnh d\xf2ng Codex tự động định tuyến tới","clientCodexBullet3":"C\xe1c m\xf4 h\xecnh kh\xf4ng phải Codex vẫn tiếp tục","clientCursorTitle":"IDE con trỏ","clientCursorBullet1":"sử dụng","clientCursorBullet1Suffix":"tiền tố cho c\xe1c m\xf4 h\xecnh Con trỏ.","clientCursorBullet2":"Kết nối OAuth - đăng nhập từ trang Nh\xe0 cung cấp.","clientClaudeTitle":"Mật m\xe3 Claude/Phản trọng lực","clientClaudeBullet1Prefix":"sử dụng","clientClaudeBullet1Middle":"(Claude) hoặc","clientClaudeBullet1Suffix":"(Phản trọng lực) tiền tố.","endpointChatNote":"Điểm cuối tr\xf2 chuyện tương th\xedch với OpenAI (mặc định).","endpointResponsesNote":"Điểm cuối API phản hồi (Codex, o-series).","endpointModelsNote":"Danh mục m\xf4 h\xecnh cho tất cả c\xe1c nh\xe0 cung cấp được kết nối.","endpointAudioNote":"Phi\xean \xe2m \xe2m thanh (Deepgram, AssemblyAI).","endpointImagesNote":"Tạo h\xecnh ảnh (NanoBanana).","endpointRewriteChatNote":"Viết lại tr\xecnh trợ gi\xfap cho kh\xe1ch h\xe0ng kh\xf4ng c\xf3 /v1.","endpointRewriteResponsesNote":"Viết lại tr\xecnh trợ gi\xfap cho Phản hồi kh\xf4ng c\xf3 /v1.","endpointRewriteModelsNote":"Viết lại tr\xecnh trợ gi\xfap để kh\xe1m ph\xe1 m\xf4 h\xecnh m\xe0 kh\xf4ng cần /v1.","modelPrefixesDescriptionStart":"Sử dụng tiền tố nh\xe0 cung cấp trước t\xean mẫu m\xe1y để định tuyến đến một nh\xe0 cung cấp cụ thể. V\xed dụ:","modelPrefixesDescriptionEnd":"định tuyến đến GitHub Copilot.","provider":"nh\xe0 cung cấp","type":"loại","troubleshootingModelRouting":"Nếu m\xe1y kh\xe1ch kh\xf4ng định tuyến được m\xf4 h\xecnh, h\xe3y sử dụng nh\xe0 cung cấp/m\xf4 h\xecnh r\xf5 r\xe0ng (v\xed dụ: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Nếu bạn nhận được lỗi m\xf4 h\xecnh kh\xf4ng r\xf5 r\xe0ng, h\xe3y chọn tiền tố nh\xe0 cung cấp thay v\xec ID m\xf4 h\xecnh trần.","troubleshootingCodexFamily":"Đối với c\xe1c m\xf4 h\xecnh d\xf2ng GitHub Codex, h\xe3y giữ m\xf4 h\xecnh l\xe0 gh/<codex-model>; bộ định tuyến chọn/phản hồi tự động.","troubleshootingTestConnection":"Sử dụng Trang tổng quan > Nh\xe0 cung cấp > Kiểm tra kết nối trước khi thử nghiệm từ IDE hoặc ứng dụng kh\xe1ch b\xean ngo\xe0i.","troubleshootingCircuitBreaker":"Nếu nh\xe0 cung cấp hiển thị cầu dao đang mở, h\xe3y đợi thời gian hồi chi\xeau hoặc kiểm tra trang Sức khỏe để biết chi tiết.","troubleshootingOAuth":"Đối với nh\xe0 cung cấp OAuth, h\xe3y x\xe1c thực lại nếu m\xe3 th\xf4ng b\xe1o hết hạn. Kiểm tra chỉ b\xe1o trạng th\xe1i thẻ nh\xe0 cung cấp."},"legal":{"privacyPolicy":"Ch\xednh s\xe1ch bảo mật","termsOfService":"Điều khoản dịch vụ","providerConfigurations":"Cấu h\xecnh nh\xe0 cung cấp","apiKeys":"Kh\xf3a API","usageLogs":"Nhật k\xfd sử dụng","applicationSettings":"C\xe0i đặt ứng dụng","viewExportAnalytics":"Xem v\xe0 xuất ph\xe2n t\xedch sử dụng","clearHistory":"X\xf3a lịch sử sử dụng bất cứ l\xfac n\xe0o","configureRetention":"Định cấu h\xecnh ch\xednh s\xe1ch lưu giữ nhật k\xfd","backupRestore":"Sao lưu v\xe0 kh\xf4i phục cơ sở dữ liệu của bạn","privacyMetadataTitle":"Ch\xednh s\xe1ch bảo mật | OmniRoute","privacyMetadataDescription":"Ch\xednh s\xe1ch quyền ri\xeang tư d\xe0nh cho bộ định tuyến proxy OmniRoute AI API.","termsMetadataTitle":"Điều khoản dịch vụ | OmniRoute","termsMetadataDescription":"Điều khoản dịch vụ d\xe0nh cho bộ định tuyến proxy OmniRoute AI API.","backToHome":"Trở về nh\xe0","lastUpdated":"Cập nhật lần cuối: {date}","policyLastUpdatedDate":"Ng\xe0y 13 th\xe1ng 2 năm 2026","listSeparator":"-","questionsVisit":"C\xe2u hỏi? Gh\xe9 thăm của ch\xfang t\xf4i","githubRepository":"Kho lưu trữ GitHub","privacySection1Title":"1. Kiến tr\xfac địa phương đầu ti\xean","privacySection1Text":"OmniRoute được thiết kế như một ứng dụng cục bộ đầu ti\xean. Tất cả qu\xe1 tr\xecnh xử l\xfd v\xe0 lưu trữ dữ liệu diễn ra ho\xe0n to\xe0n tr\xean m\xe1y của bạn. Kh\xf4ng c\xf3 m\xe1y chủ tập trung thu thập th\xf4ng tin của bạn.","privacySection2Title":"2. Dữ liệu ch\xfang t\xf4i lưu trữ","privacyDataStoredIn":"Dữ liệu sau được lưu trữ cục bộ trong","privacyDataProviderConfigurationsDesc":"URL kết nối, loại nh\xe0 cung cấp v\xe0 c\xe0i đặt ưu ti\xean","privacyDataApiKeysDesc":"được m\xe3 h\xf3a v\xe0 lưu trữ cục bộ để x\xe1c thực với c\xe1c nh\xe0 cung cấp AI","privacyDataUsageLogsDesc":"số lượng y\xeau cầu, mức sử dụng m\xe3 th\xf4ng b\xe1o, t\xean m\xf4 h\xecnh, dấu thời gian v\xe0 thời gian phản hồi","privacyDataApplicationSettingsDesc":"t\xf9y chọn chủ đề, chiến lược định tuyến v\xe0 cấu h\xecnh kết hợp","privacySection3Title":"3. Kh\xf4ng đo từ xa","privacySection3Text":"OmniRoute kh\xf4ng thu thập b\xe1o c\xe1o đo từ xa, ph\xe2n t\xedch hoặc sự cố. Kh\xf4ng c\xf3 dữ liệu n\xe0o được gửi cho ch\xfang t\xf4i hoặc bất kỳ b\xean thứ ba n\xe0o. Kiểu sử dụng, lệnh gọi API v\xe0 cấu h\xecnh của bạn vẫn ho\xe0n to\xe0n ở chế độ ri\xeang tư.","privacySection4Title":"4. Nh\xe0 cung cấp AI b\xean thứ ba","privacySection4Text":"Khi bạn thực hiện lệnh gọi API th\xf4ng qua OmniRoute, y\xeau cầu của bạn sẽ được chuyển tiếp đến nh\xe0 cung cấp AI m\xe0 bạn đ\xe3 định cấu h\xecnh (v\xed dụ: OpenAI, Anthropic, Google). C\xe1c nh\xe0 cung cấp n\xe0y c\xf3 ch\xednh s\xe1ch bảo mật ri\xeang chi phối c\xe1ch họ xử l\xfd dữ liệu của bạn. Vui l\xf2ng xem lại:","privacyOpenAiPolicy":"Ch\xednh s\xe1ch quyền ri\xeang tư của OpenAI","privacyAnthropicPolicy":"Ch\xednh s\xe1ch về quyền ri\xeang tư của Anthropic","privacyGooglePolicy":"Ch\xednh s\xe1ch bảo mật của Google","privacySection5Title":"5. Đồng bộ h\xf3a đ\xe1m m\xe2y (T\xf9y chọn)","privacySection5Text":"Nếu bạn bật t\xednh năng đồng bộ h\xf3a đ\xe1m m\xe2y t\xf9y chọn, cấu h\xecnh nh\xe0 cung cấp v\xe0 kh\xf3a API c\xf3 thể được truyền đến điểm cuối đ\xe1m m\xe2y đ\xe3 định cấu h\xecnh. T\xednh năng n\xe0y bị tắt theo mặc định v\xe0 y\xeau cầu chọn tham gia r\xf5 r\xe0ng.","privacySection6Title":"6. Ghi nhật k\xfd","privacyLoggingIntro":"Nhật k\xfd y\xeau cầu c\xf3 thể được cấu h\xecnh th\xf4ng qua c\xe0i đặt bảng điều khiển. Bạn c\xf3 thể:","privacySection7Title":"7. Quyền của bạn","privacySection7TextStart":"V\xec tất cả dữ liệu được lưu trữ cục bộ n\xean bạn c\xf3 to\xe0n quyền kiểm so\xe1t. Bạn c\xf3 thể x\xf3a dữ liệu của m\xecnh bất kỳ l\xfac n\xe0o bằng c\xe1ch x\xf3a","privacySection7TextEnd":"thư mục hoặc sử dụng t\xednh năng sao lưu v\xe0 kh\xf4i phục cơ sở dữ liệu trong bảng điều khiển.","termsSection1Title":"1. Tổng quan","termsSection1Text":"OmniRoute l\xe0 bộ định tuyến proxy AI API cục bộ đầu ti\xean hoạt động ho\xe0n to\xe0n tr\xean m\xe1y của bạn. N\xf3 định tuyến c\xe1c y\xeau cầu đến nhiều nh\xe0 cung cấp AI với t\xednh năng c\xe2n bằng tải, chuyển đổi dự ph\xf2ng v\xe0 theo d\xf5i việc sử dụng.","termsSection2Title":"2. Tr\xe1ch nhiệm của Người d\xf9ng","termsResponsibilityApiKeys":"Bạn ho\xe0n to\xe0n chịu tr\xe1ch nhiệm quản l\xfd kh\xf3a API v\xe0 th\xf4ng tin đăng nhập của ri\xeang m\xecnh cho c\xe1c nh\xe0 cung cấp AI b\xean thứ ba (OpenAI, Anthropic, Google, v.v.).","termsResponsibilityCompliance":"Bạn phải tu\xe2n thủ c\xe1c điều khoản dịch vụ của từng nh\xe0 cung cấp AI c\xf3 API m\xe0 bạn truy cập th\xf4ng qua OmniRoute.","termsResponsibilitySecurity":"Bạn chịu tr\xe1ch nhiệm về t\xednh bảo mật của c\xe0i đặt OmniRoute cục bộ của m\xecnh, bao gồm đặt mật khẩu v\xe0 hạn chế quyền truy cập mạng.","termsSection3Title":"3. N\xf3 hoạt động như thế n\xe0o","termsSection3Text":"OmniRoute hoạt động như một proxy trung gian. C\xe1c lệnh gọi API gửi tới OmniRoute sẽ được dịch v\xe0 chuyển tiếp đến c\xe1c nh\xe0 cung cấp AI đ\xe3 định cấu h\xecnh của bạn. OmniRoute kh\xf4ng sửa đổi nội dung y\xeau cầu hoặc phản hồi của bạn ngo\xe0i bản dịch giao thức cần thiết.","termsSection4Title":"4. Xử l\xfd dữ liệu","termsDataStoredLocally":"Tất cả dữ liệu được lưu trữ cục bộ tr\xean m\xe1y của bạn trong cơ sở dữ liệu SQLite.","termsNoTransmission":"OmniRoute kh\xf4ng truyền bất kỳ dữ liệu n\xe0o đến c\xe1c m\xe1y chủ b\xean ngo\xe0i trừ khi bạn bật r\xf5 r\xe0ng c\xe1c t\xednh năng đồng bộ h\xf3a tr\xean đ\xe1m m\xe2y.","termsDataLocationText":"Nhật k\xfd sử dụng, kh\xf3a API v\xe0 cấu h\xecnh được lưu trữ trong","termsSection5Title":"5. Tuy\xean bố từ chối tr\xe1ch nhiệm","termsSection5Text":"OmniRoute được cung cấp \\"nguy\xean trạng\\" m\xe0 kh\xf4ng c\xf3 bất kỳ h\xecnh thức bảo h\xe0nh n\xe0o. Ch\xfang t\xf4i kh\xf4ng chịu tr\xe1ch nhiệm về bất kỳ chi ph\xed n\xe0o ph\xe1t sinh do sử dụng API, gi\xe1n đoạn dịch vụ hoặc mất dữ liệu. Lu\xf4n duy tr\xec bản sao lưu cấu h\xecnh của bạn.","termsSection6Title":"6. Nguồn mở","termsSection6Text":"OmniRoute l\xe0 phần mềm m\xe3 nguồn mở. Bạn c\xf3 thể tự do kiểm tra, sửa đổi v\xe0 ph\xe2n phối n\xf3 theo c\xe1c điều khoản trong giấy ph\xe9p."}}')}};
1
+ "use strict";exports.id=2214,exports.ids=[2214],exports.modules={22214:a=>{a.exports=JSON.parse('{"common":{"save":"Lưu","cancel":"Hủy bỏ","delete":"X\xf3a","loading":"Đang tải...","error":"Đ\xe3 xảy ra lỗi","success":"th\xe0nh c\xf4ng","confirm":"Bạn c\xf3 chắc kh\xf4ng?","refresh":"L\xe0m mới","close":"Đ\xf3ng","add":"Th\xeam","edit":"Chỉnh sửa","search":"T\xecm kiếm","back":"Quay lại","next":"Tiếp theo","submit":"Gửi","reset":"Đặt lại","copy":"Sao ch\xe9p","copied":"Đ\xe3 sao ch\xe9p!","enabled":"Đ\xe3 bật","disabled":"Đ\xe3 tắt","active":"Đang hoạt động","inactive":"Kh\xf4ng hoạt động","noData":"Kh\xf4ng c\xf3 sẵn dữ liệu","configure":"Cấu h\xecnh","manage":"Quản l\xfd","name":"T\xean","actions":"h\xe0nh động","status":"Trạng th\xe1i","type":"loại","model":"người mẫu","models":"m\xf4 h\xecnh","provider":"nh\xe0 cung cấp","account":"T\xe0i khoản","time":"thời gian","details":"Chi tiết","created":"Đ\xe3 tạo","lastUsed":"Được sử dụng lần cuối","loadMore":"Tải th\xeam","noResults":"Kh\xf4ng t\xecm thấy kết quả n\xe0o","reloadPage":"Tải lại trang","connected":"Đ\xe3 kết nối","disconnected":"Đ\xe3 ngắt kết nối","notConfigured":"Chưa được định cấu h\xecnh","testConnection":"Kiểm tra kết nối","enable":"K\xedch hoạt","disable":"V\xf4 hiệu h\xf3a","columns":"Cột","newest":"Mới nhất","oldest":"Cũ nhất","all":"Tất cả","none":"kh\xf4ng c\xf3","yes":"C\xf3","no":"Kh\xf4ng","warning":"Cảnh b\xe1o","note":"Lưu \xfd","free":"miễn ph\xed","skipToContent":"Chuyển đến nội dung"},"sidebar":{"home":"Trang chủ","dashboard":"Trang tổng quan","providers":"Nh\xe0 cung cấp","combos":"Combo","usage":"C\xe1ch sử dụng","analytics":"Ph\xe2n t\xedch","costs":"Chi ph\xed","health":"sức khỏe","limits":"Giới hạn & hạn ngạch","cliTools":"C\xf4ng cụ CLI","settings":"C\xe0i đặt","translator":"Người phi\xean dịch","docs":"T\xe0i liệu","issues":"vấn đề","endpoint":"Điểm cuối","apiManager":"Tr\xecnh quản l\xfd API","logs":"Nhật k\xfd","auditLog":"Nhật k\xfd kiểm tra","shutdown":"Tắt m\xe1y","restart":"Khởi động lại","shutdownConfirm":"Tắt OmniRoute?","restartConfirm":"Khởi động lại OmniRoute?","version":"v{version}","debug":"Gỡ lỗi","system":"Hệ thống","help":"Trợ gi\xfap","serverDisconnected":"M\xe1y chủ bị ngắt kết nối","serverDisconnectedMsg":"M\xe1y chủ proxy đ\xe3 bị dừng hoặc đang khởi động lại.","expandSidebar":"Mở rộng thanh b\xean","collapseSidebar":"Thu gọn thanh b\xean"},"header":{"logout":"Đăng xuất","language":"Ng\xf4n ngữ","providers":"Nh\xe0 cung cấp","providerDescription":"Quản l\xfd kết nối nh\xe0 cung cấp AI của bạn","combos":"Combo","comboDescription":"Kết hợp m\xf4 h\xecnh với dự ph\xf2ng","usage":"C\xe1ch sử dụng & ph\xe2n t\xedch","usageDescription":"Gi\xe1m s\xe1t việc sử dụng API, mức ti\xeau thụ m\xe3 th\xf4ng b\xe1o v\xe0 nhật k\xfd y\xeau cầu của bạn","analytics":"Ph\xe2n t\xedch","analyticsDescription":"Biểu đồ, xu hướng v\xe0 th\xf4ng tin đ\xe1nh gi\xe1","cliTools":"C\xf4ng cụ CLI","cliToolsDescription":"Định cấu h\xecnh c\xf4ng cụ CLI","home":"Trang chủ","homeDescription":"Ch\xe0o mừng đến với OmniRoute","endpoint":"Điểm cuối","endpointDescription":"Cấu h\xecnh điểm cuối API","settings":"C\xe0i đặt","settingsDescription":"Quản l\xfd t\xf9y chọn của bạn","openaiCompatible":"Tương th\xedch OpenAI","anthropicCompatible":"Tương th\xedch với con người"},"home":{"quickStart":"Bắt đầu nhanh","quickStartDesc":"H\xe3y đứng dậy v\xe0 chạy trong 4 bước. Kết nối nh\xe0 cung cấp, m\xf4 h\xecnh định tuyến, gi\xe1m s\xe1t mọi thứ.","fullDocs":"T\xe0i liệu đầy đủ","step1Title":"1. Tạo kh\xf3a API","step1Desc":"Đi tới <endpoint>Endpoint</endpoint> -> Kh\xf3a đ\xe3 đăng k\xfd. Tạo một kh\xf3a cho mỗi m\xf4i trường.","step2Title":"2. Kết nối nh\xe0 cung cấp","step2Desc":"Th\xeam t\xe0i khoản trong <providers>Providers</providers>. Hỗ trợ OAuth, Kh\xf3a API v\xe0 c\xe1c cấp miễn ph\xed.","step3Title":"3. Chỉ v\xe0o kh\xe1ch h\xe0ng của bạn","step3Desc":"Đặt URL cơ sở th\xe0nh {url} trong ứng dụng kh\xe1ch IDE hoặc API của bạn.","step4Title":"4. Gi\xe1m s\xe1t & tối ưu h\xf3a","step4Desc":"Theo d\xf5i m\xe3 th\xf4ng b\xe1o, chi ph\xed v\xe0 lỗi trong <logs>Nhật k\xfd y\xeau cầu</logs> v\xe0 <analytics>Analytics</analytics>.","providersOverview":"Tổng quan về nh\xe0 cung cấp","configuredOf":"{configured} được định cấu h\xecnh của {total} nh\xe0 cung cấp hiện c\xf3","noModelsAvailable":"Kh\xf4ng c\xf3 m\xf4 h\xecnh c\xf3 sẵn cho nh\xe0 cung cấp n\xe0y.","configureFirst":"Trước ti\xean h\xe3y định cấu h\xecnh kết nối trong {providers}","configureProvider":"Định cấu h\xecnh nh\xe0 cung cấp","modelAvailable":"C\xf3 mẫu {count}","modelsAvailable":"C\xf3 sẵn mẫu {count}","connectionsActive":"{count} kết nối đang hoạt động","connectionsActivePlural":"{count} kết nối đang hoạt động","copyModelName":"Sao ch\xe9p t\xean mẫu","documentation":"T\xe0i liệu","healthMonitor":"Theo d\xf5i sức khỏe","reportIssue":"B\xe1o c\xe1o vấn đề","activeError":"{active} đang hoạt động \xb7 Lỗi {errors}","oauthLabel":"OAuth","apiKeyLabel":"Kh\xf3a API","requestsShort":"{count} y\xeau cầu","providerModelsTitle":"{provider} - Người mẫu","copiedModel":"Đ\xe3 sao ch\xe9p: {model}","aliasLabel":"b\xed danh"},"analytics":{"title":"Ph\xe2n t\xedch","overviewDescription":"Gi\xe1m s\xe1t m\xf4 h\xecnh sử dụng API, mức ti\xeau thụ m\xe3 th\xf4ng b\xe1o, chi ph\xed v\xe0 xu hướng hoạt động của bạn tr\xean tất cả c\xe1c nh\xe0 cung cấp v\xe0 m\xf4 h\xecnh.","evalsDescription":"Chạy bộ đ\xe1nh gi\xe1 để kiểm tra v\xe0 x\xe1c thực điểm cuối LLM của bạn. So s\xe1nh chất lượng m\xf4 h\xecnh, ph\xe1t hiện hồi quy v\xe0 độ trễ điểm chuẩn.","overview":"Tổng quan","evals":"Đ\xe1nh gi\xe1"},"apiManager":{"title":"Kh\xf3a API","createKey":"Tạo kh\xf3a API","key":"Ch\xeca kh\xf3a","revokeKey":"Thu hồi kh\xf3a","revokeConfirm":"Bạn c\xf3 chắc chắn muốn thu hồi kh\xf3a API n\xe0y kh\xf4ng?","noKeys":"Chưa c\xf3 kh\xf3a API n\xe0o","noKeysDesc":"Tạo kh\xf3a API đầu ti\xean để x\xe1c thực c\xe1c y\xeau cầu tới điểm cuối của bạn","keyLabel":"Nh\xe3n kh\xf3a","permissions":"Quyền","expiresAt":"Hết hạn","never":"kh\xf4ng bao giờ","revoke":"Thu hồi","showKey":"Hiển thị kh\xf3a","hideKey":"Ẩn ph\xedm","copyKey":"Sao ch\xe9p kh\xf3a API","allModels":"Tất cả c\xe1c m\xf4 h\xecnh","selectedModels":"C\xe1c mẫu đ\xe3 chọn","readOnly":"Chỉ đọc","fullAccess":"To\xe0n quyền truy cập","keyManagement":"Quản l\xfd kh\xf3a API","keyManagementDesc":"Tạo v\xe0 quản l\xfd kh\xf3a API để x\xe1c thực c\xe1c y\xeau cầu tới điểm cuối của bạn","totalKeys":"Tổng số ph\xedm","restricted":"Bị hạn chế","totalRequests":"Tổng số y\xeau cầu","modelsAvailable":"C\xe1c mẫu c\xf3 sẵn","registeredKeys":"Kh\xf3a đ\xe3 đăng k\xfd","keysRegistered":"{count} kh\xf3a đ\xe3 được đăng k\xfd","keyRegistered":"Đ\xe3 đăng k\xfd kh\xf3a {count}","keysSecurityNote":"Mỗi kh\xf3a t\xe1ch biệt việc theo d\xf5i việc sử dụng v\xe0 c\xf3 thể được thu hồi một c\xe1ch độc lập. C\xe1c kh\xf3a được che dấu sau khi tạo để bảo mật.","createFirstKey":"Tạo ch\xeca kh\xf3a đầu ti\xean của bạn","name":"T\xean","usage":"C\xe1ch sử dụng","created":"Đ\xe3 tạo","actions":"h\xe0nh động","reqs":"y\xeau cầu","neverUsed":"Chưa bao giờ sử dụng","deleteConfirm":"X\xf3a kh\xf3a API n\xe0y?","usageTips":"Mẹo sử dụng","tipAuth":"Sử dụng c\xe1c kh\xf3a API trong ti\xeau đề Cấp ph\xe9p l\xe0m Người ghi t\xean YOUR_KEY","tipSecure":"Kh\xf3a chỉ được hiển thị một lần trong qu\xe1 tr\xecnh tạo — h\xe3y lưu trữ ch\xfang một c\xe1ch an to\xe0n","tipSeparate":"Tạo kh\xf3a ri\xeang cho c\xe1c m\xe1y kh\xe1ch hoặc m\xf4i trường kh\xe1c nhau","tipRestrict":"Hạn chế kh\xf3a cho c\xe1c kiểu m\xe1y cụ thể để bảo mật tốt hơn v\xe0 kiểm so\xe1t chi ph\xed","keyName":"T\xean kh\xf3a","keyNamePlaceholder":"v\xed dụ: Kh\xf3a sản xuất, Kh\xf3a ph\xe1t triển","keyNameDesc":"Chọn t\xean m\xf4 tả để x\xe1c định mục đ\xedch của kh\xf3a n\xe0y","keyCreated":"Đ\xe3 tạo kh\xf3a API","keyCreatedSuccess":"Đ\xe3 tạo kh\xf3a th\xe0nh c\xf4ng!","keyCreatedNote":"Sao ch\xe9p v\xe0 lưu trữ kh\xf3a n\xe0y ngay b\xe2y giờ — n\xf3 sẽ kh\xf4ng được hiển thị lại.","done":"Xong","savePermissions":"Lưu quyền","allowAll":"Cho ph\xe9p tất cả","restrict":"hạn chế","allowAllInfo":"Ch\xeca kh\xf3a n\xe0y c\xf3 thể truy cập v\xe0o tất cả c\xe1c m\xf4 h\xecnh c\xf3 sẵn.","restrictInfo":"Kh\xf3a n\xe0y c\xf3 thể truy cập {selected} trong số {total} m\xf4 h\xecnh.","selected":"{count} đ\xe3 chọn","all":"Tất cả","clear":"X\xf3a","searchModels":"T\xecm kiếm m\xf4 h\xecnh theo t\xean hoặc nh\xe0 cung cấp...","noModelsFound":"Kh\xf4ng t\xecm thấy m\xf4 h\xecnh n\xe0o","keyNameRequired":"T\xean kh\xf3a l\xe0 bắt buộc","keyNameTooLong":"T\xean kh\xf3a phải c\xf3 {max} k\xfd tự trở xuống","keyNameInvalid":"T\xean kh\xf3a chỉ c\xf3 thể chứa chữ c\xe1i, số, dấu c\xe1ch, dấu gạch ngang v\xe0 dấu gạch dưới","invalidKeyName":"T\xean kh\xf3a kh\xf4ng hợp lệ","failedCreateKey":"Kh\xf4ng tạo được kh\xf3a","failedCreateKeyRetry":"Kh\xf4ng tạo được kh\xf3a. Vui l\xf2ng thử lại.","invalidKeyId":"ID kh\xf3a kh\xf4ng hợp lệ","failedDeleteKey":"Kh\xf4ng thể x\xf3a kh\xf3a","failedDeleteKeyRetry":"Kh\xf4ng thể x\xf3a kh\xf3a. Vui l\xf2ng thử lại.","invalidModelsSelection":"Lựa chọn m\xf4 h\xecnh kh\xf4ng hợp lệ","cannotSelectMoreThanModels":"Kh\xf4ng thể chọn nhiều hơn {max} mẫu","failedUpdatePermissions":"Kh\xf4ng cập nhật được quyền","failedUpdatePermissionsRetry":"Kh\xf4ng cập nhật được quyền. Vui l\xf2ng thử lại.","unknownProvider":"kh\xf4ng r\xf5","copyMaskedKey":"Sao ch\xe9p kh\xf3a bị che","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Cuối c\xf9ng: {date}","editPermissions":"Chỉnh sửa quyền","deleteKey":"X\xf3a ph\xedm","model":"{count} m\xf4 h\xecnh","models":"{count} m\xf4 h\xecnh","permissionsTitle":"Quyền: {name}","allowAllDesc":"Ch\xeca kh\xf3a n\xe0y c\xf3 thể truy cập v\xe0o tất cả c\xe1c m\xf4 h\xecnh c\xf3 sẵn.","restrictDesc":"Kh\xf3a n\xe0y c\xf3 thể truy cập {selectedCount} trong số {totalModels} m\xf4 h\xecnh.","selectedCount":"{count} đ\xe3 chọn"},"auditLog":{"title":"Nhật k\xfd kiểm tra","searchPlaceholder":"H\xe0nh động t\xecm kiếm...","action":"h\xe0nh động","actor":"diễn vi\xean","target":"Mục ti\xeau","ipAddress":"Địa chỉ IP","timestamp":"Dấu thời gian","noEntries":"Kh\xf4ng t\xecm thấy mục kiểm tra n\xe0o","filterByAction":"Lọc theo h\xe0nh động...","filterByActor":"Lọc theo diễn vi\xean...","filterEntriesAria":"Lọc c\xe1c mục nhật k\xfd kiểm tra","filterByActionTypeAria":"Lọc theo loại h\xe0nh động","filterByActorAria":"Lọc theo diễn vi\xean","refreshAuditLogAria":"L\xe0m mới nhật k\xfd kiểm tra","tableAria":"Mục nhật k\xfd kiểm tra","failedFetchAuditLog":"Kh\xf4ng t\xecm nạp được nhật k\xfd kiểm tra","notAvailable":"—","description":"H\xe0nh động h\xe0nh ch\xednh v\xe0 sự kiện bảo mật","showing":"Hiển thị c\xe1c mục {count} (b\xf9 đắp {offset})","previous":"trước đ\xf3"},"cliTools":{"title":"C\xf4ng cụ CLI","noActiveProviders":"Kh\xf4ng c\xf3 nh\xe0 cung cấp đang hoạt động","noActiveProvidersDesc":"Trước ti\xean, vui l\xf2ng th\xeam v\xe0 kết nối nh\xe0 cung cấp để định cấu h\xecnh c\xf4ng cụ CLI.","mapModels":"M\xf4 h\xecnh bản đồ","testConnection":"Kiểm tra kết nối","connectionStatus":"Trạng th\xe1i kết nối","configureEndpoint":"Định cấu h\xecnh điểm cuối","instructions":"Hướng dẫn","modelMapping":"\xc1nh xạ m\xf4 h\xecnh","baseUrl":"URL cơ sở","apiKey":"Kh\xf3a API","configured":"Đ\xe3 định cấu h\xecnh","notConfigured":"Chưa được định cấu h\xecnh","notInstalled":"Chưa được c\xe0i đặt","custom":"t\xf9y chỉnh","unknown":"Kh\xf4ng x\xe1c định","lastSavedAt":"Đ\xe3 lưu lần cuối: {date}","never":"kh\xf4ng bao giờ","justNow":"ngay b\xe2y giờ","minutesAgoShort":"{count} ph\xfat trước","hoursAgoShort":"{count} giờ trước","daysAgoShort":"{count}ng\xe0y trước","monthsAgoShort":"{count}th\xe1ng trước","yearsAgoShort":"{count} năm trước","runtimeCheckFailed":"Kiểm tra thời gian chạy kh\xf4ng th\xe0nh c\xf4ng","yourApiKeyPlaceholder":"kh\xf3a-api-của bạn","modelPlaceholder":"nh\xe0 cung cấp/id m\xf4 h\xecnh","configurationSaved":"Đ\xe3 lưu cấu h\xecnh th\xe0nh c\xf4ng.","failedToSave":"Kh\xf4ng lưu được cấu h\xecnh.","noApiKeysCreateOne":"Kh\xf4ng c\xf3 kh\xf3a API - Tạo một kh\xf3a trong trang Kh\xf3a","defaultOmnirouteKey":"sk_omniroute (mặc định)","selectModel":"Chọn mẫu","selectModelForAlias":"Chọn kiểu m\xe1y cho {alias}","selectModelForTool":"Chọn mẫu cho {tool}","select":"chọn","clear":"X\xf3a","comingSoon":"Sắp c\xf3","checkingRuntime":"Đang kiểm tra trạng th\xe1i thời gian chạy...","guideOnlyIntegration":"T\xedch hợp chỉ c\xf3 hướng dẫn (kh\xf4ng y\xeau cầu thời gian chạy cục bộ)","cliRuntimeDetected":"Đ\xe3 ph\xe1t hiện v\xe0 sẵn s\xe0ng thời gian chạy CLI","cliFoundNotRunnable":"Đ\xe3 t\xecm thấy CLI nhưng kh\xf4ng thể chạy được{reason}","cliRuntimeNotDetected":"Thời gian chạy CLI kh\xf4ng được ph\xe1t hiện","binary":"nhị ph\xe2n","configPath":"Đường dẫn cấu h\xecnh","configPathShort":"Cấu h\xecnh","failedCheckRuntimeStatus":"Kh\xf4ng thể kiểm tra trạng th\xe1i thời gian chạy.","copy":"Sao ch\xe9p","copied":"Đ\xe3 sao ch\xe9p","copyConfig":"Sao ch\xe9p cấu h\xecnh","saveConfig":"Lưu cấu h\xecnh","selectionSaved":"Đ\xe3 lưu lựa chọn","guide":"hướng dẫn","detected":"Đ\xe3 ph\xe1t hiện","notReady":"Chưa sẵn s\xe0ng","active":"Đang hoạt động","inactive":"Kh\xf4ng hoạt động","startMitm":"Bắt đầu MITM","stopMitm":"Dừng MITM","mitmStarted":"MITM đ\xe3 bắt đầu th\xe0nh c\xf4ng!","mitmStopped":"MITM đ\xe3 dừng th\xe0nh c\xf4ng!","failedStart":"Kh\xf4ng khởi động được MITM","failedStop":"Kh\xf4ng thể dừng MITM","saveMappings":"Lưu bản đồ","mappingsSaved":"Đ\xe3 lưu bản đồ!","failedSaveMappings":"Kh\xf4ng lưu được bản đồ","howItWorks":"N\xf3 hoạt động như thế n\xe0o:","antigravityHowWorksDesc":"Phản trọng lực gửi y\xeau cầu đến điểm cuối của Google. MITM chặn v\xe0 chuyển hướng ch\xfang đến OmniRoute.","antigravityStep1":"1. Khởi động MITM để định tuyến c\xe1c y\xeau cầu th\xf4ng qua OmniRoute.","antigravityStep2Prefix":"2. Th\xeam","antigravityStep2Suffix":"v\xe0o tệp m\xe1y chủ của bạn dưới dạng 127.0.0.1.","antigravityStep3":"3. Mở AntiGravity v\xe0 c\xe1c y\xeau cầu sẽ được ủy quyền.","sudoPasswordRequiredTitle":"Y\xeau cầu mật khẩu Sudo","sudoPasswordHint":"Cần c\xf3 mật khẩu quản trị vi\xean để sửa đổi c\xe0i đặt proxy hệ thống v\xe0 tệp m\xe1y chủ.","enterSudoPassword":"Nhập mật khẩu sudo","sudoPasswordRequiredError":"Mật khẩu Sudo l\xe0 bắt buộc.","cancel":"Hủy bỏ","confirm":"X\xe1c nhận","settingsApplied":"C\xe0i đặt được \xe1p dụng th\xe0nh c\xf4ng!","failedApplySettings":"Kh\xf4ng thể \xe1p dụng c\xe0i đặt","settingsReset":"Thiết lập lại c\xe0i đặt th\xe0nh c\xf4ng!","failedResetSettings":"Kh\xf4ng thể đặt lại c\xe0i đặt","backupRestored":"Đ\xe3 kh\xf4i phục bản sao lưu!","failedRestore":"Kh\xf4ng thể kh\xf4i phục","checkingCli":"Đang kiểm tra {tool} CLI...","cliNotRunnable":"{tool} CLI đ\xe3 được c\xe0i đặt nhưng kh\xf4ng chạy được","cliNotInstalled":"{tool} CLI chưa được c\xe0i đặt","cliNotDetected":"{tool} CLI kh\xf4ng được ph\xe1t hiện","cliDetectedReady":"{tool} CLI đ\xe3 được ph\xe1t hiện v\xe0 sẵn s\xe0ng","cliFoundFailedHealthcheck":"{tool} CLI đ\xe3 được t\xecm thấy nhưng qu\xe1 tr\xecnh kiểm tra t\xecnh trạng thời gian chạy kh\xf4ng th\xe0nh c\xf4ng{reason}.","installCliPrompt":"Vui l\xf2ng c\xe0i đặt {tool} CLI để sử dụng t\xednh năng n\xe0y.","installCodexPrompt":"Vui l\xf2ng c\xe0i đặt Codex CLI để sử dụng t\xednh năng tự động \xe1p dụng.","hide":"Ẩn","howToInstall":"C\xe1ch c\xe0i đặt","installationGuide":"Hướng dẫn c\xe0i đặt","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Sau khi c\xe0i đặt, h\xe3y chạy","toVerify":"để x\xe1c minh.","current":"hiện tại","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Đặt lại về mặc định","providerModelPlaceholder":"nh\xe0 cung cấp/id m\xf4 h\xecnh","apply":"\xc1p dụng","reset":"Đặt lại","manualConfig":"Cấu h\xecnh thủ c\xf4ng","backups":"Sao lưu","configBackups":"Cấu h\xecnh sao lưu","noBackupsYet":"Chưa c\xf3 bản sao lưu n\xe0o. C\xe1c bản sao lưu được tạo tự động trước mỗi lần \xc1p dụng hoặc Đặt lại.","restore":"Kh\xf4i phục","backupRestoredReloading":"Đ\xe3 kh\xf4i phục bản sao lưu! Đang tải lại trạng th\xe1i...","failedRestoreBackup":"Kh\xf4ng thể kh\xf4i phục bản sao lưu","applied":"Đ\xe3 \xe1p dụng!","failed":"thất bại","resetDone":"Đặt lại!","omnirouteConfiguredOpenAiCompatible":"OmniRoute được định cấu h\xecnh l\xe0 nh\xe0 cung cấp tương th\xedch với OpenAI","provider":"nh\xe0 cung cấp","model":"người mẫu","providers":"Nh\xe0 cung cấp","auth":"X\xe1c thực","noApiKeysAvailable":"Kh\xf4ng c\xf3 kh\xf3a API n\xe0o","usingDefaultOmniroute":"Sử dụng mặc định: sk_omniroute","updateConfig":"Cập nhật cấu h\xecnh","applyConfig":"\xc1p dụng cấu h\xecnh","noBackupsAvailable":"Kh\xf4ng c\xf3 bản sao lưu n\xe0o c\xf3 sẵn.","profileSaved":"Đ\xe3 lưu hồ sơ \\"{name}\\"!","failedSaveProfile":"Kh\xf4ng lưu được hồ sơ","profileActivated":"Hồ sơ đ\xe3 được k\xedch hoạt!","failedActivateProfile":"Kh\xf4ng thể k\xedch hoạt hồ sơ","profiles":"Hồ sơ","savedProfiles":"Hồ sơ đ\xe3 lưu","noProfilesYet":"Chưa c\xf3 hồ sơ n\xe0o được lưu. Lưu cấu h\xecnh hiện tại dưới dạng hồ sơ b\xean dưới.","activate":"K\xedch hoạt","deleteProfile":"X\xf3a hồ sơ","profileNamePlaceholder":"T\xean hồ sơ (v\xed dụ: T\xe0i khoản c\xe1 nh\xe2n)","saveCurrent":"Lưu hiện tại","codexAuthNotePrefix":"C\xf4ng dụng của Codex","codexAuthNoteMiddle":"với","codexAuthNoteSuffix":"Nhấp v\xe0o \\"\xc1p dụng\\" để tự động định cấu h\xecnh.","claudeManualConfiguration":"Claude CLI - Cấu h\xecnh thủ c\xf4ng","codexManualConfiguration":"Codex CLI - Cấu h\xecnh thủ c\xf4ng","droidManualConfiguration":"Factory Droid - Cấu h\xecnh thủ c\xf4ng","openClawManualConfiguration":"Open Claw - Cấu h\xecnh thủ c\xf4ng","clineManualConfiguration":"Cấu h\xecnh thủ c\xf4ng Cline","kiloManualConfiguration":"Cấu h\xecnh thủ c\xf4ng m\xe3 Kilo","toolDescriptions":{"antigravity":"IDE chống trọng lực của Google với MITM","claude":"M\xe3 Claude nh\xe2n loại CLI","codex":"OpenAI Codex CLI","droid":"Trợ l\xfd AI Droid của nh\xe0 m\xe1y","openclaw":"Trợ l\xfd AI m\xf3ng vuốt mở","cline":"Trợ l\xfd m\xe3 h\xf3a Cline AI CLI","kilo":"Trợ l\xfd AI Kilo Code CLI","cursor":"Tr\xecnh chỉnh sửa m\xe3 AI con trỏ","continue":"Tiếp tục Trợ l\xfd AI"},"guides":{"cursor":{"notes":{"0":"Y\xeau cầu t\xe0i khoản Cursor Pro để sử dụng t\xednh năng n\xe0y.","1":"Con trỏ định tuyến c\xe1c y\xeau cầu th\xf4ng qua m\xe1y chủ của ch\xednh n\xf3, do đ\xf3 điểm cuối cục bộ kh\xf4ng được hỗ trợ. Vui l\xf2ng bật Cloud Endpoint trong C\xe0i đặt."},"steps":{"1":{"title":"Mở C\xe0i đặt","desc":"Đi tới C\xe0i đặt -> Kiểu m\xe1y"},"2":{"title":"K\xedch hoạt API OpenAI","desc":"Bật t\xf9y chọn \\"Kh\xf3a API OpenAI\\""},"3":{"title":"URL cơ sở"},"4":{"title":"Kh\xf3a API"},"5":{"title":"Th\xeam m\xf4 h\xecnh t\xf9y chỉnh","desc":"Nhấp v\xe0o \\"Xem tất cả mẫu\\" -> \\"Th\xeam mẫu t\xf9y chỉnh\\""},"6":{"title":"Chọn mẫu"}}},"continue":{"steps":{"1":{"title":"Mở cấu h\xecnh","desc":"Mở tệp cấu h\xecnh Tiếp tục"},"2":{"title":"Kh\xf3a API"},"3":{"title":"Chọn mẫu"},"4":{"title":"Th\xeam cấu h\xecnh m\xf4 h\xecnh","desc":"Th\xeam cấu h\xecnh sau v\xe0o mảng m\xf4 h\xecnh của bạn:"}}}}},"combos":{"title":"Combo","description":"Tạo c\xe1c tổ hợp m\xf4 h\xecnh với hỗ trợ định tuyến v\xe0 dự ph\xf2ng c\xf3 trọng số","createCombo":"Tạo tổ hợp","editCombo":"Chỉnh sửa kết hợp","deleteCombo":"X\xf3a tổ hợp","noModels":"Kh\xf4ng c\xf3 m\xf4 h\xecnh","noModelsYet":"Chưa c\xf3 m\xf4 h\xecnh n\xe0o được th\xeam v\xe0o","addModel":"Th\xeam m\xf4 h\xecnh","addModelToCombo":"Th\xeam Model v\xe0o Combo","routingStrategy":"Chiến lược định tuyến","maxRetries":"Số lần thử lại tối đa","timeout":"Thời gian chờ (ms)","healthcheck":"Kiểm tra sức khỏe","priority":"Ưu ti\xean","fallback":"Dự ph\xf2ng","roundRobin":"V\xf2ng Robin","random":"Ngẫu nhi\xean","leastLatency":"Độ trễ \xedt nhất","comboName":"T\xean kết hợp","comboNamePlaceholder":"combo của t\xf4i","deleteConfirm":"X\xf3a tổ hợp n\xe0y?","noCombosYet":"Chưa c\xf3 combo n\xe0o","comboCreated":"Combo được tạo th\xe0nh c\xf4ng","comboUpdated":"Combo được cập nhật th\xe0nh c\xf4ng","comboDeleted":"Đ\xe3 x\xf3a kết hợp","failedCreate":"Kh\xf4ng tạo được kết hợp","failedUpdate":"Kh\xf4ng thể cập nhật kết hợp","errorCreating":"Lỗi tạo combo","errorUpdating":"Lỗi cập nhật kết hợp","errorDeleting":"Lỗi x\xf3a kết hợp","testFailed":"Y\xeau cầu kiểm tra kh\xf4ng th\xe0nh c\xf4ng","failedToggle":"Kh\xf4ng thể chuyển đổi kết hợp","testResults":"Kết quả kiểm tra — {name}","resolvedBy":"Đ\xe3 giải quyết bởi:","more":"+{count} kh\xe1c","reqs":"y\xeau cầu","success":"sự th\xe0nh c\xf4ng","proxyConfigured":"Đ\xe3 định cấu h\xecnh proxy","copyComboName":"Sao ch\xe9p t\xean tổ hợp","enableCombo":"Bật kết hợp","disableCombo":"Tắt kết hợp","testCombo":"Kết hợp thử nghiệm","duplicate":"tr\xf9ng lặp","proxyConfig":"Cấu h\xecnh proxy","nameRequired":"T\xean l\xe0 bắt buộc","nameInvalid":"Chỉ c\xe1c chữ c\xe1i, số, -, _, / v\xe0 . được ph\xe9p","nameHint":"C\xe1c chữ c\xe1i, số, -, _, / v\xe0 . được ph\xe9p","priorityDesc":"Dự ph\xf2ng tuần tự: thử m\xf4 h\xecnh 1 trước, sau đ\xf3 đến m\xf4 h\xecnh 2, v.v.","weightedDesc":"Ph\xe2n phối lưu lượng truy cập theo phần trăm trọng lượng với dự ph\xf2ng","roundRobinDesc":"Ph\xe2n phối v\xf2ng tr\xf2n: mỗi y\xeau cầu sẽ chuyển sang m\xf4 h\xecnh tiếp theo trong v\xf2ng quay","randomDesc":"Lựa chọn ngẫu nhi\xean thống nhất, sau đ\xf3 dự ph\xf2ng cho c\xe1c m\xf4 h\xecnh c\xf2n lại","leastUsedDesc":"Chọn m\xf4 h\xecnh c\xf3 \xedt y\xeau cầu nhất, c\xe2n bằng tải theo thời gian","costOptimizedDesc":"Hướng tới m\xf4 h\xecnh rẻ nhất trước ti\xean dựa tr\xean gi\xe1 cả","models":"Người mẫu","autoBalance":"Tự động c\xe2n bằng","advancedSettings":"C\xe0i đặt n\xe2ng cao","retryDelay":"Độ trễ thử lại (ms)","concurrencyPerModel":"Đồng thời / M\xf4 h\xecnh","queueTimeout":"Hết thời gian xếp h\xe0ng (ms)","advancedHint":"Để trống để sử dụng mặc định chung. Những c\xe0i đặt n\xe0y ghi đ\xe8 l\xean mỗi nh\xe0 cung cấp.","moveUp":"Di chuyển l\xean","moveDown":"Di chuyển xuống","removeModel":"X\xf3a","saving":"Đang lưu...","weighted":"C\xf3 trọng số","leastUsed":"\xcdt được sử dụng nhất","costOpt":"Lựa chọn chi ph\xed"},"costs":{"title":"Chi ph\xed","budget":"Ng\xe2n s\xe1ch","totalCost":"Tổng chi ph\xed","breakdown":"Ph\xe2n t\xedch chi ph\xed","noData":"Kh\xf4ng c\xf3 dữ liệu chi ph\xed","byModel":"Theo mẫu","byProvider":"Theo nh\xe0 cung cấp"},"endpoint":{"title":"Điểm cuối API","available":"Điểm cuối c\xf3 sẵn","cloudProxy":"Proxy đ\xe1m m\xe2y","disableConfirm":"Bạn c\xf3 chắc chắn muốn tắt proxy đ\xe1m m\xe2y kh\xf4ng?","baseUrl":"URL cơ sở","apiKeyLabel":"Kh\xf3a API","registeredKeys":"Kh\xf3a đ\xe3 đăng k\xfd","chatCompletions":"Ho\xe0n th\xe0nh cuộc tr\xf2 chuyện","responses":"Phản hồi","listModels":"Danh s\xe1ch m\xf4 h\xecnh","usingCloudProxy":"Sử dụng Proxy đ\xe1m m\xe2y","usingLocalServer":"Sử dụng m\xe1y chủ cục bộ","machineId":"ID m\xe1y: {id}...","disableCloud":"Tắt đ\xe1m m\xe2y","enableCloud":"K\xedch hoạt đ\xe1m m\xe2y","modelsAcrossEndpoints":"{models} m\xf4 h\xecnh tr\xean {endpoints} điểm cuối","chatDesc":"Tr\xf2 chuyện trực tuyến v\xe0 kh\xf4ng ph\xe1t trực tuyến với tất cả c\xe1c nh\xe0 cung cấp","embeddings":"Nh\xfang","embeddingsDesc":"Nh\xfang văn bản cho đường dẫn t\xecm kiếm & RAG","imageGeneration":"Tạo h\xecnh ảnh","imageDesc":"Tạo h\xecnh ảnh từ lời nhắc văn bản","rerank":"Xếp hạng lại","rerankDesc":"Sắp xếp lại t\xe0i liệu theo mức độ li\xean quan đến truy vấn","audioTranscription":"Phi\xean \xe2m \xe2m thanh","audioTranscriptionDesc":"Phi\xean \xe2m tập tin \xe2m thanh th\xe0nh văn bản (Whisper)","textToSpeech":"Chuyển văn bản th\xe0nh giọng n\xf3i","textToSpeechDesc":"Chuyển đổi văn bản th\xe0nh giọng n\xf3i tự nhi\xean","moderations":"Kiểm duyệt","moderationsDesc":"Kiểm duyệt nội dung v\xe0 ph\xe2n loại an to\xe0n","enableCloudTitle":"K\xedch hoạt proxy đ\xe1m m\xe2y","whatYouGet":"Những g\xec bạn sẽ nhận được","cloudBenefitAccess":"Truy cập API của bạn từ mọi nơi tr\xean thế giới","cloudBenefitShare":"Chia sẻ điểm cuối với nh\xf3m của bạn một c\xe1ch dễ d\xe0ng","cloudBenefitPorts":"Kh\xf4ng cần mở cổng hoặc cấu h\xecnh tường lửa","cloudBenefitEdge":"Mạng bi\xean to\xe0n cầu nhanh","cloudSessionNote":"Cloud sẽ giữ phi\xean x\xe1c thực của bạn trong 1 ng\xe0y. Nếu kh\xf4ng được sử dụng, n\xf3 sẽ tự động bị x\xf3a.","cloudUnstableNote":"Cloud hiện tại kh\xf4ng ổn định với Claude Code OAuth trong một số trường hợp.","cloudConnected":"Đ\xe3 kết nối Proxy đ\xe1m m\xe2y!","connectingToCloud":"Đang kết nối với đ\xe1m m\xe2y...","verifyingConnection":"Đang x\xe1c minh kết nối...","connecting":"Đang kết nối...","verifying":"Đang x\xe1c minh...","connected":"Đ\xe3 kết nối!","disableCloudTitle":"V\xf4 hiệu h\xf3a Proxy đ\xe1m m\xe2y","disableWarning":"Tất cả c\xe1c phi\xean x\xe1c thực sẽ bị x\xf3a khỏi đ\xe1m m\xe2y.","syncingData":"Đang đồng bộ h\xf3a dữ liệu mới nhất...","disablingCloud":"Đang tắt đ\xe1m m\xe2y...","syncing":"Đang đồng bộ h\xf3a...","disabling":"Đang tắt...","cloudConnectedVerified":"Cloud Proxy đ\xe3 được kết nối v\xe0 x\xe1c minh!","connectedVerificationPending":"Đ\xe3 kết nối - đang chờ x\xe1c minh","connectedVerificationPendingWithError":"Đ\xe3 kết nối — đang chờ x\xe1c minh: {error}","cloudDisabledSuccess":"Đ\xe1m m\xe2y đ\xe3 được tắt th\xe0nh c\xf4ng","syncedSuccess":"Đ\xe3 đồng bộ h\xf3a th\xe0nh c\xf4ng","failedDisable":"Kh\xf4ng thể tắt đ\xe1m m\xe2y","failedEnable":"Kh\xf4ng thể bật đ\xe1m m\xe2y","cloudRequestTimeout":"Hết thời gian y\xeau cầu đ\xe1m m\xe2y","cloudRequestFailed":"Y\xeau cầu đ\xe1m m\xe2y kh\xf4ng th\xe0nh c\xf4ng","cloudWorkerUnreachable":"Kh\xf4ng thể li\xean hệ với nh\xe2n vi\xean đ\xe1m m\xe2y. Đảm bảo dịch vụ đ\xe1m m\xe2y đang chạy (npm run dev in /cloud).","connectionFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng","syncFailed":"Kh\xf4ng thể đồng bộ h\xf3a dữ liệu đ\xe1m m\xe2y","providerModelsTitle":"{provider} — M\xf4 h\xecnh","noModelsForProvider":"Kh\xf4ng c\xf3 m\xf4 h\xecnh c\xf3 sẵn cho nh\xe0 cung cấp n\xe0y.","chat":"Tr\xf2 chuyện","embedding":"Nh\xfang","image":"H\xecnh ảnh","custom":"t\xf9y chỉnh","modelsCount":"{count, plural, one {# model} other {# models}}","responsesDesc":"API Responses của OpenAI cho Codex v\xe0 quy tr\xecnh l\xe0m việc t\xe1c tử n\xe2ng cao","listModelsDesc":"Liệt k\xea tất cả c\xe1c m\xf4 h\xecnh c\xf3 sẵn từ tất cả c\xe1c nh\xe0 cung cấp đ\xe3 kết nối","settingsApi":"Settings API","settingsApiDesc":"Đọc v\xe0 sửa đổi cấu h\xecnh OmniRoute qua API","categoryCore":"API Cốt L\xf5i","categoryMedia":"Phương Tiện & Đa Phương Thức","categoryUtility":"Tiện \xcdch & Quản L\xfd"},"health":{"title":"T\xecnh trạng hệ thống","description":"Gi\xe1m s\xe1t thời gian thực phi\xean bản OmniRoute của bạn","healthy":"khỏe mạnh","degraded":"xuống cấp","down":"xuống","uptime":"Thời gian hoạt động","memory":"Bộ nhớ","memoryRss":"Bộ nhớ (RSS)","heap":"Đống","cpu":"CPU","database":"Cơ sở dữ liệu","version":"Phi\xean bản","lastCheck":"Kiểm tra lần cuối","providerHealth":"Sức khỏe nh\xe0 cung cấp","systemMetrics":"Số liệu hệ thống","tokenHealth":"T\xecnh trạng m\xe3 th\xf4ng b\xe1o","refreshAll":"L\xe0m mới tất cả","checkNow":"Kiểm tra ngay","loadingHealth":"Đang tải dữ liệu sức khỏe...","failedToLoad":"Kh\xf4ng tải được dữ liệu sức khỏe: {error}","retry":"Thử lại","allOperational":"Tất cả c\xe1c hệ thống hoạt động","issuesDetected":"Đ\xe3 ph\xe1t hiện sự cố hệ thống","updatedAt":"Đ\xe3 cập nhật {time}","latency":"Độ trễ","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Tổng số y\xeau cầu","noDataYet":"Chưa c\xf3 dữ liệu","promptCache":"Bộ nhớ đệm nhắc nhở","entries":"B\xe0i dự thi","hitRate":"Tỷ lệ tr\xfang","hitsMisses":"Lượt truy cập / Bỏ lỡ","signatureCache":"Bộ đệm chữ k\xfd","signatureDefaults":"Mặc định","signatureTool":"C\xf4ng cụ","signatureFamily":"gia đ\xecnh","signatureSession":"Phi\xean","recovering":"Đang phục hồi","noCBData":"Kh\xf4ng c\xf3 dữ liệu ngắt mạch c\xf3 sẵn. Thực hiện một số y\xeau cầu đầu ti\xean.","providerHealthStatusAria":"T\xecnh trạng sức khỏe của nh\xe0 cung cấp","issuesLabel":"Đ\xe3 ph\xe1t hiện sự cố","operational":"hoạt động","providers":"Nh\xe0 cung cấp","healthyCount":"{count} khỏe mạnh","nodeVersion":"N\xfat {version}","failures":"{count} thất bại","failuresPlural":"{count} thất bại","lastFailure":"Cuối c\xf9ng","rateLimitStatus":"Trạng th\xe1i giới hạn tỷ lệ","activeLimiters":"{count} bộ giới hạn hoạt động","activeLimitersPlural":"{count} bộ giới hạn hoạt động","queued":"Đ\xe3 xếp h\xe0ng","queuedCount":"{count} đ\xe3 xếp h\xe0ng","running":"đang chạy","runningCount":"{count} đang chạy","ok":"được rồi","activeLockouts":"Kh\xf3a hoạt động","resetConfirm":"Đặt lại tất cả c\xe1c bộ ngắt mạch về trạng th\xe1i khỏe mạnh? Điều n\xe0y sẽ x\xf3a tất cả số lần lỗi v\xe0 kh\xf4i phục tất cả c\xe1c nh\xe0 cung cấp về trạng th\xe1i hoạt động.","resetAllTitle":"Đặt lại tất cả c\xe1c bộ ngắt mạch về trạng th\xe1i khỏe mạnh","resetting":"Đang đặt lại...","resetAll":"Đặt lại tất cả","until":"Cho đến {time}"},"limits":{"title":"Giới hạn & hạn ngạch","rateLimit":"Giới hạn tỷ lệ","remaining":"C\xf2n lại","requestsPerMinute":"Y\xeau cầu/ph\xfat","tokensPerMinute":"M\xe3 th\xf4ng b\xe1o/ph\xfat","dailyLimit":"Giới hạn h\xe0ng ng\xe0y"},"logs":{"title":"Nhật k\xfd","requestLogs":"Nhật k\xfd y\xeau cầu","proxyLogs":"Nhật k\xfd proxy","auditLog":"Nhật k\xfd kiểm tra","console":"Bảng điều khiển","auditLogDesc":"H\xe0nh động h\xe0nh ch\xednh v\xe0 sự kiện bảo mật","loading":"Đang tải...","refresh":"L\xe0m mới","filterByAction":"Lọc theo h\xe0nh động...","filterByActor":"Lọc theo diễn vi\xean...","filterEntriesAria":"Lọc c\xe1c mục nhật k\xfd kiểm tra","filterByActionTypeAria":"Lọc theo loại h\xe0nh động","filterByActorAria":"Lọc theo diễn vi\xean","refreshAuditLogAria":"L\xe0m mới nhật k\xfd kiểm tra","tableAria":"Mục nhật k\xfd kiểm tra","failedFetchAuditLog":"Kh\xf4ng t\xecm nạp được nhật k\xfd kiểm tra","showing":"Hiển thị c\xe1c mục {count} (b\xf9 đắp {offset})","search":"T\xecm kiếm","timestamp":"Dấu thời gian","action":"h\xe0nh động","actor":"diễn vi\xean","target":"Mục ti\xeau","details":"Chi tiết","ipAddress":"Địa chỉ IP","notAvailable":"—","noEntries":"Kh\xf4ng t\xecm thấy mục nhật k\xfd kiểm tra n\xe0o","previous":"trước đ\xf3","next":"Tiếp theo"},"onboarding":{"welcome":"Ch\xe0o mừng","security":"Bảo mật","test":"kiểm tra","ready":"Sẵn s\xe0ng!","setPassword":"Đặt mật khẩu","addProvider":"Th\xeam nh\xe0 cung cấp đầu ti\xean của bạn","getStarted":"Bắt đầu","skip":"Bỏ qua","skipWizard":"Bỏ qua ho\xe0n to\xe0n tr\xecnh hướng dẫn","skipPassword":"Bỏ qua việc thiết lập mật khẩu","skipAndContinue":"Bỏ qua & Tiếp tục","passwordLabel":"Mật khẩu","confirmPassword":"X\xe1c nhận mật khẩu","enterPassword":"Nhập mật khẩu","confirmPasswordPlaceholder":"X\xe1c nhận mật khẩu","passwordsMismatch":"Mật khẩu kh\xf4ng khớp","setupComplete":"Thiết lập ho\xe0n tất!","goToDashboard":"Đi tới Bảng điều khiển →","welcomeDesc":"OmniRoute l\xe0 proxy API AI cục bộ của bạn. N\xf3 định tuyến c\xe1c y\xeau cầu đến nhiều nh\xe0 cung cấp AI với t\xednh năng c\xe2n bằng tải, chuyển đổi dự ph\xf2ng v\xe0 theo d\xf5i việc sử dụng.","multiProvider":"Đa nh\xe0 cung cấp","usageTracking":"Theo d\xf5i sử dụng","apiKeyMgmt":"Quản l\xfd kh\xf3a API","securityDesc":"Đặt mật khẩu để bảo vệ trang tổng quan của bạn hoặc bỏ qua ngay b\xe2y giờ.","providerDesc":"Kết nối nh\xe0 cung cấp AI đầu ti\xean của bạn. Bạn c\xf3 thể th\xeam nhiều hơn sau.","apiKeyRequired":"Kh\xf3a API (bắt buộc)","customUrlOptional":"URL t\xf9y chỉnh (t\xf9y chọn)","testDesc":"H\xe3y x\xe1c minh kết nối nh\xe0 cung cấp của bạn hoạt động.","runTest":"Chạy kiểm tra kết nối","testingConnection":"Đang kiểm tra kết nối...","connectionSuccessful":"Kết nối th\xe0nh c\xf4ng! Nh\xe0 cung cấp của bạn đ\xe3 sẵn s\xe0ng.","noProviderFound":"Kh\xf4ng t\xecm thấy nh\xe0 cung cấp n\xe0o. Bạn c\xf3 thể th\xeam một từ bảng điều khiển sau.","testFailed":"Thử nghiệm kh\xf4ng th\xe0nh c\xf4ng nhưng bạn c\xf3 thể định cấu h\xecnh điều n\xe0y sau.","couldNotTest":"Kh\xf4ng thể kiểm tra ngay b\xe2y giờ. Bạn c\xf3 thể kiểm tra từ bảng điều khiển.","doneDesc":"Bạn đ\xe3 ho\xe0n tất! Phi\xean bản OmniRoute của bạn đ\xe3 được định cấu h\xecnh v\xe0 sẵn s\xe0ng thực hiện c\xe1c y\xeau cầu AI proxy.","yourEndpoint":"Điểm cuối của bạn:","continue":"Tiếp tục","retry":"Thử lại","failedSetPassword":"Kh\xf4ng thể đặt mật khẩu. H\xe3y thử lại.","failedAddProvider":"Kh\xf4ng thể th\xeam nh\xe0 cung cấp. H\xe3y thử lại.","connectionError":"Lỗi kết nối. Vui l\xf2ng thử lại.","provider":"nh\xe0 cung cấp"},"providers":{"title":"Nh\xe0 cung cấp","addProvider":"Th\xeam nh\xe0 cung cấp","editProvider":"Chỉnh sửa nh\xe0 cung cấp","deleteProvider":"X\xf3a nh\xe0 cung cấp","noProviders":"Kh\xf4ng c\xf3 nh\xe0 cung cấp n\xe0o được định cấu h\xecnh","modelAvailability":"Mẫu sẵn c\xf3","accounts":"T\xe0i khoản","newAccount":"T\xe0i khoản mới","deleteConfirm":"Bạn c\xf3 chắc chắn muốn x\xf3a nh\xe0 cung cấp n\xe0y kh\xf4ng?","testing":"Đang thử nghiệm...","testConnection":"Kiểm tra kết nối","testSuccess":"Kết nối th\xe0nh c\xf4ng","testFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng","available":"C\xf3 sẵn","cooldown":"Thời gian hồi chi\xeau","unavailable":"Kh\xf4ng c\xf3 sẵn","unknown":"Kh\xf4ng x\xe1c định","oauthLabel":"OAuth","compatibleLabel":"Tương th\xedch","chat":"Tr\xf2 chuyện","responses":"Phản hồi","messages":"Tin nhắn","oauthProviders":"Nh\xe0 cung cấp OAuth","freeProviders":"Nh\xe0 cung cấp miễn ph\xed","apiKeyProviders":"Nh\xe0 cung cấp kh\xf3a API","compatibleProviders":"Nh\xe0 cung cấp tương th\xedch với kh\xf3a API","testAll":"Kiểm tra tất cả","testAllOAuth":"Kiểm tra tất cả c\xe1c kết nối OAuth","testAllFree":"Kiểm tra tất cả c\xe1c kết nối miễn ph\xed","testAllApiKey":"Kiểm tra tất cả c\xe1c kết nối Kh\xf3a API","testAllCompatible":"Kiểm tra tất cả c\xe1c kết nối tương th\xedch","connected":"{count} Đ\xe3 kết nối","errorCount":"{count} Lỗi ({code})","errorCountNoCode":"{count} Lỗi","noConnections":"Kh\xf4ng c\xf3 kết nối","disabled":"Đ\xe3 tắt","enableProvider":"K\xedch hoạt nh\xe0 cung cấp","disableProvider":"V\xf4 hiệu h\xf3a nh\xe0 cung cấp","testResults":"Kết quả kiểm tra","noCompatibleYet":"Chưa c\xf3 nh\xe0 cung cấp tương th\xedch n\xe0o được th\xeam v\xe0o","compatibleHint":"Sử dụng c\xe1c n\xfat ở tr\xean để th\xeam điểm cuối tương th\xedch với OpenAI hoặc Anthropic","addOpenAICompatible":"Th\xeam tương th\xedch OpenAI","addAnthropicCompatible":"Th\xeam t\xednh tương th\xedch với con người","addNewProvider":"Th\xeam nh\xe0 cung cấp mới","backToProviders":"Quay lại Nh\xe0 cung cấp","configureNewProvider":"Định cấu h\xecnh nh\xe0 cung cấp AI mới để sử dụng với c\xe1c ứng dụng của bạn.","providerLabel":"nh\xe0 cung cấp","selectProvider":"Chọn nh\xe0 cung cấp","selectedProvider":"Nh\xe0 cung cấp đ\xe3 chọn","authMethod":"Phương thức x\xe1c thực","apiKeyLabel":"Kh\xf3a API","apiKeyRequired":"Cần c\xf3 kh\xf3a API","selectProviderRequired":"Vui l\xf2ng chọn nh\xe0 cung cấp","enterApiKey":"Nhập kh\xf3a API của bạn","apiKeySecure":"Kh\xf3a API của bạn sẽ được m\xe3 h\xf3a v\xe0 lưu trữ an to\xe0n.","oauth2Connect":"Kết nối với OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Kết nối t\xe0i khoản của bạn bằng x\xe1c thực OAuth2.","displayName":"T\xean hiển thị","displayNamePlaceholder":"v\xed dụ: API sản xuất, M\xf4i trường ph\xe1t triển","displayNameHint":"T\xf9y chọn. Một c\xe1i t\xean th\xe2n thiện để x\xe1c định cấu h\xecnh n\xe0y.","active":"Đang hoạt động","activeDescription":"Cho ph\xe9p nh\xe0 cung cấp n\xe0y sử dụng trong c\xe1c ứng dụng của bạn","cancel":"Hủy bỏ","createProvider":"Tạo nh\xe0 cung cấp","failedCreate":"Kh\xf4ng tạo được nh\xe0 cung cấp","errorOccurred":"Đ\xe3 xảy ra lỗi. Vui l\xf2ng thử lại.","modelStatus":"T\xecnh trạng mẫu","allModelsOperational":"Tất cả c\xe1c m\xf4 h\xecnh hoạt động","modelsWithIssues":"{count} m\xf4 h\xecnh c\xf3 vấn đề","allModelsNormal":"Tất cả c\xe1c model đều phản hồi b\xecnh thường.","cooldownCleared":"Đ\xe3 x\xf3a thời gian hồi chi\xeau cho {model}","failedClearCooldown":"Kh\xf4ng thể x\xf3a thời gian hồi chi\xeau","loadingAvailability":"Đang tải t\xednh khả dụng của m\xf4 h\xecnh...","clearCooldown":"X\xf3a","clearing":"Đang dọn dẹp...","until":"Cho đến {time}","providerTestFailed":"Kiểm tra nh\xe0 cung cấp kh\xf4ng th\xe0nh c\xf4ng","modeTest":"{mode} Kiểm tra","passedCount":"{count} đ\xe3 vượt qua","failedCount":"{count} kh\xf4ng th\xe0nh c\xf4ng","testedCount":"{count} đ\xe3 kiểm tra","millisecondsAbbr":"{value}ms","okShort":"được rồi","errorShort":"LỖI","noActiveConnectionsInGroup":"Kh\xf4ng t\xecm thấy kết nối hoạt động n\xe0o cho nh\xf3m n\xe0y.","allTestsPassed":"Tất cả {total} b\xe0i kiểm tra đ\xe3 vượt qua","testSummary":"{passed}/{total} đ\xe3 đạt, {failed} kh\xf4ng th\xe0nh c\xf4ng","nameLabel":"T\xean","prefixLabel":"Tiền tố","baseUrlLabel":"URL cơ sở","apiTypeLabel":"Loại API","prefixHint":"Bắt buộc. Tiền tố duy nhất cho t\xean model.","nameHint":"Bắt buộc. Một nh\xe3n th\xe2n thiện cho n\xfat n\xe0y.","baseUrlHint":"Bắt buộc.  URL cơ sở API của nh\xe0 cung cấp.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"X\xe1c thực kết nối","validating":"Đang x\xe1c thực...","connectionValid":"Kết nối l\xe0 hợp lệ!","connectionFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng. Kiểm tra URL v\xe0 kh\xf3a.","testKeyLabel":"Kh\xf3a API kiểm tra","testKeyPlaceholder":"sk-... (chỉ để x\xe1c nhận)","providerNotFound":"Kh\xf4ng t\xecm thấy nh\xe0 cung cấp","deleteConnectionConfirm":"X\xf3a kết nối n\xe0y?","failedSetAlias":"Kh\xf4ng đặt được b\xed danh","failedSaveConnection":"Kh\xf4ng lưu được kết nối","failedSaveConnectionRetry":"Kh\xf4ng lưu được kết nối. Vui l\xf2ng thử lại.","failedRetestConnection":"Kh\xf4ng thể kiểm tra lại kết nối","deleteCompatibleNodeConfirm":"X\xf3a n\xfat tương th\xedch {type} n\xe0y?","anthropicCompatibleDetails":"Chi tiết tương th\xedch nh\xe2n loại","openaiCompatibleDetails":"Chi tiết tương th\xedch OpenAI","messagesApi":"API tin nhắn","responsesApi":"API phản hồi","chatCompletions":"Ho\xe0n th\xe0nh cuộc tr\xf2 chuyện","importingModels":"Đang nhập khẩu...","importFromModels":"Nhập từ /model","addConnectionToImport":"Th\xeam kết nối để cho ph\xe9p nhập.","noModelsConfigured":"Kh\xf4ng c\xf3 m\xf4 h\xecnh n\xe0o được định cấu h\xecnh","connectionCount":"{count} kết nối","fetchingModels":"Đang t\xecm nạp c\xe1c mẫu c\xf3 sẵn...","failedFetchModels":"Kh\xf4ng t\xecm nạp được m\xf4 h\xecnh","noModelsFound":"Kh\xf4ng t\xecm thấy m\xf4 h\xecnh n\xe0o","importFailed":"Nhập kh\xf4ng th\xe0nh c\xf4ng","noNewModelsAdded":"Kh\xf4ng c\xf3 m\xf4 h\xecnh mới được th\xeam v\xe0o.","adding":"Đang th\xeam...","importingModelsTitle":"Nhập m\xf4 h\xecnh","copyModel":"Sao ch\xe9p m\xf4 h\xecnh","removeModel":"X\xf3a m\xf4 h\xecnh","rateLimitProtected":"Được bảo vệ","rateLimitUnprotected":"kh\xf4ng được bảo vệ","enableRateLimitProtection":"Nhấp để bật bảo vệ giới hạn tỷ lệ","disableRateLimitProtection":"Nhấp để tắt bảo vệ giới hạn tỷ lệ","productionKey":"Kh\xf3a sản xuất","enterNewApiKey":"Nhập kh\xf3a API mới","optional":"T\xf9y chọn","anthropicCompatibleName":"Tương th\xedch với con người","openaiCompatibleName":"Tương th\xedch OpenAI","failedImportModels":"Kh\xf4ng thể nhập m\xf4 h\xecnh","noModelsReturnedFromEndpoint":"Kh\xf4ng c\xf3 m\xf4 h\xecnh n\xe0o được trả về từ điểm cuối /models.","importingModelsProgress":"Đang nhập {current} trong số {total} m\xf4 h\xecnh...","foundModelsStartingImport":"Đ\xe3 t\xecm thấy m\xf4 h\xecnh {count}. Đang bắt đầu nhập...","importingModelById":"Đang nhập {modelId}...","importSuccessCount":"Đ\xe3 nhập th\xe0nh c\xf4ng {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Kh\xf4ng c\xf3 mẫu mới n\xe0o được th\xeam v\xe0o (tất cả đều đ\xe3 tồn tại).","importDoneCount":"✓ Xong! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Đ\xe3 xảy ra lỗi kh\xf4ng mong muốn","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"tin nhắn","responsesPath":"phản hồi","chatCompletionsPath":"tr\xf2 chuyện/ho\xe0n th\xe0nh","add":"Th\xeam","edit":"Chỉnh sửa","delete":"X\xf3a","anthropic":"nh\xe2n loại","openai":"OpenAI","singleConnectionPerCompatible":"Chỉ c\xf3 một kết nối được ph\xe9p cho mỗi n\xfat tương th\xedch. Th\xeam một n\xfat kh\xe1c nếu bạn cần th\xeam kết nối.","connections":"Kết nối","providerProxyTitleConfigured":"Proxy của nh\xe0 cung cấp: {host}","configured":"được cấu h\xecnh","providerProxyConfigureHint":"Định cấu h\xecnh proxy cho tất cả c\xe1c kết nối của nh\xe0 cung cấp n\xe0y","providerProxy":"Ủy quyền của nh\xe0 cung cấp","noConnectionsYet":"Chưa c\xf3 kết nối n\xe0o","addFirstConnectionHint":"Th\xeam kết nối đầu ti\xean của bạn để bắt đầu","addConnection":"Th\xeam kết nối","availableModels":"C\xe1c mẫu c\xf3 sẵn","pageAutoRefresh":"Trang sẽ tự động l\xe0m mới...","statusDisabled":"bị v\xf4 hiệu h\xf3a","statusConnected":"đ\xe3 kết nối","statusRuntimeIssue":"vấn đề thời gian chạy","statusAuthFailed":"x\xe1c thực thất bại","statusRateLimited":"tỷ lệ giới hạn","statusNetworkIssue":"sự cố mạng","statusTestUnsupported":"kiểm tra kh\xf4ng được hỗ trợ","statusUnavailable":"kh\xf4ng c\xf3 sẵn","statusFailed":"thất bại","statusError":"lỗi","oauthAccount":"T\xe0i khoản OAuth","errorTypeRuntime":"Thời gian chạy cục bộ","errorTypeUpstreamAuth":"X\xe1c thực ngược d\xf2ng","errorTypeMissingCredential":"Thiếu th\xf4ng tin x\xe1c thực","errorTypeRefreshFailed":"L\xe0m mới kh\xf4ng th\xe0nh c\xf4ng","errorTypeTokenExpired":"M\xe3 th\xf4ng b\xe1o đ\xe3 hết hạn","errorTypeRateLimited":"Tỷ lệ giới hạn","errorTypeUpstreamUnavailable":"Thượng nguồn kh\xf4ng c\xf3 sẵn","errorTypeNetworkError":"Lỗi mạng","errorTypeTestUnsupported":"Kiểm tra kh\xf4ng được hỗ trợ","errorTypeUpstreamError":"Lỗi ngược d\xf2ng","proxySourceGlobal":"To\xe0n cầu","proxySourceProvider":"nh\xe0 cung cấp","proxySourceKey":"Ch\xeca kh\xf3a","proxyConfiguredBySource":"Ủy quyền ({source}): {host}","autoPriority":"Tự động: {priority}","proxy":"ủy nhiệm","retestAuthentication":"Kiểm tra lại x\xe1c thực","retest":"Kiểm tra lại","disableConnection":"Tắt kết nối","enableConnection":"K\xedch hoạt kết nối","reauthenticateConnection":"X\xe1c thực lại kết nối n\xe0y","proxyConfig":"Cấu h\xecnh proxy","aliasExistsAlert":"B\xed danh \\"{alias}\\" đ\xe3 tồn tại. Vui l\xf2ng sử dụng một m\xf4 h\xecnh kh\xe1c hoặc chỉnh sửa b\xed danh hiện c\xf3.","openRouterAnyModelHint":"OpenRouter hỗ trợ mọi m\xf4 h\xecnh. Th\xeam m\xf4 h\xecnh v\xe0 tạo b\xed danh để truy cập nhanh.","modelIdFromOpenRouter":"ID mẫu (từ OpenRouter)","openRouterModelPlaceholder":"nh\xe2n chủng/claude-3-opus","customModels":"M\xf4 h\xecnh t\xf9y chỉnh","customModelsHint":"Th\xeam ID mẫu kh\xf4ng c\xf3 trong danh s\xe1ch mặc định. Ch\xfang sẽ c\xf3 sẵn để định tuyến.","modelId":"M\xe3 mẫu","customModelPlaceholder":"v\xed dụ: gpt-4.5-turbo","loading":"Đang tải...","removeCustomModel":"X\xf3a m\xf4 h\xecnh t\xf9y chỉnh","noCustomModels":"Chưa c\xf3 m\xf4 h\xecnh t\xf9y chỉnh n\xe0o được th\xeam v\xe0o.","allSuggestedAliasesExist":"Tất cả c\xe1c b\xed danh được đề xuất đ\xe3 tồn tại. Vui l\xf2ng chọn một mẫu kh\xe1c hoặc x\xf3a c\xe1c b\xed danh xung đột.","failedSaveCustomModel":"Kh\xf4ng lưu được m\xf4 h\xecnh t\xf9y chỉnh","modelAddedSuccess":"Đ\xe3 th\xeam m\xf4 h\xecnh {modelId} th\xe0nh c\xf4ng","failedAddModelTryAgain":"Kh\xf4ng thể th\xeam m\xf4 h\xecnh. Vui l\xf2ng thử lại.","failedSaveImportedModel":"Kh\xf4ng lưu được m\xf4 h\xecnh đ\xe3 nhập v\xe0o cơ sở dữ liệu t\xf9y chỉnh","failedImportModelsTryAgain":"Kh\xf4ng thể nhập m\xf4 h\xecnh. Vui l\xf2ng thử lại.","failedRemoveModelFromDatabase":"Kh\xf4ng thể x\xf3a m\xf4 h\xecnh khỏi cơ sở dữ liệu","modelRemovedSuccess":"Đ\xe3 x\xf3a m\xf4 h\xecnh th\xe0nh c\xf4ng","failedDeleteModelTryAgain":"Kh\xf4ng x\xf3a được m\xf4 h\xecnh. Vui l\xf2ng thử lại.","compatibleModelsDescription":"Th\xeam c\xe1c m\xf4 h\xecnh tương th\xedch {type} theo c\xe1ch thủ c\xf4ng hoặc nhập ch\xfang từ điểm cuối /models.","anthropicCompatibleModelPlaceholder":"Claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"X\xe1c thực kh\xf3a API kh\xf4ng th\xe0nh c\xf4ng. Vui l\xf2ng kiểm tra ch\xeca kh\xf3a của bạn v\xe0 thử lại.","addProviderApiKeyTitle":"Th\xeam kh\xf3a API {provider}","checking":"Đang kiểm tra...","check":"Kiểm tra","valid":"hợp lệ","invalid":"kh\xf4ng hợp lệ","creating":"Đang tạo...","validationChecksAnthropicCompatible":"Kiểm tra x\xe1c thực {provider} bằng c\xe1ch x\xe1c minh kh\xf3a API.","validationChecksOpenAiCompatible":"Kiểm tra x\xe1c thực {provider} th\xf4ng qua /models tr\xean URL cơ sở của bạn.","priorityLabel":"Ưu ti\xean","saving":"Đang lưu...","save":"Lưu","editConnection":"Chỉnh sửa kết nối","accountName":"T\xean t\xe0i khoản","email":"Email","healthCheckMinutes":"Kiểm tra sức khỏe (ph\xfat)","healthCheckHint":"Khoảng thời gian l\xe0m mới m\xe3 th\xf4ng b\xe1o chủ động. 0 = bị v\xf4 hiệu h\xf3a.","failedTestConnection":"Kh\xf4ng thể kiểm tra kết nối","failed":"thất bại","leaveBlankKeepCurrentApiKey":"Để trống để giữ kh\xf3a API hiện tại.","editCompatibleTitle":"Chỉnh sửa {type} Tương th\xedch","compatibleBaseUrlHint":"Sử dụng URL cơ sở (kết th\xfac bằng /v1) cho API tương th\xedch {type} của bạn.","apiKeyForCheck":"Kh\xf3a API (để kiểm tra)","compatibleProdPlaceholder":"{type} Tương th\xedch (Sản phẩm)"},"settings":{"title":"C\xe0i đặt","general":"chung","security":"Bảo mật","appearance":"Ngoại h\xecnh","routing":"Định tuyến","cache":"Bộ nhớ đệm","resilience":"khả năng phục hồi","systemPrompt":"Lời nhắc hệ thống","thinkingBudget":"Suy nghĩ về ng\xe2n s\xe1ch","proxy":"ủy nhiệm","pricing":"Định gi\xe1","storage":"Lưu trữ","policies":"Ch\xednh s\xe1ch","ipFilter":"Bộ lọc IP","comboDefaults":"Mặc định kết hợp","fallbackChains":"Chuỗi dự ph\xf2ng","changePassword":"Thay đổi mật khẩu","enablePassword":"K\xedch hoạt mật khẩu","darkMode":"Chế độ tối","lightMode":"Chế độ \xe1nh s\xe1ng","systemTheme":"Chủ đề hệ thống","enableCache":"Bật bộ đệm","cacheTTL":"Bộ nhớ đệm TTL","maxCacheSize":"K\xedch thước bộ đệm tối đa","clearCache":"X\xf3a bộ nhớ đệm","cacheHits":"Số lần truy cập bộ đệm","cacheMisses":"Thiếu bộ nhớ đệm","hitRate":"Tỷ lệ tr\xfang","cacheEntries":"Mục nhập bộ nhớ đệm","circuitBreaker":"Bộ ngắt mạch","retryPolicy":"Ch\xednh s\xe1ch thử lại","maxRetries":"Số lần thử lại tối đa","retryDelay":"Tr\xec ho\xe3n thử lại","timeoutMs":"Thời gian chờ (ms)","enableSystemPrompt":"K\xedch hoạt lời nhắc hệ thống","systemPromptText":"Văn bản nhắc nhở hệ thống","enableThinking":"K\xedch hoạt tư duy","maxThinkingTokens":"M\xe3 th\xf4ng b\xe1o tư duy tối đa","enableProxy":"K\xedch hoạt proxy","proxyUrl":"URL proxy","pricingRates":"Định dạng gi\xe1 cước","currentPricing":"Tổng quan về gi\xe1 hiện tại","loadingPricing":"Đang tải dữ liệu gi\xe1...","noPricing":"Kh\xf4ng c\xf3 dữ liệu gi\xe1 cả","input":"đầu v\xe0o","output":"đầu ra","cached":"Đ\xe3 lưu v\xe0o bộ nhớ đệm","reasoning":"L\xfd luận","cacheCreation":"Tạo bộ đệm","customPricing":"Gi\xe1 t\xf9y chỉnh","databaseSize":"K\xedch thước cơ sở dữ liệu","backupDb":"Sao lưu cơ sở dữ liệu","restoreDb":"Kh\xf4i phục cơ sở dữ liệu","exportData":"Xuất dữ liệu","importData":"Nhập dữ liệu","clearData":"X\xf3a tất cả dữ liệu","clearDataConfirm":"Điều n\xe0y sẽ x\xf3a vĩnh viễn tất cả dữ liệu. Bạn c\xf3 chắc kh\xf4ng?","enableRequestLogs":"Bật nhật k\xfd y\xeau cầu","logRetention":"Lưu giữ nhật k\xfd","ipWhitelist":"Danh s\xe1ch trắng IP","ipBlacklist":"Danh s\xe1ch đen IP","addIP":"Th\xeam IP","savedSuccessfully":"Đ\xe3 lưu c\xe0i đặt th\xe0nh c\xf4ng","ai":"tr\xed tuệ nh\xe2n tạo","advanced":"N\xe2ng cao","localMode":"Chế độ cục bộ - Tất cả dữ liệu được lưu trữ tr\xean m\xe1y của bạn","settingsSectionsAria":"Phần c\xe0i đặt","switchThemes":"Chuyển đổi giữa chủ đề s\xe1ng v\xe0 tối","themeSelectionAria":"Lựa chọn chủ đề","themeLight":"\xc1nh s\xe1ng","themeDark":"Tối","themeSystem":"Hệ thống","hideHealthLogs":"Ẩn nhật k\xfd kiểm tra sức khỏe","hideHealthLogsDesc":"Khi BẬT, h\xe3y chặn th\xf4ng b\xe1o [HealthCheck] trong bảng điều khiển m\xe1y chủ","promptCache":"Bộ nhớ đệm nhắc nhở","flushCache":"X\xf3a bộ nhớ đệm","flushing":"Đang xả…","size":"K\xedch thước","hits":"Lượt truy cập","evictions":"Trục xuất","loadingCacheStats":"Đang tải số liệu thống k\xea về bộ nhớ đệm…","globalProxy":"Proxy to\xe0n cầu","globalProxyDesc":"Định cấu h\xecnh proxy gửi đi to\xe0n cầu cho tất cả lệnh gọi API. C\xe1c nh\xe0 cung cấp, tổ hợp v\xe0 kh\xf3a ri\xeang lẻ c\xf3 thể ghi đ\xe8 điều n\xe0y.","noGlobalProxy":"Kh\xf4ng c\xf3 proxy to\xe0n cầu n\xe0o được định cấu h\xecnh","globalLabel":"To\xe0n cầu","configure":"Cấu h\xecnh","globalSystemPrompt":"Lời nhắc hệ thống to\xe0n cầu","systemPromptDesc":"Được đưa v\xe0o tất cả c\xe1c y\xeau cầu ở cấp độ proxy","saved":"Đ\xe3 lưu","systemPromptPlaceholder":"Nhập lời nhắc hệ thống để đưa v\xe0o tất cả c\xe1c y\xeau cầu...","systemPromptHint":"Lời nhắc n\xe0y được th\xeam v\xe0o trước th\xf4ng b\xe1o hệ thống của mọi y\xeau cầu. Sử dụng cho c\xe1c hướng dẫn chung, nguy\xean tắc an to\xe0n hoặc quy tắc định dạng phản hồi.","chars":"{count} k\xfd tự","thinkingBudgetTitle":"Suy nghĩ về ng\xe2n s\xe1ch","thinkingBudgetDesc":"Kiểm so\xe1t việc sử dụng m\xe3 th\xf4ng b\xe1o l\xfd luận AI tr\xean tất cả c\xe1c y\xeau cầu","passthrough":"Truyền qua","passthroughDesc":"Kh\xf4ng c\xf3 thay đổi - kh\xe1ch h\xe0ng kiểm so\xe1t ng\xe2n s\xe1ch tư duy","auto":"Tự động","autoDesc":"Loại bỏ mọi cấu h\xecnh suy nghĩ - h\xe3y để nh\xe0 cung cấp quyết định","custom":"t\xf9y chỉnh","customDesc":"Đặt ng\xe2n s\xe1ch m\xe3 th\xf4ng b\xe1o cố định cho tất cả c\xe1c y\xeau cầu","adaptive":"Th\xedch ứng","adaptiveDesc":"Mở rộng ng\xe2n s\xe1ch dựa tr\xean độ phức tạp của y\xeau cầu","effortNone":"Kh\xf4ng c\xf3 (0 m\xe3 th\xf4ng b\xe1o)","effortLow":"Thấp (1K token)","effortMedium":"Trung b\xecnh (10K token)","effortHigh":"Cao (128K token)","tokenBudget":"Ng\xe2n s\xe1ch m\xe3 th\xf4ng b\xe1o","tokens":"m\xe3 th\xf4ng b\xe1o","baseEffortLevel":"Mức nỗ lực cơ bản","adaptiveHint":"Chế độ th\xedch ứng sẽ chia tỷ lệ từ cấp cơ sở n\xe0y dựa tr\xean số lượng tin nhắn, mức sử dụng c\xf4ng cụ v\xe0 độ d\xe0i lời nhắc.","requireLogin":"Y\xeau cầu đăng nhập","requireLoginDesc":"Khi BẬT, bảng điều khiển y\xeau cầu mật khẩu. Khi TẮT, truy cập m\xe0 kh\xf4ng cần đăng nhập.","currentPassword":"Mật khẩu hiện tại","enterCurrentPassword":"Nhập mật khẩu hiện tại","newPassword":"Mật khẩu mới","enterNewPassword":"Nhập mật khẩu mới","confirmPassword":"X\xe1c nhận mật khẩu mới","confirmPasswordPlaceholder":"X\xe1c nhận mật khẩu mới","passwordsNoMatch":"Mật khẩu kh\xf4ng khớp","passwordUpdated":"Đ\xe3 cập nhật mật khẩu th\xe0nh c\xf4ng","failedUpdatePassword":"Kh\xf4ng cập nhật được mật khẩu","errorOccurred":"Đ\xe3 xảy ra lỗi","updatePassword":"Cập nhật mật khẩu","setPassword":"Đặt mật khẩu","apiEndpointProtection":"Bảo vệ điểm cuối API","requireAuthModels":"Y\xeau cầu kh\xf3a API cho /model","requireAuthModelsDesc":"Khi BẬT, điểm cuối /v1/models trả về 404 cho c\xe1c y\xeau cầu kh\xf4ng được x\xe1c thực. Ngăn chặn việc ph\xe1t hiện m\xf4 h\xecnh bởi người d\xf9ng tr\xe1i ph\xe9p.","blockedProviders":"Nh\xe0 cung cấp bị chặn","blockedProvidersDesc":"Ẩn c\xe1c nh\xe0 cung cấp cụ thể khỏi phản hồi /v1/models. C\xe1c nh\xe0 cung cấp bị chặn sẽ kh\xf4ng xuất hiện trong danh s\xe1ch m\xf4 h\xecnh.","providersBlocked":"{count} nh\xe0 cung cấp bị chặn khỏi /models","blockProviderTitle":"Chặn {provider}","unblockProviderTitle":"Bỏ chặn {provider}","routingStrategy":"Chiến lược định tuyến","fillFirst":"điền đầu ti\xean","fillFirstDesc":"Sử dụng t\xe0i khoản theo thứ tự ưu ti\xean","roundRobin":"V\xf2ng Robin","roundRobinDesc":"Duyệt qua tất cả c\xe1c t\xe0i khoản","p2c":"P2C","p2cDesc":"Chọn ngẫu nhi\xean 2 c\xe1i, chọn c\xe1i l\xe0nh mạnh hơn","random":"Ngẫu nhi\xean","randomDesc":"T\xe0i khoản ngẫu nhi\xean mỗi y\xeau cầu","leastUsed":"\xcdt được sử dụng nhất","leastUsedDesc":"Chọn t\xe0i khoản \xedt được sử dụng gần đ\xe2y nhất","costOpt":"Lựa chọn chi ph\xed","costOptDesc":"Ưu ti\xean t\xe0i khoản c\xf3 sẵn rẻ nhất","stickyLimit":"Giới hạn d\xednh","stickyLimitDesc":"Cuộc gọi tr\xean mỗi t\xe0i khoản trước khi chuyển đổi","modelAliases":"B\xed danh mẫu","modelAliasesDesc":"C\xe1c mẫu k\xfd tự đại diện để \xe1nh xạ lại t\xean mẫu m\xe1y • Sử dụng * v\xe0 ?","aliasPatternPlaceholder":"Claude-sonnet-*","aliasTargetPlaceholder":"Claude-sonnet-4-20250514","pattern":"mẫu","targetModel":"M\xf4 h\xecnh mục ti\xeau","add":"+ Th\xeam","session":"Phi\xean","sessionDetailsAria":"Chi tiết phi\xean","status":"Trạng th\xe1i","authenticated":"Đ\xe3 x\xe1c thực","guest":"kh\xe1ch","loginTime":"Thời gian đăng nhập","sessionAge":"Tuổi phi\xean","browser":"Tr\xecnh duyệt","clearLocalData":"X\xf3a dữ liệu cục bộ","logout":"Đăng xuất","clearLocalDataConfirm":"X\xf3a tất cả dữ liệu cục bộ? Điều n\xe0y sẽ thiết lập lại t\xf9y chọn của bạn.","unknown":"Kh\xf4ng x\xe1c định","systemActor":"hệ thống","ipAccessControl":"Kiểm so\xe1t truy cập IP","ipAccessControlDesc":"Chặn hoặc cho ph\xe9p c\xe1c địa chỉ IP cụ thể","ipModeDisabled":"Đ\xe3 tắt","ipModeBlacklist":"Danh s\xe1ch đen","ipModeWhitelist":"Danh s\xe1ch trắng","ipModeWhitelistPriority":"Ưu ti\xean WL","addIpAddress":"Th\xeam địa chỉ IP","ipAddressPlaceholder":"192.168.1.0/24 hoặc 10.0.*.*","block":"+ Chặn","allow":"+ Cho ph\xe9p","blocked":"Đ\xe3 chặn ({count})","allowed":"Được ph\xe9p ({count})","temporaryBans":"Lệnh cấm tạm thời ({count})","minLeft":"{min} ph\xfat c\xf2n lại","auditLog":"Nhật k\xfd kiểm tra","searchAuditLogs":"T\xecm kiếm nhật k\xfd kiểm tra...","failedLoadAuditLog":"Kh\xf4ng tải được nhật k\xfd kiểm tra","noAuditEvents":"Kh\xf4ng t\xecm thấy sự kiện kiểm tra n\xe0o","action":"h\xe0nh động","actor":"diễn vi\xean","details":"Chi tiết","time":"thời gian","fallbackChainsTitle":"Chuỗi dự ph\xf2ng","fallbackChainsDesc":"X\xe1c định thứ tự dự ph\xf2ng của nh\xe0 cung cấp cho mỗi m\xf4 h\xecnh","addChain":"+ Th\xeam chuỗi","modelName":"T\xean mẫu","modelNamePlaceholder":"Claude-sonnet-4-20250514","providersCommaSeparated":"Nh\xe0 cung cấp (được ph\xe2n t\xe1ch bằng dấu phẩy, theo thứ tự ưu ti\xean)","providersCommaSeparatedPlaceholder":"nh\xe2n loại, openai, song tử","createChain":"Tạo chuỗi","noFallbackChains":"Kh\xf4ng c\xf3 chuỗi dự ph\xf2ng","noFallbackChainsDesc":"Tạo một chuỗi để x\xe1c định thứ tự dự ph\xf2ng của nh\xe0 cung cấp cho một m\xf4 h\xecnh.","loadingFallbackChains":"Đang tải chuỗi dự ph\xf2ng...","deleteChainConfirm":"X\xf3a chuỗi dự ph\xf2ng cho \\"{model}\\"?","chainCreated":"Đ\xe3 tạo chuỗi cho {model}","chainDeleted":"Đ\xe3 x\xf3a chuỗi cho {model}","failedCreateChain":"Kh\xf4ng tạo được chuỗi","failedDeleteChain":"Kh\xf4ng thể x\xf3a chuỗi","deleteChain":"X\xf3a chuỗi","fillModelAndProviders":"Vui l\xf2ng điền t\xean model v\xe0 nh\xe0 cung cấp","addAtLeastOneProvider":"Th\xeam \xedt nhất một nh\xe0 cung cấp","comboDefaultsTitle":"Mặc định kết hợp","globalComboConfig":"Cấu h\xecnh kết hợp to\xe0n cầu","defaultStrategy":"Chiến lược mặc định","defaultStrategyDesc":"\xc1p dụng cho c\xe1c combo mới kh\xf4ng c\xf3 chiến lược r\xf5 r\xe0ng","comboStrategyAria":"Chiến lược kết hợp","priority":"Ưu ti\xean","weighted":"C\xf3 trọng số","maxRetriesLabel":"Số lần thử lại tối đa","retryDelayLabel":"Độ trễ thử lại (ms)","timeoutLabel":"Thời gian chờ (ms)","healthCheck":"Kiểm tra sức khỏe","healthCheckDesc":"Kiểm tra trước t\xednh khả dụng của nh\xe0 cung cấp","trackMetrics":"Theo d\xf5i số liệu","trackMetricsDesc":"Ghi lại số liệu y\xeau cầu tr\xean mỗi kết hợp","providerOverrides":"Ghi đ\xe8 nh\xe0 cung cấp","providerOverridesDesc":"Ghi đ\xe8 thời gian chờ v\xe0 thử lại tr\xean mỗi nh\xe0 cung cấp. C\xe0i đặt nh\xe0 cung cấp ghi đ\xe8 mặc định chung.","providerMaxRetriesAria":"{provider} số lần thử lại tối đa","providerTimeoutAria":"{provider} hết thời gian chờ mili gi\xe2y","removeProviderOverrideAria":"X\xf3a ghi đ\xe8 {provider}","newProviderNamePlaceholder":"v\xed dụ: google, openai...","newProviderNameAria":"T\xean nh\xe0 cung cấp mới","retries":"thử lại","ms":"c\xf4","saveComboDefaults":"Lưu mặc định kết hợp","maxNestingDepth":"Độ s\xe2u lồng tối đa","concurrencyPerModel":"Đồng thời / M\xf4 h\xecnh","queueTimeout":"Hết thời gian xếp h\xe0ng (ms)","providerProfiles":"Hồ sơ nh\xe0 cung cấp","providerProfilesDesc":"C\xe0i đặt khả năng phục hồi ri\xeang biệt cho c\xe1c nh\xe0 cung cấp OAuth (dựa tr\xean phi\xean) v\xe0 Kh\xf3a API (được đo lường). Nh\xe0 cung cấp OAuth c\xf3 ngưỡng chặt chẽ hơn do giới hạn tốc độ thấp hơn.","oauthProviders":"Nh\xe0 cung cấp OAuth","apiKeyProviders":"Nh\xe0 cung cấp kh\xf3a API","transientCooldown":"Thời gian hồi chi\xeau tho\xe1ng qua","rateLimitCooldown":"Thời gian hồi chi\xeau giới hạn tốc độ","maxBackoffLevel":"Mức chờ đợi tối đa","cbThreshold":"Ngưỡng CB","cbResetTime":"Thời gian đặt lại CB","rateLimiting":"Giới hạn tỷ lệ","rateLimitingDesc":"Nh\xe0 cung cấp Kh\xf3a API được tự động giới hạn tỷ lệ với c\xe1c gi\xe1 trị mặc định an to\xe0n. C\xe1c giới hạn được học từ ti\xeau đề phản hồi v\xe0 điều chỉnh theo thời gian.","defaultSafetyNet":"Mạng lưới an to\xe0n mặc định","rpm":"v\xf2ng/ph\xfat","minGap":"Khoảng c\xe1ch tối thiểu","maxConcurrent":"Đồng thời tối đa","activeLimiters":"Bộ hạn chế hoạt động","noActiveLimiters":"Chưa c\xf3 giới hạn tỷ lệ hoạt động n\xe0o.","reservoir":"Hồ chứa nước","running":"Đang chạy","queued":"Đ\xe3 xếp h\xe0ng","circuitBreakers":"Bộ ngắt mạch","breakerStateClosed":"Đ\xe3 đ\xf3ng","breakerStateOpen":"Mở","breakerStateHalfOpen":"Nửa mở","tripped":"{count} bị vấp","healthy":"{count} khỏe mạnh","resetAll":"Đặt lại tất cả","noCircuitBreakers":"Chưa c\xf3 bộ ngắt mạch n\xe0o hoạt động. Ch\xfang được tạo tự động khi c\xe1c y\xeau cầu chảy qua đường dẫn kết hợp.","failures":"{count} lỗi","policiesLocked":"Ch\xednh s\xe1ch & M\xe3 định danh bị kh\xf3a","allOperational":"Tất cả c\xe1c hệ thống đều hoạt động - kh\xf4ng c\xf3 kh\xf3a hoặc cầu dao bị ngắt","loadingPolicies":"Đang tải ch\xednh s\xe1ch...","lockedIdentifiers":"Số nhận dạng bị kh\xf3a","unlockedIdentifier":"Đ\xe3 mở kh\xf3a: {identifier}","sinceDate":"kể từ {date}","forceUnlock":"Buộc mở kh\xf3a","unlocking":"Đang mở kh\xf3a...","failedUnlock":"Kh\xf4ng thể mở kh\xf3a","failedLoadWithStatus":"Kh\xf4ng tải được: {status}","failedLoadResilience":"Kh\xf4ng tải được trạng th\xe1i phục hồi","saveFailed":"Lưu kh\xf4ng th\xe0nh c\xf4ng","resetFailed":"Đặt lại kh\xf4ng th\xe0nh c\xf4ng","loadingResilience":"Đang tải trạng th\xe1i phục hồi...","retry":"Thử lại","systemStorage":"Hệ thống & Lưu trữ","allDataLocal":"Tất cả dữ liệu được lưu trữ cục bộ tr\xean m\xe1y của bạn","databasePath":"Đường dẫn cơ sở dữ liệu","exportDatabase":"Xuất cơ sở dữ liệu","exportAll":"Xuất tất cả (.tar.gz)","importDatabase":"Nhập cơ sở dữ liệu","confirmDbImport":"X\xe1c nhận nhập cơ sở dữ liệu","confirmDbImportDesc":"Thao t\xe1c n\xe0y sẽ thay thế tất cả dữ liệu hiện tại bằng nội dung từ {file}. Một bản sao lưu sẽ được tạo tự động trước khi nhập.","yesImport":"C\xf3, nhập khẩu","lastBackup":"Sao lưu lần cuối","noBackupYet":"Chưa c\xf3 bản sao lưu n\xe0o","backupNow":"Sao lưu ngay","backupRestore":"Sao lưu & Kh\xf4i phục","viewBackups":"Xem bản sao lưu","hide":"Ẩn","backupRetentionDesc":"Ảnh chụp nhanh cơ sở dữ liệu được tạo tự động trước khi kh\xf4i phục v\xe0 cứ sau 15 ph\xfat khi dữ liệu thay đổi. Lưu giữ: 24 giờ + 30 lần sao lưu h\xe0ng ng\xe0y với chế độ xoay th\xf4ng minh.","loadingBackups":"Đang tải bản sao lưu...","noBackupsYet":"Chưa c\xf3 bản sao lưu n\xe0o. Bản sao lưu sẽ được tạo tự động khi dữ liệu thay đổi.","backupsAvailable":"{count} bản sao lưu c\xf3 sẵn","refresh":"L\xe0m mới","confirm":"X\xe1c nhận?","yes":"C\xf3","no":"Kh\xf4ng","restore":"Kh\xf4i phục","invalidFileType":"Loại tệp kh\xf4ng hợp lệ. Chỉ c\xe1c tệp .sqlite được chấp nhận.","exportFailed":"Xuất kh\xf4ng th\xe0nh c\xf4ng","exportFailedWithError":"Xuất kh\xf4ng th\xe0nh c\xf4ng: {error}","fullExportFailedWithError":"Xuất to\xe0n bộ kh\xf4ng th\xe0nh c\xf4ng: {error}","backupCreated":"Đ\xe3 tạo bản sao lưu: {file}","restoreSuccess":"Đ\xe3 kh\xf4i phục! {connections} kết nối, n\xfat {nodes}, tổ hợp {combos}, kh\xf3a API {apiKeys}.","importSuccess":"Cơ sở dữ liệu đ\xe3 được nhập! {connections} kết nối, n\xfat {nodes}, tổ hợp {combos}, kh\xf3a API {apiKeys}.","justNow":"ngay b\xe2y giờ","minutesAgo":"{count} ph\xfat trước","hoursAgo":"{count} giờ trước","daysAgo":"{count}ng\xe0y trước","backupReasonManual":"hướng dẫn sử dụng","backupReasonPreRestore":"kh\xf4i phục trước","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Kh\xf4ng c\xf3 thay đổi n\xe0o kể từ lần sao lưu cuối c\xf9ng","backupFailed":"Sao lưu kh\xf4ng th\xe0nh c\xf4ng","restoreFailed":"Kh\xf4i phục kh\xf4ng th\xe0nh c\xf4ng","importFailed":"Nhập kh\xf4ng th\xe0nh c\xf4ng","errorDuringRestore":"Đ\xe3 xảy ra lỗi trong qu\xe1 tr\xecnh kh\xf4i phục","errorDuringImport":"Đ\xe3 xảy ra lỗi trong qu\xe1 tr\xecnh nhập","modelPricing":"Gi\xe1 mẫu","modelPricingDesc":"Định cấu h\xecnh mức chi ph\xed cho mỗi m\xf4 h\xecnh • Tất cả mức gi\xe1 bằng m\xe3 th\xf4ng b\xe1o $/1 triệu","providers":"Nh\xe0 cung cấp","registry":"Đăng k\xfd","priced":"Đ\xe3 định gi\xe1","searchProvidersModels":"T\xecm kiếm nh\xe0 cung cấp hoặc m\xf4 h\xecnh...","showAll":"Hiển thị tất cả","noProvidersMatch":"Kh\xf4ng c\xf3 nh\xe0 cung cấp n\xe0o ph\xf9 hợp với t\xecm kiếm của bạn.","howPricingWorks":"C\xe1ch thức hoạt động của gi\xe1","cacheWrite":"Ghi bộ nhớ đệm","unsaved":"chưa được lưu","resetDefaults":"Đặt lại mặc định","saveProvider":"Lưu nh\xe0 cung cấp","saving":"Đang lưu...","model":"người mẫu","models":"m\xf4 h\xecnh","moreProviders":"{count} nh\xe0 cung cấp kh\xe1c","withPricing":"với gi\xe1 được cấu h\xecnh","policiesCircuitBreakers":"Ch\xednh s\xe1ch & Bộ ngắt mạch","activeIssuesDetected":"Đ\xe3 ph\xe1t hiện sự cố đang diễn ra","off":"Tắt","resetPricingConfirm":"Đặt lại tất cả gi\xe1 cho {provider} về mặc định?","pricingDescInput":"Đầu v\xe0o: m\xe3 th\xf4ng b\xe1o được gửi đến m\xf4 h\xecnh","pricingDescOutput":"Đầu ra: m\xe3 th\xf4ng b\xe1o được tạo","pricingDescCached":"Đ\xe3 lưu v\xe0o bộ nhớ đệm: đầu v\xe0o được sử dụng lại (~50% tốc độ đầu v\xe0o)","pricingDescReasoning":"L\xfd luận: m\xe3 th\xf4ng b\xe1o suy nghĩ (quay lại Đầu ra)","pricingDescCacheWrite":"Ghi bộ đệm: tạo c\xe1c mục bộ đệm (quay lại Đầu v\xe0o)","pricingDescFormula":"Chi ph\xed = (đầu v\xe0o \xd7 tốc độ đầu v\xe0o) + (đầu ra \xd7 tốc độ đầu ra) + (được lưu v\xe0o bộ nhớ đệm \xd7 tốc độ được lưu v\xe0o bộ nhớ cache) tr\xean một triệu m\xe3 th\xf4ng b\xe1o.","pricingSettingsTitle":"C\xe0i đặt gi\xe1","totalModels":"Tổng số m\xf4 h\xecnh","active":"Đang hoạt động","costCalculation":"T\xednh to\xe1n chi ph\xed","costCalculationDesc":"Chi ph\xed được t\xednh to\xe1n dựa tr\xean mức sử dụng m\xe3 th\xf4ng b\xe1o v\xe0 mức gi\xe1 được định cấu h\xecnh cho từng m\xf4 h\xecnh.","pricingFormat":"Định dạng gi\xe1","pricingFormatDesc":"Tất cả c\xe1c mức gi\xe1 đều t\xednh bằng token $/1 triệu (đ\xf4 la tr\xean một triệu token).","tokenTypes":"C\xe1c loại m\xe3 th\xf4ng b\xe1o","inputTokenDesc":"M\xe3 th\xf4ng b\xe1o nhắc nhở ti\xeau chuẩn","outputTokenDesc":"M\xe3 th\xf4ng b\xe1o ho\xe0n th\xe0nh/phản hồi","cachedTokenDesc":"M\xe3 th\xf4ng b\xe1o đầu v\xe0o được lưu trong bộ nhớ đệm (thường l\xe0 50% tốc độ đầu v\xe0o)","reasoningTokenDesc":"M\xe3 th\xf4ng b\xe1o l\xfd luận/suy nghĩ đặc biệt (dự ph\xf2ng tốc độ đầu ra)","cacheCreationTokenDesc":"M\xe3 th\xf4ng b\xe1o được sử dụng để tạo mục nhập bộ đệm (dự ph\xf2ng tốc độ đầu v\xe0o)","customPricingNote":"Bạn c\xf3 thể ghi đ\xe8 gi\xe1 mặc định cho c\xe1c kiểu m\xe1y cụ thể. Ghi đ\xe8 t\xf9y chỉnh được ưu ti\xean hơn gi\xe1 được tự động ph\xe1t hiện.","editPricing":"Chỉnh sửa gi\xe1","viewFullDetails":"Xem chi tiết đầy đủ","modelAliasesTitle":"B\xed danh m\xf4 h\xecnh","addCustomAlias":"Th\xeam B\xed Danh T\xf9y Chỉnh","deprecatedModelId":"ID m\xf4 h\xecnh ngừng sử dụng","newModelId":"ID m\xf4 h\xecnh mới","customAliases":"B\xed Danh T\xf9y Chỉnh","builtInAliases":"B\xed Danh T\xedch Hợp","backgroundDegradationTitle":"Giảm Cấp T\xe1c Vụ Nền","backgroundDegradationDesc":"Tự động ph\xe1t hiện t\xe1c vụ nền (ti\xeau đề, t\xf3m tắt) v\xe0 chuyển hướng sang m\xf4 h\xecnh rẻ hơn","enableDegradation":"Bật Giảm Cấp Nền","enableDegradationHint":"Khi bật, c\xe1c t\xe1c vụ nền như tạo ti\xeau đề v\xe0 t\xf3m tắt sẽ tự động được chuyển hướng sang c\xe1c m\xf4 h\xecnh rẻ hơn","tasksDetected":"T\xe1c vụ được ph\xe1t hiện","degradationMap":"Bản Đồ Giảm Cấp M\xf4 H\xecnh","premiumModel":"M\xf4 h\xecnh cao cấp","cheapModel":"M\xf4 h\xecnh gi\xe1 rẻ","detectionPatterns":"Mẫu Ph\xe1t Hiện","newPattern":"vd: \\"tạo ti\xeau đề\\""},"translator":{"title":"Người phi\xean dịch","metaTitle":"S\xe2n chơi phi\xean dịch | OmniRoute","metaDescription":"Gỡ lỗi, kiểm tra v\xe0 trực quan h\xf3a bản dịch định dạng API giữa c\xe1c nh\xe0 cung cấp","playgroundTitle":"S\xe2n chơi phi\xean dịch","playground":"S\xe2n chơi","realtime":"Hoạt động dịch thời gian thực","chatTester":"Tr\xecnh kiểm tra tr\xf2 chuyện","testBench":"Ghế thử nghiệm","liveMonitor":"M\xe0n h\xecnh trực tiếp","modeDescriptionPlayground":"D\xe1n bất kỳ nội dung y\xeau cầu API n\xe0o v\xe0 xem c\xe1ch OmniRoute dịch n\xf3 giữa c\xe1c định dạng nh\xe0 cung cấp (OpenAI ↔ Claude ↔ Gemini ↔ API phản hồi)","modeDescriptionChatTester":"Gửi c\xe1c y\xeau cầu tr\xf2 chuyện thực tế th\xf4ng qua OmniRoute v\xe0 kiểm tra to\xe0n bộ h\xe0nh tr\xecnh: đầu v\xe0o, y\xeau cầu đ\xe3 dịch, phản hồi của nh\xe0 cung cấp v\xe0 đầu ra đ\xe3 dịch.","modeDescriptionTestBench":"Chạy c\xe1c kịch bản được x\xe1c định trước v\xe0 so s\xe1nh khả năng tương th\xedch giữa c\xe1c nh\xe0 cung cấp v\xe0 m\xf4 h\xecnh.","modeDescriptionLiveMonitor":"Xem c\xe1c sự kiện dịch thuật trong thời gian thực khi c\xe1c y\xeau cầu chảy qua OmniRoute.","modeDescriptionFallback":"Gỡ lỗi, kiểm tra v\xe0 trực quan h\xf3a c\xe1ch OmniRoute dịch c\xe1c y\xeau cầu API giữa c\xe1c nh\xe0 cung cấp.","recentTranslations":"Bản dịch gần đ\xe2y","noTranslations":"Chưa c\xf3 bản dịch n\xe0o","source":"Nguồn","target":"Mục ti\xeau","time":"thời gian","model":"người mẫu","status":"Trạng th\xe1i","latency":"Độ trễ","totalTranslations":"Tổng số bản dịch","successful":"th\xe0nh c\xf4ng","errors":"Lỗi","avgLatency":"Độ trễ trung b\xecnh","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Trực tiếp - Tự động l\xe0m mới","paused":"Đ\xe3 tạm dừng","eventsAppearHint":"C\xe1c sự kiện dịch xuất hiện ở đ\xe2y khi c\xe1c y\xeau cầu chuyển qua OmniRoute. Sử dụng bất kỳ phương ph\xe1p n\xe0o sau đ\xe2y để tạo sự kiện:","chatTesterTab":"Tab Tr\xecnh kiểm tra tr\xf2 chuyện","testBenchTab":"Tab Bench thử nghiệm","externalApiCalls":"Lệnh gọi API b\xean ngo\xe0i","ideCliIntegrations":"T\xedch hợp IDE/CLI","inMemoryNote":"Lưu \xfd: C\xe1c sự kiện được lưu trong bộ nhớ v\xe0 được đặt lại khi m\xe1y chủ khởi động lại.","ok":"được rồi","errorShort":"LỖI","formatConverter":"Tr\xecnh chuyển đổi định dạng","formatConverterDescription":"D\xe1n hoặc nhập nội dung y\xeau cầu JSON. Tr\xecnh dịch sẽ tự động ph\xe1t hiện định dạng nguồn v\xe0 chuyển đổi n\xf3 sang định dạng đ\xedch. Sử dụng t\xednh năng n\xe0y để gỡ lỗi c\xe1ch OmniRoute dịch c\xe1c y\xeau cầu giữa c\xe1c định dạng (OpenAI ↔ Claude ↔ Gemini ↔ API phản hồi).","input":"đầu v\xe0o","output":"đầu ra","auto":"Tự động","swapFormats":"Ho\xe1n đổi định dạng","translateAction":"Dịch","clear":"X\xf3a","inputPlaceholder":"D\xe1n nội dung y\xeau cầu tại đ\xe2y hoặc chọn mẫu b\xean dưới...","exampleTemplates":"Mẫu v\xed dụ","exampleTemplatesHint":"- Bấm để tải","templateLoadHint":"Mẫu tải y\xeau cầu ở định dạng {format}. Thay đổi định dạng nguồn để tải ở định dạng kh\xe1c.","compatibilityTester":"Tr\xecnh kiểm tra khả năng tương th\xedch","compatibilityReport":"B\xe1o c\xe1o tương th\xedch","testBenchDescription":"Chạy c\xe1c kịch bản được x\xe1c định trước (Tr\xf2 chuyện đơn giản, Gọi c\xf4ng cụ, v.v.) để x\xe1c minh khả năng tương th\xedch của bản dịch v\xe0 nh\xe0 cung cấp. Chọn định dạng nguồn v\xe0 nh\xe0 cung cấp mục ti\xeau, sau đ\xf3 chạy tất cả c\xe1c thử nghiệm để xem tỷ lệ phần trăm tương th\xedch. Sử dụng c\xf4ng cụ n\xe0y để t\xecm những t\xednh năng n\xe0o hoạt động giữa c\xe1c nh\xe0 cung cấp.","targetProvider":"Nh\xe0 cung cấp mục ti\xeau","runAllTests":"Chạy tất cả c\xe1c b\xe0i kiểm tra","runTest":"Chạy thử nghiệm","reRun":"Chạy lại","running":"Đang chạy...","passed":"đ\xe3 vượt qua","failed":"thất bại","passedIconLabel":"✅ Đạt","chunks":"khối","scenarioSimpleChat":"Tr\xf2 chuyện đơn giản","scenarioToolCalling":"Gọi c\xf4ng cụ","scenarioMultiTurn":"Nhiều lượt","scenarioThinking":"suy nghĩ","scenarioSystemPrompt":"Lời nhắc hệ thống","scenarioStreaming":"Truyền ph\xe1t","templateNames":{"simple-chat":"Tr\xf2 chuyện đơn giản","tool-calling":"Gọi c\xf4ng cụ","multi-turn":"Nhiều lượt","thinking":"suy nghĩ","system-prompt":"Lời nhắc hệ thống","streaming":"Truyền ph\xe1t"},"templateDescriptions":{"simple-chat":"Tin nhắn văn bản cơ bản","tool-calling":"Lệnh gọi h\xe0m/c\xf4ng cụ","multi-turn":"Đối thoại với lịch sử","thinking":"Suy nghĩ/l\xfd luận mở rộng","system-prompt":"Hướng dẫn hệ thống phức tạp","streaming":"Y\xeau cầu ph\xe1t trực tuyến SSE"},"templatePayloads":{"simpleChat":{"system":"Bạn l\xe0 một trợ l\xfd hữu \xedch.","userGreeting":"Xin ch\xe0o! Bạn h\xf4m nay thế n\xe0o?"},"toolCalling":{"userWeather":"Thời tiết ở S\xe3o Paulo thế n\xe0o?","toolDescription":"Nhận thời tiết hiện tại cho một địa điểm","cityNameDescription":"T\xean th\xe0nh phố"},"multiTurn":{"system":"Bạn l\xe0 một trợ l\xfd m\xe3 h\xf3a.","userInitial":"Viết h\xe0m sắp xếp một mảng trong Python.","assistantExample":"Đ\xe2y l\xe0 một chức năng sắp xếp đơn giản:\\n\\n``` con trăn\\ndef sắp xếp_array(arr):\\n trả về đ\xe3 sắp xếp(arr)\\n```","userFollowUp":"B\xe2y giờ h\xe3y sắp xếp n\xf3 theo thứ tự giảm dần."},"thinking":{"question":"Tổng của 100 số nguy\xean tố đầu ti\xean l\xe0 bao nhi\xeau?"},"systemPrompt":{"systemInstruction":"Bạn l\xe0 một kỹ sư phần mềm cao cấp chuy\xean về hệ thống ph\xe2n t\xe1n. Trả lời c\xe1c c\xe2u hỏi một c\xe1ch ch\xednh x\xe1c bằng c\xe1ch sử dụng c\xe1c phương ph\xe1p hay nhất trong ng\xe0nh. Lu\xf4n cung cấp c\xe1c v\xed dụ về m\xe3 khi c\xf3 li\xean quan. Định dạng c\xe2u trả lời của bạn bằng c\xe1ch sử dụng markdown.","question":"L\xe0m c\xe1ch n\xe0o để triển khai mẫu ngắt mạch?"},"streaming":{"prompt":"Kể cho t\xf4i nghe một c\xe2u chuyện ngắn về một robot học vẽ."}},"openaiCompatibleLabel":"Tương th\xedch OpenAI","anthropicCompatibleLabel":"Tương th\xedch với con người","noTemplateForFormat":"Kh\xf4ng c\xf3 mẫu cho định dạng n\xe0y","translationFailed":"Dịch kh\xf4ng th\xe0nh c\xf4ng: {error}","pipelineDebugger":"Tr\xecnh gỡ lỗi đường ống","translationPipeline":"Đường dẫn dịch thuật","pipelineVisualization":"Trực quan h\xf3a đường ống","pipelineVisualizationHint":"Gửi tin nhắn để xem y\xeau cầu của bạn diễn ra như thế n\xe0o th\xf4ng qua qu\xe1 tr\xecnh ph\xe1t hiện → dịch thuật → cuộc gọi của nh\xe0 cung cấp.","chatTesterDescription":"Gửi tin nhắn dưới dạng định dạng ứng dụng kh\xe1ch cụ thể v\xe0 kiểm tra từng bước của quy tr\xecnh dịch thuật.","chatTesterFlow":"Y\xeau cầu của kh\xe1ch h\xe0ng → Ph\xe1t hiện định dạng → Trung gian OpenAI → Định dạng nh\xe0 cung cấp → Phản hồi","clickStepToInspect":"Nhấp v\xe0o bất kỳ bước n\xe0o để kiểm tra dữ liệu ở giai đoạn đ\xf3.","clientFormat":"Định dạng kh\xe1ch h\xe0ng","provider":"nh\xe0 cung cấp","modelPlaceholder":"Chọn hoặc nhập t\xean mẫu m\xe1y...","sendMessageToSeePipeline":"Gửi tin nhắn để xem quy tr\xecnh dịch thuật","chatMessageHintPrefix":"Tin nhắn của bạn sẽ được định dạng dưới dạng","chatMessageHintSuffix":"y\xeau cầu, được dịch qua quy tr\xecnh v\xe0 gửi đến nh\xe0 cung cấp đ\xe3 chọn.","youWithFormat":"Bạn ({format})","assistant":"Trợ l\xfd","typeMessage":"Nhập tin nhắn...","send":"Gửi","clientRequest":"Y\xeau cầu của kh\xe1ch h\xe0ng","clientRequestDescription":"Nội dung y\xeau cầu m\xe0 kh\xe1ch h\xe0ng của bạn sẽ gửi n\xf3","formatDetected":"Đ\xe3 ph\xe1t hiện định dạng","formatDetectedDescription":"OmniRoute tự động ph\xe1t hiện định dạng API từ cấu tr\xfac y\xeau cầu","openaiIntermediate":"Trung cấp OpenAI","openaiIntermediateDescription":"Tất cả c\xe1c định dạng trước ti\xean được chuẩn h\xf3a th\xe0nh định dạng OpenAI (cầu nối phổ qu\xe1t)","providerFormat":"Định dạng nh\xe0 cung cấp","providerFormatDescription":"Định dạng OpenAI được dịch sang định dạng gốc của nh\xe0 cung cấp","providerResponse":"Phản hồi của nh\xe0 cung cấp","providerResponseRawDescription":"Phản hồi th\xf4 từ API nh\xe0 cung cấp","providerResponseSseDescription":"Luồng SSE th\xf4 từ API nh\xe0 cung cấp","unexpectedError":"Đ\xe3 xảy ra lỗi kh\xf4ng mong muốn","error":"Lỗi","errorMessage":"Lỗi: {message}","requestFailed":"Y\xeau cầu kh\xf4ng th\xe0nh c\xf4ng","noTextExtracted":"(Kh\xf4ng tr\xedch xuất văn bản)","liveMonitorDescriptionPrefix":"Hiển thị c\xe1c sự kiện dịch khi lệnh gọi API đi qua OmniRoute. C\xe1c sự kiện đến từ bộ đệm trong bộ nhớ (đặt lại khi khởi động lại). sử dụng","liveMonitorDescriptionSuffix":"hoặc lệnh gọi API b\xean ngo\xe0i để tạo sự kiện."},"usage":{"title":"C\xe1ch sử dụng","loggerTab":"Tr\xecnh ghi nhật k\xfd","proxyTab":"ủy nhiệm","budgetManagement":"Quản l\xfd ng\xe2n s\xe1ch","budgetSaved":"Đ\xe3 lưu giới hạn ng\xe2n s\xe1ch","budgetSaveFailed":"Kh\xf4ng thể tiết kiệm ng\xe2n s\xe1ch","loadingBudgetData":"Đang tải dữ liệu ng\xe2n s\xe1ch...","noApiKeysTitle":"Kh\xf4ng c\xf3 kh\xf3a API","noApiKeysDescription":"Th\xeam kh\xf3a API trước để thiết lập giới hạn ng\xe2n s\xe1ch.","apiKey":"Kh\xf3a API","todaysSpend":"Chi ti\xeau h\xf4m nay","thisMonth":"Th\xe1ng n\xe0y","setLimits":"Đặt giới hạn","dailyLimitUsd":"Giới hạn h\xe0ng ng\xe0y (USD)","monthlyLimitUsd":"Giới hạn h\xe0ng th\xe1ng (USD)","warningThresholdPercent":"Ngưỡng cảnh b\xe1o (%)","dailyLimitPlaceholder":"v\xed dụ: 5 giờ 00","monthlyLimitPlaceholder":"v\xed dụ: 50,00","warningThresholdPlaceholder":"80","saveLimits":"Lưu giới hạn","budgetOk":"Ng\xe2n s\xe1ch ổn — c\xf2n lại {remaining}","budgetExceeded":"Vượt qu\xe1 ng\xe2n s\xe1ch — y\xeau cầu c\xf3 thể bị chặn","totalRequests":"Tổng số y\xeau cầu","noDataYet":"Chưa c\xf3 dữ liệu","latency":"Độ trễ","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Bộ nhớ đệm nhắc nhở","systemHealth":"T\xecnh trạng hệ thống","entries":"B\xe0i dự thi","activeCount":"{count} đang hoạt động","openCircuitBreakersDetected":"Đ\xe3 ph\xe1t hiện bộ ngắt mạch hở","hitRate":"Tỷ lệ tr\xfang","hitsMisses":"Lượt truy cập / Bỏ lỡ","circuitBreakers":"Bộ ngắt mạch","lockedIPs":"IP bị kh\xf3a","lockoutsAutoRefreshHint":"Kh\xf3a giới hạn tốc độ tr\xean mỗi m\xf4 h\xecnh • Tự động l\xe0m mới 10 gi\xe2y","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} c\xf2n lại","howItWorks":"N\xf3 hoạt động như thế n\xe0o","howItWorksSubtitle":"T\xecm hiểu c\xe1ch đ\xe1nh gi\xe1 x\xe1c thực phản hồi LLM của bạn","define":"X\xe1c định","defineStepDescription":"Tạo c\xe1c trường hợp thử nghiệm với lời nhắc đầu v\xe0o v\xe0 ti\xeau ch\xed đầu ra dự kiến bằng c\xe1ch sử dụng c\xe1c chiến lược như chứa, biểu thức ch\xednh quy hoặc đối s\xe1nh ch\xednh x\xe1c.","run":"Chạy","runStepDescription":"Thực hiện c\xe1c trường hợp kiểm thử đối với điểm cuối LLM của bạn th\xf4ng qua OmniRoute. Mỗi trường hợp được gửi dưới dạng một y\xeau cầu API thực sự.","evaluate":"Đ\xe1nh gi\xe1","evaluateStepDescription":"C\xe1c c\xe2u trả lời được so s\xe1nh với c\xe1c ti\xeau ch\xed dự kiến. Xem đạt/kh\xf4ng đạt cho từng trường hợp với số liệu về độ trễ v\xe0 phản hồi chi tiết.","evalSuites":"Bộ đ\xe1nh gi\xe1","evalSuitesHint":"Nhấp v\xe0o một bộ để xem c\xe1c trường hợp thử nghiệm, sau đ\xf3 chạy để đ\xe1nh gi\xe1 điểm cuối LLM của bạn","evalsLoading":"Đang tải bộ đ\xe1nh gi\xe1...","noEvalSuitesFound":"Kh\xf4ng t\xecm thấy bộ đ\xe1nh gi\xe1 n\xe0o","noEvalSuitesDescription":"Bộ đ\xe1nh gi\xe1 c\xf3 thể được x\xe1c định th\xf4ng qua API hoặc bằng m\xe3. Họ kiểm tra kết quả đầu ra của m\xf4 h\xecnh so với kết quả mong đợi bằng c\xe1ch sử dụng c\xe1c chiến lược như chứa, biểu thức ch\xednh quy, đối s\xe1nh ch\xednh x\xe1c v\xe0 c\xe1c h\xe0m t\xf9y chỉnh.","columnCase":"trường hợp","columnStatus":"Trạng th\xe1i","columnLatency":"Độ trễ","columnDetails":"Chi tiết","columnModel":"người mẫu","columnStrategy":"Chiến lược","columnExpected":"Dự kiến","statsSuites":"d\xe3y ph\xf2ng","statsTestCases":"Trường hợp thử nghiệm","statsModels":"Người mẫu","statsCoverage":"Bảo hiểm","statsStrategiesCount":"{count} chiến lược","evaluationStrategies":"Chiến lược đ\xe1nh gi\xe1","modelsUnderTest":"M\xf4 h\xecnh đang được thử nghiệm","searchSuitesPlaceholder":"Bộ t\xecm kiếm...","passSuffix":"vượt qua","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Chạy đ\xe1nh gi\xe1","runningProgress":"Đang chạy {current}/{total}...","passRate":"tỷ lệ đậu","summaryBreakdown":"{passed} đ\xe3 đạt \xb7 {failed} thất bại \xb7 tổng cộng {total}","passedIconLabel":"✅ Đạt","failedIconLabel":"❌ Thất bại","detailsContains":"Chứa: \\"{term}\\"","detailsRegex":"Biểu thức ch\xednh quy: {pattern}","detailsExpected":"Dự kiến: \\"{expected}\\"","noResultsYet":"Chưa c\xf3 kết quả","testCasesCount":"C\xe1c trường hợp thử nghiệm ({count})","noTestCasesDefined":"Kh\xf4ng c\xf3 trường hợp thử nghiệm n\xe0o được x\xe1c định","runEvalHint":"Nhấp v\xe0o \\"Chạy đ\xe1nh gi\xe1\\" để thực thi tất cả c\xe1c trường hợp đối với điểm cuối LLM của bạn. Mỗi b\xe0i kiểm tra sẽ gửi một y\xeau cầu thực sự th\xf4ng qua OmniRoute.","notifyNoTestCases":"Kh\xf4ng c\xf3 trường hợp thử nghiệm n\xe0o được x\xe1c định cho bộ phần mềm n\xe0y","notifyAllCasesPassed":"Tất cả {total} trường hợp đ\xe3 th\xe0nh c\xf4ng ✅","notifySomeCasesFailed":"{passed}/{total} đ\xe3 đạt, {failed} kh\xf4ng th\xe0nh c\xf4ng","notifyEvalRunFailed":"Chạy đ\xe1nh gi\xe1 kh\xf4ng th\xe0nh c\xf4ng","notifyEvalTitle":"Đ\xe1nh gi\xe1: {name}","modelEvals":"Đ\xe1nh gi\xe1 m\xf4 h\xecnh","evalsHeroDescription":"Kiểm tra v\xe0 x\xe1c thực c\xe1c điểm cuối LLM của bạn bằng c\xe1ch chạy c\xe1c bộ đ\xe1nh gi\xe1 được x\xe1c định trước. Mỗi bộ chứa c\xe1c trường hợp thử nghiệm gửi lời nhắc thực sự th\xf4ng qua OmniRoute v\xe0 so s\xe1nh phản hồi với ti\xeau ch\xed dự kiến ​​— gi\xfap bạn ph\xe1t hiện hồi quy, so s\xe1nh m\xf4 h\xecnh v\xe0 đảm bảo chất lượng phản hồi giữa c\xe1c nh\xe0 cung cấp.","qualityValidation":"X\xe1c nhận chất lượng","modelComparison":"So s\xe1nh m\xf4 h\xecnh","regressionDetection":"Ph\xe1t hiện hồi quy","latencyBenchmarks":"Điểm chuẩn độ trễ","modelLockouts":"Kh\xf3a m\xf4 h\xecnh","noLockouts":"Hiện kh\xf4ng c\xf3 mẫu n\xe0o bị kh\xf3a","activeSessions":"Phi\xean hoạt động","noSessions":"Kh\xf4ng c\xf3 phi\xean hoạt động n\xe0o","sessionsHint":"Phi\xean xuất hiện khi y\xeau cầu chảy qua proxy","sessionsTrackedHint":"Được theo d\xf5i th\xf4ng qua dấu v\xe2n tay y\xeau cầu • Tự động l\xe0m mới 5 gi\xe2y","session":"Phi\xean","age":"Tuổi","requests":"Y\xeau cầu","connection":"Kết nối","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value} ph\xfat","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Giới hạn của nh\xe0 cung cấp","noProviders":"Kh\xf4ng c\xf3 nh\xe0 cung cấp n\xe0o được kết nối","connectProvidersForQuota":"Kết nối với nh\xe0 cung cấp bằng OAuth để theo d\xf5i giới hạn v\xe0 mức sử dụng hạn ngạch API của bạn.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(được lọc từ {count})","autoRefresh":"Tự động l\xe0m mới","refreshAll":"L\xe0m mới tất cả","loadingQuotas":"Đang tải...","account":"T\xe0i khoản","modelQuotas":"Hạn ngạch mẫu","lastUsed":"Được sử dụng lần cuối","actions":"h\xe0nh động","refreshQuota":"L\xe0m mới hạn ngạch","today":"h\xf4m nay","tomorrow":"Ng\xe0y mai","dayTimeFormat":"{day}, {time}","inDuration":"trong {duration}","notApplicable":"kh\xf4ng \xe1p dụng","rawPlanWithValue":"G\xf3i th\xf4: {plan}","noPlanFromProvider":"Kh\xf4ng c\xf3 kế hoạch từ nh\xe0 cung cấp","noQuotaData":"Kh\xf4ng c\xf3 dữ liệu hạn ngạch","noQuotaDataAvailable":"Kh\xf4ng c\xf3 sẵn dữ liệu hạn ngạch","noAccountsForTierFilter":"Kh\xf4ng t\xecm thấy t\xe0i khoản n\xe0o cho bộ lọc cấp độ","tierAll":"Tất cả","tierEnterprise":"Doanh nghiệp","tierTeam":"đội","tierBusiness":"Kinh doanh","tierUltra":"si\xeau","tierPro":"chuy\xean nghiệp","tierPlus":"Cộng th\xeam","tierFree":"miễn ph\xed","tierUnknown":"Kh\xf4ng x\xe1c định"},"modals":{"waitingAuth":"Đang chờ cấp ph\xe9p","verificationUrl":"URL x\xe1c minh","yourCode":"M\xe3 của bạn","remoteAccess":"Truy cập từ xa:","connectedSuccess":"Đ\xe3 kết nối th\xe0nh c\xf4ng!","connectionFailed":"Kết nối kh\xf4ng th\xe0nh c\xf4ng","chooseAuthMethod":"Chọn phương thức x\xe1c thực của bạn:","awsBuilderId":"ID tr\xecnh tạo AWS","awsIamIdentity":"Trung t\xe2m nhận dạng AWS IAM","googleAccount":"T\xe0i khoản Google","githubAccount":"T\xe0i khoản GitHub","importToken":"Nhập m\xe3 th\xf4ng b\xe1o","pasteToken":"D\xe1n m\xe3 th\xf4ng b\xe1o l\xe0m mới từ Kiro IDE.","awsRegion":"Khu vực AWS","autoDetecting":"Tự động ph\xe1t hiện m\xe3 th\xf4ng b\xe1o...","readingFromCache":"Đọc từ bộ đệm AWS SSO","readingFromCursor":"Đọc từ cơ sở dữ liệu Cursor IDE","initializing":"Đang khởi tạo...","pricingConfig":"Cấu h\xecnh gi\xe1","loadingPricing":"Đang tải dữ liệu gi\xe1...","pricingRatesFormat":"Định dạng gi\xe1 cước","noPricingData":"Kh\xf4ng c\xf3 dữ liệu gi\xe1 cả","noModelsFound":"Kh\xf4ng t\xecm thấy m\xf4 h\xecnh n\xe0o"},"loggers":{"allProviders":"Tất cả nh\xe0 cung cấp","allModels":"Tất cả c\xe1c mẫu","allAccounts":"Tất cả t\xe0i khoản","allApiKeys":"Tất cả c\xe1c kh\xf3a API","allTypes":"Tất cả c\xe1c loại","allLevels":"Tất cả c\xe1c cấp độ","modelAZ":"M\xf4 h\xecnh A-Z","modelZA":"Model Z-A","loadingLogs":"Đang tải nhật k\xfd...","loadingProxyLogs":"Đang tải nhật k\xfd proxy...","noLogEntries":"Kh\xf4ng t\xecm thấy mục nhật k\xfd n\xe0o","noPayloadData":"Kh\xf4ng c\xf3 dữ liệu tải trọng cho mục nhập nhật k\xfd n\xe0y.","proxyEvent":"Sự kiện ủy quyền","proxy":"ủy nhiệm","level":"Cấp độ","directNative":"Trực tiếp (gốc)","combo":"kết hợp","inputTokens":"T\xf4i:","outputTokens":"Ồ:"},"stats":{"usageOverview":"Tổng quan về c\xe1ch sử dụng","outputTokens":"M\xe3 th\xf4ng b\xe1o đầu ra","totalCost":"Tổng chi ph\xed","usageByModel":"C\xe1ch sử dụng theo mẫu","usageByAccount":"Mức sử dụng theo t\xe0i khoản","failedToLoad":"Kh\xf4ng tải được số liệu thống k\xea sử dụng.","tokenHealth":"T\xecnh trạng m\xe3 th\xf4ng b\xe1o","totalOAuth":"Tổng OAuth","healthy":"khỏe mạnh","warning":"Cảnh b\xe1o","errored":"Đ\xe3 xảy ra lỗi","lastCheck":"Kiểm tra lần cuối","noData":"Kh\xf4ng c\xf3 dữ liệu","share":"Chia sẻ","unableToLoad":"Kh\xf4ng thể tải số liệu hệ thống","product":"sản phẩm","resources":"T\xe0i nguy\xean","company":"C\xf4ng ty"},"auth":{"welcome":"Ch\xe0o mừng","signIn":"Đăng nhập","enterPassword":"Nhập mật khẩu của bạn để tiếp tục","password":"Mật khẩu","unifiedProxy":"Proxy API AI hợp nhất","unifiedAiApiProxy":"Proxy API AI hợp nhất","unifiedAiApiProxyDesc":"Định tuyến c\xe1c y\xeau cầu đến nhiều nh\xe0 cung cấp AI th\xf4ng qua một điểm cuối duy nhất. C\xe2n bằng tải, chuyển đổi dự ph\xf2ng v\xe0 theo d\xf5i sử dụng được t\xedch hợp sẵn.","passwordNotEnabled":"Bảo vệ mật khẩu kh\xf4ng được k\xedch hoạt","loading":"Đang tải...","invalidPassword":"Mật khẩu kh\xf4ng hợp lệ","errorOccurredRetry":"Đ\xe3 xảy ra lỗi. Vui l\xf2ng thử lại.","configureInstance":"H\xe3y cấu h\xecnh phi\xean bản OmniRoute của bạn","runOnboardingWizard":"Chạy tr\xecnh hướng dẫn t\xedch hợp để thiết lập mật khẩu v\xe0 kết nối với nh\xe0 cung cấp AI đầu ti\xean của bạn.","startOnboarding":"Bắt đầu giới thiệu","secureYourInstance":"Bảo mật phi\xean bản của bạn","setPasswordDescription":"Đặt mật khẩu để bảo vệ bảng th\xf4ng tin v\xe0 bảo mật c\xe1c điểm cuối API của bạn khỏi bị truy cập tr\xe1i ph\xe9p.","configurePassword":"Định cấu h\xecnh mật khẩu","continue":"Tiếp tục","windowWillClose":"Cửa sổ n\xe0y sẽ tự động đ\xf3ng lại...","closeTabNow":"Bạn c\xf3 thể đ\xf3ng tab n\xe0y ngay b\xe2y giờ.","copyUrlManual":"Vui l\xf2ng sao ch\xe9p URL từ thanh địa chỉ v\xe0 d\xe1n v\xe0o ứng dụng.","accessDeniedDescription":"Bạn kh\xf4ng c\xf3 quyền truy cập t\xe0i nguy\xean n\xe0y. Kiểm tra kh\xf3a API của bạn hoặc li\xean hệ với quản trị vi\xean.","goToDashboard":"Đi tới Trang tổng quan","featureMultiProviderTitle":"Đa nh\xe0 cung cấp","featureMultiProviderDesc":"OpenAI, Anthropic, Google, v.v.","featureLoadBalancingTitle":"C\xe2n bằng tải","featureLoadBalancingDesc":"Ph\xe2n phối y\xeau cầu một c\xe1ch th\xf4ng minh","featureUsageTrackingTitle":"Theo d\xf5i sử dụng","featureUsageTrackingDesc":"Theo d\xf5i chi ph\xed v\xe0 m\xe3 th\xf4ng b\xe1o","resetPassword":"Đặt lại mật khẩu","resetDescription":"Chọn một phương ph\xe1p để kh\xf4i phục quyền truy cập v\xe0o trang tổng quan của bạn","stopServer":"Dừng m\xe1y chủ OmniRoute","processing":"Đang xử l\xfd...","pleaseWait":"Vui l\xf2ng đợi trong khi ch\xfang t\xf4i ho\xe0n tất việc ủy quyền.","authSuccess":"Ủy quyền th\xe0nh c\xf4ng!","copyUrl":"Sao ch\xe9p URL n\xe0y","accessDenied":"Truy cập bị từ chối","methodCliTitle":"Phương ph\xe1p 1: Đặt lại CLI","methodCliDescription":"Chạy lệnh sau tr\xean m\xe1y chủ nơi OmniRoute đang chạy:","methodCliHint":"Điều n\xe0y sẽ nhắc bạn đặt mật khẩu mới. M\xe1y chủ phải được dừng trước ti\xean.","methodManualTitle":"Phương ph\xe1p 2: Đặt lại thủ c\xf4ng","methodManualDescription":"X\xf3a mật khẩu khỏi cơ sở dữ liệu v\xe0 đặt mật khẩu mới khi khởi động:","setPasswordInYour":"Đặt mật khẩu mới trong","fileLabelSuffix":"tập tin:","newPasswordPlaceholder":"your_new_password","deleteSettingsFile":"X\xf3a","orRemovePasswordHashField":"hoặc x\xf3a trường mật khẩuHash","restartServerWithNewPassword":"Khởi động lại m\xe1y chủ - n\xf3 sẽ sử dụng mật khẩu mới","backToLogin":"Quay lại đăng nhập","forgotPassword":"Qu\xean mật khẩu?"},"landing":{"brandName":"OmniRoute","navigateHome":"Điều hướng về nh\xe0","toggleMenu":"Chuyển đổi menu","featuresLink":"T\xednh năng","docsLink":"T\xe0i liệu","github":"GitHub","versionLive":"v1.0 hiện đang hoạt động","oneEndpoint":"Một điểm cuối cho","allProviders":"Tất cả c\xe1c nh\xe0 cung cấp AI","heroDescription":"Proxy điểm cuối AI với bảng điều khiển web - Cổng JavaScript của CLIProxyAPI. Hoạt động liền mạch với Claude Code, OpenAI Codex, Cline, RooCode v\xe0 c\xe1c c\xf4ng cụ CLI kh\xe1c.","getStarted":"Bắt đầu","viewOnGithub":"Xem tr\xean GitHub","powerfulFeatures":"T\xednh năng mạnh mẽ","featuresSubtitle":"Mọi thứ bạn cần để quản l\xfd cơ sở hạ tầng AI ở một nơi, được x\xe2y dựng theo quy m\xf4.","featureUnifiedEndpointTitle":"Điểm cuối hợp nhất","featureUnifiedEndpointDesc":"Truy cập tất cả c\xe1c nh\xe0 cung cấp th\xf4ng qua một URL API ti\xeau chuẩn duy nhất.","featureEasySetupTitle":"Thiết lập dễ d\xe0ng","featureEasySetupDesc":"Thiết lập v\xe0 chạy trong v\xe0i ph\xfat với lệnh npx.","featureModelFallbackTitle":"Dự ph\xf2ng m\xf4 h\xecnh","featureModelFallbackDesc":"Tự động chuyển đổi nh\xe0 cung cấp khi c\xf3 lỗi hoặc độ trễ cao.","featureUsageTrackingTitle":"Theo d\xf5i sử dụng","featureUsageTrackingDesc":"Ph\xe2n t\xedch chi tiết v\xe0 gi\xe1m s\xe1t chi ph\xed tr\xean tất cả c\xe1c m\xf4 h\xecnh.","featureOAuthApiKeysTitle":"Kh\xf3a OAuth & API","featureOAuthApiKeysDesc":"Quản l\xfd an to\xe0n th\xf4ng tin x\xe1c thực trong một kho tiền.","featureCloudSyncTitle":"Đồng bộ đ\xe1m m\xe2y","featureCloudSyncDesc":"Đồng bộ h\xf3a cấu h\xecnh của bạn tr\xean c\xe1c thiết bị ngay lập tức.","featureCliSupportTitle":"Hỗ trợ CLI","featureCliSupportDesc":"Hoạt động với Claude Code, Codex, Cline, Cursor, v.v.","featureDashboardTitle":"Trang tổng quan","featureDashboardDesc":"Bảng điều khiển trực quan để ph\xe2n t\xedch lưu lượng truy cập theo thời gian thực.","howItWorks":"OmniRoute hoạt động như thế n\xe0o","howItWorksDescription":"Dữ liệu được truyền liền mạch từ ứng dụng của bạn th\xf4ng qua lớp định tuyến th\xf4ng minh của ch\xfang t\xf4i đến nh\xe0 cung cấp tốt nhất cho c\xf4ng việc.","howItWorksStep1Title":"1. CLI & SDK","howItWorksStep1Description":"Y\xeau cầu của bạn bắt đầu từ c\xe1c c\xf4ng cụ y\xeau th\xedch của bạn hoặc SDK hợp nhất của ch\xfang t\xf4i. Chỉ cần thay đổi URL cơ sở.","howItWorksStep2Title":"2. Trung t\xe2m OmniRoute","howItWorksStep2Description":"C\xf4ng cụ của ch\xfang t\xf4i ph\xe2n t\xedch lời nhắc, kiểm tra trạng th\xe1i của nh\xe0 cung cấp v\xe0 c\xe1c lộ tr\xecnh để c\xf3 độ trễ hoặc chi ph\xed thấp nhất.","howItWorksStep3Title":"3. Nh\xe0 cung cấp AI","howItWorksStep3Description":"Y\xeau cầu được OpenAI, Anthropic, Gemini hoặc những người kh\xe1c thực hiện ngay lập tức.","getStartedIn30Seconds":"Bắt đầu sau 30 gi\xe2y","getStartedDescription":"C\xe0i đặt OmniRoute, định cấu h\xecnh nh\xe0 cung cấp của bạn th\xf4ng qua bảng điều khiển web v\xe0 bắt đầu định tuyến c\xe1c y\xeau cầu AI.","installOmniRoute":"C\xe0i đặt OmniRoute","installStepDescription":"Chạy lệnh npx để khởi động m\xe1y chủ ngay lập tức","openDashboard":"Mở trang tổng quan","openDashboardStepDescription":"Định cấu h\xecnh nh\xe0 cung cấp v\xe0 kh\xf3a API th\xf4ng qua giao diện web","routeRequests":"Y\xeau cầu lộ tr\xecnh","routeRequestsStepDescription":"Trỏ c\xf4ng cụ CLI của bạn tới {endpoint}","terminal":"thiết bị đầu cuối","copy":"Sao ch\xe9p","copied":"✓ Sao ch\xe9p","startingOmniRoute":"Đang khởi động OmniRoute...","serverRunningOnLabel":"M\xe1y chủ đang chạy","dashboardLabel":"Trang tổng quan","readyToRoute":"Sẵn s\xe0ng l\xean đường! ✓","configureProvidersNote":"\uD83D\uDCDD Định cấu h\xecnh nh\xe0 cung cấp trong bảng điều khiển hoặc sử dụng biến m\xf4i trường","dataLocation":"Vị tr\xed dữ liệu:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"sản phẩm","dashboardLink":"Trang tổng quan","changelog":"Nhật k\xfd thay đổi","resources":"T\xe0i nguy\xean","documentation":"T\xe0i liệu","npm":"NPM","legal":"ph\xe1p l\xfd","mitLicense":"Giấy ph\xe9p MIT","footerTagline":"Điểm cuối thống nhất để tạo AI. Kết nối, định tuyến v\xe0 quản l\xfd c\xe1c nh\xe0 cung cấp AI của bạn một c\xe1ch dễ d\xe0ng.","copyright":"\xa9 {year} OmniRoute. Mọi quyền được bảo lưu.","flowToolClaudeCode":"M\xe3 Claude","flowToolOpenAICodex":"Codex OpenAI","flowToolCline":"Cline","flowToolCursor":"Con trỏ","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"nh\xe2n loại","flowProviderGemini":"Song Tử","flowProviderGithubCopilot":"Phi c\xf4ng phụ GitHub","interactiveDiagram":"Sơ đồ tương t\xe1c hiển thị tr\xean m\xe0n h\xecnh","ctaTitle":"Sẵn s\xe0ng đơn giản h\xf3a cơ sở hạ tầng AI của bạn?","ctaDescription":"Tham gia c\xf9ng c\xe1c nh\xe0 ph\xe1t triển đang hợp l\xfd h\xf3a việc t\xedch hợp AI của họ với OmniRoute. Nguồn mở v\xe0 miễn ph\xed để bắt đầu.","startFree":"Bắt đầu miễn ph\xed","readDocumentation":"Đọc t\xe0i liệu"},"docs":{"title":"T\xe0i liệu","quickStart":"Bắt đầu nhanh","features":"T\xednh năng","supportedProviders":"Nh\xe0 cung cấp được hỗ trợ","supportedProvidersToc":"Nh\xe0 cung cấp","commonUseCases":"C\xe1c trường hợp sử dụng phổ biến","clientCompatibility":"Khả năng tương th\xedch của kh\xe1ch h\xe0ng","apiReference":"Tham chiếu API","method":"phương ph\xe1p","path":"Đường dẫn","notes":"Ghi ch\xfa","modelPrefixes":"Tiền tố mẫu","prefix":"Tiền tố","troubleshooting":"Khắc phục sự cố","supportsChat":"Hỗ trợ cả điểm cuối tr\xf2 chuyện v\xe0 phản hồi.","oauthAutoRefresh":"Kết nối OAuth với t\xednh năng l\xe0m mới m\xe3 th\xf4ng b\xe1o tự động.","fullStreaming":"Hỗ trợ ph\xe1t trực tuyến đầy đủ cho tất cả c\xe1c kiểu m\xe1y.","docsLabel":"T\xe0i liệu","docsHeroDescription":"Cổng AI cho LLM đa nh\xe0 cung cấp. Một điểm cuối cho OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor v\xe0 hơn 20 nh\xe0 cung cấp kh\xe1c.","openDashboard":"Mở trang tổng quan","endpointPage":"Trang điểm cuối","github":"GitHub","reportIssue":"B\xe1o c\xe1o vấn đề","onThisPage":"Tr\xean trang n\xe0y","documentationVersion":"T\xe0i liệu - v{version}","quickStartStep1Title":"1. C\xe0i đặt v\xe0 chạy","quickStartStep1Prefix":"Chạy","quickStartStep1Middle":"hoặc sao ch\xe9p từ GitHub v\xe0 chạy","quickStartStep2Title":"2. Tạo kh\xf3a API","quickStartStep2Text":"Đi tới Điểm cuối -> Kh\xf3a đ\xe3 đăng k\xfd. Tạo một kh\xf3a cho mỗi m\xf4i trường.","quickStartStep3Title":"3. Kết nối nh\xe0 cung cấp","quickStartStep3Text":"Th\xeam t\xe0i khoản nh\xe0 cung cấp th\xf4ng qua th\xf4ng tin đăng nhập OAuth, kh\xf3a API hoặc tự động kết nối bậc miễn ph\xed.","quickStartStep4Title":"4. Đặt URL cơ sở kh\xe1ch h\xe0ng","quickStartStep4Prefix":"Trỏ ứng dụng kh\xe1ch IDE hoặc API của bạn tới","quickStartStep4Suffix":"Sử dụng tiền tố nh\xe0 cung cấp, v\xed dụ","featureRoutingTitle":"Định tuyến nhiều nh\xe0 cung cấp","featureRoutingText":"Định tuyến y\xeau cầu đến hơn 30 nh\xe0 cung cấp AI th\xf4ng qua một điểm cuối tương th\xedch với OpenAI. Hỗ trợ API tr\xf2 chuyện, phản hồi, \xe2m thanh v\xe0 h\xecnh ảnh.","featureCombosTitle":"Combo v\xe0 c\xe2n bằng","featureCombosText":"Tạo c\xe1c tổ hợp m\xf4 h\xecnh với chuỗi dự ph\xf2ng v\xe0 chiến lược c\xe2n bằng: lu\xe2n phi\xean, ưu ti\xean, ngẫu nhi\xean, \xedt sử dụng nhất v\xe0 tối ưu h\xf3a chi ph\xed.","featureUsageTitle":"Theo d\xf5i việc sử dụng v\xe0 chi ph\xed","featureUsageText":"Đếm m\xe3 th\xf4ng b\xe1o theo thời gian thực, t\xednh to\xe1n chi ph\xed cho mỗi nh\xe0 cung cấp/m\xf4 h\xecnh v\xe0 ph\xe2n t\xedch mức sử dụng chi tiết theo kh\xf3a v\xe0 t\xe0i khoản API.","featureAnalyticsTitle":"Trang tổng quan ph\xe2n t\xedch","featureAnalyticsText":"Ph\xe2n t\xedch trực quan với biểu đồ về y\xeau cầu, m\xe3 th\xf4ng b\xe1o, lỗi, độ trễ, chi ph\xed v\xe0 mức độ phổ biến của m\xf4 h\xecnh theo thời gian.","featureHealthTitle":"Theo d\xf5i sức khỏe","featureHealthText":"Kiểm tra t\xecnh trạng trực tiếp, trạng th\xe1i nh\xe0 cung cấp, trạng th\xe1i ngắt mạch v\xe0 ph\xe1t hiện giới hạn tốc độ tự động với thời gian chờ theo cấp số nh\xe2n.","featureCliTitle":"C\xf4ng cụ CLI","featureCliText":"Quản l\xfd cấu h\xecnh IDE, xuất/nhập bản sao lưu, kh\xe1m ph\xe1 cấu h\xecnh codex v\xe0 định cấu h\xecnh c\xe0i đặt từ bảng điều khiển.","featureSecurityTitle":"Bảo mật v\xe0 ch\xednh s\xe1ch","featureSecurityText":"X\xe1c thực kh\xf3a API, lọc IP, bảo vệ ti\xeam nhắc nhở, ch\xednh s\xe1ch miền, quản l\xfd phi\xean v\xe0 ghi nhật k\xfd kiểm tra.","featureCloudSyncTitle":"Đồng bộ đ\xe1m m\xe2y","featureCloudSyncText":"Đồng bộ h\xf3a cấu h\xecnh của bạn với Cloudflare Workers để truy cập từ xa bằng th\xf4ng tin x\xe1c thực được m\xe3 h\xf3a v\xe0 chuyển đổi dự ph\xf2ng tự động.","providersAcrossConnectionTypes":"{count} nh\xe0 cung cấp tr\xean ba loại kết nối.","manageProviders":"Quản l\xfd nh\xe0 cung cấp","providersCount":"{count} nh\xe0 cung cấp","providerTypeFree":"Bậc miễn ph\xed","providerTypeOAuth":"OAuth","providerTypeApiKey":"Kh\xf3a API","useCaseSingleEndpointTitle":"Điểm cuối duy nhất cho nhiều nh\xe0 cung cấp","useCaseSingleEndpointText":"Trỏ m\xe1y kh\xe1ch đến một URL cơ sở v\xe0 định tuyến theo tiền tố m\xf4 h\xecnh (v\xed dụ: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Dự ph\xf2ng v\xe0 chuyển đổi m\xf4 h\xecnh bằng combo","useCaseFallbackText":"Tạo c\xe1c m\xf4 h\xecnh kết hợp trong Bảng điều khiển v\xe0 giữ cấu h\xecnh m\xe1y kh\xe1ch ổn định trong khi c\xe1c nh\xe0 cung cấp lu\xe2n chuyển nội bộ.","useCaseUsageVisibilityTitle":"Khả năng hiển thị c\xe1ch sử dụng, chi ph\xed v\xe0 gỡ lỗi","useCaseUsageVisibilityText":"Theo d\xf5i m\xe3 th\xf4ng b\xe1o v\xe0 chi ph\xed theo nh\xe0 cung cấp, t\xe0i khoản v\xe0 kh\xf3a API trong tab Sử dụng v\xe0 Ph\xe2n t\xedch.","clientCherryStudioTitle":"Xưởng Anh Đ\xe0o","baseUrlLabel":"URL cơ sở","chatEndpointLabel":"Điểm cuối tr\xf2 chuyện","modelRecommendationLabel":"Đề xuất m\xf4 h\xecnh: tiền tố r\xf5 r\xe0ng","clientCodexTitle":"M\xf4 h\xecnh phi c\xf4ng phụ Codex / GitHub","clientCodexBullet1":"Sử dụng ID mẫu với","clientCodexBullet2":"C\xe1c m\xf4 h\xecnh d\xf2ng Codex tự động định tuyến tới","clientCodexBullet3":"C\xe1c m\xf4 h\xecnh kh\xf4ng phải Codex vẫn tiếp tục","clientCursorTitle":"IDE con trỏ","clientCursorBullet1":"sử dụng","clientCursorBullet1Suffix":"tiền tố cho c\xe1c m\xf4 h\xecnh Con trỏ.","clientCursorBullet2":"Kết nối OAuth - đăng nhập từ trang Nh\xe0 cung cấp.","clientClaudeTitle":"Mật m\xe3 Claude/Phản trọng lực","clientClaudeBullet1Prefix":"sử dụng","clientClaudeBullet1Middle":"(Claude) hoặc","clientClaudeBullet1Suffix":"(Phản trọng lực) tiền tố.","endpointChatNote":"Điểm cuối tr\xf2 chuyện tương th\xedch với OpenAI (mặc định).","endpointResponsesNote":"Điểm cuối API phản hồi (Codex, o-series).","endpointModelsNote":"Danh mục m\xf4 h\xecnh cho tất cả c\xe1c nh\xe0 cung cấp được kết nối.","endpointAudioNote":"Phi\xean \xe2m \xe2m thanh (Deepgram, AssemblyAI).","endpointImagesNote":"Tạo h\xecnh ảnh (NanoBanana).","endpointRewriteChatNote":"Viết lại tr\xecnh trợ gi\xfap cho kh\xe1ch h\xe0ng kh\xf4ng c\xf3 /v1.","endpointRewriteResponsesNote":"Viết lại tr\xecnh trợ gi\xfap cho Phản hồi kh\xf4ng c\xf3 /v1.","endpointRewriteModelsNote":"Viết lại tr\xecnh trợ gi\xfap để kh\xe1m ph\xe1 m\xf4 h\xecnh m\xe0 kh\xf4ng cần /v1.","modelPrefixesDescriptionStart":"Sử dụng tiền tố nh\xe0 cung cấp trước t\xean mẫu m\xe1y để định tuyến đến một nh\xe0 cung cấp cụ thể. V\xed dụ:","modelPrefixesDescriptionEnd":"định tuyến đến GitHub Copilot.","provider":"nh\xe0 cung cấp","type":"loại","troubleshootingModelRouting":"Nếu m\xe1y kh\xe1ch kh\xf4ng định tuyến được m\xf4 h\xecnh, h\xe3y sử dụng nh\xe0 cung cấp/m\xf4 h\xecnh r\xf5 r\xe0ng (v\xed dụ: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Nếu bạn nhận được lỗi m\xf4 h\xecnh kh\xf4ng r\xf5 r\xe0ng, h\xe3y chọn tiền tố nh\xe0 cung cấp thay v\xec ID m\xf4 h\xecnh trần.","troubleshootingCodexFamily":"Đối với c\xe1c m\xf4 h\xecnh d\xf2ng GitHub Codex, h\xe3y giữ m\xf4 h\xecnh l\xe0 gh/<codex-model>; bộ định tuyến chọn/phản hồi tự động.","troubleshootingTestConnection":"Sử dụng Trang tổng quan > Nh\xe0 cung cấp > Kiểm tra kết nối trước khi thử nghiệm từ IDE hoặc ứng dụng kh\xe1ch b\xean ngo\xe0i.","troubleshootingCircuitBreaker":"Nếu nh\xe0 cung cấp hiển thị cầu dao đang mở, h\xe3y đợi thời gian hồi chi\xeau hoặc kiểm tra trang Sức khỏe để biết chi tiết.","troubleshootingOAuth":"Đối với nh\xe0 cung cấp OAuth, h\xe3y x\xe1c thực lại nếu m\xe3 th\xf4ng b\xe1o hết hạn. Kiểm tra chỉ b\xe1o trạng th\xe1i thẻ nh\xe0 cung cấp."},"legal":{"privacyPolicy":"Ch\xednh s\xe1ch bảo mật","termsOfService":"Điều khoản dịch vụ","providerConfigurations":"Cấu h\xecnh nh\xe0 cung cấp","apiKeys":"Kh\xf3a API","usageLogs":"Nhật k\xfd sử dụng","applicationSettings":"C\xe0i đặt ứng dụng","viewExportAnalytics":"Xem v\xe0 xuất ph\xe2n t\xedch sử dụng","clearHistory":"X\xf3a lịch sử sử dụng bất cứ l\xfac n\xe0o","configureRetention":"Định cấu h\xecnh ch\xednh s\xe1ch lưu giữ nhật k\xfd","backupRestore":"Sao lưu v\xe0 kh\xf4i phục cơ sở dữ liệu của bạn","privacyMetadataTitle":"Ch\xednh s\xe1ch bảo mật | OmniRoute","privacyMetadataDescription":"Ch\xednh s\xe1ch quyền ri\xeang tư d\xe0nh cho bộ định tuyến proxy OmniRoute AI API.","termsMetadataTitle":"Điều khoản dịch vụ | OmniRoute","termsMetadataDescription":"Điều khoản dịch vụ d\xe0nh cho bộ định tuyến proxy OmniRoute AI API.","backToHome":"Trở về nh\xe0","lastUpdated":"Cập nhật lần cuối: {date}","policyLastUpdatedDate":"Ng\xe0y 13 th\xe1ng 2 năm 2026","listSeparator":"-","questionsVisit":"C\xe2u hỏi? Gh\xe9 thăm của ch\xfang t\xf4i","githubRepository":"Kho lưu trữ GitHub","privacySection1Title":"1. Kiến tr\xfac địa phương đầu ti\xean","privacySection1Text":"OmniRoute được thiết kế như một ứng dụng cục bộ đầu ti\xean. Tất cả qu\xe1 tr\xecnh xử l\xfd v\xe0 lưu trữ dữ liệu diễn ra ho\xe0n to\xe0n tr\xean m\xe1y của bạn. Kh\xf4ng c\xf3 m\xe1y chủ tập trung thu thập th\xf4ng tin của bạn.","privacySection2Title":"2. Dữ liệu ch\xfang t\xf4i lưu trữ","privacyDataStoredIn":"Dữ liệu sau được lưu trữ cục bộ trong","privacyDataProviderConfigurationsDesc":"URL kết nối, loại nh\xe0 cung cấp v\xe0 c\xe0i đặt ưu ti\xean","privacyDataApiKeysDesc":"được m\xe3 h\xf3a v\xe0 lưu trữ cục bộ để x\xe1c thực với c\xe1c nh\xe0 cung cấp AI","privacyDataUsageLogsDesc":"số lượng y\xeau cầu, mức sử dụng m\xe3 th\xf4ng b\xe1o, t\xean m\xf4 h\xecnh, dấu thời gian v\xe0 thời gian phản hồi","privacyDataApplicationSettingsDesc":"t\xf9y chọn chủ đề, chiến lược định tuyến v\xe0 cấu h\xecnh kết hợp","privacySection3Title":"3. Kh\xf4ng đo từ xa","privacySection3Text":"OmniRoute kh\xf4ng thu thập b\xe1o c\xe1o đo từ xa, ph\xe2n t\xedch hoặc sự cố. Kh\xf4ng c\xf3 dữ liệu n\xe0o được gửi cho ch\xfang t\xf4i hoặc bất kỳ b\xean thứ ba n\xe0o. Kiểu sử dụng, lệnh gọi API v\xe0 cấu h\xecnh của bạn vẫn ho\xe0n to\xe0n ở chế độ ri\xeang tư.","privacySection4Title":"4. Nh\xe0 cung cấp AI b\xean thứ ba","privacySection4Text":"Khi bạn thực hiện lệnh gọi API th\xf4ng qua OmniRoute, y\xeau cầu của bạn sẽ được chuyển tiếp đến nh\xe0 cung cấp AI m\xe0 bạn đ\xe3 định cấu h\xecnh (v\xed dụ: OpenAI, Anthropic, Google). C\xe1c nh\xe0 cung cấp n\xe0y c\xf3 ch\xednh s\xe1ch bảo mật ri\xeang chi phối c\xe1ch họ xử l\xfd dữ liệu của bạn. Vui l\xf2ng xem lại:","privacyOpenAiPolicy":"Ch\xednh s\xe1ch quyền ri\xeang tư của OpenAI","privacyAnthropicPolicy":"Ch\xednh s\xe1ch về quyền ri\xeang tư của Anthropic","privacyGooglePolicy":"Ch\xednh s\xe1ch bảo mật của Google","privacySection5Title":"5. Đồng bộ h\xf3a đ\xe1m m\xe2y (T\xf9y chọn)","privacySection5Text":"Nếu bạn bật t\xednh năng đồng bộ h\xf3a đ\xe1m m\xe2y t\xf9y chọn, cấu h\xecnh nh\xe0 cung cấp v\xe0 kh\xf3a API c\xf3 thể được truyền đến điểm cuối đ\xe1m m\xe2y đ\xe3 định cấu h\xecnh. T\xednh năng n\xe0y bị tắt theo mặc định v\xe0 y\xeau cầu chọn tham gia r\xf5 r\xe0ng.","privacySection6Title":"6. Ghi nhật k\xfd","privacyLoggingIntro":"Nhật k\xfd y\xeau cầu c\xf3 thể được cấu h\xecnh th\xf4ng qua c\xe0i đặt bảng điều khiển. Bạn c\xf3 thể:","privacySection7Title":"7. Quyền của bạn","privacySection7TextStart":"V\xec tất cả dữ liệu được lưu trữ cục bộ n\xean bạn c\xf3 to\xe0n quyền kiểm so\xe1t. Bạn c\xf3 thể x\xf3a dữ liệu của m\xecnh bất kỳ l\xfac n\xe0o bằng c\xe1ch x\xf3a","privacySection7TextEnd":"thư mục hoặc sử dụng t\xednh năng sao lưu v\xe0 kh\xf4i phục cơ sở dữ liệu trong bảng điều khiển.","termsSection1Title":"1. Tổng quan","termsSection1Text":"OmniRoute l\xe0 bộ định tuyến proxy AI API cục bộ đầu ti\xean hoạt động ho\xe0n to\xe0n tr\xean m\xe1y của bạn. N\xf3 định tuyến c\xe1c y\xeau cầu đến nhiều nh\xe0 cung cấp AI với t\xednh năng c\xe2n bằng tải, chuyển đổi dự ph\xf2ng v\xe0 theo d\xf5i việc sử dụng.","termsSection2Title":"2. Tr\xe1ch nhiệm của Người d\xf9ng","termsResponsibilityApiKeys":"Bạn ho\xe0n to\xe0n chịu tr\xe1ch nhiệm quản l\xfd kh\xf3a API v\xe0 th\xf4ng tin đăng nhập của ri\xeang m\xecnh cho c\xe1c nh\xe0 cung cấp AI b\xean thứ ba (OpenAI, Anthropic, Google, v.v.).","termsResponsibilityCompliance":"Bạn phải tu\xe2n thủ c\xe1c điều khoản dịch vụ của từng nh\xe0 cung cấp AI c\xf3 API m\xe0 bạn truy cập th\xf4ng qua OmniRoute.","termsResponsibilitySecurity":"Bạn chịu tr\xe1ch nhiệm về t\xednh bảo mật của c\xe0i đặt OmniRoute cục bộ của m\xecnh, bao gồm đặt mật khẩu v\xe0 hạn chế quyền truy cập mạng.","termsSection3Title":"3. N\xf3 hoạt động như thế n\xe0o","termsSection3Text":"OmniRoute hoạt động như một proxy trung gian. C\xe1c lệnh gọi API gửi tới OmniRoute sẽ được dịch v\xe0 chuyển tiếp đến c\xe1c nh\xe0 cung cấp AI đ\xe3 định cấu h\xecnh của bạn. OmniRoute kh\xf4ng sửa đổi nội dung y\xeau cầu hoặc phản hồi của bạn ngo\xe0i bản dịch giao thức cần thiết.","termsSection4Title":"4. Xử l\xfd dữ liệu","termsDataStoredLocally":"Tất cả dữ liệu được lưu trữ cục bộ tr\xean m\xe1y của bạn trong cơ sở dữ liệu SQLite.","termsNoTransmission":"OmniRoute kh\xf4ng truyền bất kỳ dữ liệu n\xe0o đến c\xe1c m\xe1y chủ b\xean ngo\xe0i trừ khi bạn bật r\xf5 r\xe0ng c\xe1c t\xednh năng đồng bộ h\xf3a tr\xean đ\xe1m m\xe2y.","termsDataLocationText":"Nhật k\xfd sử dụng, kh\xf3a API v\xe0 cấu h\xecnh được lưu trữ trong","termsSection5Title":"5. Tuy\xean bố từ chối tr\xe1ch nhiệm","termsSection5Text":"OmniRoute được cung cấp \\"nguy\xean trạng\\" m\xe0 kh\xf4ng c\xf3 bất kỳ h\xecnh thức bảo h\xe0nh n\xe0o. Ch\xfang t\xf4i kh\xf4ng chịu tr\xe1ch nhiệm về bất kỳ chi ph\xed n\xe0o ph\xe1t sinh do sử dụng API, gi\xe1n đoạn dịch vụ hoặc mất dữ liệu. Lu\xf4n duy tr\xec bản sao lưu cấu h\xecnh của bạn.","termsSection6Title":"6. Nguồn mở","termsSection6Text":"OmniRoute l\xe0 phần mềm m\xe3 nguồn mở. Bạn c\xf3 thể tự do kiểm tra, sửa đổi v\xe0 ph\xe2n phối n\xf3 theo c\xe1c điều khoản trong giấy ph\xe9p."}}')}};