libre-webui 0.20.0 → 0.21.0

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 (175) hide show
  1. package/README.md +31 -21
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +2 -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 +2 -0
  7. package/backend/dist/index.js.map +1 -1
  8. package/backend/dist/routes/chat.d.ts.map +1 -1
  9. package/backend/dist/routes/chat.js +97 -10
  10. package/backend/dist/routes/chat.js.map +1 -1
  11. package/backend/dist/routes/libreClaw.d.ts.map +1 -1
  12. package/backend/dist/routes/libreClaw.js +41 -0
  13. package/backend/dist/routes/libreClaw.js.map +1 -1
  14. package/backend/dist/routes/ollama.d.ts.map +1 -1
  15. package/backend/dist/routes/ollama.js +52 -2
  16. package/backend/dist/routes/ollama.js.map +1 -1
  17. package/backend/dist/routes/search.d.ts +3 -0
  18. package/backend/dist/routes/search.d.ts.map +1 -0
  19. package/backend/dist/routes/search.js +143 -0
  20. package/backend/dist/routes/search.js.map +1 -0
  21. package/backend/dist/services/agentAccessService.d.ts +6 -0
  22. package/backend/dist/services/agentAccessService.d.ts.map +1 -0
  23. package/backend/dist/services/agentAccessService.js +58 -0
  24. package/backend/dist/services/agentAccessService.js.map +1 -0
  25. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  26. package/backend/dist/services/agentCliService.js +2 -1
  27. package/backend/dist/services/agentCliService.js.map +1 -1
  28. package/backend/dist/services/authService.d.ts +1 -0
  29. package/backend/dist/services/authService.d.ts.map +1 -1
  30. package/backend/dist/services/authService.js +2 -0
  31. package/backend/dist/services/authService.js.map +1 -1
  32. package/backend/dist/services/documentService.d.ts +2 -0
  33. package/backend/dist/services/documentService.d.ts.map +1 -1
  34. package/backend/dist/services/documentService.js +51 -23
  35. package/backend/dist/services/documentService.js.map +1 -1
  36. package/backend/dist/services/modelAccessService.d.ts +12 -0
  37. package/backend/dist/services/modelAccessService.d.ts.map +1 -0
  38. package/backend/dist/services/modelAccessService.js +66 -0
  39. package/backend/dist/services/modelAccessService.js.map +1 -0
  40. package/backend/dist/services/webSearchService.d.ts +64 -0
  41. package/backend/dist/services/webSearchService.d.ts.map +1 -0
  42. package/backend/dist/services/webSearchService.js +230 -0
  43. package/backend/dist/services/webSearchService.js.map +1 -0
  44. package/backend/dist/services/workAgentGuidance.d.ts +1 -0
  45. package/backend/dist/services/workAgentGuidance.d.ts.map +1 -1
  46. package/backend/dist/services/workAgentGuidance.js +3 -0
  47. package/backend/dist/services/workAgentGuidance.js.map +1 -1
  48. package/backend/dist/services/workAgentService.d.ts +6 -0
  49. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  50. package/backend/dist/services/workAgentService.js +199 -11
  51. package/backend/dist/services/workAgentService.js.map +1 -1
  52. package/backend/dist/services/workPolicyService.d.ts.map +1 -1
  53. package/backend/dist/services/workPolicyService.js +61 -11
  54. package/backend/dist/services/workPolicyService.js.map +1 -1
  55. package/backend/dist/storage.d.ts.map +1 -1
  56. package/backend/dist/storage.js +3 -3
  57. package/backend/dist/storage.js.map +1 -1
  58. package/backend/dist/storageMappers.d.ts +1 -0
  59. package/backend/dist/storageMappers.d.ts.map +1 -1
  60. package/backend/dist/storageMappers.js +1 -0
  61. package/backend/dist/storageMappers.js.map +1 -1
  62. package/backend/dist/types/index.d.ts +1 -0
  63. package/backend/dist/types/index.d.ts.map +1 -1
  64. package/backend/dist/types/index.js.map +1 -1
  65. package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
  66. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  67. package/backend/dist/utils/chatDocumentContext.js +38 -30
  68. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  69. package/backend/dist/websocketServer.d.ts.map +1 -1
  70. package/backend/dist/websocketServer.js +79 -15
  71. package/backend/dist/websocketServer.js.map +1 -1
  72. package/backend/package.json +1 -1
  73. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  74. package/frontend/dist/assets/index-0wfi-EpC.js +40 -0
  75. package/frontend/dist/assets/index-D7m1zWWg.css +1 -0
  76. package/frontend/dist/index.html +12 -12
  77. package/frontend/dist/js/ArtifactContainer-DPRPcuES.js +1 -0
  78. package/frontend/dist/js/{ArtifactDemoPage-BOlB1lS-.js → ArtifactDemoPage-DzwPlz9J.js} +1 -1
  79. package/frontend/dist/js/{ArtifactSandboxFrame-DqU5GDrI.js → ArtifactSandboxFrame-CKi4mSTH.js} +2 -2
  80. package/frontend/dist/js/{ArtifactSlideOutPanel-B0I-hCux.js → ArtifactSlideOutPanel-BskRCzP0.js} +1 -1
  81. package/frontend/dist/js/ChatPage-DRutCyJ5.js +16 -0
  82. package/frontend/dist/js/FirstTimeSetup-DU50YWrE.js +1 -0
  83. package/frontend/dist/js/GalleryPage-DxXIUesf.js +1 -0
  84. package/frontend/dist/js/HomePage-Bew9kMKx.js +1 -0
  85. package/frontend/dist/js/{LibreClawPage-DUd3tjQE.js → LibreClawPage-Cy9y3YlF.js} +1 -1
  86. package/frontend/dist/js/{ModelManagerModals-D9j9RECi.js → ModelManagerModals-D-NxeVvV.js} +1 -1
  87. package/frontend/dist/js/ModelSelector-DXDcDmDR.js +1 -0
  88. package/frontend/dist/js/ModelsPage-Bj2reiF9.js +2 -0
  89. package/frontend/dist/js/{NotesPage-CTutDN50.js → NotesPage-CJKEbj3J.js} +1 -1
  90. package/frontend/dist/js/{PersonasPage-C6iTMI3N.js → PersonasPage-bgWF9S7b.js} +2 -2
  91. package/frontend/dist/js/{PluginUsagePage-BQQ0-_PP.js → PluginUsagePage-CRkD1Tz6.js} +1 -1
  92. package/frontend/dist/js/{RichMessageContent-DPqeqxkQ.js → RichMessageContent-DeNjCiyN.js} +1 -1
  93. package/frontend/dist/js/SettingsModal-BUUlkZcv.js +1 -0
  94. package/frontend/dist/js/SystemPage-DcO51urv.js +1 -0
  95. package/frontend/dist/js/UserManagementPage-DLiYw6xG.js +1 -0
  96. package/frontend/dist/js/WorkPage-MMQ0Y0U5.js +5 -0
  97. package/frontend/dist/js/{api-iCpOEijB.js → api-CZURQtuc.js} +4 -4
  98. package/frontend/dist/js/{appStore-DTd6dWg2.js → appStore-sGaWMSDr.js} +2 -2
  99. package/frontend/dist/js/ar-Bm27TCMQ.js +2 -0
  100. package/frontend/dist/js/{authStore-CuK4HUVh.js → authStore-uaj0hswV.js} +3 -3
  101. package/frontend/dist/js/bn-C7CHC42H.js +2 -0
  102. package/frontend/dist/js/chatStore-tRx0Ulq0.js +2 -0
  103. package/frontend/dist/js/{config--Xp9rZtJ.js → config-D-jxRG52.js} +1 -1
  104. package/frontend/dist/js/cs-zGEtwQn_.js +2 -0
  105. package/frontend/dist/js/da-B-0sHNTu.js +2 -0
  106. package/frontend/dist/js/de-UZNE6t2h.js +2 -0
  107. package/frontend/dist/js/es-CPLnFYIw.js +2 -0
  108. package/frontend/dist/js/{estree-BAQkciRX.js → estree-CRuerC6a.js} +1 -1
  109. package/frontend/dist/js/fr-Br1o0WVz.js +2 -0
  110. package/frontend/dist/js/hi-BcEvNEpb.js +2 -0
  111. package/frontend/dist/js/{html-DxA-Bcvi.js → html-BYKlz3Jp.js} +1 -1
  112. package/frontend/dist/js/i18n-DJTg6xWw.js +2 -0
  113. package/frontend/dist/js/id-C30L2DoT.js +2 -0
  114. package/frontend/dist/js/is-BAEhfi5Z.js +2 -0
  115. package/frontend/dist/js/it-HWnfQXZY.js +2 -0
  116. package/frontend/dist/js/ja-Dvux1mon.js +2 -0
  117. package/frontend/dist/js/ko-agDQ__KP.js +2 -0
  118. package/frontend/dist/js/{markdown-IsZpJ5ke.js → markdown-DFy8bILU.js} +1 -1
  119. package/frontend/dist/js/{messageCodeStyles-CsV3zwyK.js → messageCodeStyles-_gGirbe-.js} +2 -2
  120. package/frontend/dist/js/ms-aNRa2QX7.js +2 -0
  121. package/frontend/dist/js/nl-BtkiDUn-.js +2 -0
  122. package/frontend/dist/js/pl-SEO0lBnX.js +2 -0
  123. package/frontend/dist/js/pt-BYtjmvq1.js +2 -0
  124. package/frontend/dist/js/ru-B-ynj2hU.js +2 -0
  125. package/frontend/dist/js/{standalone-CK3b5Ktq.js → standalone-jOqWoOmp.js} +1 -1
  126. package/frontend/dist/js/sv-CliKR15U.js +2 -0
  127. package/frontend/dist/js/th-DJQyDr9J.js +2 -0
  128. package/frontend/dist/js/tr-BBGKZ1la.js +2 -0
  129. package/frontend/dist/js/{typescript-BMYmVohw.js → typescript-TwGXpgeF.js} +1 -1
  130. package/frontend/dist/js/{ui-C2kNYwfG.js → ui-DSFUl2vT.js} +2 -2
  131. package/frontend/dist/js/{ui-vendor-D_pYT79f.js → ui-vendor-xUzKqAXI.js} +1 -1
  132. package/frontend/dist/js/uk-C1GcFWxE.js +2 -0
  133. package/frontend/dist/js/vi-CIxgICOQ.js +2 -0
  134. package/frontend/dist/js/{workApi-C33ZrPws.js → workApi-kClHFVkJ.js} +2 -2
  135. package/frontend/dist/js/zh-Cm7vsQ9s.js +2 -0
  136. package/package.json +2 -2
  137. package/frontend/dist/assets/index-Z4-oLWDC.js +0 -2
  138. package/frontend/dist/assets/index-tBUyDbHh.css +0 -1
  139. package/frontend/dist/js/ArtifactContainer-DQRF4rh-.js +0 -1
  140. package/frontend/dist/js/ChatPage-DyV0_oCt.js +0 -16
  141. package/frontend/dist/js/FirstTimeSetup-ButTmjp0.js +0 -1
  142. package/frontend/dist/js/GalleryPage-CaT63b-s.js +0 -1
  143. package/frontend/dist/js/HomePage-BWyg3nHu.js +0 -1
  144. package/frontend/dist/js/ModelSelector-COFcJnMJ.js +0 -1
  145. package/frontend/dist/js/ModelsPage-BRbTEXNL.js +0 -2
  146. package/frontend/dist/js/SettingsModal-C_1k75Kv.js +0 -1
  147. package/frontend/dist/js/SystemPage-CUecyRPh.js +0 -1
  148. package/frontend/dist/js/UserManagementPage-CZ4KMOY9.js +0 -1
  149. package/frontend/dist/js/WorkPage-BqDcfXV6.js +0 -5
  150. package/frontend/dist/js/ar-C8YV99Y-.js +0 -2
  151. package/frontend/dist/js/bn-C9dcls7_.js +0 -2
  152. package/frontend/dist/js/chatStore-VNT0eHRB.js +0 -2
  153. package/frontend/dist/js/cs-DtL8VeeX.js +0 -2
  154. package/frontend/dist/js/da-U3aNn1aF.js +0 -2
  155. package/frontend/dist/js/de-DzuyeVpX.js +0 -2
  156. package/frontend/dist/js/es-OiU8plii.js +0 -2
  157. package/frontend/dist/js/fr-DDa3R8bs.js +0 -2
  158. package/frontend/dist/js/hi-D8Y0hl34.js +0 -2
  159. package/frontend/dist/js/i18n-BqWNFeNo.js +0 -2
  160. package/frontend/dist/js/id-BwcWtkBv.js +0 -2
  161. package/frontend/dist/js/is-DzfQHQih.js +0 -2
  162. package/frontend/dist/js/it-C5VU3_Je.js +0 -2
  163. package/frontend/dist/js/ja-DLhOhxvf.js +0 -2
  164. package/frontend/dist/js/ko-CCKiyQD6.js +0 -2
  165. package/frontend/dist/js/ms-CXXkPvWw.js +0 -2
  166. package/frontend/dist/js/nl-CA_e0Epl.js +0 -2
  167. package/frontend/dist/js/pl-BG32wdpx.js +0 -2
  168. package/frontend/dist/js/pt-BzRGWQXO.js +0 -2
  169. package/frontend/dist/js/ru-DBjn_Q-Q.js +0 -2
  170. package/frontend/dist/js/sv-Hz_iRGdF.js +0 -2
  171. package/frontend/dist/js/th-MsyXlGH9.js +0 -2
  172. package/frontend/dist/js/tr-Cofmy_ef.js +0 -2
  173. package/frontend/dist/js/uk-B2o05LCR.js +0 -2
  174. package/frontend/dist/js/vi-CZh8uJgV.js +0 -2
  175. package/frontend/dist/js/zh-DhKXi8ZA.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:`हटाएं`,home:`होम`,more:`अधिक`},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:`आपका खाता व्यवस्थापक की मंज़ूरी का इंतज़ार कर रहा है।`,verificationFailed:`सुरक्षा सत्यापन विफल। पृष्ठ रिफ्रेश करके पुनः प्रयास करें।`},signup:{title:`खाता बनाएं`,subtitle:`अपना नया खाता बनाने के लिए साइन अप करें`,username:`उपयोगकर्ता नाम`,usernamePlaceholder:`उपयोगकर्ता नाम चुनें`,email:`ईमेल`,emailPlaceholder:`your@email.com`,password:`पासवर्ड`,passwordPlaceholder:`पासवर्ड चुनें`,confirmPassword:`पासवर्ड की पुष्टि करें`,confirmPasswordPlaceholder:`अपना पासवर्ड फिर से दर्ज करें`,createAccount:`खाता बनाएं`,creatingAccount:`खाता बनाया जा रहा है...`,hasAccount:`पहले से खाता है?`,signInHere:`यहाँ साइन इन करें`,signupSuccess:`खाता सफलतापूर्वक बनाया गया!`,signupFailed:`साइन अप विफल`,tryAgain:`साइन अप विफल। कृपया पुनः प्रयास करें।`,usernameRequired:`उपयोगकर्ता नाम और पासवर्ड आवश्यक हैं`,passwordMismatch:`पासवर्ड मेल नहीं खाते`,passwordTooShort:`पासवर्ड कम से कम 6 अक्षरों का होना चाहिए`,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:`पासवर्ड दर्ज करें (न्यूनतम 6 अक्षर)`,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:`सुनना बंद करें`,webSearchOn:`वेब खोज चालू — उत्तर लाइव परिणाम उपयोग करते हैं`,webSearchOff:`इस संदेश के लिए वेब पर खोजें`},session:{new:`नई चैट`,work:`काम`,chat:`चैट`,private:`निजी`,privateMode:`निजी मोड`,privateDescription:`यह बातचीत सहेजी नहीं जाएगी`,privateTooltip:`एक निजी बातचीत शुरू करें जो सहेजी नहीं जाएगी`,deleteConfirm:`क्या आप वाकई इस चैट को हटाना चाहते हैं?`,generatingTitle:`शीर्षक बनाया जा रहा है`,noChats:`अभी तक कोई चैट नहीं`,createFirst:`ऊपर अपनी पहली चैट बनाएं`,chats:`चैट्स`,renameChat:`चैट का नाम बदलें`,openNewTab:`नए टैब में खोलें`,pinChat:`पिन करें`,unpinChat:`पिन हटाएँ`,deleteChat:`चैट हटाएं`,incognito:`गुप्त चैट`,archiveChat:`चैट संग्रहीत करें`,groups:{pinned:`पिन किए गए`,today:`आज`,yesterday:`कल`,previous7Days:`पिछले 7 दिन`,previous30Days:`पिछले 30 दिन`,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 (अधिकतम 10MB प्रत्येक)`,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:`इस चैट के लिए ओवरराइड। खाली फ़ील्ड वैश्विक डिफ़ॉल्ट उपयोग करते हैं।`,fromModel:`मॉडल से`,fromModelHint:`यह मान मॉडल की अपनी अनुशंसित सेटिंग्स से आता है।`,contextCapped:`संदर्भ {{trained}} में से {{context}} तक सीमित है, ताकि मॉडल लोड होता रहे।`,saved:`नियंत्रण सहेजे गए`,saveFailed:`नियंत्रण सहेजे नहीं जा सके`,params:{temperature:`तापमान`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`अधिकतम टोकन`,repeatPenalty:`दोहराव दंड`,seed:`सीड`,contextLength:`संदर्भ लंबाई`}},message:{sources:`स्रोत`}},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":"प्लगइन्स","search":"खोज","generation":"जनरेशन","documents":"दस्तावेज़","tts":"टेक्स्ट-टू-स्पीच","imageGen":"छवि जनरेशन","data":"डेटा","shortcuts":"शॉर्टकट","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":"हर उत्तर के बाद त्वरित जवाब सुझाएँ","hapticFeedback":"हैप्टिक फ़ीडबैक (Android)","hapticFeedbackDescription":"महत्वपूर्ण मोबाइल क्रियाओं के लिए हल्के कंपन का उपयोग करें"},"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 प्रतिक्रियाएं कैसे बनाता है","scopeLabel":"लागू होता है","scopeAll":"सभी मॉडल","scopeModel":"केवल {{model}}","scopeAllHint":"वे मान जो हर मॉडल उपयोग करता है, जब तक उसके अपने न हों।","scopeModelHint":"केवल इस मॉडल के लिए सहेजा जाता है और सामान्य मानों पर प्राथमिकता लेता है।","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":"प्रलेखन","reportIssue":"समस्या रिपोर्ट करें","reportIssueDescription":"बग रिपोर्ट और फीचर अनुरोध","gitlab":"GitLab मिरर","gitlabDescription":"स्व-होस्टेड GitLab रिपॉजिटरी","documentationDescription":"गाइड, ट्यूटोरियल और API संदर्भ"},"version":"संस्करण {{version}}"},"groups":{"general":"सामान्य","chat":"चैट","media":"वाणी और चित्र","connections":"कनेक्शन"},"search":{"title":"वेब खोज","description":"स्व-होस्टेड SearXNG इंस्टेंस के जरिए वेब पर खोजें। सक्षम करने पर चैट में खोज टॉगल दिखेगा और नेटवर्क-सक्षम Work कार्य खोज सकेंगे।","enableLabel":"वेब खोज सक्षम करें","enableDescription":"चैट और Work कार्यों को वेब खोज दें। खोजें सर्वर-साइड पर कॉन्फ़िगर किए इंस्टेंस से चलती हैं।","urlLabel":"SearXNG URL","urlDescription":"सर्वर से पहुँच योग्य SearXNG इंस्टेंस का बेस URL। शामिल प्राइवेट डिप्लॉय स्टैक http://searxng:8080 देता है।","maxResultsLabel":"प्रति खोज परिणाम","maxResultsDescription":"कितने परिणाम उत्तर या टूल कॉल में जाते हैं, 1-10।","maxResultsInvalid":"प्रति खोज परिणाम 1 और 10 के बीच होने चाहिए।","safeSearchLabel":"सुरक्षित खोज","safeSearchDescription":"इंजन से स्पष्ट परिणाम फ़िल्टर करने को कहें।","test":"कनेक्शन जाँचें","testing":"जाँच हो रही है…","testOk":"खोज काम कर रही है — {{results}} परिणाम मिले","testFailed":"खोज परीक्षण विफल","save":"सहेजें","saved":"खोज सेटिंग्स सहेजी गईं","saveFailed":"खोज सेटिंग्स सहेजी नहीं जा सकीं"}}`),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:`नेविगेशन`,general:`सामान्य`,chat:`चैट`,workspace:`वर्कस्पेस`},actions:{sendMessage:`संदेश भेजें`,newLine:`संदेश में नई लाइन`,saveEdit:`संपादित संदेश सहेजें`,cancelEdit:`संपादन रद्द करें`,saveFile:`फ़ाइल सहेजें`,formatCode:`कोड फ़ॉर्मेट करें`},description:`Libre WebUI में उपलब्ध सभी कीबोर्ड शॉर्टकट।`,newChat:`नई चैट`,newWork:`नया Work सत्र`,openPalette:`कमांड पैलेट खोलें`},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}} लंबित उपयोगकर्ता अनुमोदन`},workAccess:{title:`Work एक्सेस`,description:`सभी सक्रिय उपयोगकर्ताओं को अलग-थलग सैंडबॉक्स में Work कार्य बनाने और चलाने की अनुमति दें। व्यवस्थापकों के पास हमेशा एक्सेस रहता है; होस्ट फ़ोल्डर कार्यक्षेत्र केवल व्यवस्थापकों के लिए रहते हैं।`,saved:`Work एक्सेस अपडेट हुआ`,saveFailed:`Work एक्सेस अपडेट नहीं हो सका`},workPolicies:{title:`Work नीतियाँ`,description:`नामित रनटाइम प्रीसेट (इमेज, सीमाएँ, निष्क्रिय रोक) जिनके तहत कार्य बनाए जा सकते हैं। खाली फ़ील्ड वैश्विक डिफ़ॉल्ट प्राप्त करते हैं।`,add:`नीति जोड़ें`,name:`नाम`,image:`इमेज`,memory:`मेमोरी`,cpu:`CPU`,pids:`PID सीमा`,workspaceSize:`कार्यक्षेत्र आकार`,idleMinutes:`निष्क्रिय रोक (मिनट)`,networkDefault:`नेटवर्क डिफ़ॉल्ट`,networkInherit:`डिफ़ॉल्ट प्राप्त करें`,networkOn:`सक्षम`,networkOff:`अक्षम`,save:`सहेजें`,cancel:`रद्द करें`,edit:`नीति संपादित करें`,delete:`नीति हटाएँ`,deleteConfirm:`यह नीति हटाएँ? इसका उपयोग करने वाले कार्य वैश्विक डिफ़ॉल्ट पर लौट जाएँगे।`,empty:`अभी कोई नीति नहीं। कार्य वैश्विक रनटाइम डिफ़ॉल्ट उपयोग करते हैं।`,saved:`Work नीति सहेजी गई`,deleted:`Work नीति हटाई गई`,failed:`Work नीति सहेजी नहीं जा सकी`,invalidNumber:`PID सीमा और निष्क्रिय रोक संख्याएँ होनी चाहिए।`},modelAccess:{title:`मॉडल डाउनलोड`,description:`सभी सक्रिय उपयोगकर्ताओं को Ollama और Hugging Face ब्राउज़र से मॉडल खींचने की अनुमति दें। प्रशासक हमेशा मॉडल डाउनलोड कर सकते हैं।`,saved:`मॉडल डाउनलोड एक्सेस अपडेट हुआ`,saveFailed:`मॉडल डाउनलोड एक्सेस अपडेट नहीं हो सका`},webSearchAccess:{title:`वेब खोज`,description:`सभी सक्रिय उपयोगकर्ताओं को चैट और Work कार्यों में वेब खोज उपयोग करने दें। प्रशासक हमेशा इसका उपयोग कर सकते हैं। इंजन सेटिंग्स > खोज में कॉन्फ़िगर करें।`,saved:`वेब खोज एक्सेस अपडेट हुआ`,saveFailed:`वेब खोज एक्सेस अपडेट नहीं हो सका`},agentAccess:{title:`एजेंट`,description:`प्रशासकों के लिए एजेंट अनुभाग (Libre Claw) उपलब्ध कराएँ। एजेंट CLI होस्ट पर सर्वर उपयोगकर्ता के रूप में चलते हैं, Work सैंडबॉक्स के बाहर।`,saved:`एजेंट एक्सेस अपडेट हुआ`,saveFailed:`एजेंट एक्सेस अपडेट नहीं हो सका`,lockedByEnv:`AGENT_CLI_MODELS_ENABLED एनवायरनमेंट वैरिएबल द्वारा निर्धारित।`}},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:`फ़ाइल का आकार 10MB से कम होना चाहिए`,uploadSuccessWithName:`दस्तावेज़ "{{name}}" सफलतापूर्वक अपलोड किया गया`,removeSuccess:`दस्तावेज़ सफलतापूर्वक हटाया गया`,removeFailed:`दस्तावेज़ हटाने में विफल`,removeError:`दस्तावेज़ हटाते समय एक त्रुटि हुई`,clickToUpload:`अपलोड करने के लिए क्लिक करें`,orDragAndDrop:`या खींचें और छोड़ें`,fileTypesAndSize:`PDF या TXT फ़ाइलें 10MB तक`,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:`स्थापित मॉडल खोजें...`,searchOllama:`Ollama लाइब्रेरी में खोजें...`,searchHuggingFace:`HuggingFace में खोजें...`,selectModel:`मॉडल चुनें`,personas:`व्यक्तित्व`,ollamaModels:`Ollama मॉडल`,pluginModels:`प्लगइन मॉडल`,actions:`कार्य`,installed:`स्थापित`,use:`उपयोग करें`,pull:`डाउनलोड करें`,pullRestricted:`इस इंस्टेंस पर मॉडल इंस्टॉलेशन केवल एडमिन तक सीमित है।`,adminOnlyPull:`केवल एडमिन`,legacyProvider:`प्रोवाइडर दर्ज नहीं`,providerNotRecorded:`प्रोवाइडर दर्ज नहीं`,providerUnavailable:`प्रोवाइडर अनुपलब्ध`,reselectProvider:`इस मॉडल को पिन करने के लिए प्रोवाइडर फिर चुनें`,unavailable:`अनुपलब्ध`,unavailableSelections:`अनुपलब्ध चयन`,agentModels:`एजेंट`},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":"टर्मिनल","git":"Git"},"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":"मॉडल की बारी चल रही है"},"policy":{"label":"रनटाइम नीति","default":"डिफ़ॉल्ट (वैश्विक सीमाएँ)"},"git":{"actionFailed":"Git क्रिया विफल।","blockedByPreview":"Git स्थिति बदलने से पहले प्रीव्यू रोकें।","blockedByRun":"मॉडल की बारी खत्म होने पर Git लेखन क्रियाएँ खुलती हैं।","branchCreated":"{{name}} बनाई गई।","branchSwitched":"{{name}} पर स्विच किया।","clean":"वर्किंग ट्री साफ है।","commit":"स्टेज किए बदलाव कमिट करें","commitMessage":"कमिट संदेश","committed":"कमिट बन गया।","detached":"अलग HEAD","diff":"डिफ़ प्रीव्यू","diffFailed":"यह डिफ़ लोड नहीं हो सका।","history":"स्थानीय इतिहास","initialize":"Git प्रारंभ करें","initializeDescription":"स्थिति, डिफ़, ब्रांच और कमिट के लिए स्थानीय रिपॉज़िटरी बनाएँ। कोई रिमोट क्रेडेंशियल नहीं जुड़ते।","initialized":"Git रिपॉज़िटरी प्रारंभ हुई।","loadFailed":"Git स्थिति लोड नहीं हो सकी।","localOnly":"केवल स्थानीय Git। पुश, पुल और पुल रिक्वेस्ट के लिए अलग विश्वसनीय क्रेडेंशियल ब्रोकर चाहिए।","newBranch":"नई स्थानीय ब्रांच","noCommits":"अभी कोई कमिट नहीं।","noDiff":"अभी कोई टेक्स्ट डिफ़ नहीं। अनट्रैक की गई फ़ाइलें स्टेज करने के बाद दिखेंगी।","notInitialized":"Git प्रारंभ नहीं है","selectChange":"डिफ़ देखने के लिए बदली हुई फ़ाइल चुनें।","selectPath":"{{path}} चुनें","stageAll":"सब स्टेज करें","stageSelected":"{{count}} स्टेज करें","staged":"बदलाव स्टेज हुए।","switchBranch":"स्थानीय ब्रांच बदलें","changes":"बदलाव","createBranch":"बनाएँ"},"hostWorkspace":{"hint":"अलग वर्कस्पेस के लिए खाली छोड़ें, या टास्क को इस मशीन के फ़ोल्डर पर इंगित करें।","label":"वर्कस्पेस फ़ोल्डर (वैकल्पिक)","warning":"टास्क इस फ़ोल्डर को सीधे पढ़-लिख सकता है। अलग वर्कस्पेस के लिए खाली छोड़ें।"}}`),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:`लोड औसत · 1 / 5 / 15 मिनट`,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 से आते हैं जब इसका लोकल सॉकेट उपलब्ध होता है; अन्य मान एप्लिकेशन रनटाइम का वर्णन करते हैं।`,work:{title:`Work`,description:`सभी उपयोगकर्ताओं के सैंडबॉक्स`,access:`एक्सेस`,accessAdmins:`केवल व्यवस्थापक`,accessAllUsers:`सभी उपयोगकर्ता`,runtimeAvailable:`उपलब्ध`,runtimeUnavailable:`अनुपलब्ध`,activeRuntimes:`सक्रिय रनटाइम`,pendingCleanups:`लंबित सफ़ाई`,orphans:`अनाथ कंटेनर`,owner:`स्वामी`,task:`कार्य`,state:`स्थिति`,preview:`पूर्वावलोकन`,terminals:`टर्मिनल`,updated:`अपडेट किया गया`,stateRunning:`चल रहा है`,stateStopped:`रुका हुआ`,stateStarting:`शुरू हो रहा है`,stateUnknown:`अज्ञात`,noTasks:`अभी कोई Work कार्य नहीं।`}},mediaGeneration:{title:`मीडिया जनरेट करें`,description:`सक्रिय मीडिया प्रदाता के साथ वीडियो, ध्वनि, संगीत या भाषण बनाएं।`,image:`इमेज`,video:`वीडियो`,audio:`ऑडियो`,sound:`ध्वनि`,speech:`भाषण`,model:`मॉडल`,voice:`आवाज़ या आवाज़ ID`,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:`नोट हटाया नहीं जा सका`},home:{active:`सक्रिय`,continue:`जारी रखें`,start:`शुरू करें`,explore:`एक्सप्लोर`},palette:{empty:`कोई मिलान नहीं।`,placeholder:`चैट, Work, क्रियाएँ खोजें…`,toggleTheme:`थीम बदलें`,actions:`क्रियाएं`,chats:`चैट्स`,search:`खोजें`,settings:`सेटिंग्स`,work:`काम`},tabs:{actions:`टैब क्रियाएँ`,close:`टैब बंद करें`,closeAll:`सभी टैब बंद करें`,closeOthers:`अन्य टैब बंद करें`,closeRight:`दाईं ओर के टैब बंद करें`,home:`होम`,label:`खुले टैब`,new:`नया टैब`,newWork:`नया Work`,chat:`चैट`,newChat:`नई चैट`,work:`काम`}};export{e as default};
@@ -1,4 +1,4 @@
1
- import{_ as e,g as t,h as n,m as r,p as i}from"./router-vendor-Ca9zqOqT.js";import{g as a}from"../assets/index-Z4-oLWDC.js";var o,s,c=Object.defineProperty,l=e=>{throw TypeError(e)},u=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},f=(e,t,n)=>u(e,typeof t==`symbol`?t:t+``,n),p=(e,t,n)=>t.has(e)||l(`Cannot `+n),m=(e,t,n)=>(p(e,t,`read from private field`),n?n.call(e):t.get(e)),ee=(e,t,n)=>t.has(e)?l(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),te={};d(te,{languages:()=>fo,options:()=>ho,parsers:()=>go,printers:()=>ss});var ne=(e,t)=>(n,r,...i)=>n|1&&r==null?void 0:(t.call(r)??r[e]).apply(r,i),re=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},h=ne(`replaceAll`,function(){if(typeof this==`string`)return re});function ie(e){return this[e<0?this.length+e:e]}var g=ne(`at`,function(){if(Array.isArray(this)||typeof this==`string`)return ie}),ae=()=>{},oe=`string`,se=`array`,ce=`cursor`,le=`indent`,ue=`align`,de=`trim`,fe=`group`,pe=`fill`,me=`if-break`,he=`indent-if-break`,ge=`line-suffix`,_e=`line-suffix-boundary`,_=`line`,ve=`label`,ye=`break-parent`,be=new Set([ce,le,ue,de,fe,pe,me,he,ge,_e,_,ve,ye]);function xe(e,t,n){if(!e.has(t)){let r=n(t);e.set(t,r)}return e.get(t)}function Se(e){if(typeof e==`string`)return oe;if(Array.isArray(e))return se;if(!e)return;let{type:t}=e;if(be.has(t))return t}var Ce=Se,we=e=>new Intl.ListFormat(`en-US`,{type:`disjunction`}).format(e);function Te(e){let t=e===null?`null`:typeof e;if(t!==`string`&&t!==`object`)return`Unexpected doc '${t}',
1
+ import{_ as e,g as t,h as n,m as r,p as i}from"./router-vendor-Ca9zqOqT.js";import{g as a}from"../assets/index-0wfi-EpC.js";var o,s,c=Object.defineProperty,l=e=>{throw TypeError(e)},u=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},f=(e,t,n)=>u(e,typeof t==`symbol`?t:t+``,n),p=(e,t,n)=>t.has(e)||l(`Cannot `+n),m=(e,t,n)=>(p(e,t,`read from private field`),n?n.call(e):t.get(e)),ee=(e,t,n)=>t.has(e)?l(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),te={};d(te,{languages:()=>fo,options:()=>ho,parsers:()=>go,printers:()=>ss});var ne=(e,t)=>(n,r,...i)=>n|1&&r==null?void 0:(t.call(r)??r[e]).apply(r,i),re=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},h=ne(`replaceAll`,function(){if(typeof this==`string`)return re});function ie(e){return this[e<0?this.length+e:e]}var g=ne(`at`,function(){if(Array.isArray(this)||typeof this==`string`)return ie}),ae=()=>{},oe=`string`,se=`array`,ce=`cursor`,le=`indent`,ue=`align`,de=`trim`,fe=`group`,pe=`fill`,me=`if-break`,he=`indent-if-break`,ge=`line-suffix`,_e=`line-suffix-boundary`,_=`line`,ve=`label`,ye=`break-parent`,be=new Set([ce,le,ue,de,fe,pe,me,he,ge,_e,_,ve,ye]);function xe(e,t,n){if(!e.has(t)){let r=n(t);e.set(t,r)}return e.get(t)}function Se(e){if(typeof e==`string`)return oe;if(Array.isArray(e))return se;if(!e)return;let{type:t}=e;if(be.has(t))return t}var Ce=Se,we=e=>new Intl.ListFormat(`en-US`,{type:`disjunction`}).format(e);function Te(e){let t=e===null?`null`:typeof e;if(t!==`string`&&t!==`object`)return`Unexpected doc '${t}',
2
2
  Expected it to be 'string' or 'object'.`;if(Ce(e))throw Error(`doc is valid.`);let n=Object.prototype.toString.call(e);if(n!==`[object Object]`)return`Unexpected doc '${n}'.`;let r=we([...be].map(e=>`'${e}'`));return`Unexpected doc.type '${e.type}'.
3
3
  Expected it to be ${r}.`}var Ee=class extends Error{constructor(e){((...e)=>(super(...e),i(this,`name`,`InvalidDocError`),this))(Te(e)),this.doc=e}};function De(e,t){if(typeof e==`string`)return t(e);let n=new Map;return r(e);function r(e){return xe(n,e,i)}function i(e){switch(Ce(e)){case se:return t(e.map(r));case pe:return t({...e,parts:e.parts.map(r)});case me:return t({...e,breakContents:r(e.breakContents),flatContents:r(e.flatContents)});case fe:{let{expandedStates:n,contents:i}=e;return n?(n=n.map(r),i=n[0]):i=r(i),t({...e,contents:i,expandedStates:n})}case ue:case le:case he:case ve:case ge:return t({...e,contents:r(e.contents)});case oe:case ce:case de:case _e:case _:case ye:return t(e);default:throw new Ee(e)}}}function v(e,t=Le){return De(e,e=>typeof e==`string`?S(t,e.split(`
4
4
  `)):e)}var y=ae,Oe=ae,ke=ae,Ae=ae;function b(e){return y(e),{type:le,contents:e}}function je(e,t){return Ae(e),y(t),{type:ue,contents:t,n:e}}function Me(e){return je(-1/0,e)}var Ne={type:ye};function Pe(e){return ke(e),{type:pe,parts:e}}function x(e,t={}){return y(e),Oe(t.expandedStates,!0),{type:fe,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Fe(e,t=``,n={}){return y(e),t!==``&&y(t),{type:me,breakContents:e,flatContents:t,groupId:n.groupId}}function Ie(e,t){return y(e),{type:he,contents:e,groupId:t.groupId,negate:t.negate}}function S(e,t){y(e),Oe(t);let n=[];for(let r=0;r<t.length;r++)r!==0&&n.push(e),n.push(t[r]);return n}var C={type:_},w={type:_,soft:!0},T=[{type:_,hard:!0},Ne],Le=[{type:_,hard:!0,literal:!0},Ne],Re=Object.freeze({character:`'`,codePoint:39}),ze=Object.freeze({character:`"`,codePoint:34}),Be=Object.freeze({preferred:Re,alternate:ze}),Ve=Object.freeze({preferred:ze,alternate:Re});function He(e,t){let{preferred:n,alternate:r}=t===!0||t===`'`?Be:Ve,{length:i}=e,a=0,o=0;for(let t=0;t<i;t++){let i=e.charCodeAt(t);i===n.codePoint?a++:i===r.codePoint&&o++}return(a>o?r:n).character}function Ue(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`)}var We=(o=new WeakMap,s=new WeakSet,class{constructor(t){a(this,s),e(this,o,void 0),n(o,this,new Set(t))}getLeadingWhitespaceCount(e){let t=r(o,this),n=0;for(let r=0;r<e.length&&t.has(e.charAt(r));r++)n++;return n}getTrailingWhitespaceCount(e){let t=r(o,this),n=0;for(let r=e.length-1;r>=0&&t.has(e.charAt(r));r--)n++;return n}getLeadingWhitespace(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(0,t)}getTrailingWhitespace(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(e.length-t)}hasLeadingWhitespace(e){return r(o,this).has(e.charAt(0))}hasTrailingWhitespace(e){return r(o,this).has(g(0,e,-1))}trimStart(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(t)}trimEnd(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(0,e.length-t)}trim(e){return this.trimEnd(this.trimStart(e))}split(e,t=!1){let n=`[${Ue([...r(o,this)].join(``))}]+`,i=new RegExp(t?`(${n})`:n);return e.split(i)}hasWhitespaceCharacter(e){let t=r(o,this);return Array.prototype.some.call(e,e=>t.has(e))}hasNonWhitespaceCharacter(e){let t=r(o,this);return Array.prototype.some.call(e,e=>!t.has(e))}isWhitespaceOnly(e){let t=r(o,this);return Array.prototype.every.call(e,e=>t.has(e))}dedentString(e){let n=t(s,this,Ge).call(this,e);return n===0?e:e.split(`
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./router-vendor-Ca9zqOqT.js";import{t}from"./i18next-DgmgtwsV.js";import{i as n,o as r}from"./useTranslation-CdeLZqSW.js";var i={type:`3rdParty`,init(e){r(e.options.react),n(e)}},{slice:a,forEach:o}=[];function s(e){return o.call(a.call(arguments,1),t=>{if(t)for(let n in t)e[n]===void 0&&(e[n]=t[n])}),e}function c(e){return typeof e==`string`&&[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e))}var l=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,u=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:`/`},r=`${e}=${encodeURIComponent(t)}`;if(n.maxAge>0){let e=n.maxAge-0;if(Number.isNaN(e))throw Error(`maxAge should be a Number`);r+=`; Max-Age=${Math.floor(e)}`}if(n.domain){if(!l.test(n.domain))throw TypeError(`option domain is invalid`);r+=`; Domain=${n.domain}`}if(n.path){if(!l.test(n.path))throw TypeError(`option path is invalid`);r+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!=`function`)throw TypeError(`option expires is invalid`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite)switch(typeof n.sameSite==`string`?n.sameSite.toLowerCase():n.sameSite){case!0:r+=`; SameSite=Strict`;break;case`lax`:r+=`; SameSite=Lax`;break;case`strict`:r+=`; SameSite=Strict`;break;case`none`:r+=`; SameSite=None`;break;default:throw TypeError(`option sameSite is invalid`)}return n.partitioned&&(r+=`; Partitioned`),r},d={create(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:`/`,sameSite:`strict`};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+n*60*1e3)),r&&(i.domain=r),document.cookie=u(e,t,i)},read(e){let t=`${e}=`,n=document.cookie.split(`;`);for(let e=0;e<n.length;e++){let r=n[e];for(;r.charAt(0)===` `;)r=r.substring(1,r.length);if(r.indexOf(t)===0)return r.substring(t.length,r.length)}return null},remove(e,t){this.create(e,``,-1,t)}},f={name:`cookie`,lookup(e){let{lookupCookie:t}=e;if(t&&typeof document<`u`)return d.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:n,cookieMinutes:r,cookieDomain:i,cookieOptions:a}=t;n&&typeof document<`u`&&d.create(n,e,r,i,a)}},p={name:`querystring`,lookup(e){let{lookupQuerystring:t}=e,n;if(typeof window<`u`){let{search:e}=window.location;!window.location.search&&window.location.hash?.indexOf(`?`)>-1&&(e=window.location.hash.substring(window.location.hash.indexOf(`?`)));let r=e.substring(1).split(`&`);for(let e=0;e<r.length;e++){let i=r[e].indexOf(`=`);i>0&&r[e].substring(0,i)===t&&(n=r[e].substring(i+1))}}return n}},m={name:`hash`,lookup(e){let{lookupHash:t,lookupFromHashIndex:n}=e,r;if(typeof window<`u`){let{hash:e}=window.location;if(e&&e.length>2){let i=e.substring(1);if(t){let e=i.split(`&`);for(let n=0;n<e.length;n++){let i=e[n].indexOf(`=`);i>0&&e[n].substring(0,i)===t&&(r=e[n].substring(i+1))}}if(r)return r;if(!r&&n>-1){let t=e.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?t[typeof n==`number`?n:0]?.replace(`/`,``):void 0}}}return r}},h=null,g=()=>{if(h!==null)return h;try{if(h=typeof window<`u`&&window.localStorage!==null,!h)return!1;let e=`i18next.translate.boo`;window.localStorage.setItem(e,`foo`),window.localStorage.removeItem(e)}catch{h=!1}return h},_={name:`localStorage`,lookup(e){let{lookupLocalStorage:t}=e;if(t&&g())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&g()&&window.localStorage.setItem(n,e)}},v=null,y=()=>{if(v!==null)return v;try{if(v=typeof window<`u`&&window.sessionStorage!==null,!v)return!1;let e=`i18next.translate.boo`;window.sessionStorage.setItem(e,`foo`),window.sessionStorage.removeItem(e)}catch{v=!1}return v},b={name:`sessionStorage`,lookup(e){let{lookupSessionStorage:t}=e;if(t&&y())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&y()&&window.sessionStorage.setItem(n,e)}},x={name:`navigator`,lookup(e){let t=[];if(typeof navigator<`u`){let{languages:e,userLanguage:n,language:r}=navigator;if(e)for(let n=0;n<e.length;n++)t.push(e[n]);n&&t.push(n),r&&t.push(r)}return t.length>0?t:void 0}},S={name:`htmlTag`,lookup(e){let{htmlTag:t}=e,n,r=t||(typeof document<`u`?document.documentElement:null);return r&&typeof r.getAttribute==`function`&&(n=r.getAttribute(`lang`)),n}},C={name:`path`,lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>`u`)return;let n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(n))return n[typeof t==`number`?t:0]?.replace(`/`,``)}},w={name:`subdomain`,lookup(e){let{lookupFromSubdomainIndex:t}=e,n=typeof t==`number`?t+1:1,r=typeof window<`u`&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}},T=!1;try{document.cookie,T=!0}catch{}var E=[`querystring`,`cookie`,`localStorage`,`sessionStorage`,`navigator`,`htmlTag`];T||E.splice(1,1);var D=()=>({order:E,lookupQuerystring:`lng`,lookupCookie:`i18next`,lookupLocalStorage:`i18nextLng`,lookupSessionStorage:`i18nextLng`,caches:[`localStorage`],excludeCacheFor:[`cimode`],convertDetectedLanguage:e=>e}),O=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type=`languageDetector`,this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=s(t,this.options||{},D()),typeof this.options.convertDetectedLanguage==`string`&&this.options.convertDetectedLanguage.indexOf(`15897`)>-1&&(this.options.convertDetectedLanguage=e=>e.replace(`-`,`_`)),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(f),this.addDetector(p),this.addDetector(_),this.addDetector(b),this.addDetector(x),this.addDetector(S),this.addDetector(C),this.addDetector(w),this.addDetector(m)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(e=>{if(this.detectors[e]){let n=this.detectors[e].lookup(this.options);n&&typeof n==`string`&&(n=[n]),n&&(t=t.concat(n))}}),t=t.filter(e=>e!=null&&!c(e)).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)}))}};O.type=`languageDetector`;var k={common:{loading:`Loading...`,save:`Save`,saving:`Saving...`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,close:`Close`,back:`Back`,next:`Next`,confirm:`Confirm`,error:`Error`,success:`Success`,warning:`Warning`,or:`or`,optional:`optional`,enabled:`Enabled`,disabled:`Disabled`,on:`On`,off:`Off`,yes:`Yes`,no:`No`,search:`Search`,noResults:`No results found`,retry:`Retry`,refresh:`Refresh`,download:`Download`,upload:`Upload`,export:`Export`,import:`Import`,reset:`Reset`,apply:`Apply`,clear:`Clear`,all:`All`,none:`None`,default:`Default`,custom:`Custom`,remove:`Remove`,home:`Home`,more:`More`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`Welcome Back`,subtitle:`Sign in to your account to continue`,username:`Username`,usernamePlaceholder:`Enter your username`,password:`Password`,passwordPlaceholder:`Enter your password`,signIn:`Sign In`,signingIn:`Signing in...`,noAccount:`Don't have an account?`,signUpHere:`Sign up here`,loginSuccess:`Login successful!`,loginFailed:`Login failed`,checkCredentials:`Login failed. Please check your credentials.`,approvalPending:`Your account is waiting for administrator approval.`,enterBoth:`Please enter both username and password`,githubSuccess:`GitHub login successful!`,githubFailed:`GitHub authentication failed`,githubVerifyFailed:`Failed to verify GitHub authentication`,verificationFailed:`Security verification failed. Please refresh and try again.`},signup:{title:`Create Account`,subtitle:`Sign up for your new account`,username:`Username`,usernamePlaceholder:`Choose a username`,email:`Email`,emailPlaceholder:`your@email.com`,password:`Password`,passwordPlaceholder:`Choose a password`,confirmPassword:`Confirm Password`,confirmPasswordPlaceholder:`Confirm your password`,createAccount:`Create Account`,creatingAccount:`Creating account...`,hasAccount:`Already have an account?`,signInHere:`Sign in here`,signupSuccess:`Account created successfully!`,approvalPending:`Registration received. An administrator must approve your account.`,awaitingApproval:`Awaiting approval`,awaitingApprovalDescription:`Your account has been created, but an administrator must activate it before you can sign in.`,backToSignIn:`Back to sign in`,signupFailed:`Signup failed`,tryAgain:`Signup failed. Please try again.`,usernameRequired:`Username and password are required`,passwordMismatch:`Passwords do not match`,passwordTooShort:`Password must be at least 6 characters long`},logout:{button:`Log out`,success:`Logged out successfully`},oauth:{continueWith:`Continue with {{provider}}`,connectingTo:`Connecting to {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`Checking authentication...`,welcome:`Welcome`,noEmail:`No email provided`,role:`Role`,id:`ID`,userId:`User ID`,signInDescription:`Sign in with your GitHub account to continue`,signInWithGitHub:`Sign in with GitHub`,jwtActive:`JWT Authentication Active`,jwtDescription:`JWT-based authentication with GitHub OAuth`,github:`GitHub`,provider:`Provider`,tagline:`Your AI stack should answer to you.`,selfHosted:`Self-hosted · Apache 2.0`,highlights:{local:{title:`Local first`,body:`Your conversations and files stay on the machine you run this on.`},providers:{title:`Any provider`,body:`Local models through Ollama, plus the remote providers you choose to add.`},work:{title:`Isolated Work`,body:`Give a model a sandboxed workspace with files, a terminal, and a preview.`}}},setup:{welcome:{title:`Welcome to Libre WebUI`,subtitle:`Let's Get Started`,description:`Set up your Libre WebUI instance in just a few steps`,createAdmin:`Create Admin Account`,features:{secure:{title:`Secure & Private`,description:`Your conversations stay on your device`},fast:{title:`Fast & Responsive`,description:`Optimized for speed and performance`},openSource:{title:`Open Source`,description:`Free and open source software`}}},admin:{title:`Create Admin Account`,subtitle:`Administrator Setup`,description:`Create the first admin account for your Libre WebUI instance`,usernamePlaceholder:`Enter admin username`,passwordPlaceholder:`Enter password (min 6 characters)`,confirmPlaceholder:`Confirm your password`,creating:`Creating...`,createAdmin:`Create Admin`,success:`Admin account created successfully!`,failed:`Failed to create admin account`,approvalUnexpected:`The initial administrator could not be activated. Please try again.`,fillAllFields:`Please fill in all fields`,note:`This will be the primary administrator account for your Libre WebUI instance`},encryptionKey:{title:`Save Your Encryption Key`,subtitle:`Important: Save This Key`,description:`This encryption key protects your sensitive data. Store it securely - you'll need it if you ever need to restore your database.`,warning:`Warning`,warningText:`If you lose this key and need to restore your database, your encrypted data (API keys, preferences) will be unrecoverable.`,label:`Your Encryption Key`,loading:`Loading...`,copyToClipboard:`Copy to clipboard`,copied:`Encryption key copied to clipboard!`,copyFailed:`Failed to copy key to clipboard`,envNote:`This key is also saved in your backend/.env file as ENCRYPTION_KEY`,acknowledgment:`I have saved my encryption key in a secure location and understand that losing it may result in data loss.`,confirmRequired:`Please confirm that you have saved the encryption key`,continue:`Continue to Libre WebUI`}},chat:{greeting:{morning:`Good morning`,afternoon:`Good afternoon`,evening:`Good evening`,night:`Good night`},followUp:`Follow up`,welcome:{helpToday:`What can I help with today?`,helpTonight:`What can I help with tonight?`,variety:{create:{title:`What should we make?`,subtitle:`Start with a thought, a sketch, or a stubborn problem.`},explore:{title:`Where should we begin?`,subtitle:`Bring the question you keep returning to.`},imagine:{title:`What are you imagining?`,subtitle:`We can shape it together.`},focus:{title:`What deserves your attention?`,subtitle:`Let's make the next step clear.`},untangle:{title:`What's tangled?`,subtitle:`Give me the messy version first.`},momentum:{title:`Ready when you are.`,subtitle:`Pick up an idea, plan, or unfinished thread.`},open:{title:`What's on your mind?`,subtitle:`Small thought or ambitious project. Both work.`},challenge:{title:`What are we solving?`,subtitle:`Tell me what isn't working yet.`},draft:{title:`Let's start somewhere.`,subtitle:`It doesn't have to be polished.`},possibility:{title:`What could this become?`,subtitle:`Show me the raw material.`},unexpected:{title:`Make something unexpected.`,subtitle:`Give me a constraint, a mood, or a half-formed idea.`}}},input:{placeholder:`Send a message`,messagePlaceholder:`Message...`,attachImages:`Attach images`,attachments:`Attachments and advanced features`,sendMessage:`Send message`,stopGeneration:`Stop generation`,menu:{uploadImages:`Upload images`,attachDocument:`Attach document`,attachWebpage:`Attach webpage`,structuredOutput:`Structured output`,attach:`Attach`,documentAttached:`Document attached`,webpageAttached:`Webpage attached`,attachFailed:`Could not attach that`,attachKnowledge:`Attach knowledge`,noCollections:`No collections yet — create one in Settings → Documents`},voiceInput:`Voice input`,voiceStop:`Stop listening`,webSearchOn:`Web search on — replies use live results`,webSearchOff:`Search the web for this message`},session:{new:`New Chat`,work:`Work`,chat:`Chat`,private:`Private`,incognito:`Incognito Chat`,privateMode:`Private Mode`,privateDescription:`This conversation won't be saved`,privateTooltip:`Start a private conversation that won't be saved`,deleteConfirm:`Are you sure you want to delete this chat?`,generatingTitle:`Generating title`,noChats:`No chats yet`,createFirst:`Create your first chat above`,chats:`Chats`,renameChat:`Rename chat`,openNewTab:`Open in new tab`,pinChat:`Pin`,unpinChat:`Unpin`,deleteChat:`Delete chat`,archiveChat:`Archive chat`,groups:{pinned:`Pinned`,today:`Today`,yesterday:`Yesterday`,previous7Days:`Previous 7 days`,previous30Days:`Previous 30 days`,older:`Older`},folder:{new:`New folder`,namePlaceholder:`Folder name`,move:`Move to folder`,remove:`Remove from folder`,delete:`Delete folder`,deleteConfirm:`Delete this folder? Chats inside are kept.`}},persona:{applied:`Persona applied`,label:`Persona`,removeFailed:`Failed to remove persona`},model:{updated:`Model updated`,noModels:`No models available`,noModelsDescription:`No models available. Make sure Ollama is running and has models installed.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`No models available. Please ensure Ollama is running and models are installed.`,selectBeforePrivateChat:`Select an available model before starting private chat`,selectBeforeSending:`Select an available model before sending`},footer:{disclaimer:`LLM can make mistakes - verify important information`,images:`{{count}} image`,images_plural:`{{count}} images`,structuredOutput:`Structured output`},mediaUpload:{dropImagesHere:`Drop images here or`,supportedFormats:`Supports: JPG, PNG, GIF, WebP (max 10MB each)`,browse:`browse`},structuredOutput:{title:`Response Format`,none:`None (Natural Language)`,noneDescription:`Default natural language response`,json:`JSON`,jsonDescription:`Structured JSON format`,list:`List`,listDescription:`Array of items`,summary:`Summary`,summaryDescription:`Document summary with key points`,analysis:`Analysis`,analysisDescription:`Structured analysis with pros/cons`,custom:`Custom Schema`,customDescription:`Define your own JSON schema`,customSchema:`Custom JSON schema`,schemaPreview:`Schema Preview`,applySchema:`Apply Schema`,cancel:`Cancel`,enabled:`Structured output enabled`},controls:{title:`Chat controls`,systemPrompt:`System prompt`,systemPromptPlaceholder:`Instructions that apply only to this chat…`,advancedParams:`Advanced parameters`,advancedParamsDescription:`Overrides for this chat. Empty fields use your global defaults.`,fromModel:`from model`,fromModelHint:`This value comes from the model's own recommended settings.`,contextCapped:`Context capped at {{context}} of the {{trained}} this model was trained for, so it still loads.`,saved:`Chat controls saved`,saveFailed:`Could not save chat controls`,params:{temperature:`Temperature`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Max tokens`,repeatPenalty:`Repeat penalty`,seed:`Seed`,contextLength:`Context length`}},message:{sources:`Sources`}},sidebar:{navigation:{chat:`Chat`,models:`Models`,personas:`Personas`,imagine:`Imagine`,agents:`Agents`,work:`Work`,settings:`Settings`,usageAnalytics:`Provider Usage`,system:`System`,userManagement:`User Management`,signOut:`Sign Out`,exploreLabel:`Explore`,notes:`Notes`},toggleSize:`Toggle sidebar size`,expandSidebar:`Expand sidebar`},user:{menu:{changePicture:`Change Picture`,settings:`Settings`,usageAnalytics:`Provider Usage`,system:`System`,userManagement:`User Management`,logout:`Log out`},avatar:{title:`Change Profile Picture`,updated:`Profile picture updated`,updateFailed:`Failed to update profile picture`,saving:`Saving...`,label:`Avatar`,uploadAvatarImage:`Upload avatar image`,dragAndDrop:`Drag and drop an image or click to browse`,chooseImage:`Choose Image`,uploading:`Uploading...`,enterImageUrl:`Or enter image URL`,supportedFormats:`Supports: JPG, PNG, GIF, WebP (max 2MB). Square images work best.`,customAvatar:`Custom avatar image`,clickToChange:`Click to change or remove`,removed:`Avatar removed`,uploaded:`Avatar uploaded successfully`,invalidFile:`Please select a valid image file`,fileTooLarge:`Avatar image size must be less than 2MB`,readFailed:`Failed to read image file`,uploadFailed:`Failed to upload avatar image`},profile:{noEmail:`No email provided`}},settings:JSON.parse(`{"title":"Settings","tabs":{"appearance":"Appearance","model":"Model","systemMessage":"System Message","plugins":"Plugins","search":"Search","generation":"Generation","documents":"Documents","tts":"Speech","imageGen":"Images","data":"Data","shortcuts":"Shortcuts","about":"About"},"appearance":{"title":"Appearance","language":{"title":"Language","description":"Select your preferred language"},"theme":{"title":"Theme","light":"Light","dark":"Dark","amoled":"Pure Black","system":"System"},"accent":{"title":"Accent color","custom":"Custom color","useColor":"Use {{color}} accent","behaviorTitle":"Interface palette","behaviorDescription":"Choose whether the accent stays on controls or adapts the entire light or dark interface.","defaultStyle":"Default","defaultStyleDescription":"Keep the neutral light and dark surfaces.","adaptedStyle":"Adapt to accent","adaptedStyleDescription":"Tint surfaces, borders, and text with your accent."},"chatInterface":{"title":"Chat Interface","showUsername":"Show Username","showUsernameDescription":"Display username in chat messages","followUpSuggestions":"Follow-up suggestions","followUpSuggestionsDescription":"Suggest quick replies after each response","hapticFeedback":"Haptic feedback (Android)","hapticFeedbackDescription":"Use subtle vibration for important mobile actions"},"background":{"title":"Background Image","enable":"Enable background image","enableDescription":"Show custom background with blur effect","blur":"Blur","opacity":"Opacity","upload":"Upload background image","dragDrop":"Drag and drop an image or click to browse","chooseImage":"Choose Image"}},"saveSettings":"Save Settings","model":{"title":"Model Settings","defaultModel":"Default Model","defaultModelDescription":"This model will be used by default for new conversations","selectModel":"Select a model","specializedModels":"Specialized Models","visionModel":"Vision Model","selectVisionModel":"Use the current chat model","visionModelDescription":"Used automatically whenever the outgoing chat context contains images. Choose a model that supports image input.","visionModelUpdateFailed":"Failed to update vision model: {{error}}","visionModelNoProvider":"This vision model has no provider identity. Select an available model.","persona":"Persona","updateAll":"Update All Models","updateAllDescription":"Check for updates and pull latest versions of all installed models","updateAllButton":"Update All","updating":"Updating models...","currentModelInfo":"Current Model Info","name":"Name","size":"Size","family":"Family","format":"Format","status":"Status","statusStarting":"Starting...","statusComplete":"Complete","statusError":"Error","bulkOperations":"Bulk Operations","autoTitle":{"title":"Auto Title Generation","enable":"Enable Auto Title","enableDescription":"Automatically generate titles for new conversations","taskModel":"Task Model","selectTaskModel":"Select task model","taskModelDescription":"Model used for generating conversation titles"},"updatingModel":"Updating {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} of {{total}} models"},"systemMessage":{"title":"System Message","description":"Set a custom system message that will be used for all new conversations.","placeholder":"Enter a system message...","saved":"System message saved","saveFailed":"Failed to save system message"},"plugins":{"title":"Plugins","description":"Manage your installed plugins","providerConnections":"Provider connections","providerConnectionsDescription":"Connect, configure, and inspect model providers through plugins.","providers":"Providers","searchProviders":"Search providers","noProvidersFound":"No providers match your search.","selectProvider":"Select a provider","selectProviderDescription":"Choose a provider to inspect its connection and model catalog.","addNew":"Add New Plugin","upload":"Upload Plugin","addJson":"Add JSON","uploading":"Uploading...","jsonPlaceholder":"Paste plugin JSON configuration...","install":"Install Plugin","noPlugins":"No plugins installed","noPluginsDescription":"Add a plugin to extend functionality","loading":"Loading plugins...","installed":"Installed Plugins","active":"Active Plugins","activeLabel":"Active","inactive":"Inactive","activate":"Activate","deactivate":"Deactivate","models":"models","apiKeySet":"API Key Set","apiKeyConfiguration":"API Key Configuration","apiKeyDescription":"Store a personal API key for {{name}}.","apiKeyEnvAlternative":"Alternatively, set the","environmentVariable":"environment variable","apiKeyConfigured":"API key configured","apiKeyPlaceholder":"Enter your API key...","saveApiKey":"Save API Key","showApiKey":"Show API key","hideApiKey":"Hide API key","configure":"Configure","providerSettings":"Provider settings","status":"Status","defaultEndpoint":"Default endpoint","modelCatalog":"Model catalog","modelCatalogDescription":"Discovered and configured models for this provider and its capabilities.","refreshModels":"Refresh models","noModelsConfigured":"No models are configured for this provider.","modelId":"Model ID","capabilities":"Capabilities","modelCatalogUpdated":"Model catalog updated: {{count}} models.","modelCatalogUnchanged":"Model catalog is already up to date.","modelCatalogNeedsApiKey":"Add a valid API key for this provider to load its live model list.","modelCatalogUnavailable":"Could not load the provider's model list.","modelCatalogRefreshFailed":"Failed to refresh the model catalog","capability":{"chat":"Chat","embedding":"Embedding","image":"Image","speech":"Speech","transcription":"Transcription"},"exportPlugin":"Export plugin","deletePlugin":"Delete plugin","apiKey":{"title":"API Key","placeholder":"Enter API key","save":"Save Key","remove":"Remove Key","configured":"API Key Configured","notConfigured":"API Key Required","saved":"API key saved successfully","removed":"API key removed","saveFailed":"Failed to save API key","removeFailed":"Failed to remove API key","enterKey":"Please enter an API key"},"variables":"Variables"},"generation":{"title":"Generation Options","description":"Configure how the AI generates responses","scopeLabel":"Applies to","scopeAll":"All models","scopeModel":"Only {{model}}","scopeAllHint":"The values every model uses unless it has its own.","scopeModelHint":"Saved for this model alone, and it wins over the values above.","advancedSettings":"Advanced generation settings","advancedSettingsDescription":"Sampling, token limits, context, penalties, and stop sequences","coreParameters":"Core Parameters","temperature":"Temperature","temperatureDescription":"Controls randomness. Lower values are more focused, higher values more creative.","topP":"Top P","topPDescription":"Controls diversity via nucleus sampling. Lower values focus on likely tokens.","topK":"Top K","topKDescription":"Limits token selection to top K most likely. Set to 0 to disable.","minP":"Min P","minPDescription":"Minimum probability threshold for token selection.","generationControl":"Generation Control","maxTokens":"Max Tokens","maxTokensDescription":"Maximum number of tokens to generate in the response.","repeatPenalty":"Repeat Penalty","repeatPenaltyDescription":"Penalizes repeated tokens. Higher values reduce repetition.","contextLength":"Context Length","contextLengthDescription":"Maximum context window size for conversations.","seed":"Seed","optional":"optional","random":"Random","seedDescription":"Set a specific seed for reproducible outputs.","advancedOptions":"Advanced Options","presencePenalty":"Presence Penalty","presencePenaltyDescription":"Penalizes tokens that appear in the context.","frequencyPenalty":"Frequency Penalty","frequencyPenaltyDescription":"Penalizes frequently used tokens.","stopSequences":"Stop Sequences","commaSeparated":"comma separated","stopSequencesDescription":"Custom tokens that will stop generation when encountered.","resetDefaults":"Reset to Defaults","saveOptions":"Save Options","embeddingSettings":"Embedding Settings","enableEmbeddings":"Enable Document Embeddings"},"documents":{"title":"Document Settings","embeddings":{"title":"Embeddings","enable":"Enable document embeddings","model":"Embedding Model","modelDescription":"Select the model used for document embedding","chunkSize":"Chunk Size","chunkSizeInTokens":"(in tokens)","chunkSizeDescription":"Size of text chunks for embedding","chunkOverlap":"Chunk Overlap","chunkOverlapInTokens":"(in tokens)","chunkOverlapDescription":"Overlap between consecutive chunks","similarityThreshold":"Similarity Threshold","similarityDescription":"Minimum similarity score to include results","status":"Embedding Status","statusLabel":"Status","available":"Available","unavailable":"Unavailable","chunksWithEmbeddings":"Chunks with embeddings","coverage":"Coverage","regenerate":"Regenerate Embeddings","regenerating":"Regenerating..."},"collections":{"title":"Knowledge collections","description":"Group documents into collections and attach them to any chat.","namePlaceholder":"Collection name","create":"Create","none":"No collection","deleteConfirm":"Delete this collection? Documents inside are kept."}},"tts":{"title":"Text-to-Speech","description":"Configure text-to-speech settings for reading messages aloud","loadingProviders":"Loading TTS providers...","noProviders":"No TTS Providers","noProvidersDescription":"Configure a plugin with TTS support to enable text-to-speech","enable":"Enable TTS","enableDescription":"Allow text-to-speech for assistant messages","autoPlay":"Auto-play Responses","autoPlayDescription":"Automatically read new assistant messages aloud","streamSentences":"Stream Sentences","streamSentencesDescription":"Play audio sentence by sentence instead of waiting for the full message. Recommended for local TTS to avoid timeouts on long messages.","voiceConfiguration":"Voice Configuration","model":"TTS Model","modelDescription":"Select the model for text-to-speech generation","voice":"Voice","selectVoice":"Select a voice","voiceDescription":"Choose the voice for text-to-speech","speed":"Speed","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"Available Providers","models":"models","test":"Test","testing":"Testing...","stop":"Stop"},"imageGen":{"title":"Image Generation","description":"Configure image generation settings and providers","loadingProviders":"Loading image generation providers...","noProviders":"No Image Generation Providers","noProvidersDescription":"Configure a plugin with image generation support","enable":"Enable Image Generation","enableDescription":"Allow AI image generation in conversations","configuration":"Configuration","model":"Model","modelDescription":"Select the model for image generation","size":"Size","sizeDescription":"Resolution of generated images","quality":"Quality","qualityDescription":"Quality level of generated images","style":"Style","styleDescription":"Style preset for generated images","availableProviders":"Available Providers","models":"models"},"data":{"title":"Data Management","export":"Export Data","exportDescription":"Download all your data including preferences, sessions, and documents.","exportAll":"Export All Data","import":"Import Data","importDescription":"Import data from a previous export.","importData":"Import Data","importing":"Importing...","clearSessions":"Clear Sessions","clearSessionsDescription":"Delete all chat sessions. This action cannot be undone.","clearAll":"Clear All","clearing":"Clearing...","importOptions":"Import Options","importOptionsDescription":"Choose how to handle existing data","skipDuplicates":"Skip duplicates","overwrite":"Overwrite existing","importResults":"Import Results","preferences":"Preferences","imported":"Imported","failed":"Failed","sessions":"Sessions","importedLabel":"imported","skipped":"skipped","documents":"Documents","errors":"Errors","archivedChats":{"title":"Archived chats","empty":"No archived chats","unarchive":"Unarchive"}},"about":{"title":"About","versionLabel":"Version","ollama":{"title":"Ollama Status","version":"Version","healthy":"Healthy","unhealthy":"Unhealthy"},"stats":{"models":"Models","sessions":"Sessions"},"features":{"privacy":{"title":"Privacy First","description":"Your data stays on your device"},"openSource":{"title":"Open Source","description":"Free and open source software"},"localInference":{"title":"Local Inference","description":"Run AI models locally with Ollama"}},"openSourceBy":"Open source by {{company}}","links":{"title":"Links","github":"GitHub","githubDescription":"View source code and contribute","website":"Website","websiteDescription":"Visit our website","ollama":"Ollama","ollamaDescription":"Learn more about Ollama","documentation":"Documentation","reportIssue":"Report Issues","reportIssueDescription":"Bug reports & feature requests","gitlab":"GitLab Mirror","gitlabDescription":"Self-hosted GitLab repository","documentationDescription":"Guides, tutorials and API reference"},"version":"Version {{version}}"},"groups":{"general":"General","chat":"Chat","media":"Speech & images","connections":"Connections"},"search":{"title":"Web search","description":"Search the web through a self-hosted SearXNG instance. When enabled, the chat composer offers a search toggle and Work tasks with network access can search.","enableLabel":"Enable web search","enableDescription":"Offer web search to chats and Work tasks. Searches run server-side against the configured instance.","urlLabel":"SearXNG URL","urlDescription":"Base URL of the SearXNG instance, reachable from the server. The bundled private deploy stack provides http://searxng:8080.","maxResultsLabel":"Results per search","maxResultsDescription":"How many results feed a reply or tool call, 1-10.","maxResultsInvalid":"Results per search must be between 1 and 10.","safeSearchLabel":"Safe search","safeSearchDescription":"Ask the engine to filter explicit results.","test":"Test connection","testing":"Testing…","testOk":"Search works — {{results}} results returned","testFailed":"Search test failed","save":"Save","saved":"Search settings saved","saveFailed":"Could not save the search settings"}}`),models:{title:`Models`,subtitle:`Pull, manage, and monitor your Ollama models`,installed:`Installed Models`,available:`Available Models`,pull:`Pull Model`,pulling:`Pulling...`,delete:`Delete Model`,deleting:`Deleting...`,size:`Size`,modified:`Modified`,family:`Family`,parameters:`Parameters`,quantization:`Quantization`,noModels:`No models installed`,pullFirst:`Pull a model to get started`,noModelsFound:`No models found`},personas:{title:`Personas`,create:`Create Persona`,edit:`Edit Persona`,delete:`Delete Persona`,name:`Name`,description:`Description`,systemPrompt:`System Prompt`,model:`Model`,avatar:`Avatar`,background:`Background`,noPersonas:`No personas created`,createFirst:`Create your first persona to customize your chat experience`},gallery:{title:`Gallery`,subtitle:`Your AI-generated images, videos, and audio`,imageCount:`{{count}} images`,generate:`Generate Image`,generateDescription:`Create images with AI`,generating:`Generating...`,prompt:`Prompt`,promptPlaceholder:`Describe the image you want to generate...`,noImages:`No images generated yet`,download:`Download`,delete:`Delete`,regenerate:`Regenerate`,model:`Model`,size:`Size`,quality:`Quality`,created:`Created`},errors:{generic:`An error occurred`,network:`Network error. Please check your connection.`,unauthorized:`You are not authorized to perform this action.`,notFound:`The requested resource was not found.`,serverError:`Server error. Please try again later.`,validation:`Please check your input and try again.`},keyboard:{title:`Keyboard Shortcuts`,toggleSidebar:`Toggle sidebar`,openSettings:`Open settings`,toggleDarkMode:`Toggle dark mode`,showShortcuts:`Show keyboard shortcuts`,closeModals:`Close modals`,groups:{navigation:`Navigation`,general:`General`,chat:`Chat`,workspace:`Workspace`},actions:{sendMessage:`Send message`,newLine:`New line in message`,saveEdit:`Save an edited message`,cancelEdit:`Cancel editing`,saveFile:`Save file`,formatCode:`Format code`},description:`Every keyboard shortcut available in Libre WebUI.`,newChat:`New chat`,newWork:`New Work session`,openPalette:`Open command palette`},modelManager:{title:`Models`,loading:`Loading models...`,systemStatus:{online:`Ollama Online`,offline:`Ollama Offline`,models:`model`,models_plural:`models`,running:`running`,vram:`VRAM`},sections:{pull:`Pull New Model`,library:`Browse Library`,huggingface:`HuggingFace Hub`,running:`Running Models`,local:`Local Models`,advanced:`Advanced Actions`},pull:{placeholder:`Enter model name (e.g., llama3.2:3b, deepseek-r1:14b)`,button:`Pull`,cancel:`Cancel`,popular:`Popular models:`,browseAll:`Browse all models on ollama.com`,success:`Model {{name}} pulled successfully`,cancelled:`Model pull cancelled`,failed:`Failed to pull model`,enterName:`Please enter a model name`,restricted:`Model installation is restricted to administrators on this instance.`},progress:{starting:`Initializing...`,pulling:`Downloading model...`,pullingLayer:`pulling`,verifying:`Verifying integrity...`,verifyingDigest:`verifying sha256 digest`,writing:`Writing manifest...`,cleaning:`Cleaning up...`},library:{available:`available`,search:`Search models...`,noResults:`No models found matching your criteria`,installed:`Installed`,more:`+{{count}} more`,refresh:`Refresh Library`},huggingface:{browseAll:`Browse all on HuggingFace`,checkingGguf:`Checking for GGUF files...`,noGgufAvailable:`No GGUF files available for direct Ollama pull`,ggufFilesCount:`GGUF Files ({{count}}) - Pull directly to Ollama`,noModelsFound:`No models found`,noResults:`No models found. Try adjusting your search or filters.`,browseAllLink:`Browse all`,search:`Search HuggingFace models...`,by:`by`,gated:`Gated`,viewOnHF:`View on HuggingFace`,sortDownloads:`Downloads`,sortLikes:`Likes`,sortRecent:`Recent`,taskTextGeneration:`Text Generation`,taskTextToSpeech:`Text to Speech`,taskTextToImage:`Text to Image`,taskSpeechRecognition:`Speech Recognition`,tasks:{textGen:`Text Generation`,tts:`Text to Speech`,image:`Text to Image`,stt:`Speech Recognition`},sort:{downloads:`Most Downloads`,likes:`Most Liked`,recent:`Recently Updated`}},local:{noModels:`No models installed yet`,pullToStart:`Pull a model above to get started`,installed:`installed`,running:`Running`,info:`Info`,copy:`Copy`,delete:`Delete`,deleteConfirm:`Are you sure you want to delete model "{{name}}"?`,deleteSuccess:`Model {{name}} deleted successfully`,deleteFailed:`Failed to delete model`},advanced:{createModel:`Create Model`,fromModelfile:`From Modelfile`,copyModel:`Copy Model`,duplicateExisting:`Duplicate existing`,testEmbeddings:`Test Embeddings`,generateVectors:`Generate vectors`,healthCheck:`Health Check`,testConnection:`Test connection`,healthy:`Ollama is healthy!`},modals:{details:{title:`Model Details`,info:`Model Information`,family:`Family`,parameters:`Parameters`,quantization:`Quantization`,format:`Format`,systemPrompt:`System Prompt`,template:`Template`,license:`License`,modelfile:`Modelfile`,noDetails:`No details available`},copy:{title:`Copy Model`,source:`Source Model`,selectModel:`Select a model...`,newName:`New Model Name`,placeholder:`e.g., my-custom-model`,copying:`Copying...`,button:`Copy Model`,success:`Model copied to {{name}}`,failed:`Failed to copy model`,enterBoth:`Please enter both source and destination names`},create:{title:`Create Custom Model`,name:`Model Name`,namePlaceholder:`e.g., my-assistant`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
2
+ SYSTEM You are a helpful assistant.`,see:`See`,docs:`Modelfile docs`,docsLink:`for syntax reference`,creating:`Creating...`,button:`Create Model`,success:`Model {{name}} created successfully`,failed:`Failed to create model`,enterBoth:`Please enter model name and Modelfile content`},embeddings:{title:`Test Embeddings`,model:`Embedding Model`,selectModel:`Select a model...`,recommended:`Recommended: nomic-embed-text, mxbai-embed-large`,input:`Input Text`,placeholder:`Enter text to generate embeddings for...`,generating:`Generating...`,button:`Generate Embeddings`,result:`Result ({{count}} dimensions)`,success:`Generated {{count}}-dimensional embedding vector`,failed:`Failed to generate embeddings`,enterBoth:`Please select a model and enter text`}}},personaManager:{title:`Personas`,subtitle:`Create and manage AI personas with custom personalities, memories, and behaviors`,loading:`Loading personas...`,createButton:`Create Persona`,importExport:`Import/Export`,stats:{title:`Your Personas`,count:`{{count}} persona created`,count_plural:`{{count}} personas created`},empty:{title:`No personas yet`,description:`Create your first persona to get started with personalized AI interactions`,button:`Create Your First Persona`},deleteConfirm:`Are you sure you want to delete "{{name}}"?`,deleteSuccess:`Persona "{{name}}" deleted successfully`,downloadSuccess:`Persona "{{name}}" downloaded successfully`,failed:`Failed to {{action}} persona`},personaForm:{title:{create:`Create New Persona`,edit:`Edit Persona`},subtitle:{create:`Create a new AI persona with custom personality, memory systems, and adaptive learning capabilities`,edit:`Customize your AI persona with advanced memory, adaptive learning, and intelligent parameters`},loading:`Loading form...`,saved:`Saved`,tabs:{basic:`Basic`,parameters:`Parameters`,memory:`Memory & Learning`,advanced:`Advanced`},basic:{name:`Name`,namePlaceholder:`Enter persona name`,model:`Model`,selectModel:`Select a model`,description:`Description`,descriptionPlaceholder:`Describe your persona...`,systemPrompt:`System Prompt`,systemPromptPlaceholder:`Enter the system prompt that defines your persona behavior...`,systemPromptHint:`The system prompt defines how your persona will behave and respond.`},parameters:{temperature:`Temperature`,temperatureHint:`Controls creativity vs consistency`,topP:`Top-P`,topPHint:`Controls response diversity`,topK:`Top-K`,topKHint:`Limits vocabulary to top-k tokens`,contextWindow:`Context Window`,contextWindowHint:`Maximum conversation history length`,maxTokens:`Max Tokens`,maxTokensHint:`Maximum response length`,repeatPenalty:`Repeat Penalty`,repeatPenaltyHint:`Reduces repetitive responses`},memory:{title:`Memory System`,subtitle:`Persona remembers conversations over time`,enableHint:`Enable the memory system to let your persona remember conversations and build context over time.`,loading:`Loading memory status...`,noData:`No memory data yet`,memories:`Memories`,mbUsed:`MB Used`,lastBackup:`Last Backup`,never:`Never`,maxMemories:`Maximum Memories`,maxMemoriesHint:`How many memories this persona can store`,retention:`Memory Retention`,retentionHint:`Days to keep memories before cleanup`,autoCleanup:`Auto-cleanup old memories`,wipeAll:`Wipe All Memories`,wipeCannot:`This cannot be undone`,wipeButton:`Wipe`,wiping:`Wiping...`,wipeConfirm:`Are you sure you want to wipe all memories? This cannot be undone.`,wipeSuccess:`Wiped {{count}} memories`},learning:{title:`Adaptive Learning`,subtitle:`Persona evolves based on interactions`,enableHint:`Enable adaptive learning to let your persona evolve and personalize responses based on your interactions.`,speed:`Learning Speed`,slow:`Slow`,slowDesc:`Gradual changes`,balanced:`Balanced`,balancedDesc:`Moderate pace`,fast:`Fast`,fastDesc:`Quick adaptation`,autoAdapt:`Auto-adapt to user preferences`,whatLearns:`What the persona learns:`,conversationTone:`Conversation tone`,responseStyle:`Response style`,userPreferences:`User preferences`,topicInterests:`Topic interests`},advanced:{embeddingModel:`Embedding Model`,embeddingHint:`Select the model used for memory encoding and semantic search. Embedding models are shown first, followed by other available models.`,noModels:`No models found`,embeddingModels:`Embedding Models`,otherModels:`Other Models`,installHint:`Install an embedding model:`,recommended:`Recommended: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`About Advanced Settings`,aboutDescription:`The embedding model is used by the memory system to understand semantic meaning and find relevant memories during conversations. Choose a model that matches your use case and available resources.`},actions:{cancel:`Cancel`,save:`Save`,saving:`Saving...`,saveClose:`Save & Close`,create:`Create`},success:{created:`Persona created`,updated:`Persona updated`},error:{saveFailed:`Failed to save`}},personaCard:{enhanced:`Enhanced`,systemPrompt:`System Prompt`,memories:`memories`,use:`Use`,editTooltip:`Edit persona`,downloadTooltip:`Download persona`,backup:`Backup`,exportDNA:`Export DNA`,wipeMemories:`Wipe Memories`,wipeConfirm:`Are you sure you want to wipe all memories for this persona? This action cannot be undone.`,wipeSuccess:`Wiped {{count}} memories`,backupSuccess:`Persona backup downloaded successfully`,dnaSuccess:`Persona DNA exported successfully`,failed:`Failed to {{action}}`},userManager:{title:`User Management`,subtitle:`Manage user accounts and permissions`,pageDescription:`Manage user accounts, permissions, and access controls for your Libre WebUI instance.`,loading:`Loading users...`,createUser:`Create User`,search:`Search users...`,noUsers:`No users found`,noUsersMatching:`No users matching your search`,columns:{user:`User`,email:`Email`,role:`Role`,created:`Created`,actions:`Actions`},roles:{admin:`Admin`,user:`User`},noEmail:`No email`,deleteConfirm:`Are you sure you want to delete user "{{name}}"?`,deleteSuccess:`User deleted successfully`,deleteFailed:`Failed to delete user`,cannotDeleteSelf:`You cannot delete your own account`,approval:{title:`Pending approvals`,description:`Review new registrations before allowing them into this instance.`,registered:`Registered`,activate:`Activate account`,reject:`Reject registration`,approved:`{{name}} can now sign in.`,failed:`The account could not be approved.`,notification:`{{count}} registration(s) are waiting for your approval.`,notificationBadge:`{{count}} pending user approvals`},form:{title:{create:`Create User`,edit:`Edit User`},username:`Username`,usernamePlaceholder:`Enter username`,email:`Email`,emailPlaceholder:`Enter email (optional)`,password:`Password`,passwordPlaceholder:`Enter password`,passwordHint:`Leave blank to keep current password`,role:`Role`,creating:`Creating...`,updating:`Updating...`,createButton:`Create User`,updateButton:`Update User`,createSuccess:`User created successfully`,updateSuccess:`User updated successfully`,createFailed:`Failed to create user`,updateFailed:`Failed to update user`},workAccess:{title:`Work access`,description:`Allow all active users to create and run Work tasks in isolated sandboxes. Administrators always have access; host folder workspaces remain admin-only.`,saved:`Work access updated`,saveFailed:`Could not update Work access`},workPolicies:{title:`Work policies`,description:`Named runtime presets (image, limits, idle stop) a task can be created under. Empty fields inherit the global defaults.`,add:`Add policy`,name:`Name`,image:`Image`,memory:`Memory`,cpu:`CPUs`,pids:`PID limit`,workspaceSize:`Workspace size`,idleMinutes:`Idle stop (minutes)`,networkDefault:`Network default`,networkInherit:`Inherit default`,networkOn:`Enabled`,networkOff:`Disabled`,save:`Save`,cancel:`Cancel`,edit:`Edit policy`,delete:`Delete policy`,deleteConfirm:`Delete this policy? Tasks using it fall back to the global defaults.`,empty:`No policies yet. Tasks use the global runtime defaults.`,saved:`Work policy saved`,deleted:`Work policy deleted`,failed:`Could not save the Work policy`,invalidNumber:`PID limit and idle stop must be numbers.`},modelAccess:{title:`Model downloads`,description:`Allow all active users to pull models from Ollama and the Hugging Face browser. Administrators can always download models.`,saved:`Model download access updated`,saveFailed:`Could not update model download access`},webSearchAccess:{title:`Web search`,description:`Allow all active users to use web search in chats and Work tasks. Administrators can always use it. Configure the engine in Settings > Search.`,saved:`Web search access updated`,saveFailed:`Could not update web search access`},agentAccess:{title:`Agents`,description:`Offer the Agents section (Libre Claw) to administrators. Agent CLIs run on the host as the server user, outside the Work sandbox.`,saved:`Agent access updated`,saveFailed:`Could not update agent access`,lockedByEnv:`Pinned by the AGENT_CLI_MODELS_ENABLED environment variable.`}},usageAnalytics:{eyebrow:`Administration`,title:`Provider Usage`,description:`Follow outbound API calls and model consumption across the enabled plugins on this instance.`,days:`{{count}} days`,refresh:`Refresh usage`,loadFailed:`Provider usage could not be loaded.`,metrics:{calls:`Calls`,tokens:`Tokens`},cards:{calls:`API calls`,callsDetail:`Across {{count}} active user(s)`,tokens:`Reported tokens`,tokensDetail:`Usage reported on {{count}} call(s)`,success:`Success rate`,successDetail:`{{count}} failed call(s)`,latency:`Average latency`,latencyDetail:`End-to-end provider time`},activity:{title:`Consumption over time`,callsDescription:`Daily outbound requests to enabled plugins`,tokensDescription:`Daily token totals reported by providers`,chartLabel:`Daily provider {{metric}} chart`},models:{title:`Model consumption`,description:`The models carrying the most traffic in this period.`,model:`Model`,success:`Success`,latency:`Latency`},providers:{title:`Enabled plugin traffic`},capabilities:{title:`Capability mix`,characters:`{{count}} characters`,images:`{{count}} images`,jobs:`{{count}} video jobs`,inputs:`{{count}} inputs`,reportedTokens:`{{count}} reported tokens`},empty:{title:`No provider calls yet`,description:`Calls will appear here after an enabled plugin handles chat, Work, embedding, image, speech, sound, or video requests.`},privacyNote:`Usage is metered on the server at the outbound plugin boundary. Libre WebUI stores provider, model, timing, status, and reported counters—never prompts, responses, endpoints, credentials, or provider error bodies. Token totals include only calls where the provider returned usage metadata.`,heatmap:{title:`A year of activity`,description:`Daily provider calls over the past year, colored by each day's most-used model.`,calls:`calls`,noCalls:`No calls`,other:`Other models`,less:`Less`,more:`More`,yearTotal:`{{formatted}} calls in the last year`}},systemPage:{eyebrow:`Administration`,title:`System`,description:`Monitor the machine and runtime hosting this Libre WebUI instance.`,updated:`Updated {{date}}`,refresh:`Refresh system information`,loadFailed:`System information could not be loaded.`,cards:{uptime:`Host uptime`,uptimeDetail:`Running since {{date}}`,memory:`Memory used`,memoryDetail:`{{used}} of {{total}}`,freeSpace:`Free space`,freeSpaceDetail:`{{label}} · {{total}} total`,containers:`Running containers`,containersDetail:`{{total}} container(s) known to Docker`,dockerUnavailable:`Docker unavailable`,unavailable:`Unavailable`},host:{title:`Host & runtime`,description:`Operating system, processor, and Libre WebUI process details.`,container:`Container runtime`,native:`Native runtime`,hostname:`Hostname`,operatingSystem:`Operating system`,processor:`Processor`,logicalCpus:`logical CPUs`,loadAverage:`Load average · 1 / 5 / 15 min`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`Process`,workingDirectory:`Working directory`},memory:{title:`Memory`,description:`Runtime-visible system memory and application process usage.`,usedOf:`{{used}} used of {{total}}`,free:`{{value}} free`,processRss:`Process RSS`,heapUsed:`V8 heap used`,heapTotal:`V8 heap total`,external:`External memory`},storage:{title:`Storage`,description:`Available space for the runtime filesystem and persistent application data.`,used:`{{value}} used`,free:`{{value}} free`,empty:`Filesystem information is unavailable in this runtime.`},docker:{title:`Docker`,description:`Read-only Docker Engine status and a reduced list of containers.`,connected:`Connected`,unavailable:`Unavailable`,unavailableDetail:`Docker Engine diagnostics are unavailable.`,socketStatus:`Local socket: {{status}}`,mounted:`mounted`,notMounted:`not mounted`,running:`Running`,stopped:`Stopped`,paused:`Paused`,total:`Total`,version:`Version`,host:`Host`,architecture:`Architecture`,cpus:`CPUs`,memory:`Memory`,container:`Container`,image:`Image`,state:`State`,created:`Created`,empty:`Docker is connected and no containers are currently listed.`},network:{title:`Network`,description:`Runtime-visible interfaces, addresses, and Linux traffic counters.`,internal:`internal`,empty:`No network interfaces are visible to the application runtime.`},securityNote:`This page is restricted to administrators. The server returns operational summaries only: it does not expose environment variables, credentials, Docker labels, mounts, container commands, or inspect payloads. When Libre WebUI runs in a container, host-level CPU and memory details come from Docker Engine when its local socket is available; other values describe the application runtime.`,work:{title:`Work`,description:`Sandboxes across every user`,access:`Access`,accessAdmins:`Administrators only`,accessAllUsers:`All users`,runtimeAvailable:`Available`,runtimeUnavailable:`Unavailable`,activeRuntimes:`Active runtimes`,pendingCleanups:`Pending cleanups`,orphans:`Orphaned containers`,owner:`Owner`,task:`Task`,state:`State`,preview:`Preview`,terminals:`Terminals`,updated:`Updated`,stateRunning:`Running`,stateStopped:`Stopped`,stateStarting:`Starting`,stateUnknown:`Unknown`,noTasks:`No Work tasks yet.`}},chatHistory:{label:`Conversation history`,jumpToTurn:`Jump to turn {{index}} of {{total}}`},chatMessage:{you:`You`,assistant:`Assistant`,system:`System`,copy:`Copy`,copyMessage:`Copy message`,copied:`Copied!`,regenerate:`Regenerate`,regenerateResponse:`Regenerate response`,edit:`Edit`,editSystemMessage:`Edit system message`,saveChanges:`Save changes`,cancelEditing:`Cancel editing`,saveAndSubmit:`Save & submit`,goodResponse:`Good response`,badResponse:`Bad response`,delete:`Delete`,deleteConfirm:`Delete this message?`,branch:`Branch`,speaking:`Speaking...`,speakMessage:`Speak message`,stopSpeaking:`Stop speaking`,showMore:`Show more`,showLess:`Show less`,thinking:`Thinking`,thoughtFor:`Thought for {{duration}}`,hiddenLines:`{{count}} hidden lines`,systemMessagePlaceholder:`Enter your system message...`,fullSizeImage:`Full size image`,startConversation:`Start a conversation`,startConversationDescription:`Send a message to begin chatting with your AI assistant. Ask questions, get help with code, or have a natural conversation.`,scrollToBottom:`Scroll to bottom`,newMessages:`New messages`},imageGallery:{title:`Image Gallery`,noImages:`No images yet`,noImagesHint:`Generate your first image using the panel on the right`,delete:`Delete`,download:`Download`,deleteConfirm:`Are you sure you want to delete this image?`,deleteSuccess:`Image deleted`,deleteFailed:`Failed to delete image`,downloadFailed:`Failed to download image`,loadMore:`Load More ({{current}} of {{total}})`,loadFailed:`Failed to load gallery`},imageGeneration:{title:`Generate Image`,prompt:`Prompt`,promptPlaceholder:`Describe the image you want to create...`,model:`Model`,selectModel:`Select model`,noModels:`No image generation models available`,configurePlugin:`Configure a plugin with image generation support`,size:`Size`,quality:`Quality`,style:`Style`,generate:`Generate`,generating:`Generating...`,success:`Image generated successfully`,failed:`Failed to generate image`,enterPrompt:`Please enter a prompt`,promptTooLong:`Prompt exceeds maximum length of {{max}} characters`},mediaGeneration:{title:`Generate media`,description:`Create video, sound, music, or speech with an activated media provider.`,image:`Image`,video:`Video`,audio:`Audio`,sound:`Sound`,speech:`Speech`,model:`Model`,voice:`Voice or voice ID`,resolution:`Resolution`,aspectRatio:`Aspect ratio`,duration:`Duration`,providerDefault:`Provider default`,generateAudio:`Generate audio with the video when supported`,prompt:`Prompt`,text:`Text to speak`,videoPlaceholder:`Describe the scene, motion, camera, and lighting...`,audioPlaceholder:`Enter the text you want the voice to speak...`,soundPlaceholder:`Describe the sound, music, atmosphere, or spoken response you want...`,generate:`Generate`,generating:`Generating… this can take several minutes`,success:`Media generated and saved to Imagine`,failed:`Failed to generate media`,loadFailed:`Failed to load media providers`,noModels:`No {{kind}} models are available. Activate a compatible provider and save its credential first.`},mediaGallery:{itemCount:`{{count}} items`,empty:`No generated media yet`,emptyHint:`Generate an image, video, or voice clip and it will appear here.`,filters:{all:`All`,image:`Images`,video:`Videos`,audio:`Audio`}},errorBoundary:{title:`Something went wrong`,description:`We encountered an unexpected error. Please try refreshing the page.`,tryAgain:`Refresh Page`,goHome:`Go to Home`,errorDetails:`Error Details (Development)`},documents:{title:`Documents`,upload:`Upload Document`,uploading:`Uploading...`,noDocuments:`No documents uploaded`,uploadHint:`Upload documents to use in your conversations`,delete:`Delete`,deleteConfirm:`Are you sure you want to delete this document?`,deleteSuccess:`Document deleted`,deleteFailed:`Failed to delete document`,uploadSuccess:`Document uploaded successfully`,uploadFailed:`Failed to upload document`,types:`Supported: PDF, TXT, MD, DOCX`,unsupportedFileType:`Only PDF and TXT files are supported`,fileSizeTooLarge:`File size must be less than 10MB`,uploadSuccessWithName:`Document "{{name}}" uploaded successfully`,removeSuccess:`Document removed successfully`,removeFailed:`Failed to remove document`,removeError:`An error occurred while removing the document`,clickToUpload:`Click to upload`,orDragAndDrop:`or drag and drop`,fileTypesAndSize:`PDF or TXT files up to 10MB`,uploadedDocuments:`Uploaded Documents`,removeDocument:`Remove document`},ttsButton:{speak:`Speak`,stop:`Stop`,speaking:`Speaking...`,generateFailed:`Failed to generate speech`,playbackFailed:`Audio playback failed`,stopSpeaking:`Stop speaking`,generatingSpeech:`Generating speech...`,readAloud:`Read aloud`},artifacts:{title:`Artifacts`,code:`Code`,preview:`Preview`,copy:`Copy code`,copied:`Copied!`,download:`Download`,expand:`Expand`,collapse:`Collapse`,openInNewTab:`Open in new tab`,invalidSvg:`Invalid SVG content`,invalidJson:`Invalid JSON content`,previewMode:`Preview mode`,codeMode:`Code mode`,copyContent:`Copy content`,openInPanel:`Open in panel`,openInNewWindow:`Open in new window`,created:`Created`,closePanelEsc:`Close panel (Esc)`,copyButton:`Copy`,open:`Open`,dragEdgeToResize:`Drag edge to resize`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`Version {{current}} of {{total}}`,previousVersion:`Previous version`,nextVersion:`Next version`},personaImportExport:{title:`Import & Export Personas`,description:`Export your personas to share them or import personas from others`,exportPersonas:`Export Personas`,importPersonas:`Import Personas`,noPersonasToExport:`No personas to export`,personasAvailable:`{{count}} persona available`,personasAvailable_plural:`{{count}} personas available`,exportAll:`Export All`,uploadJsonFile:`Upload JSON File`,pasteJsonLabel:`Paste JSON Data`,pasteJsonPlaceholder:`Paste persona JSON data here...`,importing:`Importing...`,importButton:`Import Persona(s)`,expectedFormat:`Expected JSON Format:`,exportSuccess:`Persona "{{name}}" exported successfully`,exportFailed:`Failed to export persona`,exportAllSuccess:`All {{count}} personas exported successfully`,exportAllFailed:`Failed to export personas`,pasteJsonData:`Please paste the persona JSON data`,importMultipleSuccess:`Successfully imported {{count}} personas`,importMultipleFailed:`Failed to import {{count}} personas`,importNoneFailed:`Failed to import any personas`,importSuccess:`Persona imported successfully`,importFailed:`Failed to import persona`},generationStats:{details:`Details`,promptTokens:`Prompt tokens:`,generatedTokens:`Generated tokens:`,totalTokens:`Total tokens:`,speed:`Speed:`,promptEval:`Prompt eval:`,generation:`Generation:`,modelLoad:`Model load:`,totalTime:`Total time:`,generatedAt:`Generated at:`},userMenu:{loggedOut:`Logged out successfully`,pictureUpdated:`Profile picture updated`,failedUpdateAvatar:`Failed to update avatar`,failedUpdatePicture:`Failed to update profile picture`,noEmail:`No email provided`,changePicture:`Change Picture`,settings:`Settings`,userManagement:`User Management`,signOut:`Sign Out`,changeProfilePicture:`Change Profile Picture`},pluginManager:{title:`Plugin Manager`,upload:`Upload`,addJson:`Add JSON`,browseHF:`Browse HF Hub`,confirmDelete:`Are you sure you want to delete this plugin?`,uploading:`Uploading plugin...`,pasteJson:`Paste plugin JSON here...`,installPlugin:`Install Plugin`,loading:`Loading plugins...`,noPlugins:`No Plugins Installed`,noPluginsDescription:`Upload a plugin file or add a plugin from JSON to get started.`,active:`Active`,id:`ID`,endpoint:`Endpoint`,activate:`Activate`,deactivate:`Deactivate`,activePlugin:`Active Plugin`,activePluginDescription:`All chat requests will be routed through this plugin`,variables:{title:`Variables`,save:`Save`,saving:`Saving...`,saved:`Variables saved`,saveFailed:`Failed to save variables`,resetDefaults:`Reset to Defaults`,reset:`Variables reset to defaults`,resetFailed:`Failed to reset variables`,sensitiveSet:`Value is set (enter new value to change)`,showValue:`Show {{label}} value`,hideValue:`Hide {{label}} value`,connection:`Connection`,advanced:`Advanced parameters`,inherited:`Use provider default`,inheritedValue:`Use provider default ({{value}})`,enabled:`Enabled`,disabled:`Disabled`,required:`A value is required`,fullApiEndpoint:`Full API endpoint URL`,endpointHelp:`Enter the complete request URL, including its operation path (for example, /v1/chat/completions), not only the provider base URL.`,invalidUrl:`Enter a valid full API endpoint URL, for example https://provider.example/v1/chat/completions`,insecureUrl:`API endpoints must use HTTP or HTTPS.`,httpWarning:`HTTP does not encrypt credentials or traffic. Use it only on a trusted network.`,invalidBaseUrl:`Base URLs cannot contain a query string or fragment.`,invalidApiPath:`Must start with / and contain no URL, query, fragment, or .. segment`,tooLong:`Value is too long`}},huggingface:{title:`HuggingFace Model Browser`,subtitle:`Browse and select models from the Hub`,searchPlaceholder:`Search models...`,filters:`Filters`,task:`Task`,sortBy:`Sort By`,noModels:`No models found`,adjustSearch:`Try adjusting your search or filters`,gated:`Gated`,selected:`Selected`,select:`Select`,refresh:`Refresh`,modelsFound:`models found`},demoMode:{title:`Demo Mode`,github:`GitHub`},libreClaw:{title:`Agents`,subtitle:`Local agent runs, approvals, schedules, memory, tools, and usage.`,dashboard:`Dashboard`,connection:{disconnectedTitle:`Libre Claw daemon is not connected`,disconnectedDescription:`Start it locally with <command>libre-claw start</command> or set <env>LIBRE_CLAW_BASE_URL</env> in the backend environment.`},status:{connected:`Connected`,disconnected:`Disconnected`,activeRuns:`{{count}} active`,activeRuns_plural:`{{count}} active`},states:{queued:`Queued`,running:`Running`,blocked:`Blocked`,done:`Done`,failed:`Failed`,cancelled:`Cancelled`},startRun:{title:`Start Agent Run`,placeholder:`Ask Libre Claw to inspect a repo, fix a bug, run a review, schedule a report...`,chatRun:`Chat run`,goalMode:`Goal mode`,providerOverride:`Provider override`,modelOverride:`Model override`,run:`Run`},modelRoute:{title:`Model Route`,providerPlaceholder:`provider`,modelPlaceholder:`model`,persistGlobal:`Persist to Libre Claw global config`,saveModel:`Save model`,theme:`Libre Claw theme`,saveTheme:`Save theme`},runs:{title:`Runs`,empty:`No Libre Claw runs yet.`},timeline:{title:`Run Timeline`,empty:`Select a run to inspect its events.`,streaming:`Streaming...`,assistantResponse:`Assistant response`,resultOk:`ok`,resultError:`error`,labels:{userMessage:`User message`,toolCall:`Tool call`,toolResult:`Tool result`,approvalRequest:`Approval request`,approvalResponse:`Approval response`,runStarted:`Run started`,runFinished:`Run finished`,usage:`Usage`,error:`Error`}},approvals:{needed:`Approval needed`,allowOnce:`Allow once`,alwaysAllowTool:`Always allow tool`,deny:`Deny`,toolApprovalRequested:`Tool approval requested`},automations:{title:`Automations`,namePlaceholder:`Name`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`Automation prompt`,create:`Create`,empty:`No scheduled Libre Claw automations.`,runNow:`Run now`,pause:`Pause`,resume:`Resume`,routes:{report:`Report`,telegram:`Telegram`},status:{active:`Active`,paused:`Paused`}},usageFallback:{title:`Usage And Fallback`,usage:`Usage`,fallbackRoute:`Fallback Route`,noUsage:`No usage records yet.`},metrics:{provider:`Provider`,model:`Model`,input:`Input`,output:`Output`,cached:`Cached`,reasoning:`Reasoning`,cost:`Cost`,tool:`Tool`,resolution:`Resolution`,state:`State`,stopReason:`Stop reason`,tokens:`{{formatted}} token`,tokens_plural:`{{formatted}} tokens`},fallbacks:{tool:`tool`,unknown:`unknown`,resolved:`resolved`,unknownError:`Unknown error`},toasts:{loadStatusFailed:`Could not load Libre Claw status`,enterTask:`Enter a task for Libre Claw`,runStarted:`Libre Claw run started`,startRunFailed:`Could not start Libre Claw run`,runCancelled:`Run cancelled`,cancelRunFailed:`Could not cancel run`,approved:`Approved`,denied:`Denied`,resolvePermissionFailed:`Could not resolve permission`,providerModelRequired:`Provider and model are required`,modelUpdated:`Libre Claw model updated`,updateModelFailed:`Could not update model`,themeUpdated:`Libre Claw theme updated`,updateThemeFailed:`Could not update theme`,automationRequired:`Automation name, schedule, and prompt are required`,automationCreated:`Automation created`,createAutomationFailed:`Could not create automation`,automationUpdated:`Automation updated`,updateAutomationFailed:`Could not update automation`}},work:{title:`Work`,subtitle:`Isolated model workspaces`,tasks:{title:`Work tasks`,subtitle:`Persistent local workspaces`,new:`New task`,emptyTitle:`No Work tasks yet`,empty:`Your Work tasks will appear here after you send the first message.`,untitled:`Untitled task`,actions:`Task actions`,delete:`Delete task`,deleteNamed:`Delete {{title}}`,deleteConfirm:`Delete “{{title}}” and its workspace permanently?`,close:`Close Work tasks`,open:`Open Work tasks`,rename:`Task title`,loading:`Loading task…`,notFound:`This Work task is unavailable`,back:`Start a new task`,status:`Status: {{status}}`},landing:{title:`Start a new Work task`,description:`Give a local or configured provider model a durable, isolated workspace. It can inspect files, run tools, and continue where it left off when you return.`,isolated:`Isolated`,isolatedBody:`Every task gets its own container and files.`,durable:`Durable`,durableBody:`Return to its conversation and workspace later.`,controlled:`Controlled`,controlledBody:`The runtime and task files stay isolated from the host.`},composer:{placeholder:`Describe what you want to build or change…`,model:`Work model`,noModels:`No Work-compatible models`,cancel:`Stop`,send:`Run`,hint:`Each task keeps its own files and history. Review model output before using it.`,remoteTitle:`Remote provider`,remoteHint:`Conversation and tool output are sent to the configured service. One autonomous run can make multiple provider calls and may incur charges. Workspace files stay local unless a tool returns their contents.`,remoteDismiss:`Dismiss`,remoteDismissLabel:`Dismiss remote provider notice`,remoteDismissFailed:`Could not save the remote provider preference.`,noModelSelected:`No Work-compatible model is selected.`},conversation:{ready:`Workspace ready`,empty:`Continue the task below. This conversation and its files stay attached to this workspace.`,loadOlder:`Load older messages`},status:{preparing:`Preparing isolated workspace…`,running:`Working in the local workspace…`},statusLabels:{idle:`Idle`,thinking:`Thinking`,complete:`Complete`,needsInput:`Needs input`,error:`Error`},live:{connecting:`Connecting to live updates…`,reconnecting:`Reconnecting to live updates…`,unavailable:`Live updates unavailable`,newActivity:`New activity`,skillsLoaded:`Workspace skills · {{count}}`},runtime:{unavailable:`Runtime unavailable`,ready:`Runtime ready`,readyOllama:`Docker ready`,readyPlugin:`Docker + plugin ready`,readyHybrid:`Docker + models ready`,reason:`Docker and an available Ollama or plugin model provider are required.`},workspace:{label:`Workspace views`,files:`Files`,activity:`Activity`,preview:`Preview`,resize:`Resize conversation and workspace`,resizeHint:`Drag to resize. Use arrow keys for precise control. Double-click or press Enter to reset.`,splitSize:`Conversation {{conversation}}%, workspace {{workspace}}%`,terminal:`Terminal`,git:`Git`},files:{discard:`Discard unsaved file changes?`,leaveWithDraft:`Leave this file? Your unsaved edit will remain as a browser draft.`,up:`Parent folder`,back:`Back to files`,empty:`No files in this folder yet.`,select:`Select a file to inspect and edit it.`,editorLabel:`File editor: {{path}}`,format:`Format`,formatted:`Code formatted.`,formatFailed:`Could not format this file.`,formatShortcut:`Format (Shift+Alt+F)`,formatTooLarge:`Formatting is limited to files under 100,000 characters and 4,000 lines.`,formatUnsupported:`Formatting is not available for this file type.`,saveShortcut:`Save (⌘/Ctrl+S)`,highlightPaused:`Live highlighting is paused for large files to keep editing responsive.`,plainTextLarge:`Plain text · large file`,changes:`Changes`,changesSince:`What changed since the last turn`,diffLabel:`Changes since the last turn: {{path}}`,diffFolded:`{{count}} unchanged lines`},activity:{empty:`Commands, file operations, and tool results will appear here.`,toolActivity:`Tool activity`,details:`Details`,kinds:{message:`Message`,toolCall:`Tool call`,toolResult:`Tool result`,error:`Error`}},preview:{command:`Optional start command`,start:`Start preview`,stop:`Stop preview`,open:`Open`,starting:`Starting preview…`,frameTitle:`Workspace preview`,failed:`The preview could not start. Check Activity, then try another command.`,empty:`Start the app inside this workspace to inspect it here.`},mobile:{surface:`Task surface`,conversation:`Conversation`,workspace:`Workspace`},toasts:{runFailed:`Could not start the Work task.`,updateFailed:`Could not update this task.`,renameFailed:`Could not rename this task.`,cancelled:`Work run stopped.`,cancelFailed:`Could not stop the Work run.`,deleteFailed:`Could not delete this Work task.`,saveFailed:`Could not save this file.`,saved:`File saved.`,previewFailed:`Could not start the preview.`,previewStopFailed:`Could not stop the preview.`},terminal:{connecting:`Opening a shell in the sandbox…`,closed:`Terminal session ended.`,failed:`The terminal session could not start.`,reconnect:`Reconnect`,unavailable:`The interactive terminal is not available in this deployment.`,blockedByRun:`The model is using this container. The terminal opens when the turn finishes.`,taskRunning:`Model turn in progress`},policy:{label:`Runtime policy`,default:`Default (global limits)`},git:{actionFailed:`Git action failed.`,blockedByPreview:`Stop the preview before changing Git state.`,blockedByRun:`Git write actions unlock when the model turn finishes.`,branchCreated:`Created {{name}}.`,branchSwitched:`Switched to {{name}}.`,clean:`Working tree is clean.`,commit:`Commit staged changes`,commitMessage:`Commit message`,committed:`Commit created.`,detached:`detached HEAD`,diff:`Diff preview`,diffFailed:`Could not load this diff.`,history:`Local history`,initialize:`Initialize Git`,initializeDescription:`Create a local repository for status, diffs, branches, and commits. No remote credentials are connected.`,initialized:`Git repository initialized.`,loadFailed:`Could not load Git status.`,localOnly:`Local Git only. Push, pull, and pull requests require a separate trusted credential broker.`,newBranch:`New local branch`,noCommits:`No commits yet.`,noDiff:`No textual diff is available yet. Untracked files appear after staging.`,notInitialized:`Git is not initialized`,selectChange:`Select a changed file to inspect its diff.`,selectPath:`Select {{path}}`,stageAll:`Stage all`,stageSelected:`Stage {{count}}`,staged:`Changes staged.`,switchBranch:`Switch local branch`,changes:`Changes`,createBranch:`Create`},hostWorkspace:{hint:`Leave blank for an isolated workspace, or point the task at a folder on this machine.`,label:`Workspace folder (optional)`,warning:`The task can read and write this folder directly. Leave blank to use an isolated workspace instead.`}},personaBackground:{label:`Background Image`,uploadBackgroundImage:`Upload background image`,dragAndDrop:`Drag and drop an image or click to browse`,chooseImage:`Choose Image`,uploading:`Uploading...`,enterImageUrl:`Or enter image URL`,supportedFormats:`Supports: JPG, PNG, GIF, WebP (max 5MB). Wide landscape images work best.`,customBackground:`Custom background image`,clickToChange:`Click to change or remove`,removed:`Background removed`,uploaded:`Background uploaded successfully`,invalidFile:`Please select a valid image file`,fileTooLarge:`Background image size must be less than 5MB`,readFailed:`Failed to read image file`,uploadFailed:`Failed to upload background image`},modelSelector:{searchInstalled:`Search installed models...`,searchOllama:`Search Ollama library...`,searchHuggingFace:`Search HuggingFace...`,selectModel:`Select a model`,personas:`Personas`,ollamaModels:`Ollama Models`,pluginModels:`Plugin Models`,actions:`Actions`,installed:`Installed`,use:`Use`,pull:`Pull`,pullRestricted:`Model installation is restricted to administrators on this instance.`,adminOnlyPull:`Admins only`,legacyProvider:`provider not recorded`,providerNotRecorded:`Provider not recorded`,providerUnavailable:`provider unavailable`,reselectProvider:`reselect a provider to pin this model`,unavailable:`unavailable`,unavailableSelections:`Unavailable selections`,agentModels:`Agents`},whatsNew:{title:`What's new`,releaseNotes:`Release notes`,cta:`Okay, let's go`},notes:{title:`Notes`,new:`New note`,untitled:`Untitled`,empty:`No notes yet`,selectOrCreate:`Select a note or create a new one`,contentPlaceholder:`Write in Markdown…`,saved:`Saved`,saveFailed:`Could not save the note`,createFailed:`Could not create a note`,deleteConfirm:`Delete this note?`,deleteFailed:`Could not delete the note`},home:{active:`active`,continue:`Continue`,start:`Start`,explore:`Explore`},palette:{empty:`No matches.`,placeholder:`Search chats, Work, actions…`,toggleTheme:`Toggle theme`,actions:`Actions`,chats:`Chats`,search:`Search`,settings:`Settings`,work:`Work`},tabs:{actions:`Tab actions`,close:`Close tab`,closeAll:`Close all tabs`,closeOthers:`Close other tabs`,closeRight:`Close tabs to the right`,home:`Home`,label:`Open tabs`,new:`New tab`,newWork:`New Work`,chat:`Chat`,newChat:`New Chat`,work:`Work`}},A={en:{translation:k}},j=[{code:`en`,name:`English`,nativeName:`English`,dir:`ltr`},{code:`ar`,name:`Arabic`,nativeName:`العربية`,dir:`rtl`},{code:`bn`,name:`Bengali`,nativeName:`বাংলা`,dir:`ltr`},{code:`cs`,name:`Czech`,nativeName:`Čeština`,dir:`ltr`},{code:`da`,name:`Danish`,nativeName:`Dansk`,dir:`ltr`},{code:`de`,name:`German`,nativeName:`Deutsch`,dir:`ltr`},{code:`es`,name:`Spanish`,nativeName:`Español`,dir:`ltr`},{code:`fr`,name:`French`,nativeName:`Français`,dir:`ltr`},{code:`hi`,name:`Hindi`,nativeName:`हिन्दी`,dir:`ltr`},{code:`id`,name:`Indonesian`,nativeName:`Bahasa Indonesia`,dir:`ltr`},{code:`is`,name:`Icelandic`,nativeName:`Íslenska`,dir:`ltr`},{code:`it`,name:`Italian`,nativeName:`Italiano`,dir:`ltr`},{code:`ja`,name:`Japanese`,nativeName:`日本語`,dir:`ltr`},{code:`ko`,name:`Korean`,nativeName:`한국어`,dir:`ltr`},{code:`ms`,name:`Malay`,nativeName:`Bahasa Melayu`,dir:`ltr`},{code:`nl`,name:`Dutch`,nativeName:`Nederlands`,dir:`ltr`},{code:`pl`,name:`Polish`,nativeName:`Polski`,dir:`ltr`},{code:`pt`,name:`Portuguese`,nativeName:`Português`,dir:`ltr`},{code:`ru`,name:`Russian`,nativeName:`Русский`,dir:`ltr`},{code:`sv`,name:`Swedish`,nativeName:`Svenska`,dir:`ltr`},{code:`th`,name:`Thai`,nativeName:`ไทย`,dir:`ltr`},{code:`tr`,name:`Turkish`,nativeName:`Türkçe`,dir:`ltr`},{code:`uk`,name:`Ukrainian`,nativeName:`Українська`,dir:`ltr`},{code:`vi`,name:`Vietnamese`,nativeName:`Tiếng Việt`,dir:`ltr`},{code:`zh`,name:`Chinese`,nativeName:`中文`,dir:`ltr`}],M=[`ar`,`he`,`fa`,`ur`],N=j.map(e=>e.code),P={en:()=>Promise.resolve(k),ar:()=>e(()=>import(`./ar-Bm27TCMQ.js`).then(e=>e.default),[]),bn:()=>e(()=>import(`./bn-C7CHC42H.js`).then(e=>e.default),[]),cs:()=>e(()=>import(`./cs-zGEtwQn_.js`).then(e=>e.default),[]),da:()=>e(()=>import(`./da-B-0sHNTu.js`).then(e=>e.default),[]),de:()=>e(()=>import(`./de-UZNE6t2h.js`).then(e=>e.default),[]),es:()=>e(()=>import(`./es-CPLnFYIw.js`).then(e=>e.default),[]),fr:()=>e(()=>import(`./fr-Br1o0WVz.js`).then(e=>e.default),[]),hi:()=>e(()=>import(`./hi-BcEvNEpb.js`).then(e=>e.default),[]),id:()=>e(()=>import(`./id-C30L2DoT.js`).then(e=>e.default),[]),is:()=>e(()=>import(`./is-BAEhfi5Z.js`).then(e=>e.default),[]),it:()=>e(()=>import(`./it-HWnfQXZY.js`).then(e=>e.default),[]),ja:()=>e(()=>import(`./ja-Dvux1mon.js`).then(e=>e.default),[]),ko:()=>e(()=>import(`./ko-agDQ__KP.js`).then(e=>e.default),[]),ms:()=>e(()=>import(`./ms-aNRa2QX7.js`).then(e=>e.default),[]),nl:()=>e(()=>import(`./nl-BtkiDUn-.js`).then(e=>e.default),[]),pl:()=>e(()=>import(`./pl-SEO0lBnX.js`).then(e=>e.default),[]),pt:()=>e(()=>import(`./pt-BYtjmvq1.js`).then(e=>e.default),[]),ru:()=>e(()=>import(`./ru-B-ynj2hU.js`).then(e=>e.default),[]),sv:()=>e(()=>import(`./sv-CliKR15U.js`).then(e=>e.default),[]),th:()=>e(()=>import(`./th-DJQyDr9J.js`).then(e=>e.default),[]),tr:()=>e(()=>import(`./tr-BBGKZ1la.js`).then(e=>e.default),[]),uk:()=>e(()=>import(`./uk-C1GcFWxE.js`).then(e=>e.default),[]),vi:()=>e(()=>import(`./vi-CIxgICOQ.js`).then(e=>e.default),[]),zh:()=>e(()=>import(`./zh-Cm7vsQ9s.js`).then(e=>e.default),[])},F=e=>{let t=e?.toLowerCase().split(`-`)[0];return N.includes(t)?t:`en`},I=e=>M.includes(F(e)),L=e=>{if(typeof document>`u`)return;let t=F(e);document.documentElement.lang=t,document.documentElement.dir=I(t)?`rtl`:`ltr`},R=async e=>{let n=F(e);if(!t.hasResourceBundle(n,`translation`)){let e=await P[n]();t.addResourceBundle(n,`translation`,e,!0,!0)}return n},z=async e=>{let n=await R(e);return await t.changeLanguage(n),n};if(typeof window<`u`){let e=navigator.language;try{e=window.localStorage.getItem(`i18nextLng`)||e}catch{}L(e),t.on(`languageChanged`,L)}var B=(async()=>{t.isInitialized||await t.use(O).use(i).init({resources:A,fallbackLng:`en`,supportedLngs:N,nonExplicitSupportedLngs:!0,load:`languageOnly`,debug:!1,interpolation:{escapeValue:!1},detection:{order:[`localStorage`,`navigator`,`htmlTag`],caches:[`localStorage`],lookupLocalStorage:`i18nextLng`}});let e=F(t.language||t.resolvedLanguage);if(e!==`en`)try{await R(e),F(t.language)===e&&await t.changeLanguage(e)}catch{await t.changeLanguage(`en`)}L(t.resolvedLanguage||t.language||`en`)})();export{F as a,I as i,z as n,j as o,B as r,L as t};