libre-webui 0.18.0 → 0.19.1

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 (371) hide show
  1. package/README.md +30 -17
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +45 -0
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/index.d.ts.map +1 -1
  6. package/backend/dist/index.js +33 -9
  7. package/backend/dist/index.js.map +1 -1
  8. package/backend/dist/middleware/auth.d.ts.map +1 -1
  9. package/backend/dist/middleware/index.d.ts.map +1 -1
  10. package/backend/dist/models/personaModel.d.ts.map +1 -1
  11. package/backend/dist/models/personaModel.js.map +1 -1
  12. package/backend/dist/models/userModel.d.ts +3 -2
  13. package/backend/dist/models/userModel.d.ts.map +1 -1
  14. package/backend/dist/models/userModel.js +5 -2
  15. package/backend/dist/models/userModel.js.map +1 -1
  16. package/backend/dist/routes/agentCli.d.ts.map +1 -1
  17. package/backend/dist/routes/agentCli.js +2 -2
  18. package/backend/dist/routes/agentCli.js.map +1 -1
  19. package/backend/dist/routes/auth.d.ts.map +1 -1
  20. package/backend/dist/routes/auth.js +73 -23
  21. package/backend/dist/routes/auth.js.map +1 -1
  22. package/backend/dist/routes/chat.d.ts.map +1 -1
  23. package/backend/dist/routes/chat.js +103 -2
  24. package/backend/dist/routes/chat.js.map +1 -1
  25. package/backend/dist/routes/documents.d.ts.map +1 -1
  26. package/backend/dist/routes/documents.js +130 -0
  27. package/backend/dist/routes/documents.js.map +1 -1
  28. package/backend/dist/routes/embeddings.d.ts.map +1 -1
  29. package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
  30. package/backend/dist/routes/imageGen.d.ts.map +1 -1
  31. package/backend/dist/routes/libreClaw.d.ts.map +1 -1
  32. package/backend/dist/routes/media.d.ts.map +1 -1
  33. package/backend/dist/routes/notes.d.ts +3 -0
  34. package/backend/dist/routes/notes.d.ts.map +1 -0
  35. package/backend/dist/routes/notes.js +121 -0
  36. package/backend/dist/routes/notes.js.map +1 -0
  37. package/backend/dist/routes/ollama.d.ts.map +1 -1
  38. package/backend/dist/routes/ollama.js +2 -2
  39. package/backend/dist/routes/ollama.js.map +1 -1
  40. package/backend/dist/routes/personas.d.ts.map +1 -1
  41. package/backend/dist/routes/plugins.d.ts.map +1 -1
  42. package/backend/dist/routes/preferences.d.ts.map +1 -1
  43. package/backend/dist/routes/systemDiagnostics.d.ts.map +1 -1
  44. package/backend/dist/routes/tts.d.ts.map +1 -1
  45. package/backend/dist/routes/users.d.ts.map +1 -1
  46. package/backend/dist/routes/users.js +21 -0
  47. package/backend/dist/routes/users.js.map +1 -1
  48. package/backend/dist/routes/work.d.ts.map +1 -1
  49. package/backend/dist/services/agentCliService.d.ts +37 -4
  50. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  51. package/backend/dist/services/agentCliService.js +229 -10
  52. package/backend/dist/services/agentCliService.js.map +1 -1
  53. package/backend/dist/services/assistantCompletionService.d.ts.map +1 -1
  54. package/backend/dist/services/authService.d.ts.map +1 -1
  55. package/backend/dist/services/authService.js +6 -1
  56. package/backend/dist/services/authService.js.map +1 -1
  57. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  58. package/backend/dist/services/chatGenerationService.js +3 -3
  59. package/backend/dist/services/chatGenerationService.js.map +1 -1
  60. package/backend/dist/services/chatRequestService.d.ts.map +1 -1
  61. package/backend/dist/services/chatService.d.ts +6 -1
  62. package/backend/dist/services/chatService.d.ts.map +1 -1
  63. package/backend/dist/services/chatService.js +54 -1
  64. package/backend/dist/services/chatService.js.map +1 -1
  65. package/backend/dist/services/codexOAuthService.d.ts +22 -0
  66. package/backend/dist/services/codexOAuthService.d.ts.map +1 -0
  67. package/backend/dist/services/codexOAuthService.js +176 -0
  68. package/backend/dist/services/codexOAuthService.js.map +1 -0
  69. package/backend/dist/services/documentService.d.ts +7 -1
  70. package/backend/dist/services/documentService.d.ts.map +1 -1
  71. package/backend/dist/services/documentService.js +24 -11
  72. package/backend/dist/services/documentService.js.map +1 -1
  73. package/backend/dist/services/embeddingService.d.ts.map +1 -1
  74. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  75. package/backend/dist/services/encryptionService.js.map +1 -1
  76. package/backend/dist/services/followUpService.d.ts +44 -0
  77. package/backend/dist/services/followUpService.d.ts.map +1 -0
  78. package/backend/dist/services/followUpService.js +123 -0
  79. package/backend/dist/services/followUpService.js.map +1 -0
  80. package/backend/dist/services/galleryService.d.ts.map +1 -1
  81. package/backend/dist/services/galleryService.js.map +1 -1
  82. package/backend/dist/services/libreClawService.d.ts.map +1 -1
  83. package/backend/dist/services/mediaGenerationJobService.d.ts.map +1 -1
  84. package/backend/dist/services/mediaGenerationJobService.js.map +1 -1
  85. package/backend/dist/services/memoryService.d.ts.map +1 -1
  86. package/backend/dist/services/memoryService.js.map +1 -1
  87. package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
  88. package/backend/dist/services/oauthSecurity.d.ts +14 -0
  89. package/backend/dist/services/oauthSecurity.d.ts.map +1 -0
  90. package/backend/dist/services/oauthSecurity.js +101 -0
  91. package/backend/dist/services/oauthSecurity.js.map +1 -0
  92. package/backend/dist/services/ollamaService.d.ts +8 -2
  93. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  94. package/backend/dist/services/ollamaService.js +40 -2
  95. package/backend/dist/services/ollamaService.js.map +1 -1
  96. package/backend/dist/services/personaService.d.ts.map +1 -1
  97. package/backend/dist/services/personaService.js.map +1 -1
  98. package/backend/dist/services/pluginActivationService.d.ts.map +1 -1
  99. package/backend/dist/services/pluginActivationService.js.map +1 -1
  100. package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -1
  101. package/backend/dist/services/pluginAudioGenerationService.js.map +1 -1
  102. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
  103. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
  104. package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
  105. package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
  106. package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
  107. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
  108. package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
  109. package/backend/dist/services/pluginService.d.ts +5 -0
  110. package/backend/dist/services/pluginService.d.ts.map +1 -1
  111. package/backend/dist/services/pluginService.js +53 -4
  112. package/backend/dist/services/pluginService.js.map +1 -1
  113. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  114. package/backend/dist/services/pluginTTSService.js.map +1 -1
  115. package/backend/dist/services/pluginUsageService.d.ts +18 -0
  116. package/backend/dist/services/pluginUsageService.d.ts.map +1 -1
  117. package/backend/dist/services/pluginUsageService.js +53 -0
  118. package/backend/dist/services/pluginUsageService.js.map +1 -1
  119. package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
  120. package/backend/dist/services/pluginVariablesService.js.map +1 -1
  121. package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -1
  122. package/backend/dist/services/pluginVideoGenerationService.js.map +1 -1
  123. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  124. package/backend/dist/services/preferencesService.js +1 -0
  125. package/backend/dist/services/preferencesService.js.map +1 -1
  126. package/backend/dist/services/registrationPolicy.d.ts +3 -3
  127. package/backend/dist/services/registrationPolicy.d.ts.map +1 -1
  128. package/backend/dist/services/registrationPolicy.js +4 -4
  129. package/backend/dist/services/registrationPolicy.js.map +1 -1
  130. package/backend/dist/services/simpleGitHubOAuth.d.ts +1 -1
  131. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
  132. package/backend/dist/services/simpleGitHubOAuth.js +5 -1
  133. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  134. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts +1 -1
  135. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
  136. package/backend/dist/services/simpleHuggingFaceOAuth.js +5 -5
  137. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
  138. package/backend/dist/services/systemDiagnosticsService.d.ts.map +1 -1
  139. package/backend/dist/services/systemDiagnosticsService.js.map +1 -1
  140. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  141. package/backend/dist/services/turnstileService.d.ts.map +1 -1
  142. package/backend/dist/services/userService.d.ts +1 -0
  143. package/backend/dist/services/userService.js +1 -1
  144. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  145. package/backend/dist/services/workAgentService.js.map +1 -1
  146. package/backend/dist/services/workEventService.d.ts.map +1 -1
  147. package/backend/dist/services/workEventService.js.map +1 -1
  148. package/backend/dist/services/workHostWorkspaceService.d.ts.map +1 -1
  149. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  150. package/backend/dist/services/workModelProviderService.js +30 -6
  151. package/backend/dist/services/workModelProviderService.js.map +1 -1
  152. package/backend/dist/services/workPreviewProxyService.d.ts.map +1 -1
  153. package/backend/dist/services/workPreviewProxyService.js.map +1 -1
  154. package/backend/dist/services/workRuntimeService.d.ts +6 -6
  155. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  156. package/backend/dist/services/workRuntimeService.js.map +1 -1
  157. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  158. package/backend/dist/services/workTaskService.js.map +1 -1
  159. package/backend/dist/services/workTerminalService.d.ts +1 -1
  160. package/backend/dist/services/workTerminalService.d.ts.map +1 -1
  161. package/backend/dist/services/workTerminalService.js.map +1 -1
  162. package/backend/dist/storage.d.ts +12 -1
  163. package/backend/dist/storage.d.ts.map +1 -1
  164. package/backend/dist/storage.js +183 -9
  165. package/backend/dist/storage.js.map +1 -1
  166. package/backend/dist/storageMappers.d.ts +13 -0
  167. package/backend/dist/storageMappers.d.ts.map +1 -1
  168. package/backend/dist/storageMappers.js +5 -0
  169. package/backend/dist/storageMappers.js.map +1 -1
  170. package/backend/dist/types/index.d.ts +29 -0
  171. package/backend/dist/types/index.d.ts.map +1 -1
  172. package/backend/dist/types/index.js.map +1 -1
  173. package/backend/dist/utils/chatContext.js.map +1 -1
  174. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  175. package/backend/dist/utils/chatDocumentContext.js +6 -1
  176. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  177. package/backend/dist/utils/chatProviderSelection.d.ts.map +1 -1
  178. package/backend/dist/utils/generationUtils.d.ts.map +1 -1
  179. package/backend/dist/utils/hash.d.ts.map +1 -1
  180. package/backend/dist/utils/hash.js +13 -2
  181. package/backend/dist/utils/hash.js.map +1 -1
  182. package/backend/dist/utils/logger.d.ts +1 -1
  183. package/backend/dist/utils/logger.d.ts.map +1 -1
  184. package/backend/dist/utils/ollamaStreaming.d.ts +6 -2
  185. package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -1
  186. package/backend/dist/utils/ollamaStreaming.js +12 -2
  187. package/backend/dist/utils/ollamaStreaming.js.map +1 -1
  188. package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
  189. package/backend/dist/utils/packagePaths.js.map +1 -1
  190. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  191. package/backend/dist/utils/pluginChatAdapter.js +11 -4
  192. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  193. package/backend/dist/utils/pluginChatContext.js.map +1 -1
  194. package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
  195. package/backend/dist/utils/pluginDefinitionTrust.js +1 -0
  196. package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
  197. package/backend/dist/utils/pluginStreamAdapter.d.ts +10 -1
  198. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
  199. package/backend/dist/utils/pluginStreamAdapter.js +30 -23
  200. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
  201. package/backend/dist/utils/pluginValidation.d.ts +1 -1
  202. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  203. package/backend/dist/utils/pluginValidation.js +17 -0
  204. package/backend/dist/utils/pluginValidation.js.map +1 -1
  205. package/backend/dist/utils/resourceLimits.d.ts +10 -0
  206. package/backend/dist/utils/resourceLimits.d.ts.map +1 -0
  207. package/backend/dist/utils/resourceLimits.js +29 -0
  208. package/backend/dist/utils/resourceLimits.js.map +1 -0
  209. package/backend/dist/utils/thinkingPhaseTimer.d.ts +21 -0
  210. package/backend/dist/utils/thinkingPhaseTimer.d.ts.map +1 -0
  211. package/backend/dist/utils/thinkingPhaseTimer.js +84 -0
  212. package/backend/dist/utils/thinkingPhaseTimer.js.map +1 -0
  213. package/backend/dist/utils/webpageFetcher.d.ts +25 -0
  214. package/backend/dist/utils/webpageFetcher.d.ts.map +1 -0
  215. package/backend/dist/utils/webpageFetcher.js +231 -0
  216. package/backend/dist/utils/webpageFetcher.js.map +1 -0
  217. package/backend/dist/utils/websocketMessages.js.map +1 -1
  218. package/backend/dist/websocketServer.d.ts.map +1 -1
  219. package/backend/dist/websocketServer.js +2 -1
  220. package/backend/dist/websocketServer.js.map +1 -1
  221. package/backend/package.json +8 -7
  222. package/bin/cli.js +2 -2
  223. package/frontend/dist/assets/index-BA116EVY.js +11 -0
  224. package/frontend/dist/assets/index-CFhy8YLA.css +1 -0
  225. package/frontend/dist/assets/markdown-math-ClQbWekD.css +1 -0
  226. package/frontend/dist/assets/xterm-DHcfr8qj.css +1 -0
  227. package/frontend/dist/index.html +21 -16
  228. package/frontend/dist/js/ArtifactContainer-CBTr5mSK.js +1 -0
  229. package/frontend/dist/js/{ArtifactDemoPage-BWN0MWCx.js → ArtifactDemoPage-0BLd-m3N.js} +1 -1
  230. package/frontend/dist/js/ArtifactSlideOutPanel-DjGIUKtP.js +1 -0
  231. package/frontend/dist/js/{Button-CRwzOaDZ.js → Button-X9TT9gTD.js} +1 -1
  232. package/frontend/dist/js/ChatPage-BgLadsgU.js +16 -0
  233. package/frontend/dist/js/FirstTimeSetup-CZKfjAkx.js +1 -0
  234. package/frontend/dist/js/GalleryPage-DH-KEeIZ.js +1 -0
  235. package/frontend/dist/js/HomePage-C4TJCwU6.js +1 -0
  236. package/frontend/dist/js/LibreClawPage-B_eC8oQo.js +1 -0
  237. package/frontend/dist/js/{ModelManagerModals-C2rwHd01.js → ModelManagerModals-D9j9RECi.js} +1 -1
  238. package/frontend/dist/js/ModelSelector-DwhKmtQx.js +1 -0
  239. package/frontend/dist/js/ModelsPage-DQm2DgF3.js +2 -0
  240. package/frontend/dist/js/NotesPage-pNuo3BZp.js +1 -0
  241. package/frontend/dist/js/{OptimizedSyntaxHighlighter-Ci9sRc78.js → OptimizedSyntaxHighlighter-CWYUn9Oe.js} +1 -1
  242. package/frontend/dist/js/PersonasPage-DpHCAyoD.js +13 -0
  243. package/frontend/dist/js/PluginUsagePage-Cd5MJbLi.js +1 -0
  244. package/frontend/dist/js/{RichMessageContent-nAEaPTpH.js → RichMessageContent-B1bidjA8.js} +3 -3
  245. package/frontend/dist/js/SettingsModal-ZbZKdZcC.js +1 -0
  246. package/frontend/dist/js/SystemPage-CUfqMR-l.js +1 -0
  247. package/frontend/dist/js/UserManagementPage-5ZGnsxNF.js +1 -0
  248. package/frontend/dist/js/WorkPage-ShAy19E2.js +5 -0
  249. package/frontend/dist/js/addon-fit-DIOBYJe3.js +1 -0
  250. package/frontend/dist/js/api-CI1Inz7g.js +19 -0
  251. package/frontend/dist/js/appStore-wGpPGj47.js +2 -0
  252. package/frontend/dist/js/ar-ONXFvOB1.js +2 -0
  253. package/frontend/dist/js/artifactHtml-C0Hu9I1u.js +41 -0
  254. package/frontend/dist/js/authStore-D-d7UIpv.js +3 -0
  255. package/frontend/dist/js/babel-CmENXdZw.js +16 -0
  256. package/frontend/dist/js/bn-BLhREPm6.js +2 -0
  257. package/frontend/dist/js/chatStore-BaX22w_g.js +2 -0
  258. package/frontend/dist/js/cs-Bg8E9fG5.js +2 -0
  259. package/frontend/dist/js/da-ODCU8w4x.js +2 -0
  260. package/frontend/dist/js/de-nuGHRJ5N.js +2 -0
  261. package/frontend/dist/js/es-DcN_cwum.js +2 -0
  262. package/frontend/dist/js/estree-vPoIgYRx.js +44 -0
  263. package/frontend/dist/js/fr-C-L_xGr5.js +2 -0
  264. package/frontend/dist/js/hi-DUEtwA9G.js +2 -0
  265. package/frontend/dist/js/html-_taODyXh.js +25 -0
  266. package/frontend/dist/js/i18n-xir4Zz7C.js +2 -0
  267. package/frontend/dist/js/i18next-DgmgtwsV.js +1 -0
  268. package/frontend/dist/js/id-DNTYhti_.js +2 -0
  269. package/frontend/dist/js/imageGenModels-Dx_QMLJQ.js +1 -0
  270. package/frontend/dist/js/is-Bx28ymbQ.js +2 -0
  271. package/frontend/dist/js/it-BjW-JLlS.js +2 -0
  272. package/frontend/dist/js/ja-uThj4Q1w.js +2 -0
  273. package/frontend/dist/js/ko-DqgmMYXK.js +2 -0
  274. package/frontend/dist/js/logger-DSXjF4ye.js +1 -0
  275. package/frontend/dist/js/markdown-CLKggXc3.js +70 -0
  276. package/frontend/dist/js/markdown-core-DHnR5Hw8.js +16 -0
  277. package/frontend/dist/js/markdown-math-B7FlYsmr.js +261 -0
  278. package/frontend/dist/js/messageCodeStyles-B0BoOSOR.js +2 -0
  279. package/frontend/dist/js/ms-R9kt_P0T.js +2 -0
  280. package/frontend/dist/js/nl-BjmtEgpK.js +2 -0
  281. package/frontend/dist/js/pl-C8_gU9r1.js +2 -0
  282. package/frontend/dist/js/postcss-B5WIGhAY.js +62 -0
  283. package/frontend/dist/js/pt-7BJForUD.js +2 -0
  284. package/frontend/dist/js/react-vendor-DPNXrO-8.js +9 -0
  285. package/frontend/dist/js/{rolldown-runtime-QTnfLwEv.js → rolldown-runtime-hePW80VL.js} +1 -1
  286. package/frontend/dist/js/router-vendor-Ca9zqOqT.js +1 -0
  287. package/frontend/dist/js/ru-D2HmhY6Y.js +2 -0
  288. package/frontend/dist/js/{standalone-C0NjJpWr.js → standalone-53qXRmN5.js} +8 -8
  289. package/frontend/dist/js/sv-zny3sDBM.js +2 -0
  290. package/frontend/dist/js/syntax-highlight-Ca9bHsaz.js +8 -0
  291. package/frontend/dist/js/th-CAzEKRz8.js +2 -0
  292. package/frontend/dist/js/tr-BmYgtmUo.js +2 -0
  293. package/frontend/dist/js/{typescript-d0TUM2-0.js → typescript-C6-ED_Fw.js} +10 -10
  294. package/frontend/dist/js/ui-BXTx1csA.js +2 -0
  295. package/frontend/dist/js/ui-vendor-D_pYT79f.js +177 -0
  296. package/frontend/dist/js/uk-eiYZ0uRq.js +2 -0
  297. package/frontend/dist/js/useTranslation-CdeLZqSW.js +1 -0
  298. package/frontend/dist/js/utils-BhpNrGnR.js +1 -0
  299. package/frontend/dist/js/utils-vendor-1zob7nK9.js +9 -0
  300. package/frontend/dist/js/vi-C7SVAWpO.js +2 -0
  301. package/frontend/dist/js/welcomePrompts-to5mv_gx.js +1 -0
  302. package/frontend/dist/js/xterm-Da5ppSVt.js +18 -0
  303. package/frontend/dist/js/{yaml-mLy9chOK.js → yaml-QD4znPfZ.js} +20 -20
  304. package/frontend/dist/js/zh-2Q3cQv3s.js +2 -0
  305. package/package.json +19 -12
  306. package/plugins/codex-oauth.json +19 -0
  307. package/frontend/dist/assets/index-ChhWhug2.css +0 -1
  308. package/frontend/dist/assets/index-CmZntyR1.js +0 -3
  309. package/frontend/dist/assets/markdown-math-CYlHEDRF.css +0 -1
  310. package/frontend/dist/assets/xterm-CmMoOwwu.css +0 -1
  311. package/frontend/dist/js/ArtifactContainer-CBAbdoIJ.js +0 -1
  312. package/frontend/dist/js/ArtifactSlideOutPanel-D-AvYkfk.js +0 -1
  313. package/frontend/dist/js/ChatPage-w2FkF_fE.js +0 -16
  314. package/frontend/dist/js/FirstTimeSetup-CzBxl7UH.js +0 -1
  315. package/frontend/dist/js/GalleryPage-Cv8pniRW.js +0 -1
  316. package/frontend/dist/js/HomePage-Vyj4ndU4.js +0 -1
  317. package/frontend/dist/js/LibreClawPage-CYhLgQB-.js +0 -1
  318. package/frontend/dist/js/ModelSelector-D7kDjZV9.js +0 -1
  319. package/frontend/dist/js/ModelsPage-BnUddkrs.js +0 -2
  320. package/frontend/dist/js/PersonasPage-BL5XlrEm.js +0 -13
  321. package/frontend/dist/js/PluginUsagePage-BXqweCCs.js +0 -1
  322. package/frontend/dist/js/SettingsModal-DZYCI5-y.js +0 -1
  323. package/frontend/dist/js/SystemPage-jdHYfn9A.js +0 -1
  324. package/frontend/dist/js/UserManagementPage-BpOnt6os.js +0 -1
  325. package/frontend/dist/js/WorkPage-DAp1T1dl.js +0 -5
  326. package/frontend/dist/js/addon-fit-Cj0_dfHF.js +0 -1
  327. package/frontend/dist/js/api-BCqWXjZI.js +0 -19
  328. package/frontend/dist/js/appStore-CDM6V5ny.js +0 -2
  329. package/frontend/dist/js/ar-DS8gs8WK.js +0 -2
  330. package/frontend/dist/js/artifactHtml-B7Oy2e__.js +0 -27
  331. package/frontend/dist/js/authStore-Bl5ofD_h.js +0 -4
  332. package/frontend/dist/js/babel-BnLuavNv.js +0 -16
  333. package/frontend/dist/js/bn-CrMPJwTR.js +0 -2
  334. package/frontend/dist/js/cs-BL116Ezu.js +0 -2
  335. package/frontend/dist/js/da-TDNaKzqy.js +0 -2
  336. package/frontend/dist/js/de-DkIqdAB5.js +0 -2
  337. package/frontend/dist/js/demoMode-BhEpMVh5.js +0 -1
  338. package/frontend/dist/js/es-CHRXt6Fd.js +0 -2
  339. package/frontend/dist/js/estree-BFya-bSu.js +0 -44
  340. package/frontend/dist/js/fr-8715yUKq.js +0 -2
  341. package/frontend/dist/js/hi-C2O08SBU.js +0 -2
  342. package/frontend/dist/js/html-DJot0Wwf.js +0 -25
  343. package/frontend/dist/js/id-Dq7UXUEV.js +0 -2
  344. package/frontend/dist/js/is-B3dbbhSl.js +0 -2
  345. package/frontend/dist/js/it-CLSuu2K7.js +0 -2
  346. package/frontend/dist/js/ja-CthrqyCR.js +0 -2
  347. package/frontend/dist/js/ko-BJvFDJ82.js +0 -2
  348. package/frontend/dist/js/logger-DbNs3-DK.js +0 -1
  349. package/frontend/dist/js/markdown-CXwWsPYG.js +0 -70
  350. package/frontend/dist/js/markdown-core-GI9BPwrB.js +0 -16
  351. package/frontend/dist/js/markdown-math-E4O1gcxj.js +0 -261
  352. package/frontend/dist/js/ms-QV0202Mj.js +0 -2
  353. package/frontend/dist/js/nl-Dob1m1pV.js +0 -2
  354. package/frontend/dist/js/pl-urfOKnYI.js +0 -2
  355. package/frontend/dist/js/postcss-DSDkwgFE.js +0 -62
  356. package/frontend/dist/js/pt-D52Xkpi0.js +0 -2
  357. package/frontend/dist/js/react-vendor-DyG_ODzn.js +0 -9
  358. package/frontend/dist/js/router-vendor-BjDI9mRe.js +0 -1
  359. package/frontend/dist/js/ru-CwnW9Xe2.js +0 -2
  360. package/frontend/dist/js/sv-BNclj-Fo.js +0 -2
  361. package/frontend/dist/js/syntax-highlight-pM1xnNpY.js +0 -8
  362. package/frontend/dist/js/th-BlQ4PL57.js +0 -2
  363. package/frontend/dist/js/tr-B80aZ1px.js +0 -2
  364. package/frontend/dist/js/ui-vendor-ChfdHf5M.js +0 -177
  365. package/frontend/dist/js/uk-DZuuaI56.js +0 -2
  366. package/frontend/dist/js/useTranslation-Cs6iTP4m.js +0 -1
  367. package/frontend/dist/js/utils-DmZD5uA3.js +0 -1
  368. package/frontend/dist/js/utils-vendor-Cbaj0BC5.js +0 -9
  369. package/frontend/dist/js/vi-Bg42fPfF.js +0 -2
  370. package/frontend/dist/js/xterm-DKl1QLiw.js +0 -7
  371. package/frontend/dist/js/zh-BSt87zs6.js +0 -2
@@ -0,0 +1,2 @@
1
+ var e={common:{loading:`লোড হচ্ছে...`,save:`সংরক্ষণ`,saving:`সংরক্ষণ হচ্ছে...`,cancel:`বাতিল`,delete:`মুছুন`,edit:`সম্পাদনা`,close:`বন্ধ`,back:`পিছনে`,next:`পরবর্তী`,confirm:`নিশ্চিত করুন`,error:`ত্রুটি`,success:`সফল`,warning:`সতর্কতা`,or:`অথবা`,optional:`ঐচ্ছিক`,enabled:`সক্রিয়`,disabled:`নিষ্ক্রিয়`,on:`চালু`,off:`বন্ধ`,yes:`হ্যাঁ`,no:`না`,search:`অনুসন্ধান`,noResults:`কোনো ফলাফল পাওয়া যায়নি`,retry:`পুনরায় চেষ্টা করুন`,refresh:`রিফ্রেশ`,download:`ডাউনলোড`,upload:`আপলোড`,export:`এক্সপোর্ট`,import:`ইম্পোর্ট`,reset:`রিসেট`,apply:`প্রয়োগ করুন`,clear:`মুছুন`,all:`সব`,none:`কিছুই না`,default:`ডিফল্ট`,custom:`কাস্টম`,remove:`সরান`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`স্বাগতম`,subtitle:`আপনার অ্যাকাউন্টে সাইন ইন করুন`,username:`ব্যবহারকারীর নাম`,usernamePlaceholder:`আপনার ব্যবহারকারীর নাম লিখুন`,password:`পাসওয়ার্ড`,passwordPlaceholder:`আপনার পাসওয়ার্ড লিখুন`,signIn:`সাইন ইন`,signingIn:`সাইন ইন হচ্ছে...`,noAccount:`অ্যাকাউন্ট নেই?`,signUpHere:`এখানে সাইন আপ করুন`,loginSuccess:`লগইন সফল!`,loginFailed:`লগইন ব্যর্থ`,checkCredentials:`লগইন ব্যর্থ। আপনার তথ্য পরীক্ষা করুন।`,enterBoth:`অনুগ্রহ করে ব্যবহারকারীর নাম এবং পাসওয়ার্ড উভয়ই লিখুন`,githubSuccess:`GitHub লগইন সফল!`,githubFailed:`GitHub প্রমাণীকরণ ব্যর্থ`,githubVerifyFailed:`GitHub প্রমাণীকরণ যাচাই করতে ব্যর্থ`,approvalPending:`আপনার অ্যাকাউন্ট অ্যাডমিনিস্ট্রেটরের অনুমোদনের অপেক্ষায় আছে।`},signup:{title:`অ্যাকাউন্ট তৈরি করুন`,subtitle:`আপনার নতুন অ্যাকাউন্টের জন্য সাইন আপ করুন`,username:`ব্যবহারকারীর নাম`,usernamePlaceholder:`একটি ব্যবহারকারীর নাম বেছে নিন`,email:`ইমেইল`,emailPlaceholder:`your@email.com`,password:`পাসওয়ার্ড`,passwordPlaceholder:`একটি পাসওয়ার্ড বেছে নিন`,confirmPassword:`পাসওয়ার্ড নিশ্চিত করুন`,confirmPasswordPlaceholder:`আপনার পাসওয়ার্ড নিশ্চিত করুন`,createAccount:`অ্যাকাউন্ট তৈরি করুন`,creatingAccount:`অ্যাকাউন্ট তৈরি হচ্ছে...`,hasAccount:`ইতিমধ্যে অ্যাকাউন্ট আছে?`,signInHere:`এখানে সাইন ইন করুন`,signupSuccess:`অ্যাকাউন্ট সফলভাবে তৈরি হয়েছে!`,signupFailed:`সাইন আপ ব্যর্থ`,tryAgain:`সাইন আপ ব্যর্থ। অনুগ্রহ করে আবার চেষ্টা করুন।`,usernameRequired:`ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রয়োজন`,passwordMismatch:`পাসওয়ার্ড মিলছে না`,passwordTooShort:`পাসওয়ার্ড কমপক্ষে ৬ অক্ষরের হতে হবে`,approvalPending:`নিবন্ধন গৃহীত হয়েছে। একজন অ্যাডমিনিস্ট্রেটরকে অবশ্যই আপনার অ্যাকাউন্ট অনুমোদন করতে হবে।`,awaitingApproval:`অনুমোদনের অপেক্ষায়`,awaitingApprovalDescription:`আপনার অ্যাকাউন্ট তৈরি করা হয়েছে, তবে সাইন ইন করার আগে একজন অ্যাডমিনিস্ট্রেটরকে অবশ্যই এটি সক্রিয় করতে হবে।`,backToSignIn:`সাইন ইনে ফিরে যান`},logout:{button:`লগ আউট`,success:`সফলভাবে লগ আউট হয়েছে`},oauth:{continueWith:`{{provider}} দিয়ে চালিয়ে যান`,connectingTo:`{{provider}} এ সংযোগ হচ্ছে...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`প্রমাণীকরণ যাচাই হচ্ছে...`,welcome:`স্বাগতম`,noEmail:`কোনো ইমেইল দেওয়া হয়নি`,role:`ভূমিকা`,id:`আইডি`,userId:`ইউজার আইডি`,signInDescription:`চালিয়ে যেতে আপনার GitHub অ্যাকাউন্ট দিয়ে সাইন ইন করুন`,signInWithGitHub:`GitHub দিয়ে সাইন ইন করুন`,jwtActive:`JWT প্রমাণীকরণ সক্রিয়`,jwtDescription:`GitHub OAuth সহ JWT প্রমাণীকরণ`,github:`GitHub`,provider:`প্রদানকারী`,tagline:`আপনার AI স্ট্যাক আপনার কাছে উত্তর দেওয়া উচিত।`,selfHosted:`সেলফ-হোস্টেড · Apache 2.0`,highlights:{local:{title:`লোকাল ফার্স্ট`,body:`আপনার কথোপকথন এবং ফাইলগুলি আপনি এটি চালানো মেশিনেই থাকে।`},providers:{title:`যেকোনো প্রোভাইডার`,body:`Ollama-এর মাধ্যমে লোকাল মডেল, পাশাপাশি আপনি যোগ করতে চয়ন করা রিমোট প্রোভাইডার।`},work:{title:`বিচ্ছিন্ন কাজ`,body:`একটি মডেলকে ফাইল, একটি টার্মিনাল এবং একটি প্রিভিউ সহ একটি স্যান্ডবক্সড ওয়ার্কস্পেস দিন।`}}},setup:{welcome:{title:`Libre WebUI তে স্বাগতম`,subtitle:`শুরু করা যাক`,description:`কয়েকটি ধাপে আপনার Libre WebUI সেট আপ করুন`,createAdmin:`অ্যাডমিন অ্যাকাউন্ট তৈরি করুন`,features:{secure:{title:`নিরাপদ এবং ব্যক্তিগত`,description:`আপনার কথোপকথন আপনার ডিভাইসে থাকে`},fast:{title:`দ্রুত এবং প্রতিক্রিয়াশীল`,description:`গতি এবং কর্মক্ষমতার জন্য অপ্টিমাইজ করা`},openSource:{title:`ওপেন সোর্স`,description:`বিনামূল্যে এবং ওপেন সোর্স সফটওয়্যার`}}},admin:{title:`অ্যাডমিন অ্যাকাউন্ট তৈরি করুন`,subtitle:`অ্যাডমিনিস্ট্রেটর সেটআপ`,description:`আপনার Libre WebUI এর জন্য প্রথম অ্যাডমিন অ্যাকাউন্ট তৈরি করুন`,usernamePlaceholder:`অ্যাডমিন ব্যবহারকারীর নাম লিখুন`,passwordPlaceholder:`পাসওয়ার্ড লিখুন (ন্যূনতম ৬ অক্ষর)`,confirmPlaceholder:`আপনার পাসওয়ার্ড নিশ্চিত করুন`,creating:`তৈরি হচ্ছে...`,createAdmin:`অ্যাডমিন তৈরি করুন`,success:`অ্যাডমিন অ্যাকাউন্ট সফলভাবে তৈরি হয়েছে!`,failed:`অ্যাডমিন অ্যাকাউন্ট তৈরি করতে ব্যর্থ`,fillAllFields:`অনুগ্রহ করে সব ফিল্ড পূরণ করুন`,note:`এটি আপনার Libre WebUI এর প্রাথমিক অ্যাডমিনিস্ট্রেটর অ্যাকাউন্ট হবে`,approvalUnexpected:`প্রাথমিক অ্যাডমিনিস্ট্রেটর সক্রিয় করা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।`},encryptionKey:{title:`আপনার এনক্রিপশন কী সংরক্ষণ করুন`,subtitle:`গুরুত্বপূর্ণ: এই কী সংরক্ষণ করুন`,description:`এই এনক্রিপশন কী আপনার সংবেদনশীল ডেটা রক্ষা করে। এটি নিরাপদে সংরক্ষণ করুন - আপনার ডাটাবেস পুনরুদ্ধার করতে হলে এটি প্রয়োজন হবে।`,warning:`সতর্কতা`,warningText:`যদি আপনি এই কী হারান এবং ডাটাবেস পুনরুদ্ধার করতে হয়, আপনার এনক্রিপ্ট করা ডেটা (API কী, পছন্দসমূহ) পুনরুদ্ধার করা যাবে না।`,label:`আপনার এনক্রিপশন কী`,loading:`লোড হচ্ছে...`,copyToClipboard:`ক্লিপবোর্ডে কপি করুন`,copied:`এনক্রিপশন কী ক্লিপবোর্ডে কপি হয়েছে!`,copyFailed:`ক্লিপবোর্ডে কী কপি করতে ব্যর্থ`,envNote:`এই কী আপনার backend/.env ফাইলে ENCRYPTION_KEY হিসাবে সংরক্ষিত আছে`,acknowledgment:`আমি আমার এনক্রিপশন কী একটি নিরাপদ স্থানে সংরক্ষণ করেছি এবং বুঝতে পারছি যে এটি হারালে ডেটা ক্ষতি হতে পারে।`,confirmRequired:`অনুগ্রহ করে নিশ্চিত করুন যে আপনি এনক্রিপশন কী সংরক্ষণ করেছেন`,continue:`Libre WebUI তে চালিয়ে যান`}},chat:{greeting:{morning:`সুপ্রভাত`,afternoon:`শুভ অপরাহ্ন`,evening:`শুভ সন্ধ্যা`,night:`শুভ রাত্রি`},followUp:`ফলো-আপ`,welcome:{helpToday:`আজ আমি কীভাবে সাহায্য করতে পারি?`,helpTonight:`আজ রাতে আমি কীভাবে সাহায্য করতে পারি?`,variety:{create:{title:`আমরা কী বানাব?`,subtitle:`একটা ভাবনা, খসড়া, কিংবা সহজে না-মেটা সমস্যা দিয়ে শুরু করুন।`},explore:{title:`কোথা থেকে শুরু করব?`,subtitle:`যে প্রশ্নটা বারবার মনে ফিরে আসে, সেটাই নিয়ে আসুন।`},imagine:{title:`আপনি কী কল্পনা করছেন?`,subtitle:`আমরা একসঙ্গে তাকে রূপ দিতে পারি।`},focus:{title:`কোন বিষয়টা এখন মনোযোগ চায়?`,subtitle:`চলুন, পরের ধাপটা পরিষ্কার করি।`},untangle:{title:`কোথায় জট লেগেছে?`,subtitle:`আগে এলোমেলো অবস্থাতেই বলুন।`},momentum:{title:`আপনি তৈরি হলেই শুরু করি।`,subtitle:`কোনো ভাবনা, পরিকল্পনা বা অসমাপ্ত কথার সূত্র আবার ধরুন।`},open:{title:`আপনার মনে কী চলছে?`,subtitle:`ছোট্ট ভাবনা হোক বা বড় প্রকল্প—দুটোই চলবে।`},challenge:{title:`আমরা কী সমাধান করছি?`,subtitle:`এখনও কী ঠিকমতো কাজ করছে না, বলুন।`},draft:{title:`কোথাও থেকে শুরু করা যাক।`,subtitle:`এখনই নিখুঁত হতে হবে না।`},possibility:{title:`এটা কী হয়ে উঠতে পারে?`,subtitle:`কাঁচামালটুকুই আগে দেখান।`},unexpected:{title:`অপ্রত্যাশিত কিছু বানাই।`,subtitle:`একটা সীমা, একটা আবহ, কিংবা আধা-গড়া ভাবনা দিন।`}}},input:{placeholder:`একটি বার্তা পাঠান`,messagePlaceholder:`বার্তা...`,attachImages:`ছবি সংযুক্ত করুন`,attachments:`সংযুক্তি এবং উন্নত বৈশিষ্ট্য`,sendMessage:`বার্তা পাঠান`,stopGeneration:`জেনারেশন বন্ধ করুন`,menu:{uploadImages:`ছবি আপলোড করুন`,attachDocument:`নথি সংযুক্ত করুন`,attachWebpage:`ওয়েবপেজ সংযুক্ত করুন`,structuredOutput:`কাঠামোবদ্ধ আউটপুট`,attach:`সংযুক্ত করুন`,documentAttached:`নথি সংযুক্ত হয়েছে`,webpageAttached:`ওয়েবপেজ সংযুক্ত হয়েছে`,attachFailed:`সংযুক্ত করা যায়নি`,attachKnowledge:`জ্ঞান সংযুক্ত করুন`,noCollections:`এখনও কোনো সংগ্রহ নেই — সেটিংস → নথিতে তৈরি করুন`},voiceInput:`ভয়েস ইনপুট`,voiceStop:`শোনা বন্ধ করুন`},session:{new:`নতুন চ্যাট`,work:`কাজ`,chat:`চ্যাট`,private:`ব্যক্তিগত`,privateMode:`ব্যক্তিগত মোড`,privateDescription:`এই কথোপকথন সংরক্ষণ করা হবে না`,privateTooltip:`একটি ব্যক্তিগত কথোপকথন শুরু করুন যা সংরক্ষণ করা হবে না`,deleteConfirm:`আপনি কি এই চ্যাট মুছতে চান?`,generatingTitle:`শিরোনাম তৈরি হচ্ছে`,noChats:`এখনও কোনো চ্যাট নেই`,createFirst:`উপরে আপনার প্রথম চ্যাট তৈরি করুন`,chats:`চ্যাট`,renameChat:`চ্যাট পুনঃনামকরণ করুন`,deleteChat:`চ্যাট মুছুন`,incognito:`ইনকগনিটো চ্যাট`,archiveChat:`চ্যাট সংরক্ষণাগারে রাখুন`,groups:{today:`আজ`,yesterday:`গতকাল`,previous7Days:`গত ৭ দিন`,previous30Days:`গত ৩০ দিন`,older:`পুরানো`},folder:{new:`নতুন ফোল্ডার`,namePlaceholder:`ফোল্ডারের নাম`,move:`ফোল্ডারে সরান`,remove:`ফোল্ডার থেকে সরান`,delete:`ফোল্ডার মুছুন`,deleteConfirm:`এই ফোল্ডারটি মুছবেন? ভিতরের চ্যাটগুলি থাকবে।`}},persona:{applied:`পার্সোনা প্রয়োগ করা হয়েছে`,label:`পার্সোনা`,removeFailed:`পার্সোনা সরাতে ব্যর্থ হয়েছে`},model:{updated:`মডেল আপডেট হয়েছে`,noModels:`কোনো মডেল উপলব্ধ নেই`,noModelsDescription:`কোনো মডেল উপলব্ধ নেই। নিশ্চিত করুন যে Ollama চলছে এবং মডেল ইনস্টল করা আছে।`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`কোনো মডেল উপলব্ধ নেই। অনুগ্রহ করে নিশ্চিত করুন যে Ollama চলছে এবং মডেল ইনস্টল করা আছে।`,selectBeforePrivateChat:`ব্যক্তিগত চ্যাট শুরু করার আগে একটি উপলব্ধ মডেল নির্বাচন করুন`,selectBeforeSending:`পাঠানোর আগে একটি উপলব্ধ মডেল নির্বাচন করুন`},footer:{disclaimer:`LLM ভুল করতে পারে - গুরুত্বপূর্ণ তথ্য যাচাই করুন`,images:`{{count}}টি ছবি`,images_plural:`{{count}}টি ছবি`,structuredOutput:`স্ট্রাকচার্ড আউটপুট`},mediaUpload:{dropImagesHere:`এখানে ছবি ছেড়ে দিন বা`,supportedFormats:`সমর্থিত: JPG, PNG, GIF, WebP (সর্বোচ্চ ১০MB প্রতিটি)`,browse:`ব্রাউজ করুন`},structuredOutput:{title:`রেসপন্স ফরম্যাট`,none:`কোনোটি নয় (প্রাকৃতিক ভাষা)`,noneDescription:`ডিফল্ট প্রাকৃতিক ভাষা প্রতিক্রিয়া`,json:`JSON`,jsonDescription:`স্ট্রাকচার্ড JSON ফরম্যাট`,list:`তালিকা`,listDescription:`আইটেমের অ্যারে`,summary:`সারাংশ`,summaryDescription:`মূল পয়েন্ট সহ ডকুমেন্ট সারাংশ`,analysis:`বিশ্লেষণ`,analysisDescription:`সুবিধা/অসুবিধা সহ স্ট্রাকচার্ড বিশ্লেষণ`,custom:`কাস্টম স্কিমা`,customDescription:`আপনার নিজের JSON স্কিমা সংজ্ঞায়িত করুন`,customSchema:`কাস্টম JSON স্কিমা`,schemaPreview:`স্কিমা প্রিভিউ`,applySchema:`স্কিমা প্রয়োগ করুন`,cancel:`বাতিল`,enabled:`স্ট্রাকচার্ড আউটপুট সক্রিয়`},controls:{title:`চ্যাট নিয়ন্ত্রণ`,systemPrompt:`সিস্টেম প্রম্পট`,systemPromptPlaceholder:`শুধু এই চ্যাটে প্রযোজ্য নির্দেশনা…`,advancedParams:`উন্নত প্যারামিটার`,advancedParamsDescription:`এই চ্যাটের জন্য ওভাররাইড। খালি ঘরে গ্লোবাল ডিফল্ট ব্যবহৃত হয়।`,saved:`নিয়ন্ত্রণ সংরক্ষিত হয়েছে`,saveFailed:`নিয়ন্ত্রণ সংরক্ষণ করা যায়নি`,params:{temperature:`তাপমাত্রা`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`সর্বোচ্চ টোকেন`,repeatPenalty:`পুনরাবৃত্তি জরিমানা`,seed:`সিড`,contextLength:`প্রসঙ্গ দৈর্ঘ্য`}}},sidebar:{navigation:{chat:`চ্যাট`,models:`মডেল`,personas:`পার্সোনা`,imagine:`ইমাজিন`,settings:`সেটিংস`,userManagement:`ব্যবহারকারী ব্যবস্থাপনা`,signOut:`সাইন আউট`,agents:`এজেন্ট`,work:`কাজ`,exploreLabel:`অন্বেষণ`,usageAnalytics:`প্রোভাইডার ব্যবহার`,system:`সিস্টেম`,notes:`নোট`},toggleSize:`সাইডবার সাইজ টগল করুন`,expandSidebar:`সাইডবার প্রসারিত করুন`},user:{menu:{changePicture:`ছবি পরিবর্তন করুন`,settings:`সেটিংস`,userManagement:`ব্যবহারকারী ব্যবস্থাপনা`,logout:`লগ আউট`,usageAnalytics:`প্রোভাইডার ব্যবহার`,system:`সিস্টেম`},avatar:{title:`প্রোফাইল ছবি পরিবর্তন করুন`,updated:`প্রোফাইল ছবি আপডেট হয়েছে`,updateFailed:`প্রোফাইল ছবি আপডেট করতে ব্যর্থ`,saving:`সংরক্ষণ হচ্ছে...`,label:`অবতার`,uploadAvatarImage:`অবতার ছবি আপলোড করুন`,dragAndDrop:`একটি ছবি টেনে আনুন বা ব্রাউজ করতে ক্লিক করুন`,chooseImage:`ছবি বাছুন`,uploading:`আপলোড হচ্ছে...`,enterImageUrl:`অথবা ছবির URL লিখুন`,supportedFormats:`সমর্থিত: JPG, PNG, GIF, WebP (সর্বোচ্চ 2MB)। বর্গাকার ছবি সবচেয়ে ভালো কাজ করে।`,customAvatar:`কাস্টম অবতার ছবি`,clickToChange:`পরিবর্তন বা সরাতে ক্লিক করুন`,removed:`অবতার সরানো হয়েছে`,uploaded:`অবতার সফলভাবে আপলোড হয়েছে`,invalidFile:`অনুগ্রহ করে একটি বৈধ ছবি ফাইল নির্বাচন করুন`,fileTooLarge:`অবতার ছবির আকার 2MB এর কম হতে হবে`,readFailed:`ছবি ফাইল পড়তে ব্যর্থ`,uploadFailed:`অবতার ছবি আপলোড করতে ব্যর্থ`},profile:{noEmail:`কোনো ইমেইল দেওয়া হয়নি`}},settings:JSON.parse(`{"title":"সেটিংস","tabs":{"appearance":"চেহারা","model":"মডেল","systemMessage":"সিস্টেম বার্তা","plugins":"প্লাগইন","generation":"জেনারেশন","documents":"ডকুমেন্ট","tts":"টেক্সট-টু-স্পিচ","imageGen":"ইমেজ জেনারেশন","data":"ডেটা","about":"সম্পর্কে"},"appearance":{"title":"চেহারা","language":{"title":"ভাষা","description":"আপনার পছন্দের ভাষা নির্বাচন করুন"},"theme":{"title":"থিম","light":"লাইট","dark":"ডার্ক","amoled":"বিশুদ্ধ কালো","system":"সিস্টেম"},"accent":{"title":"অ্যাকসেন্ট রং","custom":"কাস্টম রং","useColor":"{{color}} অ্যাকসেন্ট ব্যবহার করুন","behaviorTitle":"ইন্টারফেস প্যালেট","behaviorDescription":"অ্যাকসেন্ট শুধু নিয়ন্ত্রণে থাকবে নাকি পুরো হালকা বা গাঢ় ইন্টারফেসে প্রয়োগ হবে তা বেছে নিন।","defaultStyle":"ডিফল্ট","defaultStyleDescription":"হালকা ও গাঢ় থিমের নিরপেক্ষ পৃষ্ঠগুলো রাখুন।","adaptedStyle":"অ্যাকসেন্টে মানিয়ে নিন","adaptedStyleDescription":"পৃষ্ঠ, সীমানা ও লেখাকে আপনার অ্যাকসেন্ট রঙে রাঙান।"},"chatInterface":{"title":"চ্যাট ইন্টারফেস","showUsername":"ব্যবহারকারীর নাম দেখান","showUsernameDescription":"চ্যাট বার্তায় ব্যবহারকারীর নাম প্রদর্শন করুন","followUpSuggestions":"ফলো-আপ পরামর্শ","followUpSuggestionsDescription":"প্রতিটি উত্তরের পরে দ্রুত জবাবের পরামর্শ দিন"},"background":{"title":"ব্যাকগ্রাউন্ড ইমেজ","enable":"ব্যাকগ্রাউন্ড ইমেজ সক্রিয় করুন","enableDescription":"ব্লার ইফেক্ট সহ কাস্টম ব্যাকগ্রাউন্ড দেখান","blur":"ব্লার","opacity":"অপাসিটি","upload":"ব্যাকগ্রাউন্ড ইমেজ আপলোড করুন","dragDrop":"একটি ছবি টেনে আনুন বা ব্রাউজ করতে ক্লিক করুন","chooseImage":"ছবি বেছে নিন"}},"saveSettings":"সেটিংস সংরক্ষণ করুন","model":{"title":"মডেল সেটিংস","defaultModel":"ডিফল্ট মডেল","defaultModelDescription":"নতুন কথোপকথনের জন্য এই মডেলটি ডিফল্টভাবে ব্যবহৃত হবে","selectModel":"একটি মডেল নির্বাচন করুন","updateAll":"সব মডেল আপডেট করুন","updateAllDescription":"আপডেট চেক করুন এবং সব ইনস্টল করা মডেলের সর্বশেষ সংস্করণ পুল করুন","updateAllButton":"সব আপডেট করুন","updating":"মডেল আপডেট হচ্ছে...","currentModelInfo":"বর্তমান মডেল তথ্য","name":"নাম","size":"সাইজ","family":"ফ্যামিলি","format":"ফরম্যাট","status":"স্ট্যাটাস","statusStarting":"শুরু হচ্ছে...","statusComplete":"সম্পূর্ণ","statusError":"ত্রুটি","bulkOperations":"বাল্ক অপারেশন","autoTitle":{"title":"স্বয়ংক্রিয় শিরোনাম জেনারেশন","enable":"স্বয়ংক্রিয় শিরোনাম সক্রিয় করুন","enableDescription":"নতুন কথোপকথনের জন্য স্বয়ংক্রিয়ভাবে শিরোনাম তৈরি করুন","taskModel":"টাস্ক মডেল","selectTaskModel":"টাস্ক মডেল নির্বাচন করুন","taskModelDescription":"কথোপকথনের শিরোনাম তৈরিতে ব্যবহৃত মডেল"},"persona":"পারসোনা","updatingModel":"{{name}} আপডেট হচ্ছে ({{current}}/{{total}})","modelsProgress":"{{total}} টি মডেলের মধ্যে {{current}} টি","specializedModels":"বিশেষ মডেল","visionModel":"ভিশন মডেল","selectVisionModel":"বর্তমান চ্যাট মডেল ব্যবহার করুন","visionModelDescription":"যখনই আউটগোয়িং চ্যাট কন্টেক্সটে ছবি থাকে তখনই স্বয়ংক্রিয়ভাবে ব্যবহৃত হয়। এমন একটি মডেল বেছে নিন যা ছবি ইনপুট সমর্থন করে।","visionModelUpdateFailed":"ভিশন মডেল আপডেট করতে ব্যর্থ হয়েছে: {{error}}","visionModelNoProvider":"এই ভিশন মডেলের কোনো প্রোভাইডার পরিচয় নেই। একটি উপলব্ধ মডেল নির্বাচন করুন।"},"systemMessage":{"title":"সিস্টেম বার্তা","description":"একটি কাস্টম সিস্টেম বার্তা সেট করুন যা সব নতুন কথোপকথনের জন্য ব্যবহৃত হবে।","placeholder":"একটি সিস্টেম বার্তা লিখুন...","saved":"সিস্টেম বার্তা সংরক্ষিত","saveFailed":"সিস্টেম বার্তা সংরক্ষণ করতে ব্যর্থ"},"plugins":{"title":"প্লাগইন","description":"আপনার ইনস্টল করা প্লাগইন পরিচালনা করুন","addNew":"নতুন প্লাগইন যোগ করুন","upload":"প্লাগইন আপলোড করুন","addJson":"JSON যোগ করুন","uploading":"আপলোড হচ্ছে...","jsonPlaceholder":"প্লাগইন JSON কনফিগারেশন পেস্ট করুন...","install":"প্লাগইন ইনস্টল করুন","noPlugins":"কোনো প্লাগইন ইনস্টল করা নেই","noPluginsDescription":"কার্যকারিতা বাড়াতে একটি প্লাগইন যোগ করুন","loading":"প্লাগইন লোড হচ্ছে...","installed":"ইনস্টল করা প্লাগইন","active":"সক্রিয় প্লাগইন","activeLabel":"সক্রিয়","inactive":"নিষ্ক্রিয়","activate":"সক্রিয় করুন","deactivate":"নিষ্ক্রিয় করুন","models":"মডেল","apiKeySet":"API কী সেট","apiKeyConfiguration":"API কী কনফিগারেশন","apiKeyEnvAlternative":"বিকল্পভাবে, সেট করুন","environmentVariable":"এনভায়রনমেন্ট ভেরিয়েবল","apiKeyConfigured":"API কী কনফিগার করা হয়েছে","apiKeyPlaceholder":"আপনার API কী লিখুন...","saveApiKey":"API কী সংরক্ষণ করুন","apiKey":{"title":"API কী","placeholder":"API কী লিখুন","save":"কী সংরক্ষণ করুন","remove":"কী সরান","configured":"API কী কনফিগার করা হয়েছে","notConfigured":"API কী প্রয়োজন","saved":"API কী সফলভাবে সংরক্ষিত","removed":"API কী সরানো হয়েছে","saveFailed":"API কী সংরক্ষণ করতে ব্যর্থ","removeFailed":"API কী সরাতে ব্যর্থ","enterKey":"অনুগ্রহ করে একটি API কী লিখুন"},"variables":"Variables","providerConnections":"প্রোভাইডার সংযোগ","providerConnectionsDescription":"প্লাগইনগুলির মাধ্যমে মডেল প্রোভাইডার সংযোগ করুন, কনফিগার করুন এবং পরিদর্শন করুন।","providers":"প্রোভাইডার","searchProviders":"প্রোভাইডার খুঁজুন","noProvidersFound":"কোনো প্রোভাইডার আপনার সার্চের সাথে মেলে না।","selectProvider":"একটি প্রোভাইডার নির্বাচন করুন","selectProviderDescription":"এর সংযোগ এবং মডেল ক্যাটালগ পরিদর্শন করতে একটি প্রোভাইডার বেছে নিন।","apiKeyDescription":"{{name}}-এর জন্য একটি ব্যক্তিগত API কী সংরক্ষণ করুন।","showApiKey":"API কী দেখান","hideApiKey":"API কী লুকান","configure":"কনফিগার করুন","providerSettings":"প্রোভাইডার সেটিংস","status":"স্ট্যাটাস","defaultEndpoint":"ডিফল্ট এন্ডপয়েন্ট","modelCatalog":"মডেল ক্যাটালগ","modelCatalogDescription":"এই প্রোভাইডার এবং এর ক্ষমতার জন্য আবিষ্কৃত এবং কনফিগার করা মডেল।","refreshModels":"মডেল রিফ্রেশ করুন","noModelsConfigured":"এই প্রদানকারীর জন্য কোনো মডেল কনফিগার করা নেই।","modelId":"মডেল ID","capabilities":"ক্ষমতা","modelCatalogUpdated":"মডেল ক্যাটালগ আপডেট হয়েছে: {{count}}টি মডেল।","modelCatalogUnchanged":"মডেল ক্যাটালগ ইতিমধ্যেই আপ-টু-ডেট আছে।","modelCatalogNeedsApiKey":"এই প্রদানকারীর লাইভ মডেল তালিকা লোড করতে একটি বৈধ API কী যোগ করুন।","modelCatalogUnavailable":"প্রদানকারীর মডেল তালিকা লোড করা যায়নি।","modelCatalogRefreshFailed":"মডেল ক্যাটালগ রিফ্রেশ করতে ব্যর্থ","capability":{"chat":"চ্যাট","embedding":"এম্বেডিং","image":"চিত্র","speech":"বক্তৃতা","transcription":"ট্রান্সক্রিপশন"},"exportPlugin":"প্লাগইন রপ্তানি","deletePlugin":"প্লাগইন মুছুন"},"generation":{"title":"জেনারেশন অপশন","description":"AI কীভাবে প্রতিক্রিয়া তৈরি করে তা কনফিগার করুন","coreParameters":"কোর প্যারামিটার","temperature":"টেম্পারেচার","temperatureDescription":"র্যান্ডমনেস নিয়ন্ত্রণ করে। কম মান বেশি ফোকাসড, উচ্চ মান বেশি সৃজনশীল।","topP":"Top P","topPDescription":"নিউক্লিয়াস স্যাম্পলিং এর মাধ্যমে বৈচিত্র্য নিয়ন্ত্রণ করে। কম মান সম্ভাব্য টোকেনে ফোকাস করে।","topK":"Top K","topKDescription":"টোকেন নির্বাচন শীর্ষ K সর্বাধিক সম্ভাব্যতে সীমাবদ্ধ করে। নিষ্ক্রিয় করতে 0 সেট করুন।","minP":"Min P","minPDescription":"টোকেন নির্বাচনের জন্য ন্যূনতম সম্ভাব্যতা থ্রেশহোল্ড।","generationControl":"জেনারেশন কন্ট্রোল","maxTokens":"সর্বোচ্চ টোকেন","maxTokensDescription":"প্রতিক্রিয়ায় তৈরি করার সর্বোচ্চ টোকেন সংখ্যা।","repeatPenalty":"রিপিট পেনাল্টি","repeatPenaltyDescription":"পুনরাবৃত্ত টোকেনকে শাস্তি দেয়। উচ্চ মান পুনরাবৃত্তি কমায়।","contextLength":"কনটেক্সট লেংথ","contextLengthDescription":"কথোপকথনের জন্য সর্বোচ্চ কনটেক্সট উইন্ডো সাইজ।","seed":"সিড","optional":"ঐচ্ছিক","random":"র্যান্ডম","seedDescription":"পুনরুৎপাদনযোগ্য আউটপুটের জন্য একটি নির্দিষ্ট সিড সেট করুন।","advancedOptions":"উন্নত অপশন","presencePenalty":"প্রেজেন্স পেনাল্টি","presencePenaltyDescription":"কনটেক্সটে প্রদর্শিত টোকেনকে শাস্তি দেয়।","frequencyPenalty":"ফ্রিকোয়েন্সি পেনাল্টি","frequencyPenaltyDescription":"ঘন ঘন ব্যবহৃত টোকেনকে শাস্তি দেয়।","stopSequences":"স্টপ সিকোয়েন্স","commaSeparated":"কমা দ্বারা পৃথক","stopSequencesDescription":"কাস্টম টোকেন যা পাওয়া গেলে জেনারেশন বন্ধ হবে।","resetDefaults":"ডিফল্টে রিসেট করুন","saveOptions":"অপশন সংরক্ষণ করুন","embeddingSettings":"এমবেডিং সেটিংস","enableEmbeddings":"ডকুমেন্ট এমবেডিং সক্রিয় করুন","advancedSettings":"উন্নত জেনারেশন সেটিংস","advancedSettingsDescription":"স্যাম্পলিং, টোকেন সীমা, কন্টেক্সট, পেনাল্টি এবং স্টপ সিকোয়েন্স"},"documents":{"title":"ডকুমেন্ট সেটিংস","embeddings":{"title":"এমবেডিং","enable":"ডকুমেন্ট এমবেডিং সক্রিয় করুন","model":"এমবেডিং মডেল","modelDescription":"ডকুমেন্ট এমবেডিং এর জন্য ব্যবহৃত মডেল নির্বাচন করুন","chunkSize":"চাংক সাইজ","chunkSizeInTokens":"(টোকেনে)","chunkSizeDescription":"এমবেডিং এর জন্য টেক্সট চাংকের সাইজ","chunkOverlap":"চাংক ওভারল্যাপ","chunkOverlapInTokens":"(টোকেনে)","chunkOverlapDescription":"পরপর চাংকের মধ্যে ওভারল্যাপ","similarityThreshold":"সিমিলারিটি থ্রেশহোল্ড","similarityDescription":"ফলাফল অন্তর্ভুক্ত করার ন্যূনতম সিমিলারিটি স্কোর","status":"এমবেডিং স্ট্যাটাস","statusLabel":"স্ট্যাটাস","available":"উপলব্ধ","unavailable":"অনুপলব্ধ","chunksWithEmbeddings":"এমবেডিং সহ চাংক","coverage":"কভারেজ","regenerate":"এমবেডিং পুনরায় তৈরি করুন","regenerating":"পুনরায় তৈরি হচ্ছে..."},"collections":{"title":"জ্ঞান সংগ্রহ","description":"নথিগুলিকে সংগ্রহে ভাগ করুন এবং যেকোনো চ্যাটে সংযুক্ত করুন।","namePlaceholder":"সংগ্রহের নাম","create":"তৈরি করুন","none":"কোনো সংগ্রহ নেই","deleteConfirm":"এই সংগ্রহটি মুছবেন? ভিতরের নথিগুলি থাকবে।"}},"tts":{"title":"টেক্সট-টু-স্পিচ","description":"বার্তা জোরে পড়ার জন্য টেক্সট-টু-স্পিচ সেটিংস কনফিগার করুন","loadingProviders":"TTS প্রোভাইডার লোড হচ্ছে...","noProviders":"কোনো TTS প্রোভাইডার নেই","noProvidersDescription":"টেক্সট-টু-স্পিচ সক্রিয় করতে TTS সমর্থন সহ একটি প্লাগইন কনফিগার করুন","enable":"TTS সক্রিয় করুন","enableDescription":"সহকারী বার্তার জন্য টেক্সট-টু-স্পিচ অনুমতি দিন","autoPlay":"প্রতিক্রিয়া অটো-প্লে","autoPlayDescription":"স্বয়ংক্রিয়ভাবে নতুন সহকারী বার্তা জোরে পড়ুন","streamSentences":"বাক্য স্ট্রিম করুন","streamSentencesDescription":"সম্পূর্ণ বার্তার জন্য অপেক্ষা না করে বাক্য অনুযায়ী অডিও প্লে করুন। দীর্ঘ বার্তায় টাইমআউট এড়াতে স্থানীয় TTS-এর জন্য প্রস্তাবিত।","voiceConfiguration":"ভয়েস কনফিগারেশন","model":"TTS মডেল","modelDescription":"টেক্সট-টু-স্পিচ জেনারেশনের জন্য মডেল নির্বাচন করুন","voice":"ভয়েস","selectVoice":"একটি ভয়েস নির্বাচন করুন","voiceDescription":"টেক্সট-টু-স্পিচের জন্য ভয়েস বেছে নিন","speed":"গতি","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"উপলব্ধ প্রোভাইডার","models":"মডেল","test":"পরীক্ষা","testing":"পরীক্ষা হচ্ছে...","stop":"বন্ধ"},"imageGen":{"title":"ইমেজ জেনারেশন","description":"ইমেজ জেনারেশন সেটিংস এবং প্রোভাইডার কনফিগার করুন","loadingProviders":"ইমেজ জেনারেশন প্রোভাইডার লোড হচ্ছে...","noProviders":"কোনো ইমেজ জেনারেশন প্রোভাইডার নেই","noProvidersDescription":"ইমেজ জেনারেশন সমর্থন সহ একটি প্লাগইন কনফিগার করুন","enable":"ইমেজ জেনারেশন সক্রিয় করুন","enableDescription":"কথোপকথনে AI ইমেজ জেনারেশন অনুমতি দিন","configuration":"কনফিগারেশন","model":"মডেল","modelDescription":"ইমেজ জেনারেশনের জন্য মডেল নির্বাচন করুন","size":"সাইজ","sizeDescription":"তৈরি ইমেজের রেজোলিউশন","quality":"কোয়ালিটি","qualityDescription":"তৈরি ইমেজের কোয়ালিটি লেভেল","style":"স্টাইল","styleDescription":"তৈরি ইমেজের স্টাইল প্রিসেট","availableProviders":"উপলব্ধ প্রোভাইডার","models":"মডেল"},"data":{"title":"ডেটা ম্যানেজমেন্ট","export":"ডেটা এক্সপোর্ট","exportDescription":"পছন্দ, সেশন এবং ডকুমেন্ট সহ আপনার সব ডেটা ডাউনলোড করুন।","exportAll":"সব ডেটা এক্সপোর্ট করুন","import":"ডেটা ইম্পোর্ট","importDescription":"পূর্ববর্তী এক্সপোর্ট থেকে ডেটা ইম্পোর্ট করুন।","importData":"ডেটা ইম্পোর্ট করুন","importing":"ইম্পোর্ট হচ্ছে...","clearSessions":"সেশন মুছুন","clearSessionsDescription":"সব চ্যাট সেশন মুছুন। এই ক্রিয়া পূর্বাবস্থায় ফেরানো যাবে না।","clearAll":"সব মুছুন","clearing":"মোছা হচ্ছে...","importOptions":"ইম্পোর্ট অপশন","importOptionsDescription":"বিদ্যমান ডেটা কীভাবে হ্যান্ডেল করতে হবে তা বেছে নিন","skipDuplicates":"ডুপ্লিকেট স্কিপ করুন","overwrite":"বিদ্যমান ওভাররাইট করুন","importResults":"ইম্পোর্ট ফলাফল","preferences":"পছন্দসমূহ","imported":"ইম্পোর্ট করা হয়েছে","failed":"ব্যর্থ","sessions":"সেশন","importedLabel":"ইম্পোর্ট করা হয়েছে","skipped":"স্কিপ করা হয়েছে","documents":"ডকুমেন্ট","errors":"ত্রুটি","archivedChats":{"title":"সংরক্ষণাগারভুক্ত চ্যাট","empty":"কোনো সংরক্ষণাগারভুক্ত চ্যাট নেই","unarchive":"সংরক্ষণাগার থেকে সরান"}},"about":{"title":"সম্পর্কে","versionLabel":"সংস্করণ","ollama":{"title":"Ollama স্ট্যাটাস","version":"সংস্করণ","healthy":"সুস্থ","unhealthy":"অসুস্থ"},"stats":{"models":"মডেল","sessions":"সেশন"},"features":{"privacy":{"title":"গোপনীয়তা প্রথমে","description":"আপনার ডেটা আপনার ডিভাইসে থাকে"},"openSource":{"title":"ওপেন সোর্স","description":"বিনামূল্যে এবং ওপেন সোর্স সফটওয়্যার"},"localInference":{"title":"লোকাল ইনফারেন্স","description":"Ollama দিয়ে স্থানীয়ভাবে AI মডেল চালান"}},"openSourceBy":"{{company}} দ্বারা ওপেন সোর্স","links":{"title":"লিংক","github":"GitHub","githubDescription":"সোর্স কোড দেখুন এবং অবদান রাখুন","website":"ওয়েবসাইট","websiteDescription":"আমাদের ওয়েবসাইট দেখুন","ollama":"Ollama","ollamaDescription":"Ollama সম্পর্কে আরও জানুন","documentation":"Documentation","reportIssue":"সমস্যা রিপোর্ট করুন","reportIssueDescription":"বাগ রিপোর্ট এবং ফিচার অনুরোধ","gitlab":"GitLab Mirror","gitlabDescription":"Self-hosted GitLab repository","documentationDescription":"Guides, tutorials and API reference"},"version":"সংস্করণ {{version}}"},"groups":{"general":"সাধারণ","chat":"চ্যাট","media":"কণ্ঠ ও ছবি","connections":"সংযোগ"}}`),models:{title:`মডেল`,subtitle:`আপনার Ollama মডেল পুল, পরিচালনা এবং মনিটর করুন`,installed:`ইনস্টল করা মডেল`,available:`উপলব্ধ মডেল`,pull:`মডেল পুল করুন`,pulling:`পুল হচ্ছে...`,delete:`মডেল মুছুন`,deleting:`মোছা হচ্ছে...`,size:`সাইজ`,modified:`পরিবর্তিত`,family:`ফ্যামিলি`,parameters:`প্যারামিটার`,quantization:`কোয়ান্টাইজেশন`,noModels:`কোনো মডেল ইনস্টল করা নেই`,pullFirst:`শুরু করতে একটি মডেল পুল করুন`,noModelsFound:`কোনো মডেল পাওয়া যায়নি`},personas:{title:`পার্সোনা`,create:`পার্সোনা তৈরি করুন`,edit:`পার্সোনা সম্পাদনা করুন`,delete:`পার্সোনা মুছুন`,name:`নাম`,description:`বিবরণ`,systemPrompt:`সিস্টেম প্রম্পট`,model:`মডেল`,avatar:`অবতার`,background:`ব্যাকগ্রাউন্ড`,noPersonas:`কোনো পার্সোনা তৈরি করা হয়নি`,createFirst:`আপনার চ্যাট অভিজ্ঞতা কাস্টমাইজ করতে আপনার প্রথম পার্সোনা তৈরি করুন`},gallery:{title:`গ্যালারি`,subtitle:`আপনার AI-তৈরি ইমেজ গ্যালারি`,imageCount:`{{count}}টি ইমেজ`,generate:`ইমেজ তৈরি করুন`,generateDescription:`AI দিয়ে ইমেজ তৈরি করুন`,generating:`তৈরি হচ্ছে...`,prompt:`প্রম্পট`,promptPlaceholder:`আপনি যে ইমেজ তৈরি করতে চান তা বর্ণনা করুন...`,noImages:`এখনও কোনো ইমেজ তৈরি হয়নি`,download:`ডাউনলোড`,delete:`মুছুন`,regenerate:`পুনরায় তৈরি করুন`,model:`মডেল`,size:`সাইজ`,quality:`কোয়ালিটি`,created:`তৈরি করা হয়েছে`},errors:{generic:`একটি ত্রুটি ঘটেছে`,network:`নেটওয়ার্ক ত্রুটি। আপনার সংযোগ পরীক্ষা করুন।`,unauthorized:`এই ক্রিয়া সম্পাদন করার অনুমতি নেই।`,notFound:`অনুরোধকৃত রিসোর্স পাওয়া যায়নি।`,serverError:`সার্ভার ত্রুটি। পরে আবার চেষ্টা করুন।`,validation:`আপনার ইনপুট পরীক্ষা করুন এবং আবার চেষ্টা করুন।`},keyboard:{title:`কীবোর্ড শর্টকাট`,toggleSidebar:`সাইডবার টগল করুন`,openSettings:`সেটিংস খুলুন`,toggleDarkMode:`ডার্ক মোড টগল করুন`,showShortcuts:`কীবোর্ড শর্টকাট দেখান`,closeModals:`মোডাল বন্ধ করুন`,groups:{navigation:`নেভিগেশন`,settings:`সেটিংস`,general:`সাধারণ`,chat:`চ্যাট`},actions:{sendMessage:`বার্তা পাঠান`,newLine:`বার্তায় নতুন লাইন`},footer:`এই সাহায্য দেখাতে {{key1}} বা {{key2}} চাপুন`,tooltip:`কীবোর্ড শর্টকাট`},modelManager:{title:`মডেল`,loading:`মডেল লোড হচ্ছে...`,systemStatus:{online:`Ollama অনলাইন`,offline:`Ollama অফলাইন`,models:`মডেল`,models_plural:`মডেল`,running:`চলমান`,vram:`VRAM`},sections:{pull:`নতুন মডেল পুল করুন`,library:`লাইব্রেরি ব্রাউজ করুন`,running:`চলমান মডেল`,local:`লোকাল মডেল`,advanced:`উন্নত অ্যাকশন`,huggingface:`HuggingFace Hub`},pull:{placeholder:`মডেলের নাম লিখুন (যেমন llama3.2:3b, deepseek-r1:14b)`,button:`পুল`,cancel:`বাতিল`,popular:`জনপ্রিয় মডেল:`,browseAll:`ollama.com এ সব মডেল ব্রাউজ করুন`,success:`মডেল {{name}} সফলভাবে পুল করা হয়েছে`,cancelled:`মডেল পুল বাতিল করা হয়েছে`,failed:`মডেল পুল করতে ব্যর্থ`,enterName:`অনুগ্রহ করে একটি মডেলের নাম লিখুন`,restricted:`এই ইনস্ট্যান্সে মডেল ইনস্টলেশন শুধুমাত্র অ্যাডমিনদের জন্য সীমাবদ্ধ।`},progress:{starting:`শুরু হচ্ছে...`,pulling:`মডেল ডাউনলোড হচ্ছে...`,pullingLayer:`ডাউনলোড হচ্ছে`,verifying:`অখণ্ডতা যাচাই হচ্ছে...`,verifyingDigest:`sha256 ডাইজেস্ট যাচাই হচ্ছে`,writing:`ম্যানিফেস্ট লেখা হচ্ছে...`,cleaning:`পরিষ্কার করা হচ্ছে...`},library:{available:`উপলব্ধ`,search:`মডেল অনুসন্ধান করুন...`,noResults:`আপনার মানদণ্ডের সাথে মিলে যায় এমন কোনো মডেল পাওয়া যায়নি`,installed:`ইনস্টল করা`,more:`+{{count}} আরও`,refresh:`লাইব্রেরি রিফ্রেশ করুন`},local:{noModels:`এখনও কোনো মডেল ইনস্টল করা হয়নি`,pullToStart:`শুরু করতে উপরে একটি মডেল পুল করুন`,installed:`ইনস্টল করা`,running:`চলমান`,info:`তথ্য`,copy:`কপি`,delete:`মুছুন`,deleteConfirm:`আপনি কি মডেল "{{name}}" মুছতে চান?`,deleteSuccess:`মডেল {{name}} সফলভাবে মোছা হয়েছে`,deleteFailed:`মডেল মুছতে ব্যর্থ`},advanced:{createModel:`মডেল তৈরি করুন`,fromModelfile:`Modelfile থেকে`,copyModel:`মডেল কপি করুন`,duplicateExisting:`বিদ্যমান ডুপ্লিকেট করুন`,testEmbeddings:`এমবেডিং পরীক্ষা করুন`,generateVectors:`ভেক্টর তৈরি করুন`,healthCheck:`হেলথ চেক`,testConnection:`সংযোগ পরীক্ষা করুন`,healthy:`Ollama সুস্থ!`},modals:{details:{title:`মডেল বিবরণ`,info:`মডেল তথ্য`,family:`ফ্যামিলি`,parameters:`প্যারামিটার`,quantization:`কোয়ান্টাইজেশন`,format:`ফরম্যাট`,systemPrompt:`সিস্টেম প্রম্পট`,template:`টেমপ্লেট`,license:`লাইসেন্স`,modelfile:`Modelfile`,noDetails:`কোনো বিবরণ উপলব্ধ নেই`},copy:{title:`মডেল কপি করুন`,source:`সোর্স মডেল`,selectModel:`একটি মডেল নির্বাচন করুন...`,newName:`নতুন মডেল নাম`,placeholder:`যেমন my-custom-model`,copying:`কপি হচ্ছে...`,button:`মডেল কপি করুন`,success:`মডেল {{name}} এ কপি করা হয়েছে`,failed:`মডেল কপি করতে ব্যর্থ`,enterBoth:`অনুগ্রহ করে সোর্স এবং ডেস্টিনেশন উভয় নাম লিখুন`},create:{title:`কাস্টম মডেল তৈরি করুন`,name:`মডেল নাম`,namePlaceholder:`যেমন my-assistant`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
2
+ SYSTEM You are a helpful assistant.`,see:`দেখুন`,docs:`Modelfile ডকস`,docsLink:`সিনট্যাক্স রেফারেন্সের জন্য`,creating:`তৈরি হচ্ছে...`,button:`মডেল তৈরি করুন`,success:`মডেল {{name}} সফলভাবে তৈরি হয়েছে`,failed:`মডেল তৈরি করতে ব্যর্থ`,enterBoth:`অনুগ্রহ করে মডেল নাম এবং Modelfile কন্টেন্ট লিখুন`},embeddings:{title:`এমবেডিং পরীক্ষা করুন`,model:`এমবেডিং মডেল`,selectModel:`একটি মডেল নির্বাচন করুন...`,recommended:`সুপারিশকৃত: nomic-embed-text, mxbai-embed-large`,input:`ইনপুট টেক্সট`,placeholder:`এমবেডিং তৈরির জন্য টেক্সট লিখুন...`,generating:`তৈরি হচ্ছে...`,button:`এমবেডিং তৈরি করুন`,result:`ফলাফল ({{count}} মাত্রা)`,success:`{{count}}-মাত্রার এমবেডিং ভেক্টর তৈরি হয়েছে`,failed:`এমবেডিং তৈরি করতে ব্যর্থ`,enterBoth:`অনুগ্রহ করে একটি মডেল নির্বাচন করুন এবং টেক্সট লিখুন`}},huggingface:{browseAll:`HuggingFace-এ সব দেখুন`,checkingGguf:`GGUF ফাইল খোঁজা হচ্ছে...`,noGgufAvailable:`সরাসরি Ollama পুলের জন্য কোনো GGUF ফাইল নেই`,ggufFilesCount:`GGUF ফাইল ({{count}}) - সরাসরি Ollama-তে পুল করুন`,noModelsFound:`কোনো মডেল পাওয়া যায়নি`,noResults:`কোনো মডেল পাওয়া যায়নি। আপনার অনুসন্ধান বা ফিল্টার পরিবর্তন করুন।`,browseAllLink:`সব দেখুন`,search:`HuggingFace মডেল খুঁজুন...`,by:`দ্বারা`,gated:`সীমাবদ্ধ অ্যাক্সেস`,viewOnHF:`HuggingFace-এ দেখুন`,sortDownloads:`ডাউনলোড`,sortLikes:`লাইক`,sortRecent:`সাম্প্রতিক`,taskTextGeneration:`টেক্সট জেনারেশন`,taskTextToSpeech:`টেক্সট টু স্পিচ`,taskTextToImage:`টেক্সট টু ইমেজ`,taskSpeechRecognition:`স্পিচ রিকগনিশন`,tasks:{textGen:`টেক্সট জেনারেশন`,tts:`টেক্সট টু স্পিচ`,image:`টেক্সট টু ইমেজ`,stt:`স্পিচ রিকগনিশন`},sort:{downloads:`সর্বাধিক ডাউনলোড`,likes:`সর্বাধিক জনপ্রিয়`,recent:`সম্প্রতি আপডেট`}}},personaManager:{title:`পার্সোনা`,subtitle:`কাস্টম ব্যক্তিত্ব, স্মৃতি এবং আচরণ সহ AI পার্সোনা তৈরি এবং পরিচালনা করুন`,loading:`পার্সোনা লোড হচ্ছে...`,createButton:`পার্সোনা তৈরি করুন`,importExport:`ইম্পোর্ট/এক্সপোর্ট`,stats:{title:`আপনার পার্সোনা`,count:`{{count}}টি পার্সোনা তৈরি হয়েছে`,count_plural:`{{count}}টি পার্সোনা তৈরি হয়েছে`},empty:{title:`এখনও কোনো পার্সোনা নেই`,description:`ব্যক্তিগতকৃত AI ইন্টারঅ্যাকশন শুরু করতে আপনার প্রথম পার্সোনা তৈরি করুন`,button:`আপনার প্রথম পার্সোনা তৈরি করুন`},deleteConfirm:`আপনি কি "{{name}}" মুছতে চান?`,deleteSuccess:`পার্সোনা "{{name}}" সফলভাবে মোছা হয়েছে`,downloadSuccess:`পার্সোনা "{{name}}" সফলভাবে ডাউনলোড হয়েছে`,failed:`পার্সোনা {{action}} করতে ব্যর্থ`},personaForm:{title:{create:`নতুন পার্সোনা তৈরি করুন`,edit:`পার্সোনা সম্পাদনা করুন`},subtitle:{create:`কাস্টম ব্যক্তিত্ব, মেমরি সিস্টেম এবং অ্যাডাপ্টিভ লার্নিং ক্ষমতা সহ একটি নতুন AI পার্সোনা তৈরি করুন`,edit:`উন্নত মেমরি, অ্যাডাপ্টিভ লার্নিং এবং বুদ্ধিমান প্যারামিটার সহ আপনার AI পার্সোনা কাস্টমাইজ করুন`},loading:`ফর্ম লোড হচ্ছে...`,saved:`সংরক্ষিত`,tabs:{basic:`মৌলিক`,parameters:`প্যারামিটার`,memory:`মেমরি এবং লার্নিং`,advanced:`উন্নত`},basic:{name:`নাম`,namePlaceholder:`পার্সোনার নাম লিখুন`,model:`মডেল`,selectModel:`একটি মডেল নির্বাচন করুন`,description:`বিবরণ`,descriptionPlaceholder:`আপনার পার্সোনা বর্ণনা করুন...`,systemPrompt:`সিস্টেম প্রম্পট`,systemPromptPlaceholder:`আপনার পার্সোনার আচরণ সংজ্ঞায়িত করে এমন সিস্টেম প্রম্পট লিখুন...`,systemPromptHint:`সিস্টেম প্রম্পট নির্ধারণ করে আপনার পার্সোনা কীভাবে আচরণ করবে এবং প্রতিক্রিয়া জানাবে।`},parameters:{temperature:`টেম্পারেচার`,temperatureHint:`সৃজনশীলতা বনাম ধারাবাহিকতা নিয়ন্ত্রণ করে`,topP:`Top-P`,topPHint:`প্রতিক্রিয়া বৈচিত্র্য নিয়ন্ত্রণ করে`,topK:`Top-K`,topKHint:`শব্দভান্ডার শীর্ষ-k টোকেনে সীমাবদ্ধ করে`,contextWindow:`কনটেক্সট উইন্ডো`,contextWindowHint:`সর্বোচ্চ কথোপকথন ইতিহাসের দৈর্ঘ্য`,maxTokens:`সর্বোচ্চ টোকেন`,maxTokensHint:`সর্বোচ্চ প্রতিক্রিয়ার দৈর্ঘ্য`,repeatPenalty:`রিপিট পেনাল্টি`,repeatPenaltyHint:`পুনরাবৃত্তিমূলক প্রতিক্রিয়া কমায়`},memory:{title:`মেমরি সিস্টেম`,subtitle:`পার্সোনা সময়ের সাথে কথোপকথন মনে রাখে`,enableHint:`আপনার পার্সোনাকে কথোপকথন মনে রাখতে এবং সময়ের সাথে কনটেক্সট তৈরি করতে মেমরি সিস্টেম সক্রিয় করুন।`,loading:`মেমরি স্ট্যাটাস লোড হচ্ছে...`,noData:`এখনও কোনো মেমরি ডেটা নেই`,memories:`স্মৃতি`,mbUsed:`MB ব্যবহৃত`,lastBackup:`শেষ ব্যাকআপ`,never:`কখনো না`,maxMemories:`সর্বোচ্চ স্মৃতি`,maxMemoriesHint:`এই পার্সোনা কতগুলি স্মৃতি সংরক্ষণ করতে পারে`,retention:`মেমরি রিটেনশন`,retentionHint:`ক্লিনআপের আগে স্মৃতি রাখার দিন`,autoCleanup:`পুরানো স্মৃতি স্বয়ংক্রিয়-ক্লিনআপ`,wipeAll:`সব স্মৃতি মুছুন`,wipeCannot:`এটি পূর্বাবস্থায় ফেরানো যাবে না`,wipeButton:`মুছুন`,wiping:`মোছা হচ্ছে...`,wipeConfirm:`আপনি কি সব স্মৃতি মুছতে চান? এটি পূর্বাবস্থায় ফেরানো যাবে না।`,wipeSuccess:`{{count}}টি স্মৃতি মোছা হয়েছে`},learning:{title:`অ্যাডাপ্টিভ লার্নিং`,subtitle:`পার্সোনা ইন্টারঅ্যাকশনের উপর ভিত্তি করে বিকশিত হয়`,enableHint:`আপনার পার্সোনাকে আপনার ইন্টারঅ্যাকশনের উপর ভিত্তি করে বিকশিত এবং প্রতিক্রিয়া ব্যক্তিগতকৃত করতে অ্যাডাপ্টিভ লার্নিং সক্রিয় করুন।`,speed:`লার্নিং স্পিড`,slow:`ধীর`,slowDesc:`ধীরে ধীরে পরিবর্তন`,balanced:`সুষম`,balancedDesc:`মাঝারি গতি`,fast:`দ্রুত`,fastDesc:`দ্রুত অভিযোজন`,autoAdapt:`ব্যবহারকারীর পছন্দে স্বয়ং-অভিযোজিত`,whatLearns:`পার্সোনা যা শেখে:`,conversationTone:`কথোপকথনের স্বর`,responseStyle:`প্রতিক্রিয়া শৈলী`,userPreferences:`ব্যবহারকারীর পছন্দ`,topicInterests:`বিষয় আগ্রহ`},advanced:{embeddingModel:`এমবেডিং মডেল`,embeddingHint:`মেমরি এনকোডিং এবং সেমান্টিক সার্চের জন্য ব্যবহৃত মডেল নির্বাচন করুন। এমবেডিং মডেলগুলি প্রথমে দেখানো হয়, তারপর অন্যান্য উপলব্ধ মডেল।`,noModels:`কোনো মডেল পাওয়া যায়নি`,embeddingModels:`এমবেডিং মডেল`,otherModels:`অন্যান্য মডেল`,installHint:`একটি এমবেডিং মডেল ইনস্টল করুন:`,recommended:`সুপারিশকৃত: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`উন্নত সেটিংস সম্পর্কে`,aboutDescription:`এমবেডিং মডেল মেমরি সিস্টেম দ্বারা সেমান্টিক অর্থ বোঝতে এবং কথোপকথনের সময় প্রাসঙ্গিক স্মৃতি খুঁজে পেতে ব্যবহৃত হয়। আপনার ব্যবহারের ক্ষেত্রে এবং উপলব্ধ রিসোর্সের সাথে মেলে এমন একটি মডেল বেছে নিন।`},actions:{cancel:`বাতিল`,save:`সংরক্ষণ`,saving:`সংরক্ষণ হচ্ছে...`,saveClose:`সংরক্ষণ এবং বন্ধ`,create:`তৈরি করুন`},success:{created:`পার্সোনা তৈরি হয়েছে`,updated:`পার্সোনা আপডেট হয়েছে`},error:{saveFailed:`সংরক্ষণ করতে ব্যর্থ`}},personaCard:{enhanced:`উন্নত`,systemPrompt:`সিস্টেম প্রম্পট`,memories:`স্মৃতি`,use:`ব্যবহার করুন`,editTooltip:`পার্সোনা সম্পাদনা করুন`,downloadTooltip:`পার্সোনা ডাউনলোড করুন`,backup:`ব্যাকআপ`,exportDNA:`DNA এক্সপোর্ট করুন`,wipeMemories:`স্মৃতি মুছুন`,wipeConfirm:`আপনি কি এই পার্সোনার সব স্মৃতি মুছতে চান? এই ক্রিয়া পূর্বাবস্থায় ফেরানো যাবে না।`,wipeSuccess:`{{count}}টি স্মৃতি মোছা হয়েছে`,backupSuccess:`পার্সোনা ব্যাকআপ সফলভাবে ডাউনলোড হয়েছে`,dnaSuccess:`পার্সোনা DNA সফলভাবে এক্সপোর্ট হয়েছে`,failed:`{{action}} করতে ব্যর্থ`},userManager:{title:`ব্যবহারকারী ব্যবস্থাপনা`,subtitle:`ব্যবহারকারী অ্যাকাউন্ট এবং অনুমতি পরিচালনা করুন`,pageDescription:`আপনার Libre WebUI ইনস্ট্যান্সের জন্য ব্যবহারকারী অ্যাকাউন্ট, অনুমতি এবং অ্যাক্সেস নিয়ন্ত্রণ পরিচালনা করুন।`,loading:`ব্যবহারকারী লোড হচ্ছে...`,createUser:`ব্যবহারকারী তৈরি করুন`,search:`ব্যবহারকারী অনুসন্ধান করুন...`,noUsers:`কোনো ব্যবহারকারী পাওয়া যায়নি`,noUsersMatching:`আপনার অনুসন্ধানের সাথে মিলে যায় এমন কোনো ব্যবহারকারী নেই`,columns:{user:`ব্যবহারকারী`,email:`ইমেইল`,role:`ভূমিকা`,created:`তৈরি করা হয়েছে`,actions:`অ্যাকশন`},roles:{admin:`অ্যাডমিন`,user:`ব্যবহারকারী`},noEmail:`কোনো ইমেইল নেই`,deleteConfirm:`আপনি কি ব্যবহারকারী "{{name}}" মুছতে চান?`,deleteSuccess:`ব্যবহারকারী সফলভাবে মোছা হয়েছে`,deleteFailed:`ব্যবহারকারী মুছতে ব্যর্থ`,cannotDeleteSelf:`আপনি নিজের অ্যাকাউন্ট মুছতে পারবেন না`,form:{title:{create:`ব্যবহারকারী তৈরি করুন`,edit:`ব্যবহারকারী সম্পাদনা করুন`},username:`ব্যবহারকারীর নাম`,usernamePlaceholder:`ব্যবহারকারীর নাম লিখুন`,email:`ইমেইল`,emailPlaceholder:`ইমেইল লিখুন (ঐচ্ছিক)`,password:`পাসওয়ার্ড`,passwordPlaceholder:`পাসওয়ার্ড লিখুন`,passwordHint:`বর্তমান পাসওয়ার্ড রাখতে খালি রাখুন`,role:`ভূমিকা`,creating:`তৈরি হচ্ছে...`,updating:`আপডেট হচ্ছে...`,createButton:`ব্যবহারকারী তৈরি করুন`,updateButton:`ব্যবহারকারী আপডেট করুন`,createSuccess:`ব্যবহারকারী সফলভাবে তৈরি হয়েছে`,updateSuccess:`ব্যবহারকারী সফলভাবে আপডেট হয়েছে`,createFailed:`ব্যবহারকারী তৈরি করতে ব্যর্থ`,updateFailed:`ব্যবহারকারী আপডেট করতে ব্যর্থ`},approval:{title:`অপেক্ষমাণ অনুমোদন`,description:`এই ইনস্ট্যান্সে প্রবেশের অনুমতি দেওয়ার আগে নতুন নিবন্ধনগুলি পর্যালোচনা করুন।`,registered:`নিবন্ধিত`,activate:`অ্যাকাউন্ট সক্রিয় করুন`,reject:`নিবন্ধন প্রত্যাখ্যান করুন`,approved:`{{name}} এখন সাইন ইন করতে পারবেন।`,failed:`অ্যাকাউন্টটি অনুমোদন করা যায়নি।`,notification:`{{count}}টি নিবন্ধন আপনার অনুমোদনের অপেক্ষায় আছে।`,notificationBadge:`{{count}}টি অপেক্ষমাণ ব্যবহারকারী অনুমোদন`}},chatHistory:{label:`কথোপকথনের ইতিহাস`,jumpToTurn:`পর্ব {{index}} / {{total}}-এ যান`},chatMessage:{you:`আপনি`,assistant:`সহকারী`,system:`সিস্টেম`,copy:`কপি`,copyMessage:`বার্তা কপি করুন`,copied:`কপি হয়েছে!`,regenerate:`পুনরায় তৈরি করুন`,regenerateResponse:`প্রতিক্রিয়া পুনরায় তৈরি করুন`,edit:`সম্পাদনা`,editSystemMessage:`সিস্টেম বার্তা সম্পাদনা করুন`,saveChanges:`পরিবর্তন সংরক্ষণ করুন`,cancelEditing:`সম্পাদনা বাতিল করুন`,saveAndSubmit:`সংরক্ষণ ও পাঠান`,goodResponse:`ভালো উত্তর`,badResponse:`খারাপ উত্তর`,delete:`মুছুন`,deleteConfirm:`এই বার্তা মুছবেন?`,branch:`ব্রাঞ্চ`,speaking:`বলছে...`,speakMessage:`বার্তা বলুন`,stopSpeaking:`বলা বন্ধ করুন`,showMore:`আরও দেখান`,showLess:`কম দেখান`,thinking:`চিন্তা করছে`,thoughtFor:`{{duration}} ধরে ভেবেছে`,hiddenLines:`লুকানো লাইন: {{count}}`,systemMessagePlaceholder:`আপনার সিস্টেম বার্তা লিখুন...`,fullSizeImage:`পূর্ণ সাইজ ইমেজ`,startConversation:`একটি কথোপকথন শুরু করুন`,startConversationDescription:`আপনার AI সহকারীর সাথে চ্যাট শুরু করতে একটি বার্তা পাঠান। প্রশ্ন করুন, কোডে সাহায্য পান, বা একটি স্বাভাবিক কথোপকথন করুন।`,scrollToBottom:`নিচে স্ক্রোল করুন`,newMessages:`নতুন বার্তা`},imageGallery:{title:`ইমেজ গ্যালারি`,noImages:`এখনও কোনো ইমেজ নেই`,noImagesHint:`ডানদিকের প্যানেল ব্যবহার করে আপনার প্রথম ইমেজ তৈরি করুন`,delete:`মুছুন`,download:`ডাউনলোড`,deleteConfirm:`আপনি কি এই ইমেজ মুছতে চান?`,deleteSuccess:`ইমেজ মোছা হয়েছে`,deleteFailed:`ইমেজ মুছতে ব্যর্থ`,downloadFailed:`ইমেজ ডাউনলোড করতে ব্যর্থ`,loadMore:`আরও লোড করুন ({{current}} এর মধ্যে {{total}})`,loadFailed:`গ্যালারি লোড করতে ব্যর্থ`},imageGeneration:{title:`ইমেজ তৈরি করুন`,prompt:`প্রম্পট`,promptPlaceholder:`আপনি যে ইমেজ তৈরি করতে চান তা বর্ণনা করুন...`,model:`মডেল`,selectModel:`মডেল নির্বাচন করুন`,noModels:`কোনো ইমেজ জেনারেশন মডেল উপলব্ধ নেই`,configurePlugin:`ইমেজ জেনারেশন সমর্থন সহ একটি প্লাগইন কনফিগার করুন`,size:`সাইজ`,quality:`কোয়ালিটি`,style:`স্টাইল`,generate:`তৈরি করুন`,generating:`তৈরি হচ্ছে...`,success:`ইমেজ সফলভাবে তৈরি হয়েছে`,failed:`ইমেজ তৈরি করতে ব্যর্থ`,enterPrompt:`অনুগ্রহ করে একটি প্রম্পট লিখুন`,promptTooLong:`প্রম্পট সর্বোচ্চ {{max}} অক্ষরের সীমা অতিক্রম করেছে`},errorBoundary:{title:`কিছু ভুল হয়েছে`,description:`আমরা একটি অপ্রত্যাশিত ত্রুটির সম্মুখীন হয়েছি। অনুগ্রহ করে পেজ রিফ্রেশ করুন।`,tryAgain:`পেজ রিফ্রেশ করুন`,goHome:`হোমে যান`,errorDetails:`ত্রুটির বিবরণ (ডেভেলপমেন্ট)`},documents:{title:`ডকুমেন্ট`,upload:`ডকুমেন্ট আপলোড করুন`,uploading:`আপলোড হচ্ছে...`,noDocuments:`কোনো ডকুমেন্ট আপলোড করা হয়নি`,uploadHint:`আপনার কথোপকথনে ব্যবহার করতে ডকুমেন্ট আপলোড করুন`,delete:`মুছুন`,deleteConfirm:`আপনি কি এই ডকুমেন্ট মুছতে চান?`,deleteSuccess:`ডকুমেন্ট মোছা হয়েছে`,deleteFailed:`ডকুমেন্ট মুছতে ব্যর্থ`,uploadSuccess:`ডকুমেন্ট সফলভাবে আপলোড হয়েছে`,uploadFailed:`ডকুমেন্ট আপলোড করতে ব্যর্থ`,types:`সমর্থিত: PDF, TXT, MD, DOCX`,unsupportedFileType:`শুধুমাত্র PDF এবং TXT ফাইল সমর্থিত`,fileSizeTooLarge:`ফাইল সাইজ ১০MB এর কম হতে হবে`,uploadSuccessWithName:`ডকুমেন্ট "{{name}}" সফলভাবে আপলোড হয়েছে`,removeSuccess:`ডকুমেন্ট সফলভাবে সরানো হয়েছে`,removeFailed:`ডকুমেন্ট সরাতে ব্যর্থ`,removeError:`ডকুমেন্ট সরানোর সময় একটি ত্রুটি ঘটেছে`,clickToUpload:`আপলোড করতে ক্লিক করুন`,orDragAndDrop:`অথবা টেনে আনুন`,fileTypesAndSize:`১০MB পর্যন্ত PDF বা TXT ফাইল`,uploadedDocuments:`আপলোড করা ডকুমেন্ট`,removeDocument:`ডকুমেন্ট সরান`},ttsButton:{speak:`বলুন`,stop:`বন্ধ`,speaking:`বলছে...`,generateFailed:`স্পিচ তৈরি করতে ব্যর্থ`,playbackFailed:`অডিও প্লেব্যাক ব্যর্থ`,stopSpeaking:`বলা বন্ধ করুন`,generatingSpeech:`স্পিচ তৈরি হচ্ছে...`,readAloud:`জোরে পড়ুন`},artifacts:{title:`আর্টিফ্যাক্ট`,code:`কোড`,preview:`প্রিভিউ`,copy:`কোড কপি করুন`,copied:`কপি হয়েছে!`,download:`ডাউনলোড`,expand:`প্রসারিত করুন`,collapse:`সংকুচিত করুন`,openInNewTab:`নতুন ট্যাবে খুলুন`,invalidSvg:`অবৈধ SVG কন্টেন্ট`,invalidJson:`অবৈধ JSON কন্টেন্ট`,previewMode:`প্রিভিউ মোড`,codeMode:`কোড মোড`,copyContent:`কন্টেন্ট কপি করুন`,openInPanel:`প্যানেলে খুলুন`,openInNewWindow:`নতুন উইন্ডোতে খুলুন`,created:`তৈরি করা হয়েছে`,closePanelEsc:`প্যানেল বন্ধ করুন (Esc)`,copyButton:`কপি`,open:`খুলুন`,dragEdgeToResize:`সাইজ পরিবর্তন করতে প্রান্ত টানুন`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`সংস্করণ {{current}} / {{total}}`,previousVersion:`পূর্ববর্তী সংস্করণ`,nextVersion:`পরবর্তী সংস্করণ`},personaImportExport:{title:`পার্সোনা ইম্পোর্ট এবং এক্সপোর্ট`,description:`শেয়ার করতে আপনার পার্সোনা এক্সপোর্ট করুন বা অন্যদের থেকে পার্সোনা ইম্পোর্ট করুন`,exportPersonas:`পার্সোনা এক্সপোর্ট করুন`,importPersonas:`পার্সোনা ইম্পোর্ট করুন`,noPersonasToExport:`এক্সপোর্ট করার জন্য কোনো পার্সোনা নেই`,personasAvailable:`{{count}}টি পার্সোনা উপলব্ধ`,personasAvailable_plural:`{{count}}টি পার্সোনা উপলব্ধ`,exportAll:`সব এক্সপোর্ট করুন`,uploadJsonFile:`JSON ফাইল আপলোড করুন`,pasteJsonLabel:`JSON ডেটা পেস্ট করুন`,pasteJsonPlaceholder:`এখানে পার্সোনা JSON ডেটা পেস্ট করুন...`,importing:`ইম্পোর্ট হচ্ছে...`,importButton:`পার্সোনা ইম্পোর্ট করুন`,expectedFormat:`প্রত্যাশিত JSON ফরম্যাট:`,exportSuccess:`পার্সোনা "{{name}}" সফলভাবে এক্সপোর্ট হয়েছে`,exportFailed:`পার্সোনা এক্সপোর্ট করতে ব্যর্থ`,exportAllSuccess:`সব {{count}}টি পার্সোনা সফলভাবে এক্সপোর্ট হয়েছে`,exportAllFailed:`পার্সোনা এক্সপোর্ট করতে ব্যর্থ`,pasteJsonData:`অনুগ্রহ করে পার্সোনা JSON ডেটা পেস্ট করুন`,importMultipleSuccess:`{{count}}টি পার্সোনা সফলভাবে ইম্পোর্ট হয়েছে`,importMultipleFailed:`{{count}}টি পার্সোনা ইম্পোর্ট করতে ব্যর্থ`,importNoneFailed:`কোনো পার্সোনা ইম্পোর্ট করতে ব্যর্থ`,importSuccess:`পার্সোনা সফলভাবে ইম্পোর্ট হয়েছে`,importFailed:`পার্সোনা ইম্পোর্ট করতে ব্যর্থ`},generationStats:{details:`বিবরণ`,promptTokens:`প্রম্পট টোকেন:`,generatedTokens:`তৈরি টোকেন:`,totalTokens:`মোট টোকেন:`,speed:`গতি:`,promptEval:`প্রম্পট মূল্যায়ন:`,generation:`জেনারেশন:`,modelLoad:`মডেল লোড:`,totalTime:`মোট সময়:`,generatedAt:`তৈরির সময়:`},userMenu:{loggedOut:`সফলভাবে লগ আউট হয়েছে`,pictureUpdated:`প্রোফাইল ছবি আপডেট হয়েছে`,failedUpdateAvatar:`অবতার আপডেট ব্যর্থ`,failedUpdatePicture:`প্রোফাইল ছবি আপডেট ব্যর্থ`,noEmail:`কোনো ইমেইল দেওয়া হয়নি`,changePicture:`ছবি পরিবর্তন করুন`,settings:`সেটিংস`,userManagement:`ব্যবহারকারী ব্যবস্থাপনা`,signOut:`সাইন আউট`,changeProfilePicture:`প্রোফাইল ছবি পরিবর্তন করুন`},pluginManager:{title:`প্লাগইন ম্যানেজার`,upload:`আপলোড`,addJson:`JSON যোগ করুন`,browseHF:`HF Hub ব্রাউজ করুন`,confirmDelete:`আপনি কি এই প্লাগইনটি মুছতে চান?`,uploading:`প্লাগইন আপলোড হচ্ছে...`,pasteJson:`প্লাগইন JSON এখানে পেস্ট করুন...`,installPlugin:`প্লাগইন ইনস্টল করুন`,loading:`প্লাগইন লোড হচ্ছে...`,noPlugins:`কোনো প্লাগইন ইনস্টল করা হয়নি`,noPluginsDescription:`শুরু করতে একটি প্লাগইন ফাইল আপলোড করুন বা JSON থেকে যোগ করুন।`,active:`সক্রিয়`,id:`আইডি`,endpoint:`এন্ডপয়েন্ট`,activate:`সক্রিয় করুন`,deactivate:`নিষ্ক্রিয় করুন`,activePlugin:`সক্রিয় প্লাগইন`,activePluginDescription:`সব চ্যাট অনুরোধ এই প্লাগইনের মাধ্যমে পাঠানো হবে`,variables:{title:`ভেরিয়েবল`,save:`সংরক্ষণ`,saving:`সংরক্ষণ হচ্ছে...`,saved:`ভেরিয়েবল সংরক্ষিত`,saveFailed:`ভেরিয়েবল সংরক্ষণ ব্যর্থ`,resetDefaults:`ডিফল্টে রিসেট`,reset:`ভেরিয়েবল ডিফল্টে রিসেট হয়েছে`,sensitiveSet:`মান সেট করা আছে (পরিবর্তনের জন্য নতুন মান দিন)`,resetFailed:`ভেরিয়েবল রিসেট করতে ব্যর্থ`,showValue:`{{label}} মান দেখান`,hideValue:`{{label}} মান লুকান`,connection:`সংযোগ`,advanced:`উন্নত প্যারামিটার`,inherited:`প্রোভাইডারের ডিফল্ট ব্যবহার করুন`,inheritedValue:`প্রোভাইডারের ডিফল্ট ব্যবহার করুন ({{value}})`,enabled:`সক্ষম`,disabled:`অক্ষম`,required:`একটি মান প্রয়োজন`,fullApiEndpoint:`সম্পূর্ণ API এন্ডপয়েন্ট URL`,endpointHelp:`সম্পূর্ণ রিকোয়েস্ট URL লিখুন, এর অপারেশন পাথ সহ (যেমন, /v1/chat/completions), শুধুমাত্র প্রোভাইডার বেস URL নয়।`,invalidUrl:`একটি বৈধ সম্পূর্ণ API এন্ডপয়েন্ট URL লিখুন, যেমন https://provider.example/v1/chat/completions`,insecureUrl:`API এন্ডপয়েন্টগুলি অবশ্যই HTTP বা HTTPS ব্যবহার করবে।`,httpWarning:`HTTP ক্রেডেনশিয়াল বা ট্রাফিক এনক্রিপ্ট করে না। এটি শুধুমাত্র একটি বিশ্বস্ত নেটওয়ার্কে ব্যবহার করুন।`,invalidBaseUrl:`বেস URL-এ কোনো কোয়েরি স্ট্রিং বা ফ্র্যাগমেন্ট থাকতে পারে না।`,invalidApiPath:`অবশ্যই / দিয়ে শুরু হতে হবে এবং কোনো URL, কোয়েরি, ফ্র্যাগমেন্ট বা .. সেগমেন্ট থাকতে পারবে না`,tooLong:`মানটি অনেক বেশি দীর্ঘ`}},huggingface:{title:`HuggingFace মডেল ব্রাউজার`,subtitle:`Hub থেকে মডেল ব্রাউজ করুন ও নির্বাচন করুন`,searchPlaceholder:`মডেল খুঁজুন...`,filters:`ফিল্টার`,task:`টাস্ক`,sortBy:`সাজান`,noModels:`কোনো মডেল পাওয়া যায়নি`,adjustSearch:`আপনার অনুসন্ধান বা ফিল্টার সামঞ্জস্য করুন`,gated:`সীমাবদ্ধ`,selected:`নির্বাচিত`,select:`নির্বাচন`,refresh:`রিফ্রেশ`,modelsFound:`মডেল পাওয়া গেছে`},demoMode:{title:`ডেমো মোড`,github:`GitHub`},personaBackground:{label:`পটভূমি চিত্র`,uploadBackgroundImage:`পটভূমি চিত্র আপলোড করুন`,dragAndDrop:`একটি চিত্র টেনে আনুন বা ব্রাউজ করতে ক্লিক করুন`,chooseImage:`চিত্র বেছে নিন`,uploading:`আপলোড হচ্ছে...`,enterImageUrl:`অথবা চিত্রের URL প্রবেশ করুন`,supportedFormats:`সমর্থিত: JPG, PNG, GIF, WebP (সর্বোচ্চ 5MB)। প্রশস্ত ল্যান্ডস্কেপ চিত্র সেরা কাজ করে।`,customBackground:`কাস্টম পটভূমি চিত্র`,clickToChange:`পরিবর্তন বা সরাতে ক্লিক করুন`,removed:`পটভূমি সরানো হয়েছে`,uploaded:`পটভূমি সফলভাবে আপলোড হয়েছে`,invalidFile:`একটি বৈধ চিত্র ফাইল নির্বাচন করুন`,fileTooLarge:`পটভূমি চিত্রের আকার 5MB এর কম হতে হবে`,readFailed:`চিত্র ফাইল পড়তে ব্যর্থ`,uploadFailed:`পটভূমি চিত্র আপলোড করতে ব্যর্থ`},modelSelector:{searchInstalled:`Search installed models...`,searchOllama:`Search Ollama library...`,searchHuggingFace:`Search HuggingFace...`,selectModel:`Select Model`,personas:`Personas`,ollamaModels:`Ollama Models`,pluginModels:`Plugin Models`,actions:`Actions`,installed:`Installed`,use:`Use`,pull:`Pull`,pullRestricted:`এই ইনস্ট্যান্সে মডেল ইনস্টলেশন শুধুমাত্র অ্যাডমিনদের জন্য সীমাবদ্ধ।`,adminOnlyPull:`শুধু অ্যাডমিন`},libreClaw:{title:`এজেন্ট`,subtitle:`স্থানীয় এজেন্ট রান, অনুমোদন, সময়সূচী, মেমরি, সরঞ্জাম, এবং ব্যবহার.`,dashboard:`ড্যাশবোর্ড`,connection:{disconnectedTitle:`Libre Claw ডেমন সংযুক্ত নয়`,disconnectedDescription:`স্থানীয়ভাবে <command>libre-claw start</command> দিয়ে শুরু করুন অথবা ব্যাকএন্ড পরিবেশে <env>LIBRE_CLAW_BASE_URL</env> সেট করুন।`},status:{connected:`সংযুক্ত`,disconnected:`সংযোগ বিচ্ছিন্ন`,activeRuns:`{{count}} সক্রিয়`,activeRuns_plural:`{{count}} সক্রিয়`},states:{queued:`সারিবদ্ধ`,running:`চলছে`,blocked:`অবরুদ্ধ`,done:`সম্পন্ন`,failed:`ব্যর্থ হয়েছে`,cancelled:`বাতিল`},startRun:{title:`এজেন্ট রান শুরু করুন`,placeholder:`একটি রেপো পরিদর্শন করতে, একটি বাগ ঠিক করতে, একটি পর্যালোচনা চালাতে, একটি প্রতিবেদনের সময়সূচী করতে Libre Clawকে বলুন...`,chatRun:`চ্যাট রান`,goalMode:`লক্ষ্য মোড`,providerOverride:`প্রদানকারী ওভাররাইড`,modelOverride:`মডেল ওভাররাইড`,run:`চালান`},modelRoute:{title:`মডেল রুট`,providerPlaceholder:`প্রদানকারী`,modelPlaceholder:`মডেল`,persistGlobal:`Libre Claw গ্লোবাল কনফিগারেশনে স্থির থাকুন`,saveModel:`মডেল সংরক্ষণ করুন`,theme:`Libre Claw থিম`,saveTheme:`থিম সংরক্ষণ করুন`},runs:{title:`রানসমূহ`,empty:`এখনও কোনো Libre Claw রান নেই।`},timeline:{title:`রানের টাইমলাইন`,empty:`এর ইভেন্টগুলি পরিদর্শন করতে একটি দৌড় নির্বাচন করুন৷`,streaming:`স্ট্রিমিং...`,assistantResponse:`সহকারীর প্রতিক্রিয়া`,resultOk:`ঠিক আছে`,resultError:`ত্রুটি`,labels:{userMessage:`ব্যবহারকারীর বার্তা`,toolCall:`টুল কল`,toolResult:`টুল ফলাফল`,approvalRequest:`অনুমোদনের অনুরোধ`,approvalResponse:`অনুমোদন প্রতিক্রিয়া`,runStarted:`রান শুরু হয়েছে`,runFinished:`রান শেষ হয়েছে`,usage:`ব্যবহার`,error:`ত্রুটি`}},approvals:{needed:`অনুমোদন প্রয়োজন`,allowOnce:`একবার অনুমতি দিন`,alwaysAllowTool:`সর্বদা টুল মঞ্জুরি`,deny:`প্রত্যাখ্যান করুন`,toolApprovalRequested:`টুল অনুমোদন অনুরোধ করা হয়েছে`},automations:{title:`অটোমেশন`,namePlaceholder:`নাম`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`অটোমেশন প্রম্পট`,create:`তৈরি করুন`,empty:`কোন নির্ধারিত Libre Claw অটোমেশন।`,runNow:`এখন চালান`,pause:`বিরতি`,resume:`পুনরায় শুরু করুন`,routes:{report:`রিপোর্ট`,telegram:`Telegram`},status:{active:`সক্রিয়`,paused:`বিরতি দেওয়া হয়েছে`}},usageFallback:{title:`ব্যবহার এবং ফলব্যাক`,usage:`ব্যবহার`,fallbackRoute:`ফলব্যাক রুট`,noUsage:`এখনও কোন ব্যবহার রেকর্ড.`},metrics:{provider:`প্রদানকারী`,model:`মডেল`,input:`ইনপুট`,output:`আউটপুট`,cached:`ক্যাশে`,reasoning:`যুক্তি`,cost:`খরচ`,tool:`টুল`,resolution:`রেজোলিউশন`,state:`অবস্থা`,stopReason:`বন্ধের কারণ`,tokens:`{{formatted}} টোকেন`,tokens_plural:`{{formatted}} টোকেন`},fallbacks:{tool:`টুল`,unknown:`অজানা`,resolved:`সমাধান করা`,unknownError:`অজানা ত্রুটি`},toasts:{loadStatusFailed:`Libre Claw স্থিতি লোড করা যায়নি`,enterTask:`Libre Claw এর জন্য একটি টাস্ক লিখুন`,runStarted:`Libre Claw রান শুরু হয়েছে`,startRunFailed:`Libre Claw রান শুরু করা যায়নি`,runCancelled:`রান বাতিল হয়েছে`,cancelRunFailed:`রান বাতিল করা যায়নি`,approved:`অনুমোদিত`,denied:`অস্বীকার করেছে`,resolvePermissionFailed:`অনুমতি সমাধান করা যায়নি`,providerModelRequired:`প্রদানকারী এবং মডেল প্রয়োজন`,modelUpdated:`Libre Claw মডেল আপডেট করা হয়েছে`,updateModelFailed:`মডেল আপডেট করা যায়নি`,themeUpdated:`Libre Claw থিম আপডেট করা হয়েছে`,updateThemeFailed:`থিম আপডেট করা যায়নি`,automationRequired:`অটোমেশন নাম, সময়সূচী, এবং প্রম্পট প্রয়োজন`,automationCreated:`অটোমেশন তৈরি করা হয়েছে`,createAutomationFailed:`অটোমেশন তৈরি করা যায়নি`,automationUpdated:`অটোমেশন আপডেট করা হয়েছে`,updateAutomationFailed:`অটোমেশন আপডেট করা যায়নি`}},work:JSON.parse(`{"title":"কাজ","subtitle":"বিচ্ছিন্ন মডেল ওয়ার্কস্পেস","tasks":{"title":"কাজের টাস্ক","subtitle":"স্থায়ী লোকাল ওয়ার্কস্পেস","new":"নতুন টাস্ক","emptyTitle":"এখনো কোনো কাজের টাস্ক নেই","empty":"প্রথম বার্তা পাঠানোর পর আপনার কাজের টাস্কগুলো এখানে দেখা যাবে।","untitled":"শিরোনামহীন টাস্ক","actions":"টাস্কের কাজ","delete":"টাস্ক মুছুন","deleteNamed":"{{title}} মুছুন","deleteConfirm":"“{{title}}” এবং এর ওয়ার্কস্পেস স্থায়ীভাবে মুছবেন?","close":"কাজের টাস্ক বন্ধ করুন","open":"কাজের টাস্ক খুলুন","rename":"টাস্কের শিরোনাম","loading":"টাস্ক লোড হচ্ছে…","notFound":"এই কাজের টাস্কটি পাওয়া যাচ্ছে না","back":"নতুন টাস্ক শুরু করুন","status":"স্ট্যাটাস: {{status}}"},"landing":{"title":"নতুন কাজের টাস্ক শুরু করুন","description":"লোকাল বা কনফিগার করা প্রোভাইডারের মডেলকে একটি স্থায়ী, বিচ্ছিন্ন ওয়ার্কস্পেস দিন। এটি ফাইল পরীক্ষা করতে, টুল চালাতে এবং আপনি ফিরে এলে আগের জায়গা থেকে কাজ চালিয়ে যেতে পারবে।","isolated":"বিচ্ছিন্ন","isolatedBody":"প্রতিটি টাস্কের নিজস্ব কনটেইনার ও ফাইল থাকে।","durable":"স্থায়ী","durableBody":"পরে এর কথোপকথন ও ওয়ার্কস্পেসে ফিরে আসুন।","controlled":"নিয়ন্ত্রিত","controlledBody":"রানটাইম ও টাস্কের ফাইল হোস্ট থেকে বিচ্ছিন্ন থাকে।"},"composer":{"placeholder":"আপনি কী বানাতে বা পরিবর্তন করতে চান তা লিখুন…","model":"কাজের মডেল","noModels":"কাজের সঙ্গে সামঞ্জস্যপূর্ণ কোনো মডেল নেই","cancel":"থামান","send":"চালান","hint":"প্রতিটি টাস্কের নিজস্ব ফাইল ও ইতিহাস থাকে। ব্যবহারের আগে মডেলের আউটপুট যাচাই করুন।","remoteTitle":"রিমোট প্রোভাইডার","remoteHint":"কথোপকথন ও টুলের আউটপুট কনফিগার করা সার্ভিসে পাঠানো হয়। একটি স্বয়ংক্রিয় রান একাধিক প্রোভাইডার কল করতে পারে এবং খরচ হতে পারে। কোনো টুল ফাইলের বিষয়বস্তু ফেরত না দিলে ওয়ার্কস্পেসের ফাইল লোকালেই থাকে।","remoteDismiss":"খারিজ করুন","remoteDismissLabel":"রিমোট প্রোভাইডারের নোটিশ খারিজ করুন","remoteDismissFailed":"রিমোট প্রোভাইডারের পছন্দ সংরক্ষণ করা যায়নি।","noModelSelected":"কাজের সঙ্গে সামঞ্জস্যপূর্ণ কোনো মডেল নির্বাচন করা নেই।"},"conversation":{"ready":"ওয়ার্কস্পেস প্রস্তুত","empty":"নিচে টাস্কটি চালিয়ে যান। এই কথোপকথন ও এর ফাইল এই ওয়ার্কস্পেসের সঙ্গেই থাকবে।","loadOlder":"পুরোনো বার্তা লোড করুন"},"status":{"preparing":"বিচ্ছিন্ন ওয়ার্কস্পেস প্রস্তুত হচ্ছে…","running":"লোকাল ওয়ার্কস্পেসে কাজ চলছে…"},"statusLabels":{"idle":"নিষ্ক্রিয়","thinking":"ভাবছে","complete":"সম্পূর্ণ","needsInput":"ইনপুট প্রয়োজন","error":"ত্রুটি"},"live":{"connecting":"লাইভ আপডেটের সাথে সংযোগ করা হচ্ছে…","reconnecting":"লাইভ আপডেটে পুনরায় সংযোগ করা হচ্ছে…","unavailable":"লাইভ আপডেট পাওয়া যাচ্ছে না","newActivity":"নতুন কার্যকলাপ","skillsLoaded":"ওয়ার্কস্পেস দক্ষতা · {{count}}"},"runtime":{"unavailable":"রানটাইম পাওয়া যাচ্ছে না","ready":"রানটাইম প্রস্তুত","readyOllama":"Docker প্রস্তুত","readyPlugin":"Docker + প্লাগইন প্রস্তুত","readyHybrid":"Docker + মডেল প্রস্তুত","reason":"Docker এবং একটি উপলভ্য Ollama বা প্লাগইন মডেল প্রোভাইডার প্রয়োজন।"},"workspace":{"label":"ওয়ার্কস্পেস ভিউ","files":"ফাইল","activity":"কার্যকলাপ","preview":"প্রিভিউ","resize":"কথোপকথন ও ওয়ার্কস্পেসের আকার বদলান","resizeHint":"আকার বদলাতে টানুন। সূক্ষ্ম নিয়ন্ত্রণে অ্যারো কী ব্যবহার করুন। রিসেট করতে ডাবল-ক্লিক করুন বা Enter চাপুন।","splitSize":"কথোপকথন {{conversation}}%, ওয়ার্কস্পেস {{workspace}}%","terminal":"টার্মিনাল"},"files":{"discard":"সংরক্ষণ না করা ফাইলের পরিবর্তন বাতিল করবেন?","leaveWithDraft":"এই ফাইল ছেড়ে যাবেন? সংরক্ষণ না করা সম্পাদনা ব্রাউজারে খসড়া হিসেবে থাকবে।","up":"মূল ফোল্ডার","back":"ফাইলে ফিরে যান","empty":"এই ফোল্ডারে এখনো কোনো ফাইল নেই।","select":"দেখতে ও সম্পাদনা করতে একটি ফাইল বেছে নিন।","editorLabel":"ফাইল এডিটর: {{path}}","format":"ফরম্যাট","formatted":"কোড ফরম্যাট করা হয়েছে।","formatFailed":"এই ফাইল ফরম্যাট করা যায়নি।","formatShortcut":"ফরম্যাট (Shift+Alt+F)","formatTooLarge":"শুধু 100,000 অক্ষর ও 4,000 লাইনের কম ফাইল ফরম্যাট করা যাবে।","formatUnsupported":"এই ধরনের ফাইলে ফরম্যাটিং উপলভ্য নয়।","saveShortcut":"সংরক্ষণ (⌘/Ctrl+S)","highlightPaused":"সম্পাদনা দ্রুত রাখতে বড় ফাইলে লাইভ হাইলাইটিং বিরত রাখা হয়েছে।","plainTextLarge":"প্লেইন টেক্সট · বড় ফাইল","changes":"পরিবর্তনসমূহ","changesSince":"গত পালার পর থেকে কী পরিবর্তিত হয়েছে","diffLabel":"গত পালার পর থেকে পরিবর্তন: {{path}}","diffFolded":"{{count}}টি অপরিবর্তিত লাইন"},"activity":{"empty":"কমান্ড, ফাইল অপারেশন ও টুলের ফলাফল এখানে দেখা যাবে।","toolActivity":"টুলের কার্যকলাপ","details":"বিস্তারিত","kinds":{"message":"বার্তা","toolCall":"টুল কল","toolResult":"টুলের ফলাফল","error":"ত্রুটি"}},"preview":{"command":"ঐচ্ছিক স্টার্ট কমান্ড","start":"প্রিভিউ শুরু করুন","stop":"প্রিভিউ থামান","open":"খুলুন","starting":"প্রিভিউ শুরু হচ্ছে…","frameTitle":"ওয়ার্কস্পেস প্রিভিউ","failed":"প্রিভিউ শুরু করা যায়নি। কার্যকলাপ দেখুন, তারপর অন্য কমান্ড চেষ্টা করুন।","empty":"এখানে দেখতে এই ওয়ার্কস্পেসের ভেতর অ্যাপটি চালু করুন।"},"mobile":{"surface":"টাস্ক ভিউ","conversation":"কথোপকথন","workspace":"ওয়ার্কস্পেস"},"toasts":{"runFailed":"কাজের টাস্ক শুরু করা যায়নি।","updateFailed":"এই টাস্ক আপডেট করা যায়নি।","renameFailed":"এই টাস্কের নাম পরিবর্তন করা যায়নি।","cancelled":"কাজের রান থামানো হয়েছে।","cancelFailed":"কাজের রান থামানো যায়নি।","deleteFailed":"এই কাজের টাস্ক মুছতে পারেনি।","saveFailed":"এই ফাইল সংরক্ষণ করা যায়নি।","saved":"ফাইল সংরক্ষণ করা হয়েছে।","previewFailed":"প্রিভিউ শুরু করা যায়নি।","previewStopFailed":"প্রিভিউ থামানো যায়নি।"},"terminal":{"connecting":"স্যান্ডবক্সে একটি শেল খোলা হচ্ছে…","closed":"টার্মিনাল সেশন শেষ হয়েছে।","failed":"টার্মিনাল সেশন শুরু করা যায়নি।","reconnect":"পুনরায় সংযোগ","unavailable":"এই ডিপ্লয়মেন্টে ইন্টারঅ্যাকটিভ টার্মিনাল উপলব্ধ নয়।","blockedByRun":"মডেল এই কনটেইনার ব্যবহার করছে। পালা শেষ হলে টার্মিনাল খুলবে।","taskRunning":"মডেলের পালা চলছে"}}`),usageAnalytics:{eyebrow:`প্রশাসন`,title:`প্রদানকারী ব্যবহার`,description:`এই ইনস্ট্যান্সে সক্রিয় প্লাগইনগুলিতে আউটবাউন্ড API কল এবং মডেল ব্যবহার অনুসরণ করুন।`,days:`{{count}} দিন`,refresh:`ব্যবহার রিফ্রেশ করুন`,loadFailed:`প্রদানকারী ব্যবহার লোড করা যায়নি।`,metrics:{calls:`কল`,tokens:`টোকেন`},cards:{calls:`API কল`,callsDetail:`{{count}} জন সক্রিয় ব্যবহারকারী জুড়ে`,tokens:`রিপোর্ট করা টোকেন`,tokensDetail:`{{count}}টি কলে রিপোর্ট করা ব্যবহার`,success:`সাফল্যের হার`,successDetail:`{{count}}টি ব্যর্থ কল`,latency:`গড় বিলম্ব`,latencyDetail:`শেষ-থেকে-শেষ প্রদানকারী সময়`},activity:{title:`সময়ের সাথে ব্যবহার`,callsDescription:`সক্রিয় প্লাগইনগুলিতে দৈনিক আউটবাউন্ড অনুরোধ`,tokensDescription:`প্রদানকারীদের দ্বারা রিপোর্ট করা দৈনিক টোকেন মোট`,chartLabel:`দৈনিক প্রদানকারী {{metric}} চার্ট`},models:{title:`মডেল ব্যবহার`,description:`এই সময়ের মধ্যে সবচেয়ে বেশি ট্রাফিক বহনকারী মডেলগুলি।`,model:`মডেল`,success:`সাফল্য`,latency:`বিলম্ব`},providers:{title:`সক্রিয় প্লাগইন ট্রাফিক`},capabilities:{title:`ক্ষমতার মিশ্রণ`,characters:`{{count}} অক্ষর`,images:`{{count}} ছবি`,jobs:`{{count}} ভিডিও কাজ`,inputs:`{{count}} ইনপুট`,reportedTokens:`{{count}} রিপোর্ট করা টোকেন`},empty:{title:`এখনও কোনো প্রদানকারী কল নেই`,description:`একটি সক্রিয় প্লাগইন চ্যাট, কাজ, এম্বেডিং, ছবি, বক্তৃতা, শব্দ বা ভিডিও অনুরোধগুলি পরিচালনা করার পরে কলগুলি এখানে উপস্থিত হবে।`},privacyNote:`আউটবাউন্ড প্লাগইন সীমানায় সার্ভারে ব্যবহার মাপা হয়। Libre WebUI প্রদানকারী, মডেল, সময়, স্থিতি এবং রিপোর্ট করা কাউন্টার সংরক্ষণ করে—কখনও প্রম্পট, প্রতিক্রিয়া, এন্ডপয়েন্ট, শংসাপত্র বা প্রদানকারী ত্রুটি বডি নয়। টোকেন মোটগুলিতে কেবলমাত্র সেই কলগুলি অন্তর্ভুক্ত থাকে যেখানে প্রদানকারী ব্যবহারের মেটাডেটা ফেরত দিয়েছে।`,heatmap:{title:`এক বছরের কার্যকলাপ`,description:`গত এক বছরের দৈনিক প্রোভাইডার কল, প্রতিদিনের সর্বাধিক ব্যবহৃত মডেল অনুযায়ী রঙিন।`,calls:`কল`,noCalls:`কোনো কল নেই`,other:`অন্যান্য মডেল`,less:`কম`,more:`বেশি`,yearTotal:`গত এক বছরে {{formatted}} কল`}},systemPage:{eyebrow:`প্রশাসন`,title:`সিস্টেম`,description:`এই Libre WebUI ইনস্ট্যান্স হোস্ট করা মেশিন এবং রানটাইম পর্যবেক্ষণ করুন।`,updated:`আপডেট করা হয়েছে {{date}}`,refresh:`সিস্টেম তথ্য রিফ্রেশ করুন`,loadFailed:`সিস্টেম তথ্য লোড করা যায়নি।`,cards:{uptime:`হোস্ট আপটাইম`,uptimeDetail:`{{date}} থেকে চলছে`,memory:`ব্যবহৃত মেমরি`,memoryDetail:`{{total}} এর {{used}}`,freeSpace:`ফাঁকা স্থান`,freeSpaceDetail:`{{label}} · মোট {{total}}`,containers:`চলমান কন্টেইনার`,containersDetail:`Docker এর কাছে পরিচিত {{total}} টি কন্টেইনার`,dockerUnavailable:`Docker অনুপলব্ধ`,unavailable:`অনুপলব্ধ`},host:{title:`হোস্ট এবং রানটাইম`,description:`অপারেটিং সিস্টেম, প্রসেসর এবং Libre WebUI প্রক্রিয়ার বিবরণ।`,container:`কন্টেইনার রানটাইম`,native:`নেটিভ রানটাইম`,hostname:`হোস্টনেম`,operatingSystem:`অপারেটিং সিস্টেম`,processor:`প্রসেসর`,logicalCpus:`লজিক্যাল CPU`,loadAverage:`লোড গড় · ১ / ৫ / ১৫ মিনিট`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`প্রসেস`,workingDirectory:`ওয়ার্কিং ডিরেক্টরি`},memory:{title:`মেমরি`,description:`রানটাইম-দৃশ্যমান সিস্টেম মেমরি এবং অ্যাপ্লিকেশন প্রসেস ব্যবহার।`,usedOf:`{{total}}-এর মধ্যে {{used}} ব্যবহৃত`,free:`{{value}} খালি`,processRss:`প্রসেস RSS`,heapUsed:`V8 হিপ ব্যবহৃত`,heapTotal:`V8 হিপ মোট`,external:`বহিস্থ মেমরি`},storage:{title:`স্টোরেজ`,description:`রানটাইম ফাইলসিস্টেম এবং স্থায়ী অ্যাপ্লিকেশন ডেটার জন্য উপলব্ধ স্থান।`,used:`{{value}} ব্যবহৃত`,free:`{{value}} খালি`,empty:`এই রানটাইমে ফাইলসিস্টেম তথ্য অনুপলব্ধ।`},docker:{title:`Docker`,description:`শুধুমাত্র পঠনযোগ্য Docker Engine স্থিতি এবং সীমিত কন্টেইনার তালিকা।`,connected:`সংযুক্ত`,unavailable:`অনুপলব্ধ`,unavailableDetail:`Docker Engine ডায়াগনস্টিক্স অনুপলব্ধ।`,socketStatus:`লোকাল সকেট: {{status}}`,mounted:`মাউন্ট করা`,notMounted:`মাউন্ট করা নয়`,running:`চলমান`,stopped:`বন্ধ`,paused:`বিরতি`,total:`মোট`,version:`সংস্করণ`,host:`হোস্ট`,architecture:`আর্কিটেকচার`,cpus:`CPU`,memory:`মেমরি`,container:`কন্টেইনার`,image:`ইমেজ`,state:`অবস্থা`,created:`তৈরি হয়েছে`,empty:`Docker সংযুক্ত আছে এবং বর্তমানে কোনো কন্টেইনার তালিকাভুক্ত নেই।`},network:{title:`নেটওয়ার্ক`,description:`রানটাইম-দৃশ্যমান ইন্টারফেস, ঠিকানা এবং Linux ট্রাফিক কাউন্টার।`,internal:`অভ্যন্তরীণ`,empty:`অ্যাপ্লিকেশন রানটাইমে কোনো নেটওয়ার্ক ইন্টারফেস দৃশ্যমান নয়।`},securityNote:`এই পৃষ্ঠাটি কেবল প্রশাসকদের জন্য সীমাবদ্ধ। সার্ভার কেবল অপারেশনাল সারাংশ প্রদান করে: এটি এনভায়রনমেন্ট ভেরিয়েবল, ক্রেডেনশিয়াল, Docker লেবেল, মাউন্ট, কন্টেইনার কমান্ড বা ইন্সপেক্ট পেলোড প্রকাশ করে না। যখন Libre WebUI একটি কন্টেইনারে চলে, তখন হোস্ট-স্তরের CPU এবং মেমরির বিবরণ এর লোকাল সকেট উপলব্ধ থাকলে Docker Engine থেকে আসে; অন্যান্য মান অ্যাপ্লিকেশন রানটাইম বর্ণনা করে।`},mediaGeneration:{title:`মিডিয়া তৈরি করুন`,description:`সক্রিয় মিডিয়া প্রদানকারীর মাধ্যমে ভিডিও, শব্দ, সঙ্গীত বা বক্তৃতা তৈরি করুন।`,image:`ছবি`,video:`ভিডিও`,audio:`অডিও`,sound:`শব্দ`,speech:`বক্তৃতা`,model:`মডেল`,voice:`ভয়েস বা ভয়েস আইডি`,resolution:`রেজোলিউশন`,aspectRatio:`অ্যাসপেক্ট রেশিও`,duration:`সময়কাল`,providerDefault:`প্রদানকারীর ডিফল্ট`,generateAudio:`সমর্থিত হলে ভিডিওর সাথে অডিও তৈরি করুন`,prompt:`প্রম্পট`,text:`উচ্চারণের জন্য টেক্সট`,videoPlaceholder:`দৃশ্য, গতি, ক্যামেরা এবং আলোর বর্ণনা দিন...`,audioPlaceholder:`আপনি যে টেক্সটটি ভয়েস দিয়ে উচ্চারণ করতে চান তা লিখুন...`,soundPlaceholder:`আপনার পছন্দের শব্দ, সঙ্গীত, পরিবেশ বা কথ্য প্রতিক্রিয়া বর্ণনা করুন...`,generate:`তৈরি করুন`,generating:`তৈরি হচ্ছে… এতে কয়েক মিনিট সময় লাগতে পারে`,success:`মিডিয়া তৈরি হয়েছে এবং Imagine-এ সংরক্ষিত হয়েছে`,failed:`মিডিয়া তৈরি করতে ব্যর্থ`,loadFailed:`মিডিয়া প্রদানকারী লোড করতে ব্যর্থ`,noModels:`কোনো {{kind}} মডেল উপলব্ধ নেই। প্রথমে একটি সামঞ্জস্যপূর্ণ প্রদানকারী সক্রিয় করুন এবং এর ক্রেডেনশিয়াল সংরক্ষণ করুন।`},mediaGallery:{itemCount:`{{count}}টি আইটেম`,empty:`এখনও কোনো মিডিয়া তৈরি হয়নি`,emptyHint:`একটি ছবি, ভিডিও বা ভয়েস ক্লিপ তৈরি করুন এবং এটি এখানে উপস্থিত হবে।`,filters:{all:`সব`,image:`ছবি`,video:`ভিডিও`,audio:`অডিও`}},whatsNew:{title:`নতুন কী আছে`,releaseNotes:`রিলিজ নোট`,cta:`ঠিক আছে, চলুন`},notes:{title:`নোট`,new:`নতুন নোট`,untitled:`শিরোনামহীন`,empty:`এখনও কোনো নোট নেই`,selectOrCreate:`একটি নোট নির্বাচন করুন বা নতুন তৈরি করুন`,contentPlaceholder:`মার্কডাউনে লিখুন…`,saved:`সংরক্ষিত`,saveFailed:`নোট সংরক্ষণ করা যায়নি`,createFailed:`নোট তৈরি করা যায়নি`,deleteConfirm:`এই নোটটি মুছবেন?`,deleteFailed:`নোট মুছে ফেলা যায়নি`}};export{e as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/api-CI1Inz7g.js","js/rolldown-runtime-hePW80VL.js","js/router-vendor-Ca9zqOqT.js","js/markdown-core-DHnR5Hw8.js","js/utils-vendor-1zob7nK9.js","js/logger-DSXjF4ye.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./router-vendor-Ca9zqOqT.js";import{Tn as t}from"./ui-vendor-D_pYT79f.js";import{o as n}from"./utils-vendor-1zob7nK9.js";import{t as r}from"./logger-DSXjF4ye.js";import{c as i,l as a,p as o,u as s,x as c}from"./api-CI1Inz7g.js";import{r as l}from"./utils-BhpNrGnR.js";var u=[`Chat`,`Image`,`Video`,`Audio`,`Speech`,`Transcription`,`Embedding`],d={chat:`Chat`,completion:`Chat`,embedding:`Embedding`,image:`Image`,audio:`Audio`,stt:`Transcription`,tts:`Speech`,video:`Video`},f={completion:`Chat`,embedding:`Embedding`,image:`Image`,audio:`Audio`,stt:`Transcription`,tts:`Speech`,video:`Video`};function p(e){let t=new Map,n=(e,n)=>{for(let r of e||[]){if(typeof r!=`string`||!r.trim())continue;let e=r.trim(),i=t.get(e)??new Set;i.add(n),t.set(e,i)}};n(e.model_map,d[e.type]);for(let t of Object.keys(e.capabilities||{}))n(e.capabilities?.[t]?.model_map,f[t]);return Array.from(t,([e,t])=>({id:e,capabilities:u.filter(e=>t.has(e))}))}function m(e){return e.type===`chat`||e.type===`completion`}var h=[`dall-e`,`embed`,`gpt-image`,`moderation`,`rerank`,`sora`,`stable-diffusion`,`text-to-speech`,`tts`,`whisper`];function g(e){let t=e.toLocaleLowerCase();return!h.some(e=>t.includes(e))}function _(e){let t=new Set;for(let[n,r]of Object.entries(e.capabilities||{}))if(n!==`completion`)for(let e of r?.model_map||[])t.add(e.trim());return(e.model_map||[]).filter(e=>typeof e==`string`&&e.trim().length>0&&!t.has(e.trim())&&g(e))}function v(e,t){let n=t.trim().toLocaleLowerCase();return!n||[e.name,e.id,e.type,...p(e).map(e=>e.id)].some(e=>e?.toLocaleLowerCase().includes(n))}var y=(e,t)=>{if(e&&typeof e==`object`&&`response`in e){let t=e;if(t.response?.data?.error)return t.response.data.error}return e instanceof Error?e.message:t};function b(e){return{...e,id:e.id||l(),timestamp:Date.now()}}function x(e,t){return e.currentSession?.isPrivate&&e.currentSession?.id===t}function S(e,t){return e.sessions.some(e=>e.id===t)}function C(e,t){return!!e.currentSession&&(x(e,t)||S(e,e.currentSession.id))}function w(e,t,n){if(x(e,t))return e.currentSession.messages.find(e=>e.id===n.id)?e:{currentSession:{...e.currentSession,messages:[...e.currentSession.messages,n],updatedAt:Date.now()},sessions:e.sessions};if(e.sessions.find(e=>e.id===t)?.messages.some(e=>e.id===n.id))return e;let r=e.sessions.map(e=>{if(e.id!==t)return e;let r=[...e.messages];if(n.parentId){let e=n.parentId;r=r.map(t=>t.id!==e&&t.parentId!==e?t:{...t,isActive:!1,branchIndex:t.branchIndex??0,siblingCount:(n.branchIndex||0)+1})}return{...e,messages:[...r,n],updatedAt:Date.now()}});return{sessions:r,currentSession:e.currentSession?.id===t&&r.find(e=>e.id===t)||e.currentSession}}function T(e,t,n,r){if(e.currentSession?.id!==t)return e;if(e.currentSession?.isPrivate){let t=e.currentSession.messages.find(e=>e.id===n);return!t||t.content===r?e:{sessions:e.sessions,currentSession:{...e.currentSession,messages:e.currentSession.messages.map(e=>e.id===n?{...e,content:r}:e),updatedAt:Date.now()}}}let i=e.sessions.find(e=>e.id===t),a=i?.messages.find(e=>e.id===n);if(!i||!a||a.content===r)return e;let o=e.sessions.map(e=>e.id===t?{...e,messages:e.messages.map(e=>e.id===n?{...e,content:r}:e),updatedAt:Date.now()}:e);return{sessions:o,currentSession:e.currentSession?.id===t&&o.find(e=>e.id===t)||e.currentSession}}function E(e,t,n,r,i,a){if(e.currentSession?.id!==t)return e;if(e.currentSession?.isPrivate)return{sessions:e.sessions,currentSession:{...e.currentSession,messages:e.currentSession.messages.map(e=>e.id===n?{...e,content:r,statistics:i,...a?{providerMetadata:a}:{}}:e),updatedAt:Date.now()}};let o=e.sessions.map(e=>e.id===t?{...e,messages:e.messages.map(e=>e.id===n?{...e,content:r,statistics:i,...a?{providerMetadata:a}:{}}:e),updatedAt:Date.now()}:e);return{sessions:o,currentSession:e.currentSession?.id===t&&o.find(e=>e.id===t)||e.currentSession}}function D(e){return e.reduce((e,t)=>(e[t.id]=t,e),{})}function O(e){return e.map(e=>({name:`persona:${e.id}`,model:e.model,size:0,digest:``,details:{parent_model:e.model,format:`persona`,family:`persona`,families:[`persona`],parameter_size:``,quantization_level:``},modified_at:new Date(e.updated_at).toISOString(),expires_at:new Date().toISOString(),size_vram:0,isPersona:!0,personaName:e.name,personaDescription:e.description}))}function k(e){return e.filter(e=>e.active&&e.type!==`tts`&&e.type!==`image`).flatMap(e=>_(e).map(t=>({name:t,model:t,size:0,digest:``,details:{parent_model:``,format:``,family:``,families:[],parameter_size:``,quantization_level:``},modified_at:new Date().toISOString(),expires_at:new Date().toISOString(),size_vram:0,isPlugin:!0,pluginId:e.id,pluginName:e.name})))}var A=`persona:`,j=`plugin:`,M=`ollama:`,N=`legacy:`,P=`agent:`,F=e=>{try{return decodeURIComponent(e)}catch{return null}};function I(e){return e.isLegacySelection?{model:e.name,providerType:null,providerId:null}:e.isPersona?{model:e.name,providerType:`ollama`,providerId:null}:e.isPlugin&&e.pluginId?{model:e.name,providerType:`plugin`,providerId:e.pluginId}:e.isAgent?{model:e.name,providerType:`agent`,providerId:e.agentId||e.name}:{model:e.name,providerType:`ollama`,providerId:null}}function L(e){return e.providerType?e.providerType===`plugin`&&e.providerId?`${j}${encodeURIComponent(e.providerId)}:${encodeURIComponent(e.model)}`:e.providerType===`agent`&&e.providerId?`${P}${encodeURIComponent(e.providerId)}:${encodeURIComponent(e.model)}`:e.providerType===`ollama`&&e.model.startsWith(A)?`${A}${encodeURIComponent(e.model.slice(8))}`:e.providerType===`ollama`?`${M}${encodeURIComponent(e.model)}`:`${N}${encodeURIComponent(e.model)}`:`${N}${encodeURIComponent(e.model)}`}function R(e){return L(I(e))}function z(e){if(e.startsWith(A)){let t=F(e.slice(8));return t===null?null:{model:`${A}${t}`,providerType:`ollama`,providerId:null}}if(e.startsWith(j)){let t=e.slice(7),n=t.indexOf(`:`);if(n<1)return null;let r=F(t.slice(0,n)),i=F(t.slice(n+1));return r&&i?{model:i,providerType:`plugin`,providerId:r}:null}if(e.startsWith(P)){let t=e.slice(6),n=t.indexOf(`:`);if(n<1)return null;let r=F(t.slice(0,n)),i=F(t.slice(n+1));return r&&i?{model:i,providerType:`agent`,providerId:r}:null}if(e.startsWith(M)){let t=F(e.slice(7));return t?{model:t,providerType:`ollama`,providerId:null}:null}if(e.startsWith(N)){let t=F(e.slice(7));return t?{model:t,providerType:null,providerId:null}:null}return null}function B(e,t){return t.providerType===`plugin`?e.find(e=>e.isPlugin&&e.pluginId===t.providerId&&e.name===t.model):t.providerType===`agent`?e.find(e=>e.isAgent&&e.name===t.model):t.providerType===`ollama`?t.model.startsWith(A)?e.find(e=>e.isPersona&&e.name===t.model):e.find(e=>!e.isPlugin&&!e.isPersona&&e.name===t.model):e.find(e=>e.isLegacySelection&&e.name===t.model)??e.find(e=>e.name===t.model)}function V(e,t){if(!t.providerType)return L(t);let n=B(e,t);return n?R(n):L(t)}function H(e,t){let n=e.find(e=>R(e)===t);return n?I(n):z(t)}function U(e){return!e.isPlugin&&!e.isPersona&&!e.isAgent&&!e.isLegacySelection&&!e.isUnavailable}function W(e,t){return t.model?!!B(e.filter(e=>!e.isLegacySelection&&!e.isUnavailable),t):!1}function G(e,t){if(!t.model)return e;if(!t.providerType){if(e.some(e=>e.isLegacySelection&&e.name===t.model))return e;let n=!!B(e,t);return[...e,{name:t.model,model:t.model,size:0,digest:``,modified_at:``,details:{},isLegacySelection:!0,isUnavailable:!n}]}if(B(e,t))return e;let n=t.providerType,r=n===`ollama`&&t.model.startsWith(A),i=n===`plugin`&&t.providerId||void 0;return[...e,{name:t.model,model:t.model,size:0,digest:``,modified_at:``,details:{},isPlugin:n===`plugin`,pluginId:i,pluginName:i,isAgent:n===`agent`,agentId:n===`agent`&&t.providerId||void 0,isPersona:r,personaName:r?t.model.slice(8):void 0,isUnavailable:!0}]}var K=r(`chat-store`),q=n((n,r)=>({sessions:[],currentSession:null,setCurrentSession:e=>{n({currentSession:e})},createSession:async(e,r,i,a,o)=>{try{n({loading:!0,error:null});let s=await c.createSession(e,r,i,a,o);if(s.success&&s.data){let e=s.data;return n(t=>({sessions:[e,...t.sessions],currentSession:e,loading:!1})),t.success(`New chat created`),e}}catch(e){let r=y(e,`Failed to create session`);n({error:r,loading:!1}),t.error(r)}},loadSessions:async()=>{try{n({loading:!0,error:null});let e=await c.getSessions();e.success&&e.data&&n(t=>{let n=e.data||[],r=n.map(e=>e.id),i=null;return t.currentSession?.isPrivate?i=t.currentSession:t.currentSession&&r.includes(t.currentSession.id)?i=n.find(e=>e.id===t.currentSession.id)||null:n.length>0&&(i=n[0],t.currentSession&&K.warn(`Previous currentSession not found in backend sessions:`,t.currentSession.id)),{sessions:n,currentSession:i,loading:!1}})}catch(e){let r=y(e,`Failed to load sessions`);n({error:r,loading:!1}),t.error(r)}},deleteSession:async e=>{try{let r=await c.deleteSession(e);r.success?(n(t=>{let n=t.sessions.filter(t=>t.id!==e),r=t.currentSession?.id===e?n[0]||null:t.currentSession;return K.debug(`Store: Updating state, sessions count:`,n.length),{sessions:n,currentSession:r}}),t.success(`Chat deleted`)):(K.error(`Store: deleteSession failed:`,r),t.error(`Failed to delete chat`))}catch(e){K.error(`Store: deleteSession error:`,e);let n=y(e,`Failed to delete session`);t.error(n)}},clearAllSessions:async()=>{try{n({loading:!0,error:null});let e=await c.clearAllSessions();e.success?(n({sessions:[],currentSession:null,loading:!1}),t.success(`All chat history cleared`)):(K.error(`Store: clearAllSessions failed:`,e),t.error(`Failed to clear chat history`),n({loading:!1}))}catch(e){K.error(`Store: clearAllSessions error:`,e);let r=y(e,`Failed to clear chat history`);t.error(r),n({loading:!1})}},clearAllState:()=>{n({sessions:[],currentSession:null,models:[],selectedModel:``,selectedProviderType:null,selectedProviderId:null,systemMessage:``,loading:!1,error:null})},applySessionTitle:(e,t,r=Date.now())=>{n(n=>({sessions:n.sessions.map(n=>n.id===e?{...n,title:t,updatedAt:r}:n),currentSession:n.currentSession?.id===e?{...n.currentSession,title:t,updatedAt:r}:n.currentSession}))},updateSessionTitle:async(e,n)=>{try{let i=await c.updateSession(e,{title:n});if(i.success&&i.data){let n=i.data.title,a=i.data.updatedAt??Date.now();r().applySessionTitle(e,n,a),t.success(`Chat title updated`)}}catch(e){let n=y(e,`Failed to update session`);t.error(n)}},addMessage:(e,i)=>{let a=r(),o=x(a,e);if(!C(a,e)){t.error(`No valid chat session. Please create or select a chat.`),K.error(`addMessage blocked: currentSession is not valid`,a.currentSession?.id);return}if(!o&&!S(a,e)){t.error(`Session not found or invalid. Please select or create a valid chat session.`),K.error(`addMessage blocked: sessionId not found in sessions`,e);return}let s=b(i);n(t=>w(t,e,s))},updateMessage:(e,t,r)=>{n(n=>T(n,e,t,r))},updateMessageWithStatistics:(e,t,r,i,a)=>{n(n=>E(n,e,t,r,i,a))},rateMessage:async(e,t,i)=>{let a=e=>e.map(e=>e.id===t?{...e,rating:i}:e),o=r().currentSession?.isPrivate;if(n(t=>({sessions:t.sessions.map(t=>t.id===e?{...t,messages:a(t.messages)}:t),currentSession:t.currentSession?.id===e?{...t.currentSession,messages:a(t.currentSession.messages)}:t.currentSession})),!o)try{await c.updateMessage(e,t,{rating:i??null})}catch(e){K.error(`Failed to save message rating:`,e)}},folders:[],loadFolders:async()=>{try{let e=await c.getFolders();e.success&&e.data&&n({folders:e.data})}catch(e){K.error(`Failed to load folders:`,e)}},createFolder:async e=>{try{let t=await c.createFolder(e);if(t.success&&t.data){let e=t.data;return n(t=>({folders:[...t.folders,e].sort((e,t)=>e.name.localeCompare(t.name))})),e}}catch(e){K.error(`Failed to create folder:`,e)}},renameFolder:async(e,t)=>{try{let r=await c.renameFolder(e,t);if(r.success&&r.data){let t=r.data;n(n=>({folders:n.folders.map(n=>n.id===e?t:n).sort((e,t)=>e.name.localeCompare(t.name))}))}}catch(e){K.error(`Failed to rename folder:`,e)}},deleteFolder:async e=>{try{(await c.deleteFolder(e)).success&&n(t=>({folders:t.folders.filter(t=>t.id!==e),sessions:t.sessions.map(t=>t.folderId===e?{...t,folderId:null}:t),currentSession:t.currentSession?.folderId===e?{...t.currentSession,folderId:null}:t.currentSession}))}catch(e){K.error(`Failed to delete folder:`,e)}},moveSessionToFolder:async(e,t)=>{n(n=>({sessions:n.sessions.map(n=>n.id===e?{...n,folderId:t}:n),currentSession:n.currentSession?.id===e?{...n.currentSession,folderId:t}:n.currentSession}));try{await c.updateSession(e,{folderId:t})}catch(e){K.error(`Failed to move session to folder:`,e)}},setSessionArchived:async(e,t)=>{n(n=>({sessions:n.sessions.map(n=>n.id===e?{...n,archived:t}:n),currentSession:n.currentSession?.id===e?{...n.currentSession,archived:t}:n.currentSession}));try{await c.updateSession(e,{archived:t})}catch(r){K.error(`Failed to update session archive state:`,r),n(n=>({sessions:n.sessions.map(n=>n.id===e?{...n,archived:!t}:n)}))}},truncateMessagesFrom:(e,t)=>{let r=e=>{let n=e.findIndex(e=>e.id===t);return n===-1?e:e.slice(0,n)};n(t=>({sessions:t.sessions.map(t=>t.id===e?{...t,messages:r(t.messages),updatedAt:Date.now()}:t),currentSession:t.currentSession?.id===e?{...t.currentSession,messages:r(t.currentSession.messages),updatedAt:Date.now()}:t.currentSession}))},models:[],loadModels:async()=>{try{n({loading:!0,error:null}),K.debug(`Loading models from API...`);let s=[],c;try{let e=await o.getModels();e.success&&e.data?(s=[...e.data],K.debug(`Ollama models loaded:`,e.data.length)):c=Error(e.error||e.message||`Ollama models are unavailable.`)}catch(e){c=e,K.warn(`Ollama models are unavailable; continuing with plugin models:`,e)}try{let e=await a.getAllPlugins();if(e.success&&e.data){let t=e.data.filter(e=>e.active&&e.type!==`tts`&&e.type!==`image`);K.debug(`🔌 Active plugins found:`,t.map(e=>e.name));let n=k(t);s.push(...n),K.debug(`Plugin models added:`,n.length)}}catch(e){K.error(`❌ Failed to load plugin models:`,e),e instanceof Error&&K.error(`❌ Plugin error details:`,{message:e.message,response:e.response?.data,status:e.response?.status,url:e.config?.url})}try{let{agentCliApi:t}=await e(async()=>{let{agentCliApi:e}=await import(`./api-CI1Inz7g.js`).then(e=>e.t);return{agentCliApi:e}},__vite__mapDeps([0,1,2,3,4,5])),n=await t.getModels();if(n.success&&n.data){let e=n.data.map(e=>({name:e.id,model:e.id,size:0,digest:``,modified_at:``,details:{},isAgent:!0,agentName:e.name,agentId:e.agentId}));s.push(...e),K.debug(`Agent CLI models added:`,e.length)}}catch(e){K.warn(`Agent CLI models unavailable:`,e)}let l=s.length;try{let{personaApi:t}=await e(async()=>{let{personaApi:e}=await import(`./api-CI1Inz7g.js`).then(e=>e.t);return{personaApi:e}},__vite__mapDeps([0,1,2,3,4,5])),r=await t.getPersonas();if(r.success&&r.data){let e=D(r.data),t=O(r.data);s.push(...t),n(t=>({...t,personas:e}))}}catch(e){K.error(`❌ Failed to load personas:`,e)}K.debug(`Total models loaded:`,s.length);let u=l===0&&c?y(c,`No model provider is available`):null,d=r(),f=d.selectedModel,p={model:f,providerType:d.selectedProviderType,providerId:d.selectedProviderId},m=!!B(s,p),h=d.selectedProviderType===`ollama`||d.selectedProviderType===`plugin`;if(f&&!m&&h){let e=`Selected model "${f}" is unavailable from ${d.selectedProviderType===`plugin`?d.selectedProviderId||`plugin`:`Ollama`}. Reactivate that provider or select another model.`;n({models:s,loading:!1,error:e}),t.error(e);return}if(f&&!m&&s.length>0){let e=I(s[0]);K.debug(`⚠️ Legacy selected model "${f}" no longer available, falling back to "${e.model}"`),n({models:s,loading:!1,selectedModel:e.model,selectedProviderType:e.providerType||null,selectedProviderId:e.providerId||null,error:u}),i.setDefaultModel(e.model,e.providerType,e.providerId).catch(e=>{K.warn(`Failed to save fallback default model:`,e)}),t.success(`Switched to ${e.model} (previous model no longer available)`)}else n({models:s,loading:!1,error:u});u&&t.error(u)}catch(e){K.error(`Error loading models:`,e);let r=y(e,`Failed to load models`);n({error:r,loading:!1}),t.error(r)}},loadPreferences:async()=>{try{let e=await i.getPreferences();if(e.success&&e.data){let{defaultModel:t,defaultProviderType:r,defaultProviderId:i,systemMessage:a}=e.data;t&&(n({selectedModel:t,selectedProviderType:r||null,selectedProviderId:r===`plugin`&&i||null}),K.debug(`✅ Loaded default model from backend:`,t)),a!==void 0&&(n({systemMessage:a}),K.debug(`✅ Loaded system message from backend`))}}catch(e){K.warn(`❌ Failed to load preferences from backend:`,e)}},selectedModel:``,selectedProviderType:null,selectedProviderId:null,setSelectedModel:(e,t=null,r=null)=>{let a=(t===`plugin`||t===`agent`)&&r||null;n({selectedModel:e,selectedProviderType:t,selectedProviderId:a}),i.setDefaultModel(e,t,a).catch(e=>{K.warn(`Failed to save default model to backend:`,e)})},updateCurrentSessionModel:async(e,i=null,a=null)=>{let o=r();if(!o.currentSession)throw Error(`No current session to update`);try{let r=await c.updateSession(o.currentSession.id,{model:e,providerType:i,providerId:i===`plugin`||i===`agent`?a:null});r.success&&r.data&&(n(t=>({sessions:t.sessions.map(e=>e.id===t.currentSession?.id?r.data:e),currentSession:r.data,selectedModel:e,selectedProviderType:i,selectedProviderId:(i===`plugin`||i===`agent`)&&a||null})),t.success(`Model updated for current chat`))}catch(e){let n=y(e,`Failed to update session model`);throw t.error(n),e}},personas:{},loadPersonas:async()=>{try{n({loading:!0,error:null});let e=await s.getPersonas();if(e.success&&e.data){let t=e.data;n({personas:D(t),loading:!1}),K.debug(`✅ Personas loaded:`,t.length)}}catch(e){let t=y(e,`Failed to load personas`);n({error:t,loading:!1}),K.error(`❌ Failed to load personas:`,t)}},getCurrentPersona:()=>{let e=r();if(!e.currentSession||!e.currentSession.model?.startsWith(`persona:`))return null;let t=e.currentSession.model.replace(`persona:`,``);return e.personas[t]||null},systemMessage:``,setSystemMessage:e=>{let t=r();if(n({systemMessage:e}),i.setSystemMessage(e).catch(e=>{K.warn(`Failed to save system message to backend:`,e)}),t.currentSession){let r=t.currentSession.messages.findIndex(e=>e.role===`system`);if(r!==-1){n(t=>{let n=t.sessions.map(n=>{if(n.id===t.currentSession?.id){let t=n.messages.map((t,n)=>n===r&&t.role===`system`?{...t,content:e,timestamp:Date.now()}:t);return{...n,messages:t,updatedAt:Date.now()}}return n});return{sessions:n,currentSession:t.currentSession?n.find(e=>e.id===t.currentSession.id)||t.currentSession:null}});let i=t.currentSession.messages[r];c.updateMessage(t.currentSession.id,i.id,{content:e}).catch(e=>{K.warn(`Failed to sync system message update to backend:`,e)}),K.debug(`✅ Updated system message in current session`)}}},loading:!1,error:null,setError:e=>n({error:e}),generatingTitleForSession:null,setGeneratingTitleForSession:e=>n({generatingTitleForSession:e}),...typeof window<`u`&&{testPluginApi:async()=>{try{K.debug(`🧪 Testing plugin API...`);let e=await a.getAllPlugins();return K.debug(`✅ Plugin API test result:`,e),e}catch(e){return K.error(`❌ Plugin API test failed:`,e),{error:e}}}}}));export{V as a,W as c,p as d,v as f,I as i,G as l,R as n,B as o,m as p,H as r,U as s,q as t,y as u};
@@ -0,0 +1,2 @@
1
+ var e={common:{loading:`Načítání...`,save:`Uložit`,saving:`Ukládání...`,cancel:`Zrušit`,delete:`Smazat`,edit:`Upravit`,close:`Zavřít`,back:`Zpět`,next:`Další`,confirm:`Potvrdit`,error:`Chyba`,success:`Úspěch`,warning:`Varování`,or:`nebo`,optional:`volitelné`,enabled:`Povoleno`,disabled:`Zakázáno`,on:`Zap.`,off:`Vyp.`,yes:`Ano`,no:`Ne`,search:`Hledat`,noResults:`Žádné výsledky`,retry:`Zkusit znovu`,refresh:`Obnovit`,download:`Stáhnout`,upload:`Nahrát`,export:`Exportovat`,import:`Importovat`,reset:`Resetovat`,apply:`Použít`,clear:`Vymazat`,all:`Vše`,none:`Žádné`,default:`Výchozí`,custom:`Vlastní`,remove:`Odstranit`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`Vítejte zpět`,subtitle:`Přihlaste se ke svému účtu a pokračujte`,username:`Uživatelské jméno`,usernamePlaceholder:`Zadejte uživatelské jméno`,password:`Heslo`,passwordPlaceholder:`Zadejte heslo`,signIn:`Přihlásit se`,signingIn:`Přihlašování...`,noAccount:`Nemáte účet?`,signUpHere:`Zaregistrujte se zde`,loginSuccess:`Přihlášení úspěšné!`,loginFailed:`Přihlášení se nezdařilo`,checkCredentials:`Přihlášení se nezdařilo. Zkontrolujte své přihlašovací údaje.`,enterBoth:`Zadejte uživatelské jméno a heslo`,githubSuccess:`Přihlášení přes GitHub úspěšné!`,githubFailed:`Ověření GitHub se nezdařilo`,githubVerifyFailed:`Nepodařilo se ověřit GitHub autentizaci`,approvalPending:`Váš účet čeká na schválení správcem.`},signup:{title:`Vytvořit účet`,subtitle:`Zaregistrujte nový účet`,username:`Uživatelské jméno`,usernamePlaceholder:`Zvolte uživatelské jméno`,email:`Email`,emailPlaceholder:`vas@email.cz`,password:`Heslo`,passwordPlaceholder:`Zvolte heslo`,confirmPassword:`Potvrdit heslo`,confirmPasswordPlaceholder:`Potvrďte heslo`,createAccount:`Vytvořit účet`,creatingAccount:`Vytváření účtu...`,hasAccount:`Již máte účet?`,signInHere:`Přihlaste se zde`,signupSuccess:`Účet úspěšně vytvořen!`,signupFailed:`Registrace se nezdařila`,tryAgain:`Registrace se nezdařila. Zkuste to znovu.`,usernameRequired:`Uživatelské jméno a heslo jsou povinné`,passwordMismatch:`Hesla se neshodují`,passwordTooShort:`Heslo musí mít alespoň 6 znaků`,approvalPending:`Registrace přijata. Správce musí schválit váš účet.`,awaitingApproval:`Čeká na schválení`,awaitingApprovalDescription:`Váš účet byl vytvořen, ale správce ho musí aktivovat, než se budete moci přihlásit.`,backToSignIn:`Zpět na přihlášení`},logout:{button:`Odhlásit se`,success:`Úspěšně odhlášeno`},oauth:{continueWith:`Pokračovat s {{provider}}`,connectingTo:`Připojování k {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`Kontrola ověření...`,welcome:`Vítejte`,noEmail:`E-mail nebyl zadán`,role:`Role`,id:`ID`,userId:`ID uživatele`,signInDescription:`Pro pokračování se přihlaste pomocí účtu GitHub`,signInWithGitHub:`Přihlásit se přes GitHub`,jwtActive:`JWT autentizace aktivní`,jwtDescription:`JWT autentizace s GitHub OAuth`,github:`GitHub`,provider:`Poskytovatel`,tagline:`Váš AI stack by měl odpovídat vám.`,selfHosted:`Vlastní hosting · Apache 2.0`,highlights:{local:{title:`Lokální priorita`,body:`Vaše konverzace a soubory zůstávají na počítači, na kterém to spouštíte.`},providers:{title:`Jakýkoliv poskytovatel`,body:`Lokální modely přes Ollama a vzdálení poskytovatelé, které si přidáte.`},work:{title:`Izolovaná práce`,body:`Dejte modelu izolovaný pracovní prostor se soubory, terminálem a náhledem.`}}},setup:{welcome:{title:`Vítejte v Libre WebUI`,subtitle:`Začněme`,description:`Nastavte Libre WebUI v několika jednoduchých krocích`,createAdmin:`Vytvořit účet správce`,features:{secure:{title:`Bezpečné a soukromé`,description:`Vaše konverzace zůstávají na vašem zařízení`},fast:{title:`Rychlé a responzivní`,description:`Optimalizováno pro rychlost a výkon`},openSource:{title:`Open source`,description:`Bezplatný software s otevřeným zdrojovým kódem`}}},admin:{title:`Vytvořit účet správce`,subtitle:`Nastavení správce`,description:`Vytvořte první účet správce pro vaši instanci Libre WebUI`,usernamePlaceholder:`Zadejte jméno správce`,passwordPlaceholder:`Zadejte heslo (min. 6 znaků)`,confirmPlaceholder:`Potvrďte heslo`,creating:`Vytváření...`,createAdmin:`Vytvořit správce`,success:`Účet správce úspěšně vytvořen!`,failed:`Nepodařilo se vytvořit účet správce`,fillAllFields:`Vyplňte všechna pole`,note:`Toto bude hlavní účet správce pro vaši instanci Libre WebUI`,approvalUnexpected:`Počátečního správce nebylo možné aktivovat. Zkuste to znovu.`},encryptionKey:{title:`Uložte šifrovací klíč`,subtitle:`Důležité: Uložte tento klíč`,description:`Tento šifrovací klíč chrání vaše citlivá data. Uložte ho bezpečně - budete ho potřebovat, pokud budete někdy muset obnovit databázi.`,warning:`Varování`,warningText:`Pokud tento klíč ztratíte a budete potřebovat obnovit databázi, vaše zašifrovaná data (API klíče, předvolby) budou nenávratně ztracena.`,label:`Váš šifrovací klíč`,loading:`Načítání...`,copyToClipboard:`Kopírovat do schránky`,copied:`Šifrovací klíč zkopírován!`,copyFailed:`Nepodařilo se zkopírovat klíč`,envNote:`Tento klíč je také uložen v souboru backend/.env jako ENCRYPTION_KEY`,acknowledgment:`Uložil jsem šifrovací klíč na bezpečné místo a chápu, že jeho ztráta může vést ke ztrátě dat.`,confirmRequired:`Potvrďte, že jste uložili šifrovací klíč`,continue:`Pokračovat do Libre WebUI`}},chat:{greeting:{morning:`Dobré ráno`,afternoon:`Dobré odpoledne`,evening:`Dobrý večer`,night:`Dobrou noc`},followUp:`Navázat`,welcome:{helpToday:`S čím vám mohu dnes pomoci?`,helpTonight:`S čím vám mohu dnes večer pomoci?`,variety:{create:{title:`Co vytvoříme?`,subtitle:`Začněte myšlenkou, náčrtem nebo zapeklitým problémem.`},explore:{title:`Kde začneme?`,subtitle:`Přineste otázku, ke které se stále vracíte.`},imagine:{title:`Co si představujete?`,subtitle:`Společně tomu můžeme dát tvar.`},focus:{title:`Co si zaslouží vaši pozornost?`,subtitle:`Ujasněme si další krok.`},untangle:{title:`Co je potřeba rozmotat?`,subtitle:`Nejdřív mi ukažte tu neuspořádanou verzi.`},momentum:{title:`Můžeme začít, až budete připraveni.`,subtitle:`Navážeme na nápad, plán nebo rozdělané téma.`},open:{title:`Co máte na mysli?`,subtitle:`Drobná myšlenka nebo ambiciózní projekt. Obojí funguje.`},challenge:{title:`Co řešíme?`,subtitle:`Řekněte mi, co zatím nefunguje.`},draft:{title:`Někde začněme.`,subtitle:`Nemusí to být vybroušené.`},possibility:{title:`Co by z toho mohlo vzniknout?`,subtitle:`Ukažte mi výchozí materiál.`},unexpected:{title:`Vytvořme něco nečekaného.`,subtitle:`Dejte mi omezení, náladu nebo nedokončenou myšlenku.`}}},input:{placeholder:`Odeslat zprávu`,messagePlaceholder:`Zpráva...`,attachImages:`Připojit obrázky`,attachments:`Přílohy a pokročilé funkce`,sendMessage:`Odeslat zprávu`,stopGeneration:`Zastavit generování`,menu:{uploadImages:`Nahrát obrázky`,attachDocument:`Přiložit dokument`,attachWebpage:`Přiložit webovou stránku`,structuredOutput:`Strukturovaný výstup`,attach:`Přiložit`,documentAttached:`Dokument přiložen`,webpageAttached:`Webová stránka přiložena`,attachFailed:`Přiložení se nezdařilo`,attachKnowledge:`Připojit znalosti`,noCollections:`Zatím žádné kolekce — vytvořte ji v Nastavení → Dokumenty`},voiceInput:`Hlasový vstup`,voiceStop:`Zastavit poslech`},session:{new:`Nový chat`,work:`Práce`,chat:`Chat`,private:`Soukromý`,privateMode:`Soukromý režim`,privateDescription:`Tato konverzace nebude uložena`,privateTooltip:`Začít soukromou konverzaci, která nebude uložena`,deleteConfirm:`Opravdu chcete smazat tento chat?`,generatingTitle:`Generování titulku`,noChats:`Zatím žádné chaty`,createFirst:`Vytvořte svůj první chat výše`,chats:`Chaty`,renameChat:`Přejmenovat chat`,deleteChat:`Smazat chat`,incognito:`Anonymní chat`,archiveChat:`Archivovat chat`,groups:{today:`Dnes`,yesterday:`Včera`,previous7Days:`Posledních 7 dní`,previous30Days:`Posledních 30 dní`,older:`Starší`},folder:{new:`Nová složka`,namePlaceholder:`Název složky`,move:`Přesunout do složky`,remove:`Odebrat ze složky`,delete:`Smazat složku`,deleteConfirm:`Smazat tuto složku? Chaty uvnitř zůstanou.`}},persona:{applied:`Persona použita`,label:`Persona`,removeFailed:`Nepodařilo se odebrat personu`},model:{updated:`Model aktualizován`,noModels:`Žádné dostupné modely`,noModelsDescription:`Žádné dostupné modely. Ujistěte se, že Ollama běží a modely jsou nainstalované.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`Žádné dostupné modely. Ujistěte se, že Ollama běží a modely jsou nainstalované.`,selectBeforePrivateChat:`Před zahájením soukromého chatu vyberte dostupný model`,selectBeforeSending:`Před odesláním vyberte dostupný model`},footer:{disclaimer:`LLM může dělat chyby - ověřujte důležité informace`,images:`{{count}} obrázek`,images_plural:`{{count}} obrázků`,structuredOutput:`Strukturovaný výstup`},mediaUpload:{dropImagesHere:`Přetáhněte obrázky sem nebo`,supportedFormats:`Podporované: JPG, PNG, GIF, WebP (max 10MB každý)`,browse:`procházet`},structuredOutput:{title:`Formát odpovědi`,none:`Žádný (přirozený jazyk)`,noneDescription:`Výchozí odpověď v přirozeném jazyce`,json:`JSON`,jsonDescription:`Strukturovaný formát JSON`,list:`Seznam`,listDescription:`Pole položek`,summary:`Shrnutí`,summaryDescription:`Shrnutí dokumentu s klíčovými body`,analysis:`Analýza`,analysisDescription:`Strukturovaná analýza s klady/zápory`,custom:`Vlastní schéma`,customDescription:`Definujte vlastní JSON schéma`,customSchema:`Vlastní JSON schéma`,schemaPreview:`Náhled schématu`,applySchema:`Použít schéma`,cancel:`Zrušit`,enabled:`Strukturovaný výstup povolen`},controls:{title:`Ovládání chatu`,systemPrompt:`Systémový prompt`,systemPromptPlaceholder:`Pokyny platné jen pro tento chat…`,advancedParams:`Pokročilé parametry`,advancedParamsDescription:`Přepisy pro tento chat. Prázdná pole používají globální výchozí hodnoty.`,saved:`Ovládání uloženo`,saveFailed:`Ovládání se nepodařilo uložit`,params:{temperature:`Teplota`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Max. tokenů`,repeatPenalty:`Penalizace opakování`,seed:`Seed`,contextLength:`Délka kontextu`}}},sidebar:{navigation:{chat:`Chat`,models:`Modely`,personas:`Persony`,imagine:`Generovat`,settings:`Nastavení`,userManagement:`Správa uživatelů`,signOut:`Odhlásit se`,agents:`Agenti`,work:`Práce`,exploreLabel:`Prozkoumat`,usageAnalytics:`Využití poskytovatelů`,system:`Systém`,notes:`Poznámky`},toggleSize:`Změnit velikost postranního panelu`,expandSidebar:`Rozbalit postranní panel`},user:{menu:{changePicture:`Změnit obrázek`,settings:`Nastavení`,userManagement:`Správa uživatelů`,logout:`Odhlásit se`,usageAnalytics:`Využití poskytovatelů`,system:`Systém`},avatar:{title:`Změnit profilový obrázek`,updated:`Profilový obrázek aktualizován`,updateFailed:`Nepodařilo se aktualizovat profilový obrázek`,saving:`Ukládání...`,label:`Avatar`,uploadAvatarImage:`Nahrát obrázek avatara`,dragAndDrop:`Přetáhněte obrázek nebo klikněte pro procházení`,chooseImage:`Vybrat obrázek`,uploading:`Nahrávání...`,enterImageUrl:`Nebo zadejte URL obrázku`,supportedFormats:`Podporuje: JPG, PNG, GIF, WebP (max. 2 MB). Čtvercové obrázky fungují nejlépe.`,customAvatar:`Vlastní obrázek avatara`,clickToChange:`Klikněte pro změnu nebo odstranění`,removed:`Avatar odstraněn`,uploaded:`Avatar úspěšně nahrán`,invalidFile:`Prosím vyberte platný soubor obrázku`,fileTooLarge:`Velikost obrázku avatara musí být menší než 2 MB`,readFailed:`Nepodařilo se přečíst soubor obrázku`,uploadFailed:`Nepodařilo se nahrát obrázek avatara`},profile:{noEmail:`Email není uveden`}},settings:JSON.parse(`{"title":"Nastavení","tabs":{"appearance":"Vzhled","model":"Model","systemMessage":"Systémová zpráva","plugins":"Pluginy","generation":"Generování","documents":"Dokumenty","tts":"Řeč","imageGen":"Obrázky","data":"Data","about":"O aplikaci"},"appearance":{"title":"Vzhled","language":{"title":"Jazyk","description":"Vyberte preferovaný jazyk"},"theme":{"title":"Motiv","light":"Světlý","dark":"Tmavý","amoled":"Čistě Černá","system":"Systémový"},"accent":{"title":"Barva zvýraznění","custom":"Vlastní barva","useColor":"Použít barvu zvýraznění {{color}}","behaviorTitle":"Paleta rozhraní","behaviorDescription":"Zvolte, zda se barva zvýraznění použije jen na ovládací prvky, nebo přizpůsobí celé světlé či tmavé rozhraní.","defaultStyle":"Výchozí","defaultStyleDescription":"Zachovat neutrální povrchy světlého a tmavého motivu.","adaptedStyle":"Přizpůsobit zvýraznění","adaptedStyleDescription":"Obarvit povrchy, okraje a text zvolenou barvou."},"chatInterface":{"title":"Rozhraní chatu","showUsername":"Zobrazit uživatelské jméno","showUsernameDescription":"Zobrazovat uživatelské jméno ve zprávách chatu","followUpSuggestions":"Návrhy pokračování","followUpSuggestionsDescription":"Po každé odpovědi navrhnout rychlé reakce"},"background":{"title":"Obrázek pozadí","enable":"Povolit obrázek pozadí","enableDescription":"Zobrazit vlastní pozadí s efektem rozmazání","blur":"Rozmazání","opacity":"Průhlednost","upload":"Nahrát obrázek pozadí","dragDrop":"Přetáhněte obrázek nebo klikněte pro procházení","chooseImage":"Vybrat obrázek"}},"saveSettings":"Uložit nastavení","model":{"title":"Nastavení modelu","defaultModel":"Výchozí model","defaultModelDescription":"Tento model bude ve výchozím nastavení použit pro nové konverzace","selectModel":"Vyberte model","updateAll":"Aktualizovat všechny modely","updateAllDescription":"Zkontrolovat aktualizace a stáhnout nejnovější verze všech nainstalovaných modelů","updateAllButton":"Aktualizovat vše","updating":"Aktualizace modelů...","currentModelInfo":"Informace o aktuálním modelu","name":"Název","size":"Velikost","family":"Rodina","format":"Formát","status":"Stav","statusStarting":"Spouštění...","statusComplete":"Dokončeno","statusError":"Chyba","bulkOperations":"Hromadné operace","autoTitle":{"title":"Automatické generování titulků","enable":"Povolit automatické titulky","enableDescription":"Automaticky generovat titulky pro nové konverzace","taskModel":"Model úloh","selectTaskModel":"Vyberte model úloh","taskModelDescription":"Model používaný pro generování titulků konverzací"},"persona":"Persona","updatingModel":"Aktualizace {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} z {{total}} modelů","specializedModels":"Specializované modely","visionModel":"Vizní model","selectVisionModel":"Použít aktuální chatový model","visionModelDescription":"Používá se automaticky, kdykoli odchozí kontext chatu obsahuje obrázky. Vyberte model, který podporuje vstup obrázků.","visionModelUpdateFailed":"Nepodařilo se aktualizovat vizní model: {{error}}","visionModelNoProvider":"Tento vizní model nemá identitu poskytovatele. Vyberte dostupný model."},"systemMessage":{"title":"Systémová zpráva","description":"Nastavte vlastní systémovou zprávu, která bude použita pro všechny nové konverzace.","placeholder":"Zadejte systémovou zprávu...","saved":"Systémová zpráva uložena","saveFailed":"Nepodařilo se uložit systémovou zprávu"},"plugins":{"title":"Pluginy","description":"Spravujte nainstalované pluginy","addNew":"Přidat nový plugin","upload":"Nahrát plugin","addJson":"Přidat JSON","uploading":"Nahrávání...","jsonPlaceholder":"Vložte JSON konfiguraci pluginu...","install":"Nainstalovat plugin","noPlugins":"Žádné nainstalované pluginy","noPluginsDescription":"Přidejte plugin pro rozšíření funkcionality","loading":"Načítání pluginů...","installed":"Nainstalované pluginy","active":"Aktivní pluginy","activeLabel":"Aktivní","inactive":"Neaktivní","activate":"Aktivovat","deactivate":"Deaktivovat","models":"modelů","apiKeySet":"API klíč nastaven","apiKeyConfiguration":"Konfigurace API klíče","apiKeyEnvAlternative":"Alternativně nastavte","environmentVariable":"proměnnou prostředí","apiKeyConfigured":"API klíč nakonfigurován","apiKeyPlaceholder":"Zadejte API klíč...","saveApiKey":"Uložit API klíč","apiKey":{"title":"API klíč","placeholder":"Zadejte API klíč","save":"Uložit klíč","remove":"Odstranit klíč","configured":"API klíč nakonfigurován","notConfigured":"Vyžadován API klíč","saved":"API klíč úspěšně uložen","removed":"API klíč odstraněn","saveFailed":"Nepodařilo se uložit API klíč","removeFailed":"Nepodařilo se odstranit API klíč","enterKey":"Zadejte API klíč"},"variables":"Variables","providerConnections":"Připojení poskytovatelů","providerConnectionsDescription":"Připojte, nakonfigurujte a prozkoumejte poskytovatele modelů pomocí zásuvných modulů.","providers":"Poskytovatelé","searchProviders":"Hledat poskytovatele","noProvidersFound":"Žádní poskytovatelé neodpovídají vašemu hledání.","selectProvider":"Vybrat poskytovatele","selectProviderDescription":"Vyberte poskytovatele pro zobrazení jeho připojení a katalogu modelů.","apiKeyDescription":"Uložit osobní API klíč pro {{name}}.","showApiKey":"Zobrazit API klíč","hideApiKey":"Skrýt API klíč","configure":"Konfigurovat","providerSettings":"Nastavení poskytovatele","status":"Stav","defaultEndpoint":"Výchozí endpoint","modelCatalog":"Katalog modelů","modelCatalogDescription":"Objevené a nakonfigurované modely pro tohoto poskytovatele a jejich schopnosti.","refreshModels":"Obnovit modely","noModelsConfigured":"Pro tohoto poskytovatele nejsou nakonfigurovány žádné modely.","modelId":"ID modelu","capabilities":"Schopnosti","modelCatalogUpdated":"Katalog modelů aktualizován: {{count}} modelů.","modelCatalogUnchanged":"Katalog modelů je již aktuální.","modelCatalogNeedsApiKey":"Přidejte platný API klíč pro tohoto poskytovatele, aby se načetl jeho živý seznam modelů.","modelCatalogUnavailable":"Nelze načíst seznam modelů poskytovatele.","modelCatalogRefreshFailed":"Nepodařilo se obnovit katalog modelů","capability":{"chat":"Chat","embedding":"Embedding","image":"Obrázek","speech":"Řeč","transcription":"Přepis"},"exportPlugin":"Exportovat zásuvný modul","deletePlugin":"Smazat zásuvný modul"},"generation":{"title":"Možnosti generování","description":"Nakonfigurujte, jak AI generuje odpovědi","coreParameters":"Základní parametry","temperature":"Teplota","temperatureDescription":"Ovládá náhodnost. Nižší hodnoty jsou více zaměřené, vyšší více kreativní.","topP":"Top P","topPDescription":"Ovládá rozmanitost pomocí nucleus sampling. Nižší hodnoty se soustředí na pravděpodobné tokeny.","topK":"Top K","topKDescription":"Omezuje výběr tokenů na K nejpravděpodobnějších. Nastavte 0 pro vypnutí.","minP":"Min P","minPDescription":"Minimální prah pravděpodobnosti pro výběr tokenů.","generationControl":"Ovládání generování","maxTokens":"Max tokenů","maxTokensDescription":"Maximální počet tokenů k vygenerování v odpovědi.","repeatPenalty":"Penalizace opakování","repeatPenaltyDescription":"Penalizuje opakující se tokeny. Vyšší hodnoty snižují opakování.","contextLength":"Délka kontextu","contextLengthDescription":"Maximální velikost kontextového okna pro konverzace.","seed":"Seed","optional":"volitelné","random":"Náhodný","seedDescription":"Nastavte konkrétní seed pro reprodukovatelné výsledky.","advancedOptions":"Pokročilé možnosti","presencePenalty":"Penalizace přítomnosti","presencePenaltyDescription":"Penalizuje tokeny, které se objevují v kontextu.","frequencyPenalty":"Penalizace frekvence","frequencyPenaltyDescription":"Penalizuje často používané tokeny.","stopSequences":"Stop sekvence","commaSeparated":"oddělené čárkou","stopSequencesDescription":"Vlastní tokeny, které zastaví generování při nalezení.","resetDefaults":"Obnovit výchozí","saveOptions":"Uložit možnosti","embeddingSettings":"Nastavení embeddingů","enableEmbeddings":"Povolit embeddingy dokumentů","advancedSettings":"Pokročilá nastavení generování","advancedSettingsDescription":"Vzorkování, limity tokenů, kontext, penalizace a stop sekvence"},"documents":{"title":"Nastavení dokumentů","embeddings":{"title":"Embeddingy","enable":"Povolit embeddingy dokumentů","model":"Model embeddingů","modelDescription":"Vyberte model pro embedding dokumentů","chunkSize":"Velikost části","chunkSizeInTokens":"(v tokenech)","chunkSizeDescription":"Velikost textových částí pro embedding","chunkOverlap":"Překryv částí","chunkOverlapInTokens":"(v tokenech)","chunkOverlapDescription":"Překryv mezi po sobě jdoucími částmi","similarityThreshold":"Práh podobnosti","similarityDescription":"Minimální skóre podobnosti pro zahrnutí výsledků","status":"Stav embeddingů","statusLabel":"Stav","available":"Dostupný","unavailable":"Nedostupný","chunksWithEmbeddings":"Části s embeddingy","coverage":"Pokrytí","regenerate":"Regenerovat embeddingy","regenerating":"Regenerování..."},"collections":{"title":"Kolekce znalostí","description":"Seskupte dokumenty do kolekcí a připojte je k libovolnému chatu.","namePlaceholder":"Název kolekce","create":"Vytvořit","none":"Bez kolekce","deleteConfirm":"Smazat tuto kolekci? Dokumenty uvnitř zůstanou."}},"tts":{"title":"Text na řeč","description":"Nakonfigurujte nastavení syntézy řeči pro čtení zpráv","loadingProviders":"Načítání poskytovatelů TTS...","noProviders":"Žádní poskytovatelé TTS","noProvidersDescription":"Nakonfigurujte plugin s podporou TTS pro povolení syntézy řeči","enable":"Povolit TTS","enableDescription":"Povolit syntézu řeči pro zprávy asistenta","autoPlay":"Automatické přehrávání odpovědí","autoPlayDescription":"Automaticky číst nové zprávy asistenta","streamSentences":"Streamovat věty","streamSentencesDescription":"Přehrávat zvuk větu po větě namísto čekání na celou zprávu. Doporučeno pro lokální TTS, aby se předešlo časovému limitu u dlouhých zpráv.","voiceConfiguration":"Konfigurace hlasu","model":"Model TTS","modelDescription":"Vyberte model pro syntézu řeči","voice":"Hlas","selectVoice":"Vyberte hlas","voiceDescription":"Vyberte hlas pro syntézu řeči","speed":"Rychlost","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"Dostupní poskytovatelé","models":"modelů","test":"Test","testing":"Testování...","stop":"Stop"},"imageGen":{"title":"Generování obrázků","description":"Nakonfigurujte nastavení a poskytovatele generování obrázků","loadingProviders":"Načítání poskytovatelů generování obrázků...","noProviders":"Žádní poskytovatelé generování obrázků","noProvidersDescription":"Nakonfigurujte plugin s podporou generování obrázků","enable":"Povolit generování obrázků","enableDescription":"Povolit AI generování obrázků v konverzacích","configuration":"Konfigurace","model":"Model","modelDescription":"Vyberte model pro generování obrázků","size":"Velikost","sizeDescription":"Rozlišení generovaných obrázků","quality":"Kvalita","qualityDescription":"Úroveň kvality generovaných obrázků","style":"Styl","styleDescription":"Preset stylu pro generované obrázky","availableProviders":"Dostupní poskytovatelé","models":"modelů"},"data":{"title":"Správa dat","export":"Exportovat data","exportDescription":"Stáhněte všechna svá data včetně předvoleb, relací a dokumentů.","exportAll":"Exportovat všechna data","import":"Importovat data","importDescription":"Importujte data z předchozího exportu.","importData":"Importovat data","importing":"Importování...","clearSessions":"Vymazat relace","clearSessionsDescription":"Smazat všechny chatové relace. Tuto akci nelze vrátit zpět.","clearAll":"Vymazat vše","clearing":"Mazání...","importOptions":"Možnosti importu","importOptionsDescription":"Vyberte, jak zacházet s existujícími daty","skipDuplicates":"Přeskočit duplikáty","overwrite":"Přepsat existující","importResults":"Výsledky importu","preferences":"Předvolby","imported":"Importováno","failed":"Selhalo","sessions":"Relace","importedLabel":"importováno","skipped":"přeskočeno","documents":"Dokumenty","errors":"Chyby","archivedChats":{"title":"Archivované chaty","empty":"Žádné archivované chaty","unarchive":"Obnovit z archivu"}},"about":{"title":"O aplikaci","versionLabel":"Verze","ollama":{"title":"Stav Ollama","version":"Verze","healthy":"V pořádku","unhealthy":"Nefunkční"},"stats":{"models":"Modely","sessions":"Relace"},"features":{"privacy":{"title":"Soukromí na prvním místě","description":"Vaše data zůstávají na vašem zařízení"},"openSource":{"title":"Open source","description":"Bezplatný software s otevřeným zdrojovým kódem"},"localInference":{"title":"Lokální inference","description":"Spouštějte AI modely lokálně s Ollama"}},"openSourceBy":"Open source od {{company}}","links":{"title":"Odkazy","github":"GitHub","githubDescription":"Zobrazit zdrojový kód a přispět","website":"Webová stránka","websiteDescription":"Navštivte naše stránky","ollama":"Ollama","ollamaDescription":"Zjistěte více o Ollama","documentation":"Dokumentace","reportIssue":"Nahlásit problém","reportIssueDescription":"Hlášení chyb a požadavky na funkce","gitlab":"GitLab zrcadlo","gitlabDescription":"Vlastní hostovaný GitLab repozitář","documentationDescription":"Průvodci, tutoriály a reference API"},"version":"Verze {{version}}"},"groups":{"general":"Obecné","chat":"Chat","media":"Řeč a obrázky","connections":"Připojení"}}`),models:{title:`Modely`,subtitle:`Stahujte, spravujte a monitorujte své modely Ollama`,installed:`Nainstalované modely`,available:`Dostupné modely`,pull:`Stáhnout model`,pulling:`Stahování...`,delete:`Smazat model`,deleting:`Mazání...`,size:`Velikost`,modified:`Upraveno`,family:`Rodina`,parameters:`Parametry`,quantization:`Kvantizace`,noModels:`Žádné nainstalované modely`,pullFirst:`Stáhněte model pro začátek`,noModelsFound:`Žádné modely nenalezeny`},personas:{title:`Persony`,create:`Vytvořit personu`,edit:`Upravit personu`,delete:`Smazat personu`,name:`Název`,description:`Popis`,systemPrompt:`Systémový prompt`,model:`Model`,avatar:`Avatar`,background:`Pozadí`,noPersonas:`Žádné vytvořené persony`,createFirst:`Vytvořte svou první personu pro přizpůsobení zážitku z chatu`},gallery:{title:`Galerie`,subtitle:`Vaše galerie obrázků generovaných AI`,imageCount:`{{count}} obrázků`,generate:`Generovat obrázek`,generateDescription:`Vytvářejte obrázky pomocí AI`,generating:`Generování...`,prompt:`Prompt`,promptPlaceholder:`Popište obrázek, který chcete vygenerovat...`,noImages:`Zatím žádné vygenerované obrázky`,download:`Stáhnout`,delete:`Smazat`,regenerate:`Regenerovat`,model:`Model`,size:`Velikost`,quality:`Kvalita`,created:`Vytvořeno`},errors:{generic:`Došlo k chybě`,network:`Chyba sítě. Zkontrolujte připojení.`,unauthorized:`Nemáte oprávnění provést tuto akci.`,notFound:`Požadovaný prostředek nebyl nalezen.`,serverError:`Chyba serveru. Zkuste to později.`,validation:`Zkontrolujte zadané údaje a zkuste to znovu.`},keyboard:{title:`Klávesové zkratky`,toggleSidebar:`Přepnout postranní panel`,openSettings:`Otevřít nastavení`,toggleDarkMode:`Přepnout tmavý režim`,showShortcuts:`Zobrazit klávesové zkratky`,closeModals:`Zavřít modální okna`,groups:{navigation:`Navigace`,settings:`Nastavení`,general:`Obecné`,chat:`Chat`},actions:{sendMessage:`Odeslat zprávu`,newLine:`Nový řádek ve zprávě`},footer:`Stiskněte {{key1}} nebo {{key2}} pro zobrazení této nápovědy`,tooltip:`Klávesové zkratky`},modelManager:{title:`Modely`,loading:`Načítání modelů...`,systemStatus:{online:`Ollama online`,offline:`Ollama offline`,models:`model`,models_plural:`modelů`,running:`běží`,vram:`VRAM`},sections:{pull:`Stáhnout nový model`,library:`Procházet knihovnu`,running:`Běžící modely`,local:`Lokální modely`,advanced:`Pokročilé akce`,huggingface:`HuggingFace Hub`},pull:{placeholder:`Zadejte název modelu (např. llama3.2:3b, deepseek-r1:14b)`,button:`Stáhnout`,cancel:`Zrušit`,popular:`Populární modely:`,browseAll:`Procházet všechny modely na ollama.com`,success:`Model {{name}} úspěšně stažen`,cancelled:`Stahování modelu zrušeno`,failed:`Nepodařilo se stáhnout model`,enterName:`Zadejte název modelu`,restricted:`Instalace modelů je v této instanci omezena pouze na administrátory.`},progress:{starting:`Inicializace...`,pulling:`Stahování modelu...`,pullingLayer:`stahování`,verifying:`Ověřování integrity...`,verifyingDigest:`ověřování sha256 digestu`,writing:`Zápis manifestu...`,cleaning:`Čištění...`},library:{available:`dostupné`,search:`Hledat modely...`,noResults:`Nebyly nalezeny žádné modely odpovídající kritériím`,installed:`Nainstalováno`,more:`+{{count}} dalších`,refresh:`Obnovit knihovnu`},local:{noModels:`Zatím žádné nainstalované modely`,pullToStart:`Stáhněte model výše pro začátek`,installed:`nainstalováno`,running:`Běží`,info:`Info`,copy:`Kopírovat`,delete:`Smazat`,deleteConfirm:`Opravdu chcete smazat model "{{name}}"?`,deleteSuccess:`Model {{name}} úspěšně smazán`,deleteFailed:`Nepodařilo se smazat model`},advanced:{createModel:`Vytvořit model`,fromModelfile:`Z Modelfile`,copyModel:`Kopírovat model`,duplicateExisting:`Duplikovat existující`,testEmbeddings:`Testovat embeddingy`,generateVectors:`Generovat vektory`,healthCheck:`Kontrola stavu`,testConnection:`Test připojení`,healthy:`Ollama je v pořádku!`},modals:{details:{title:`Detaily modelu`,info:`Informace o modelu`,family:`Rodina`,parameters:`Parametry`,quantization:`Kvantizace`,format:`Formát`,systemPrompt:`Systémový prompt`,template:`Šablona`,license:`Licence`,modelfile:`Modelfile`,noDetails:`Žádné dostupné detaily`},copy:{title:`Kopírovat model`,source:`Zdrojový model`,selectModel:`Vyberte model...`,newName:`Nový název modelu`,placeholder:`např. muj-vlastni-model`,copying:`Kopírování...`,button:`Kopírovat model`,success:`Model zkopírován jako {{name}}`,failed:`Nepodařilo se zkopírovat model`,enterBoth:`Zadejte zdrojový i cílový název modelu`},create:{title:`Vytvořit vlastní model`,name:`Název modelu`,namePlaceholder:`např. muj-asistent`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
2
+ SYSTEM Jsi užitečný asistent.`,see:`Viz`,docs:`Dokumentace Modelfile`,docsLink:`pro referenci syntaxe`,creating:`Vytváření...`,button:`Vytvořit model`,success:`Model {{name}} úspěšně vytvořen`,failed:`Nepodařilo se vytvořit model`,enterBoth:`Zadejte název modelu a obsah Modelfile`},embeddings:{title:`Testovat embeddingy`,model:`Model embeddingů`,selectModel:`Vyberte model...`,recommended:`Doporučené: nomic-embed-text, mxbai-embed-large`,input:`Vstupní text`,placeholder:`Zadejte text pro generování embeddingů...`,generating:`Generování...`,button:`Generovat embeddingy`,result:`Výsledek ({{count}} dimenzí)`,success:`Vygenerován {{count}}-dimenzionální embedding vektor`,failed:`Nepodařilo se vygenerovat embeddingy`,enterBoth:`Vyberte model a zadejte text`}},huggingface:{browseAll:`Procházet vše na HuggingFace`,checkingGguf:`Hledání GGUF souborů...`,noGgufAvailable:`Žádné GGUF soubory nejsou dostupné pro přímé stažení do Ollama`,ggufFilesCount:`GGUF soubory ({{count}}) - Stáhnout přímo do Ollama`,noModelsFound:`Nenalezeny žádné modely`,noResults:`Nenalezeny žádné modely. Zkuste upravit vyhledávání nebo filtry.`,browseAllLink:`Zobrazit vše`,search:`Hledat modely HuggingFace...`,by:`od`,gated:`Omezený přístup`,viewOnHF:`Zobrazit na HuggingFace`,sortDownloads:`Stažení`,sortLikes:`Líbí se`,sortRecent:`Nedávné`,taskTextGeneration:`Generování textu`,taskTextToSpeech:`Text na řeč`,taskTextToImage:`Text na obrázek`,taskSpeechRecognition:`Rozpoznávání řeči`,tasks:{textGen:`Generování textu`,tts:`Text na řeč`,image:`Text na obrázek`,stt:`Rozpoznávání řeči`},sort:{downloads:`Nejstahovanější`,likes:`Nejoblíbenější`,recent:`Nedávno aktualizované`}}},personaManager:{title:`Persony`,subtitle:`Vytvářejte a spravujte AI persony s jedinečnými osobnostmi, pamětí a chováním`,loading:`Načítání person...`,createButton:`Vytvořit personu`,importExport:`Import/Export`,stats:{title:`Vaše persony`,count:`{{count}} persona vytvořena`,count_plural:`{{count}} person vytvořeno`},empty:{title:`Zatím žádné persony`,description:`Vytvořte svou první personu pro personalizované AI interakce`,button:`Vytvořit první personu`},deleteConfirm:`Opravdu chcete smazat "{{name}}"?`,deleteSuccess:`Persona "{{name}}" úspěšně smazána`,downloadSuccess:`Persona "{{name}}" úspěšně stažena`,failed:`Nepodařilo se {{action}} personu`},personaForm:{title:{create:`Vytvořit novou personu`,edit:`Upravit personu`},subtitle:{create:`Vytvořte novou AI personu s jedinečnou osobností, systémem paměti a adaptivním učením`,edit:`Přizpůsobte svou AI personu s pokročilou pamětí, adaptivním učením a inteligentními parametry`},loading:`Načítání formuláře...`,saved:`Uloženo`,tabs:{basic:`Základní`,parameters:`Parametry`,memory:`Paměť a učení`,advanced:`Pokročilé`},basic:{name:`Název`,namePlaceholder:`Zadejte název persony`,model:`Model`,selectModel:`Vyberte model`,description:`Popis`,descriptionPlaceholder:`Popište svou personu...`,systemPrompt:`Systémový prompt`,systemPromptPlaceholder:`Zadejte systémový prompt definující chování persony...`,systemPromptHint:`Systémový prompt definuje, jak se vaše persona bude chovat a odpovídat.`},parameters:{temperature:`Teplota`,temperatureHint:`Ovládá kreativitu vs konzistenci`,topP:`Top-P`,topPHint:`Ovládá rozmanitost odpovědí`,topK:`Top-K`,topKHint:`Omezuje slovník na top-k tokenů`,contextWindow:`Kontextové okno`,contextWindowHint:`Maximální délka historie konverzace`,maxTokens:`Max tokenů`,maxTokensHint:`Maximální délka odpovědi`,repeatPenalty:`Penalizace opakování`,repeatPenaltyHint:`Snižuje opakující se odpovědi`},memory:{title:`Systém paměti`,subtitle:`Persona si pamatuje konverzace v čase`,enableHint:`Povolte systém paměti, aby si vaše persona pamatovala konverzace a budovala kontext v čase.`,loading:`Načítání stavu paměti...`,noData:`Zatím žádná data paměti`,memories:`Vzpomínky`,mbUsed:`MB použito`,lastBackup:`Poslední záloha`,never:`Nikdy`,maxMemories:`Maximum vzpomínek`,maxMemoriesHint:`Kolik vzpomínek může persona uložit`,retention:`Uchování paměti`,retentionHint:`Dny uchování vzpomínek před vyčištěním`,autoCleanup:`Automatické čištění starých vzpomínek`,wipeAll:`Vymazat všechny vzpomínky`,wipeCannot:`Tuto akci nelze vrátit zpět`,wipeButton:`Vymazat`,wiping:`Mazání...`,wipeConfirm:`Opravdu chcete vymazat všechny vzpomínky? Tuto akci nelze vrátit zpět.`,wipeSuccess:`Vymazáno {{count}} vzpomínek`},learning:{title:`Adaptivní učení`,subtitle:`Persona se vyvíjí na základě interakcí`,enableHint:`Povolte adaptivní učení, aby se persona vyvíjela a personalizovala odpovědi na základě vašich interakcí.`,speed:`Rychlost učení`,slow:`Pomalá`,slowDesc:`Postupné změny`,balanced:`Vyvážená`,balancedDesc:`Střední tempo`,fast:`Rychlá`,fastDesc:`Rychlá adaptace`,autoAdapt:`Automatická adaptace na preference uživatele`,whatLearns:`Co se persona učí:`,conversationTone:`Tón konverzace`,responseStyle:`Styl odpovědí`,userPreferences:`Preference uživatele`,topicInterests:`Zájmy o témata`},advanced:{embeddingModel:`Model embeddingů`,embeddingHint:`Vyberte model používaný pro kódování paměti a sémantické vyhledávání. Modely embeddingů jsou zobrazeny první, pak ostatní dostupné modely.`,noModels:`Nebyly nalezeny žádné modely`,embeddingModels:`Modely embeddingů`,otherModels:`Ostatní modely`,installHint:`Nainstalujte model embeddingů:`,recommended:`Doporučené: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`O pokročilých nastaveních`,aboutDescription:`Model embeddingů je používán systémem paměti k pochopení sémantického významu a nalezení relevantních vzpomínek během konverzací. Vyberte model odpovídající vašemu případu použití a dostupným prostředkům.`},actions:{cancel:`Zrušit`,save:`Uložit`,saving:`Ukládání...`,saveClose:`Uložit a zavřít`,create:`Vytvořit`},success:{created:`Persona vytvořena`,updated:`Persona aktualizována`},error:{saveFailed:`Nepodařilo se uložit`}},personaCard:{enhanced:`Vylepšená`,systemPrompt:`Systémový prompt`,memories:`vzpomínek`,use:`Použít`,editTooltip:`Upravit personu`,downloadTooltip:`Stáhnout personu`,backup:`Záloha`,exportDNA:`Exportovat DNA`,wipeMemories:`Vymazat vzpomínky`,wipeConfirm:`Opravdu chcete vymazat všechny vzpomínky této persony? Tuto akci nelze vrátit zpět.`,wipeSuccess:`Vymazáno {{count}} vzpomínek`,backupSuccess:`Záloha persony úspěšně stažena`,dnaSuccess:`DNA persony úspěšně exportováno`,failed:`Nepodařilo se {{action}}`},userManager:{title:`Správa uživatelů`,subtitle:`Spravujte uživatelské účty a oprávnění`,pageDescription:`Spravujte uživatelské účty, oprávnění a řízení přístupu pro vaši instanci Libre WebUI.`,loading:`Načítání uživatelů...`,createUser:`Vytvořit uživatele`,search:`Hledat uživatele...`,noUsers:`Nebyli nalezeni žádní uživatelé`,noUsersMatching:`Nebyli nalezeni žádní uživatelé odpovídající hledání`,columns:{user:`Uživatel`,email:`Email`,role:`Role`,created:`Vytvořeno`,actions:`Akce`},roles:{admin:`Správce`,user:`Uživatel`},noEmail:`Žádný email`,deleteConfirm:`Opravdu chcete smazat uživatele "{{name}}"?`,deleteSuccess:`Uživatel úspěšně smazán`,deleteFailed:`Nepodařilo se smazat uživatele`,cannotDeleteSelf:`Nemůžete smazat svůj vlastní účet`,form:{title:{create:`Vytvořit uživatele`,edit:`Upravit uživatele`},username:`Uživatelské jméno`,usernamePlaceholder:`Zadejte uživatelské jméno`,email:`Email`,emailPlaceholder:`Zadejte email (volitelné)`,password:`Heslo`,passwordPlaceholder:`Zadejte heslo`,passwordHint:`Ponechte prázdné pro zachování současného hesla`,role:`Role`,creating:`Vytváření...`,updating:`Aktualizace...`,createButton:`Vytvořit uživatele`,updateButton:`Aktualizovat uživatele`,createSuccess:`Uživatel úspěšně vytvořen`,updateSuccess:`Uživatel úspěšně aktualizován`,createFailed:`Nepodařilo se vytvořit uživatele`,updateFailed:`Nepodařilo se aktualizovat uživatele`},approval:{title:`Nevyřízená schválení`,description:`Zkontrolujte nové registrace před jejich povolením do této instance.`,registered:`Registrováno`,activate:`Aktivovat účet`,reject:`Odmítnout registraci`,approved:`{{name}} se nyní může přihlásit.`,failed:`Účet nebylo možné schválit.`,notification:`{{count}} registrací čeká na vaše schválení.`,notificationBadge:`{{count}} nevyřízených schválení uživatelů`}},chatHistory:{label:`Historie konverzace`,jumpToTurn:`Přejít na část {{index}} z {{total}}`},chatMessage:{you:`Vy`,assistant:`Asistent`,system:`Systém`,copy:`Kopírovat`,copyMessage:`Kopírovat zprávu`,copied:`Zkopírováno!`,regenerate:`Regenerovat`,regenerateResponse:`Regenerovat odpověď`,edit:`Upravit`,editSystemMessage:`Upravit systémovou zprávu`,saveChanges:`Uložit změny`,cancelEditing:`Zrušit úpravy`,saveAndSubmit:`Uložit a odeslat`,goodResponse:`Dobrá odpověď`,badResponse:`Špatná odpověď`,delete:`Smazat`,deleteConfirm:`Smazat tuto zprávu?`,branch:`Větev`,speaking:`Mluvení...`,speakMessage:`Přečíst zprávu`,stopSpeaking:`Zastavit mluvení`,showMore:`Zobrazit více`,showLess:`Zobrazit méně`,thinking:`Přemýšlení`,thoughtFor:`Přemýšlel {{duration}}`,hiddenLines:`Skryté řádky: {{count}}`,systemMessagePlaceholder:`Zadejte systémovou zprávu...`,fullSizeImage:`Plná velikost obrázku`,startConversation:`Zahájit konverzaci`,startConversationDescription:`Pošlete zprávu pro zahájení chatu s AI asistentem. Ptejte se, získejte pomoc s kódem nebo veďte přirozenou konverzaci.`,scrollToBottom:`Posunout dolů`,newMessages:`Nové zprávy`},imageGallery:{title:`Galerie obrázků`,noImages:`Zatím žádné obrázky`,noImagesHint:`Vygenerujte svůj první obrázek pomocí panelu vpravo`,delete:`Smazat`,download:`Stáhnout`,deleteConfirm:`Opravdu chcete smazat tento obrázek?`,deleteSuccess:`Obrázek smazán`,deleteFailed:`Nepodařilo se smazat obrázek`,downloadFailed:`Nepodařilo se stáhnout obrázek`,loadMore:`Načíst více ({{current}} z {{total}})`,loadFailed:`Nepodařilo se načíst galerii`},imageGeneration:{title:`Generovat obrázek`,prompt:`Prompt`,promptPlaceholder:`Popište obrázek, který chcete vytvořit...`,model:`Model`,selectModel:`Vyberte model`,noModels:`Žádné dostupné modely pro generování obrázků`,configurePlugin:`Nakonfigurujte plugin s podporou generování obrázků`,size:`Velikost`,quality:`Kvalita`,style:`Styl`,generate:`Generovat`,generating:`Generování...`,success:`Obrázek úspěšně vygenerován`,failed:`Nepodařilo se vygenerovat obrázek`,enterPrompt:`Zadejte prompt`,promptTooLong:`Prompt překračuje maximální délku {{max}} znaků`},errorBoundary:{title:`Něco se pokazilo`,description:`Došlo k neočekávané chybě. Zkuste obnovit stránku.`,tryAgain:`Obnovit stránku`,goHome:`Přejít domů`,errorDetails:`Detaily chyby (vývoj)`},documents:{title:`Dokumenty`,upload:`Nahrát dokument`,uploading:`Nahrávání...`,noDocuments:`Žádné nahrané dokumenty`,uploadHint:`Nahrajte dokumenty pro použití v konverzacích`,delete:`Smazat`,deleteConfirm:`Opravdu chcete smazat tento dokument?`,deleteSuccess:`Dokument smazán`,deleteFailed:`Nepodařilo se smazat dokument`,uploadSuccess:`Dokument úspěšně nahrán`,uploadFailed:`Nepodařilo se nahrát dokument`,types:`Podporované: PDF, TXT, MD, DOCX`,unsupportedFileType:`Podporovány jsou pouze soubory PDF a TXT`,fileSizeTooLarge:`Velikost souboru musí být menší než 10MB`,uploadSuccessWithName:`Dokument "{{name}}" úspěšně nahrán`,removeSuccess:`Dokument úspěšně odstraněn`,removeFailed:`Nepodařilo se odstranit dokument`,removeError:`Při odstraňování dokumentu došlo k chybě`,clickToUpload:`Klikněte pro nahrání`,orDragAndDrop:`nebo přetáhněte`,fileTypesAndSize:`PDF nebo TXT soubory do 10MB`,uploadedDocuments:`Nahrané dokumenty`,removeDocument:`Odstranit dokument`},ttsButton:{speak:`Mluvit`,stop:`Stop`,speaking:`Mluvení...`,generateFailed:`Nepodařilo se vygenerovat řeč`,playbackFailed:`Přehrávání zvuku se nezdařilo`,stopSpeaking:`Zastavit mluvení`,generatingSpeech:`Generování řeči...`,readAloud:`Přečíst nahlas`},artifacts:{title:`Artefakty`,code:`Kód`,preview:`Náhled`,copy:`Kopírovat kód`,copied:`Zkopírováno!`,download:`Stáhnout`,expand:`Rozbalit`,collapse:`Sbalit`,openInNewTab:`Otevřít v nové záložce`,invalidSvg:`Neplatný obsah SVG`,invalidJson:`Neplatný obsah JSON`,previewMode:`Režim náhledu`,codeMode:`Režim kódu`,copyContent:`Kopírovat obsah`,openInPanel:`Otevřít v panelu`,openInNewWindow:`Otevřít v novém okně`,created:`Vytvořeno`,closePanelEsc:`Zavřít panel (Esc)`,copyButton:`Kopírovat`,open:`Otevřít`,dragEdgeToResize:`Přetáhněte okraj pro změnu velikosti`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`Verze {{current}} z {{total}}`,previousVersion:`Předchozí verze`,nextVersion:`Další verze`},personaImportExport:{title:`Import a export person`,description:`Exportujte své persony pro sdílení nebo importujte persony ostatních`,exportPersonas:`Exportovat persony`,importPersonas:`Importovat persony`,noPersonasToExport:`Žádné persony k exportu`,personasAvailable:`{{count}} persona dostupná`,personasAvailable_plural:`{{count}} person dostupných`,exportAll:`Exportovat vše`,uploadJsonFile:`Nahrát JSON soubor`,pasteJsonLabel:`Vložit JSON data`,pasteJsonPlaceholder:`Vložte JSON data persony sem...`,importing:`Importování...`,importButton:`Importovat personu(y)`,expectedFormat:`Očekávaný formát JSON:`,exportSuccess:`Persona "{{name}}" úspěšně exportována`,exportFailed:`Nepodařilo se exportovat personu`,exportAllSuccess:`Všechny {{count}} persony úspěšně exportovány`,exportAllFailed:`Nepodařilo se exportovat persony`,pasteJsonData:`Vložte JSON data persony`,importMultipleSuccess:`Úspěšně importováno {{count}} person`,importMultipleFailed:`Nepodařilo se importovat {{count}} person`,importNoneFailed:`Nepodařilo se importovat žádnou personu`,importSuccess:`Persona úspěšně importována`,importFailed:`Nepodařilo se importovat personu`},generationStats:{details:`Podrobnosti`,promptTokens:`Tokeny promptu:`,generatedTokens:`Vygenerované tokeny:`,totalTokens:`Celkem tokenů:`,speed:`Rychlost:`,promptEval:`Vyhodnocení promptu:`,generation:`Generování:`,modelLoad:`Načtení modelu:`,totalTime:`Celkový čas:`,generatedAt:`Vygenerováno v:`},userMenu:{loggedOut:`Úspěšně odhlášeno`,pictureUpdated:`Profilový obrázek aktualizován`,failedUpdateAvatar:`Aktualizace avataru selhala`,failedUpdatePicture:`Aktualizace profilového obrázku selhala`,noEmail:`E-mail nebyl zadán`,changePicture:`Změnit obrázek`,settings:`Nastavení`,userManagement:`Správa uživatelů`,signOut:`Odhlásit se`,changeProfilePicture:`Změnit profilový obrázek`},pluginManager:{title:`Správce pluginů`,upload:`Nahrát`,addJson:`Přidat JSON`,browseHF:`Procházet HF Hub`,confirmDelete:`Opravdu chcete smazat tento plugin?`,uploading:`Nahrávání pluginu...`,pasteJson:`Vložte JSON pluginu...`,installPlugin:`Nainstalovat plugin`,loading:`Načítání pluginů...`,noPlugins:`Žádné nainstalované pluginy`,noPluginsDescription:`Nahrajte soubor pluginu nebo přidejte plugin z JSON.`,active:`Aktivní`,id:`ID`,endpoint:`Endpoint`,activate:`Aktivovat`,deactivate:`Deaktivovat`,activePlugin:`Aktivní plugin`,activePluginDescription:`Všechny chatové požadavky budou směrovány přes tento plugin`,variables:{title:`Proměnné`,save:`Uložit`,saving:`Ukládání...`,saved:`Proměnné uloženy`,saveFailed:`Nepodařilo se uložit proměnné`,resetDefaults:`Obnovit výchozí`,reset:`Proměnné obnoveny na výchozí`,sensitiveSet:`Hodnota je nastavena (zadejte novou pro změnu)`,resetFailed:`Nepodařilo se resetovat proměnné`,showValue:`Zobrazit hodnotu {{label}}`,hideValue:`Skrýt hodnotu {{label}}`,connection:`Připojení`,advanced:`Pokročilé parametry`,inherited:`Použít výchozí poskytovatele`,inheritedValue:`Použít výchozí poskytovatele ({{value}})`,enabled:`Povoleno`,disabled:`Zakázáno`,required:`Hodnota je vyžadována`,fullApiEndpoint:`Úplná URL API endpointu`,endpointHelp:`Zadejte úplnou URL požadavku včetně cesty operace (například /v1/chat/completions), nikoliv pouze základní URL poskytovatele.`,invalidUrl:`Zadejte platnou úplnou URL API endpointu, například https://provider.example/v1/chat/completions`,insecureUrl:`API endpointy musí používat HTTP nebo HTTPS.`,httpWarning:`HTTP nešifruje přihlašovací údaje ani provoz. Používejte jej pouze v důvěryhodné síti.`,invalidBaseUrl:`Základní URL nesmí obsahovat řetězec dotazu ani fragment.`,invalidApiPath:`Musí začínat znakem / a nesmí obsahovat URL, dotaz, fragment ani segment ..`,tooLong:`Hodnota je příliš dlouhá`}},huggingface:{title:`Prohlížeč modelů HuggingFace`,subtitle:`Procházejte a vybírejte modely z Hubu`,searchPlaceholder:`Hledat modely...`,filters:`Filtry`,task:`Úloha`,sortBy:`Řadit podle`,noModels:`Žádné modely nenalezeny`,adjustSearch:`Zkuste upravit hledání nebo filtry`,gated:`Omezený`,selected:`Vybráno`,select:`Vybrat`,refresh:`Obnovit`,modelsFound:`nalezených modelů`},demoMode:{title:`Demo režim`,github:`GitHub`},personaBackground:{label:`Obrázek pozadí`,uploadBackgroundImage:`Nahrát obrázek pozadí`,dragAndDrop:`Přetáhněte obrázek nebo klikněte pro procházení`,chooseImage:`Vybrat obrázek`,uploading:`Nahrávání...`,enterImageUrl:`Nebo zadejte URL obrázku`,supportedFormats:`Podporuje: JPG, PNG, GIF, WebP (max 5MB). Široké obrázky na šířku fungují nejlépe.`,customBackground:`Vlastní obrázek pozadí`,clickToChange:`Klikněte pro změnu nebo odstranění`,removed:`Pozadí odstraněno`,uploaded:`Pozadí úspěšně nahráno`,invalidFile:`Vyberte platný soubor obrázku`,fileTooLarge:`Velikost obrázku pozadí musí být menší než 5MB`,readFailed:`Nepodařilo se přečíst soubor obrázku`,uploadFailed:`Nepodařilo se nahrát obrázek pozadí`},modelSelector:{searchInstalled:`Hledat nainstalované modely...`,searchOllama:`Hledat v knihovně Ollama...`,searchHuggingFace:`Hledat na HuggingFace...`,selectModel:`Vybrat model`,personas:`Persony`,ollamaModels:`Modely Ollama`,pluginModels:`Modely pluginů`,actions:`Akce`,installed:`Nainstalováno`,use:`Použít`,pull:`Stáhnout`,pullRestricted:`Instalace modelů je v této instanci omezena pouze na administrátory.`,adminOnlyPull:`Pouze administrátoři`},libreClaw:{title:`Agenti`,subtitle:`Spuštění místního agenta, schvalování, plány, paměť, nástroje a využití.`,dashboard:`Řídicí panel`,connection:{disconnectedTitle:`Démon Libre Claw není připojen`,disconnectedDescription:`Spusťte jej lokálně pomocí <command>libre-claw start</command> nebo nastavte <env>LIBRE_CLAW_BASE_URL</env> v prostředí backendu.`},status:{connected:`Připojeno`,disconnected:`Odpojeno`,activeRuns:`{{count}} aktivní`,activeRuns_plural:`{{count}} aktivní`},states:{queued:`Ve frontě`,running:`Probíhá`,blocked:`Blokováno`,done:`Hotovo`,failed:`Nepodařilo se`,cancelled:`Zrušeno`},startRun:{title:`Spustit úlohu agenta`,placeholder:`Požádejte Libre Claw o kontrolu repo, opravu chyby, spuštění kontroly, naplánování hlášení...`,chatRun:`Spustit chat`,goalMode:`Cílový režim`,providerOverride:`Přepsání poskytovatele`,modelOverride:`Přepsání modelu`,run:`Spustit`},modelRoute:{title:`Modelová cesta`,providerPlaceholder:`poskytovatel`,modelPlaceholder:`model`,persistGlobal:`Trvejte na Libre Claw globální konfiguraci`,saveModel:`Uložit model`,theme:`Motiv Libre Claw`,saveTheme:`Uložit motiv`},runs:{title:`Úlohy`,empty:`Zatím žádné úlohy Libre Claw.`},timeline:{title:`Časová osa úlohy`,empty:`Vyberte běh pro kontrolu jeho událostí.`,streaming:`Streamování...`,assistantResponse:`Odpověď asistenta`,resultOk:`dobře`,resultError:`chyba`,labels:{userMessage:`Uživatelská zpráva`,toolCall:`Volání nástroje`,toolResult:`Výsledek nástroje`,approvalRequest:`Žádost o schválení`,approvalResponse:`Odpověď na schválení`,runStarted:`Úloha spuštěna`,runFinished:`Úloha dokončena`,usage:`Využití`,error:`Chyba`}},approvals:{needed:`Je potřeba schválení`,allowOnce:`Povolit jednou`,alwaysAllowTool:`Vždy povolte nástroj`,deny:`Odmítnout`,toolApprovalRequested:`Požadováno schválení nástroje`},automations:{title:`Automatizace`,namePlaceholder:`Jméno`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`Výzva k automatizaci`,create:`Vytvořit`,empty:`Žádná naplánovaná automatizace Libre Claw.`,runNow:`Spustit nyní`,pause:`Pauza`,resume:`Pokračovat`,routes:{report:`Zpráva`,telegram:`Telegram`},status:{active:`Aktivní`,paused:`Pozastaveno`}},usageFallback:{title:`Použití a záložní`,usage:`Využití`,fallbackRoute:`Záložní trasa`,noUsage:`Zatím žádné záznamy o použití.`},metrics:{provider:`Poskytovatel`,model:`Model`,input:`Vstup`,output:`Výstup`,cached:`Uloženo do mezipaměti`,reasoning:`Zdůvodnění`,cost:`náklady`,tool:`Nástroj`,resolution:`Rozlišení`,state:`Stav`,stopReason:`Důvod zastavení`,tokens:`{{formatted}} token`,tokens_plural:`{{formatted}} tokeny`},fallbacks:{tool:`nástroj`,unknown:`neznámý`,resolved:`vyřešeno`,unknownError:`Neznámá chyba`},toasts:{loadStatusFailed:`Stav Libre Claw nelze načíst`,enterTask:`Zadejte úkol pro Libre Claw`,runStarted:`Úloha Libre Claw spuštěna`,startRunFailed:`Úlohu Libre Claw se nepodařilo spustit`,runCancelled:`Úloha zrušena`,cancelRunFailed:`Úlohu se nepodařilo zrušit`,approved:`Schváleno`,denied:`Zamítnuto`,resolvePermissionFailed:`Oprávnění se nepodařilo vyřešit`,providerModelRequired:`Poskytovatel a model jsou vyžadovány`,modelUpdated:`Model Libre Claw aktualizován`,updateModelFailed:`Model nelze aktualizovat`,themeUpdated:`Motiv Libre Claw aktualizován`,updateThemeFailed:`Motiv nelze aktualizovat`,automationRequired:`Je vyžadován název automatizace, plán a výzva`,automationCreated:`Automatizace vytvořena`,createAutomationFailed:`Nelze vytvořit automatizaci`,automationUpdated:`Automatizace aktualizována`,updateAutomationFailed:`Automatizaci nelze aktualizovat`}},work:{title:`Práce`,subtitle:`Izolované pracovní prostory modelů`,tasks:{title:`Pracovní úlohy`,subtitle:`Trvalé místní pracovní prostory`,new:`Nová úloha`,emptyTitle:`Zatím žádné pracovní úlohy`,empty:`Vaše pracovní úlohy se zde zobrazí po odeslání první zprávy.`,untitled:`Úloha bez názvu`,actions:`Akce úlohy`,delete:`Smazat úlohu`,deleteNamed:`Smazat „{{title}}“`,deleteConfirm:`Trvale smazat „{{title}}“ i její pracovní prostor?`,close:`Zavřít pracovní úlohy`,open:`Otevřít pracovní úlohy`,rename:`Název úlohy`,loading:`Načítání úlohy…`,notFound:`Tato pracovní úloha není dostupná`,back:`Spustit novou úlohu`,status:`Stav: {{status}}`},landing:{title:`Spustit novou pracovní úlohu`,description:`Poskytněte místnímu modelu nebo modelu nakonfigurovaného poskytovatele trvalý izolovaný pracovní prostor. Může procházet soubory, spouštět nástroje a po vašem návratu pokračovat tam, kde skončil.`,isolated:`Izolované`,isolatedBody:`Každá úloha má vlastní kontejner a soubory.`,durable:`Trvalé`,durableBody:`Později se můžete vrátit ke konverzaci i pracovnímu prostoru.`,controlled:`Kontrolované`,controlledBody:`Běhové prostředí a soubory úlohy zůstávají izolované od hostitele.`},composer:{placeholder:`Popište, co chcete vytvořit nebo změnit…`,model:`Pracovní model`,noModels:`Žádné modely kompatibilní s režimem Práce`,cancel:`Zastavit`,send:`Spustit`,hint:`Každá úloha uchovává vlastní soubory a historii. Před použitím výstup modelu zkontrolujte.`,remoteTitle:`Vzdálený poskytovatel`,remoteHint:`Konverzace a výstup nástrojů se odesílají do nakonfigurované služby. Jedno autonomní spuštění může poskytovatele kontaktovat vícekrát a způsobit poplatky. Soubory pracovního prostoru zůstávají místní, pokud nástroj nevrátí jejich obsah.`,remoteDismiss:`Skrýt`,remoteDismissLabel:`Skrýt upozornění na vzdáleného poskytovatele`,remoteDismissFailed:`Předvolbu vzdáleného poskytovatele se nepodařilo uložit.`,noModelSelected:`Není vybrán žádný model kompatibilní s režimem Práce.`},conversation:{ready:`Pracovní prostor je připraven`,empty:`Pokračujte v úloze níže. Tato konverzace a její soubory zůstávají připojené k tomuto pracovnímu prostoru.`,loadOlder:`Načíst starší zprávy`},status:{preparing:`Příprava izolovaného pracovního prostoru…`,running:`Práce v místním pracovním prostoru…`},statusLabels:{idle:`Nečinné`,thinking:`Přemýšlí`,complete:`Dokončeno`,needsInput:`Vyžaduje vstup`,error:`Chyba`},live:{connecting:`Připojování k živým aktualizacím…`,reconnecting:`Obnovování připojení k živým aktualizacím…`,unavailable:`Živé aktualizace nejsou dostupné`,newActivity:`Nová aktivita`,skillsLoaded:`Dovednosti pracovního prostoru · {{count}}`},runtime:{unavailable:`Běhové prostředí není dostupné`,ready:`Běhové prostředí je připraveno`,readyOllama:`Docker je připraven`,readyPlugin:`Docker + plugin jsou připraveny`,readyHybrid:`Docker + modely jsou připraveny`,reason:`Je vyžadován Docker a dostupný poskytovatel modelu Ollama nebo pluginu.`},workspace:{label:`Zobrazení pracovního prostoru`,files:`Soubory`,activity:`Aktivita`,preview:`Náhled`,resize:`Změnit velikost konverzace a pracovního prostoru`,resizeHint:`Velikost změníte přetažením. Pro přesné nastavení použijte klávesy se šipkami. Dvojitým kliknutím nebo klávesou Enter obnovíte výchozí velikost.`,splitSize:`Konverzace {{conversation}} %, pracovní prostor {{workspace}} %`,terminal:`Terminál`},files:{discard:`Zahodit neuložené změny souboru?`,leaveWithDraft:`Opustit tento soubor? Neuložená úprava zůstane v prohlížeči jako koncept.`,up:`Nadřazená složka`,back:`Zpět k souborům`,empty:`V této složce zatím nejsou žádné soubory.`,select:`Vyberte soubor, který chcete prohlédnout a upravit.`,editorLabel:`Editor souboru: {{path}}`,format:`Formátovat`,formatted:`Kód byl naformátován.`,formatFailed:`Tento soubor se nepodařilo naformátovat.`,formatShortcut:`Formátovat (Shift+Alt+F)`,formatTooLarge:`Formátování je omezeno na soubory do 100 000 znaků a 4 000 řádků.`,formatUnsupported:`Pro tento typ souboru není formátování dostupné.`,saveShortcut:`Uložit (⌘/Ctrl+S)`,highlightPaused:`U velkých souborů je živé zvýrazňování pozastaveno, aby editor zůstal plynulý.`,plainTextLarge:`Prostý text · velký soubor`,changes:`Změny`,changesSince:`Co se změnilo od posledního tahu`,diffLabel:`Změny od posledního tahu: {{path}}`,diffFolded:`{{count}} nezměněných řádků`},activity:{empty:`Zde se zobrazí příkazy, operace se soubory a výsledky nástrojů.`,toolActivity:`Aktivita nástrojů`,details:`Podrobnosti`,kinds:{message:`Zpráva`,toolCall:`Volání nástroje`,toolResult:`Výsledek nástroje`,error:`Chyba`}},preview:{command:`Volitelný spouštěcí příkaz`,start:`Spustit náhled`,stop:`Zastavit náhled`,open:`Otevřít`,starting:`Spouštění náhledu…`,frameTitle:`Náhled pracovního prostoru`,failed:`Náhled se nepodařilo spustit. Zkontrolujte Aktivitu a zkuste jiný příkaz.`,empty:`Spusťte aplikaci v tomto pracovním prostoru, abyste ji zde mohli prohlédnout.`},mobile:{surface:`Plocha úlohy`,conversation:`Konverzace`,workspace:`Pracovní prostor`},toasts:{runFailed:`Pracovní úlohu se nepodařilo spustit.`,updateFailed:`Tuto úlohu se nepodařilo aktualizovat.`,renameFailed:`Tuto úlohu se nepodařilo přejmenovat.`,cancelled:`Běh pracovní úlohy byl zastaven.`,cancelFailed:`Běh pracovní úlohy se nepodařilo zastavit.`,deleteFailed:`Tuto pracovní úlohu se nepodařilo smazat.`,saveFailed:`Tento soubor se nepodařilo uložit.`,saved:`Soubor byl uložen.`,previewFailed:`Náhled se nepodařilo spustit.`,previewStopFailed:`Náhled se nepodařilo zastavit.`},terminal:{connecting:`Otevírá se shell v sandboxu…`,closed:`Relace terminálu skončila.`,failed:`Relaci terminálu se nepodařilo spustit.`,reconnect:`Znovu připojit`,unavailable:`Interaktivní terminál není v tomto nasazení dostupný.`,blockedByRun:`Model používá tento kontejner. Terminál se otevře po dokončení tahu.`,taskRunning:`Probíhá tah modelu`}},usageAnalytics:{eyebrow:`Správa`,title:`Využití poskytovatelů`,description:`Sledujte odchozí API volání a spotřebu modelů napříč povolenými zásuvnými moduly v této instanci.`,days:`{{count}} dní`,refresh:`Obnovit využití`,loadFailed:`Využití poskytovatelů nelze načíst.`,metrics:{calls:`Volání`,tokens:`Tokeny`},cards:{calls:`API volání`,callsDetail:`Napříč {{count}} aktivními uživateli`,tokens:`Nahlášené tokeny`,tokensDetail:`Využití nahlášené na {{count}} voláních`,success:`Úspěšnost`,successDetail:`{{count}} neúspěšných volání`,latency:`Průměrná latence`,latencyDetail:`Celková doba odpovědi poskytovatele`},activity:{title:`Spotřeba v čase`,callsDescription:`Denní odchozí požadavky na povolené zásuvné moduly`,tokensDescription:`Denní součty tokenů nahlášené poskytovateli`,chartLabel:`Graf denního {{metric}} poskytovatele`},models:{title:`Spotřeba modelů`,description:`Modely s největším provozem v tomto období.`,model:`Model`,success:`Úspěšnost`,latency:`Latence`},providers:{title:`Provoz povolených zásuvných modulů`},capabilities:{title:`Mix schopností`,characters:`{{count}} znaků`,images:`{{count}} obrázků`,jobs:`{{count}} video úloh`,inputs:`{{count}} vstupů`,reportedTokens:`{{count}} nahlášených tokenů`},empty:{title:`Zatím žádná volání poskytovatelů`,description:`Volání se zde zobrazí, jakmile povolený zásuvný modul zpracuje požadavky na chat, práci, embedding, obrázek, řeč, zvuk nebo video.`},privacyNote:`Využití se měří na serveru na hranici odchozího zásuvného modulu. Libre WebUI ukládá poskytovatele, model, časování, stav a nahlášené čítače — nikdy výzvy, odpovědi, endpointy, přihlašovací údaje ani těla chyb poskytovatele. Součty tokenů zahrnují pouze volání, kde poskytovatel vrátil metadata o využití.`,heatmap:{title:`Rok aktivity`,description:`Denní volání poskytovatelů za poslední rok, obarvená podle nejpoužívanějšího modelu daného dne.`,calls:`volání`,noCalls:`Žádná volání`,other:`Ostatní modely`,less:`Méně`,more:`Více`,yearTotal:`{{formatted}} volání za poslední rok`}},systemPage:{eyebrow:`Správa`,title:`Systém`,description:`Monitorujte stroj a běhové prostředí hostující tuto instanci Libre WebUI.`,updated:`Aktualizováno {{date}}`,refresh:`Obnovit systémové informace`,loadFailed:`Systémové informace nelze načíst.`,cards:{uptime:`Doba běhu hostitele`,uptimeDetail:`Běží od {{date}}`,memory:`Využitá paměť`,memoryDetail:`{{used}} z {{total}}`,freeSpace:`Volné místo`,freeSpaceDetail:`{{label}} · {{total}} celkem`,containers:`Běžící kontejnery`,containersDetail:`{{total}} kontejnerů známých Dockeru`,dockerUnavailable:`Docker nedostupný`,unavailable:`Nedostupné`},host:{title:`Hostitel a běhové prostředí`,description:`Operační systém, procesor a detaily procesu Libre WebUI.`,container:`Kontejnerové běhové prostředí`,native:`Nativní běhové prostředí`,hostname:`Název hostitele`,operatingSystem:`Operační systém`,processor:`Procesor`,logicalCpus:`logických CPU`,loadAverage:`Průměrné zatížení · 1 / 5 / 15 min`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`Proces`,workingDirectory:`Pracovní adresář`},memory:{title:`Paměť`,description:`Systémová paměť viditelná běhovým prostředím a využití procesu aplikace.`,usedOf:`{{used}} využito z {{total}}`,free:`{{value}} volných`,processRss:`RSS procesu`,heapUsed:`V8 halda využito`,heapTotal:`V8 halda celkem`,external:`Externí paměť`},storage:{title:`Úložiště`,description:`Dostupné místo pro běhový souborový systém a trvalá data aplikace.`,used:`{{value}} využito`,free:`{{value}} volných`,empty:`Informace o souborovém systému nejsou v tomto běhovém prostředí dostupné.`},docker:{title:`Docker`,description:`Stav Docker Engine pouze pro čtení a zkrácený seznam kontejnerů.`,connected:`Připojeno`,unavailable:`Nedostupné`,unavailableDetail:`Diagnostika Docker Engine není dostupná.`,socketStatus:`Lokální socket: {{status}}`,mounted:`připojeno`,notMounted:`nepřipojeno`,running:`Běží`,stopped:`Zastaveno`,paused:`Pozastaveno`,total:`Celkem`,version:`Verze`,host:`Hostitel`,architecture:`Architektura`,cpus:`CPU`,memory:`Paměť`,container:`Kontejner`,image:`Obraz`,state:`Stav`,created:`Vytvořeno`,empty:`Docker je připojen a nejsou aktuálně vypsány žádné kontejnery.`},network:{title:`Síť`,description:`Rozhraní, adresy a linuxové čítače provozu viditelné běhovým prostředím.`,internal:`interní`,empty:`Běhovému prostředí aplikace nejsou viditelná žádná síťová rozhraní.`},securityNote:`Tato stránka je přístupná pouze správcům. Server vrací pouze provozní shrnutí: neodhaluje proměnné prostředí, přihlašovací údaje, Docker štítky, připojené svazky, příkazy kontejnerů ani inspect payloady. Když běží Libre WebUI v kontejneru, detaily o CPU a paměti hostitele pocházejí z Docker Engine, pokud je dostupný lokální socket; ostatní hodnoty popisují běhové prostředí aplikace.`},mediaGeneration:{title:`Generovat média`,description:`Vytvořte video, zvuk, hudbu nebo řeč s aktivovaným poskytovatelem médií.`,image:`Obrázek`,video:`Video`,audio:`Audio`,sound:`Zvuk`,speech:`Řeč`,model:`Model`,voice:`Hlas nebo ID hlasu`,resolution:`Rozlišení`,aspectRatio:`Poměr stran`,duration:`Délka`,providerDefault:`Výchozí poskytovatele`,generateAudio:`Generovat zvuk spolu s videem, pokud je podporováno`,prompt:`Výzva`,text:`Text k přečtení`,videoPlaceholder:`Popište scénu, pohyb, kameru a osvětlení...`,audioPlaceholder:`Zadejte text, který má hlas přečíst...`,soundPlaceholder:`Popište zvuk, hudbu, atmosféru nebo mluvenou odpověď, kterou chcete...`,generate:`Generovat`,generating:`Generování… to může trvat několik minut`,success:`Média vygenerována a uložena do Imagine`,failed:`Nepodařilo se vygenerovat média`,loadFailed:`Nepodařilo se načíst poskytovatele médií`,noModels:`Nejsou dostupné žádné modely typu {{kind}}. Nejprve aktivujte kompatibilního poskytovatele a uložte jeho přihlašovací údaje.`},mediaGallery:{itemCount:`{{count}} položek`,empty:`Zatím žádná vygenerovaná média`,emptyHint:`Vygenerujte obrázek, video nebo hlasový klip a zobrazí se zde.`,filters:{all:`Vše`,image:`Obrázky`,video:`Videa`,audio:`Audio`}},whatsNew:{title:`Co je nového`,releaseNotes:`Poznámky k vydání`,cta:`Dobře, jdeme na to`},notes:{title:`Poznámky`,new:`Nová poznámka`,untitled:`Bez názvu`,empty:`Zatím žádné poznámky`,selectOrCreate:`Vyberte poznámku nebo vytvořte novou`,contentPlaceholder:`Pište v Markdownu…`,saved:`Uloženo`,saveFailed:`Poznámku se nepodařilo uložit`,createFailed:`Poznámku se nepodařilo vytvořit`,deleteConfirm:`Smazat tuto poznámku?`,deleteFailed:`Poznámku se nepodařilo smazat`}};export{e as default};