libre-webui 0.24.0 → 0.25.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.
- package/README.md +26 -15
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +9 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
- package/backend/dist/persistence/postgresPersonalAutomationsMigration.d.ts +8 -0
- package/backend/dist/persistence/postgresPersonalAutomationsMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresPersonalAutomationsMigration.js +98 -0
- package/backend/dist/persistence/postgresPersonalAutomationsMigration.js.map +1 -0
- package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.js +274 -0
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/resourceTypes.d.ts +83 -2
- package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
- package/backend/dist/persistence/resourceTypes.js.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.d.ts +1 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.js +181 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js +233 -0
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.js +41 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobContracts.d.ts +3 -0
- package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobContracts.js +3 -0
- package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.js +101 -1
- package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
- package/backend/dist/routes/automations.d.ts +3 -0
- package/backend/dist/routes/automations.d.ts.map +1 -0
- package/backend/dist/routes/automations.js +232 -0
- package/backend/dist/routes/automations.js.map +1 -0
- package/backend/dist/routes/calendar.d.ts +3 -0
- package/backend/dist/routes/calendar.d.ts.map +1 -0
- package/backend/dist/routes/calendar.js +206 -0
- package/backend/dist/routes/calendar.js.map +1 -0
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +99 -7
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +4 -1
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/routes/search.d.ts.map +1 -1
- package/backend/dist/routes/search.js +5 -3
- package/backend/dist/routes/search.js.map +1 -1
- package/backend/dist/services/automationSchedulerService.d.ts +28 -0
- package/backend/dist/services/automationSchedulerService.d.ts.map +1 -0
- package/backend/dist/services/automationSchedulerService.js +191 -0
- package/backend/dist/services/automationSchedulerService.js.map +1 -0
- package/backend/dist/services/automationService.d.ts +53 -0
- package/backend/dist/services/automationService.d.ts.map +1 -0
- package/backend/dist/services/automationService.js +224 -0
- package/backend/dist/services/automationService.js.map +1 -0
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/chatGenerationService.js +7 -1
- package/backend/dist/services/chatGenerationService.js.map +1 -1
- package/backend/dist/services/chatService.d.ts +9 -1
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +91 -13
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/contextCompactionService.d.ts +11 -6
- package/backend/dist/services/contextCompactionService.d.ts.map +1 -1
- package/backend/dist/services/contextCompactionService.js +127 -27
- package/backend/dist/services/contextCompactionService.js.map +1 -1
- package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/durableChatGenerationService.js +15 -3
- package/backend/dist/services/durableChatGenerationService.js.map +1 -1
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +9 -2
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts +10 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +42 -7
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +3 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
- package/backend/dist/services/titleGenerationService.js +5 -1
- package/backend/dist/services/titleGenerationService.js.map +1 -1
- package/backend/dist/services/webSearchPlanService.d.ts +18 -0
- package/backend/dist/services/webSearchPlanService.d.ts.map +1 -0
- package/backend/dist/services/webSearchPlanService.js +160 -0
- package/backend/dist/services/webSearchPlanService.js.map +1 -0
- package/backend/dist/services/webSearchService.d.ts +9 -3
- package/backend/dist/services/webSearchService.d.ts.map +1 -1
- package/backend/dist/services/webSearchService.js +8 -2
- package/backend/dist/services/webSearchService.js.map +1 -1
- package/backend/dist/storage.d.ts +7 -1
- package/backend/dist/storage.d.ts.map +1 -1
- package/backend/dist/storage.js +65 -1
- package/backend/dist/storage.js.map +1 -1
- package/backend/dist/types/index.d.ts +79 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/automationSchedule.d.ts +26 -0
- package/backend/dist/utils/automationSchedule.d.ts.map +1 -0
- package/backend/dist/utils/automationSchedule.js +231 -0
- package/backend/dist/utils/automationSchedule.js.map +1 -0
- package/backend/dist/utils/chatContext.d.ts +7 -0
- package/backend/dist/utils/chatContext.d.ts.map +1 -1
- package/backend/dist/utils/chatContext.js +13 -2
- package/backend/dist/utils/chatContext.js.map +1 -1
- package/backend/dist/utils/openAIResponsesAdapter.d.ts.map +1 -1
- package/backend/dist/utils/openAIResponsesAdapter.js +3 -1
- package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.d.ts +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.js +82 -19
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
- package/backend/dist/utils/pluginModelCatalog.d.ts +20 -0
- package/backend/dist/utils/pluginModelCatalog.d.ts.map +1 -1
- package/backend/dist/utils/pluginModelCatalog.js +101 -9
- package/backend/dist/utils/pluginModelCatalog.js.map +1 -1
- package/backend/dist/utils/resourceLimits.d.ts +7 -0
- package/backend/dist/utils/resourceLimits.d.ts.map +1 -1
- package/backend/dist/utils/resourceLimits.js +7 -0
- package/backend/dist/utils/resourceLimits.js.map +1 -1
- package/backend/dist/utils/thinkingOptions.d.ts +23 -3
- package/backend/dist/utils/thinkingOptions.d.ts.map +1 -1
- package/backend/dist/utils/thinkingOptions.js +35 -9
- package/backend/dist/utils/thinkingOptions.js.map +1 -1
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +9 -3
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/package.json +1 -1
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-6o-Hc2wS.js +41 -0
- package/frontend/dist/assets/index-D-pM957b.css +1 -0
- package/frontend/dist/index.html +12 -12
- package/frontend/dist/js/ArtifactContainer-CpUi6ekF.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-TONeQvof.js → ArtifactDemoPage-BeNs3gHp.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-CV2XXu_t.js → ArtifactSandboxFrame-qsj_Y3LV.js} +2 -2
- package/frontend/dist/js/ArtifactSlideOutPanel-CSFRluWA.js +1 -0
- package/frontend/dist/js/AutomationsPage-KUeWoZNv.js +1 -0
- package/frontend/dist/js/CalendarPage-D9I972w8.js +1 -0
- package/frontend/dist/js/ChatPage-CmBx4oAL.js +16 -0
- package/frontend/dist/js/{FirstTimeSetup-smhj0X6o.js → FirstTimeSetup-Df0YJni3.js} +1 -1
- package/frontend/dist/js/GalleryPage-bLCrdJN_.js +1 -0
- package/frontend/dist/js/HomePage-Uc6PEg-U.js +1 -0
- package/frontend/dist/js/{LibreClawPage-CRKei1MM.js → LibreClawPage-CG63DHg1.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-D0amaOnl.js → ModelManagerModals-DcLGYN3l.js} +1 -1
- package/frontend/dist/js/ModelSelector-yxJC64rM.js +1 -0
- package/frontend/dist/js/ModelsPage-1R_TxgmJ.js +2 -0
- package/frontend/dist/js/NotesPage-L65j5HoW.js +1 -0
- package/frontend/dist/js/PersonasPage-CKeBpHIH.js +13 -0
- package/frontend/dist/js/PluginUsagePage-BX1SKMbW.js +1 -0
- package/frontend/dist/js/{RichMessageContent-Bxi_u0gC.js → RichMessageContent-DiySVYGB.js} +1 -1
- package/frontend/dist/js/SettingsModal-68SG1uZ2.js +1 -0
- package/frontend/dist/js/SystemPage-CytpZiQV.js +1 -0
- package/frontend/dist/js/UserManagementPage-BzJBvZiS.js +1 -0
- package/frontend/dist/js/WorkPage-C8gr0QJe.js +6 -0
- package/frontend/dist/js/api-BDtqBtqw.js +14 -0
- package/frontend/dist/js/{appStore-CJtomipz.js → appStore-0JnCUlEq.js} +2 -2
- package/frontend/dist/js/ar-CSpi37Gr.js +2 -0
- package/frontend/dist/js/{authStore-BckFDL70.js → authStore-DbMdvNgJ.js} +3 -3
- package/frontend/dist/js/{babel-D24oDI9y.js → babel-BsYoxD-7.js} +1 -1
- package/frontend/dist/js/bn-CyH1BeDD.js +2 -0
- package/frontend/dist/js/calendarDates-Co3o_05Y.js +1 -0
- package/frontend/dist/js/chatStore-CHQ2uINS.js +3 -0
- package/frontend/dist/js/{config-CNVNpf_q.js → config-DSOYQ9a3.js} +1 -1
- package/frontend/dist/js/cs-Cv2NfRK5.js +2 -0
- package/frontend/dist/js/da-D6D6IvPK.js +2 -0
- package/frontend/dist/js/de-BNoJJTrT.js +2 -0
- package/frontend/dist/js/es-kzo9C7q_.js +2 -0
- package/frontend/dist/js/{estree-D1TYSBcf.js → estree-BcnBcOAx.js} +7 -7
- package/frontend/dist/js/fr-CjHYvJRp.js +2 -0
- package/frontend/dist/js/hi-BU98AdCQ.js +2 -0
- package/frontend/dist/js/{html-Dmddj0zf.js → html-DkY55Jys.js} +10 -10
- package/frontend/dist/js/id-CpdedejX.js +2 -0
- package/frontend/dist/js/is-Cp5dDWBH.js +2 -0
- package/frontend/dist/js/it-CuH_cK4U.js +2 -0
- package/frontend/dist/js/ja-BWXXXiHn.js +2 -0
- package/frontend/dist/js/ko-DQgv2M1t.js +2 -0
- package/frontend/dist/js/{markdown-Bl_LsHEk.js → markdown-IZSI9DXw.js} +6 -6
- package/frontend/dist/js/{messageCodeStyles-CgKxn4tN.js → messageCodeStyles-BFNR9Wv6.js} +2 -2
- package/frontend/dist/js/ms-DCcRoIcX.js +2 -0
- package/frontend/dist/js/nl-CbKR1_EU.js +2 -0
- package/frontend/dist/js/pl-CRyJZccn.js +2 -0
- package/frontend/dist/js/{postcss-Bx9CTcIc.js → postcss-BJ0okz7n.js} +1 -1
- package/frontend/dist/js/pt-BXYmHFGH.js +2 -0
- package/frontend/dist/js/{router-vendor-CbPDks39.js → router-vendor-DGFGM3EP.js} +1 -1
- package/frontend/dist/js/ru-M9SyZG4b.js +2 -0
- package/frontend/dist/js/{standalone-BWau8hEE.js → standalone-Csw3jfJ_.js} +5 -5
- package/frontend/dist/js/sv-DJ486LTU.js +2 -0
- package/frontend/dist/js/th-Ch7gKtZv.js +2 -0
- package/frontend/dist/js/tr-ClehWhSC.js +2 -0
- package/frontend/dist/js/{typescript-DxGn3Yn-.js → typescript-CnF4UVx7.js} +2 -2
- package/frontend/dist/js/{ui-jlx9WA5A.js → ui-CC-K19wO.js} +2 -2
- package/frontend/dist/js/ui-vendor-B1UgO3vd.js +177 -0
- package/frontend/dist/js/uk-BqAd5zHF.js +2 -0
- package/frontend/dist/js/{vi-BgRaIrQC.js → vi-D9gjlDVB.js} +2 -2
- package/frontend/dist/js/{workApi-DWRpZ_cq.js → workApi-C3uy9EDT.js} +3 -3
- package/frontend/dist/js/{yaml-DioTxVLA.js → yaml-DzT5hBSH.js} +5 -5
- package/frontend/dist/js/zh-DKTyHkiR.js +2 -0
- package/package.json +2 -2
- package/frontend/dist/assets/index-BlTbxYPP.js +0 -33
- package/frontend/dist/assets/index-CbiWSGOj.css +0 -1
- package/frontend/dist/js/ArtifactContainer-C-n1vPsA.js +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-2exw7YqL.js +0 -1
- package/frontend/dist/js/ChatPage-wnyG_TyC.js +0 -23
- package/frontend/dist/js/GalleryPage-BZfeWlBg.js +0 -1
- package/frontend/dist/js/HomePage-gf4GgI6z.js +0 -1
- package/frontend/dist/js/ModelSelector-C5Tn6y0p.js +0 -1
- package/frontend/dist/js/ModelsPage-Rbags4Xq.js +0 -2
- package/frontend/dist/js/NotesPage-9NR9HZZ8.js +0 -1
- package/frontend/dist/js/PersonasPage-DYP67Qiy.js +0 -13
- package/frontend/dist/js/PluginUsagePage-QtCgymRu.js +0 -1
- package/frontend/dist/js/SettingsModal-B4RelkLP.js +0 -1
- package/frontend/dist/js/SystemPage-xFSTYdBS.js +0 -1
- package/frontend/dist/js/UserManagementPage-Cp430WCP.js +0 -1
- package/frontend/dist/js/WorkPage-DFES41Qm.js +0 -6
- package/frontend/dist/js/api-DUUxxx_B.js +0 -14
- package/frontend/dist/js/ar-DMH3qbt6.js +0 -2
- package/frontend/dist/js/bn-CGDX8khx.js +0 -2
- package/frontend/dist/js/chatStore-DK-_wd-j.js +0 -3
- package/frontend/dist/js/cs-CJLgUk3m.js +0 -2
- package/frontend/dist/js/da-DnZMnCVM.js +0 -2
- package/frontend/dist/js/de-CWpguVQ5.js +0 -2
- package/frontend/dist/js/es-DVU1vjm0.js +0 -2
- package/frontend/dist/js/fr-pWnSnypD.js +0 -2
- package/frontend/dist/js/hi-B6xDfxA5.js +0 -2
- package/frontend/dist/js/id-BThSTUAG.js +0 -2
- package/frontend/dist/js/is-BOohDFie.js +0 -2
- package/frontend/dist/js/it-BdRArcCC.js +0 -2
- package/frontend/dist/js/ja-5Cq35sMr.js +0 -2
- package/frontend/dist/js/ko-BlzNRtpQ.js +0 -2
- package/frontend/dist/js/ms-CtGeurkZ.js +0 -2
- package/frontend/dist/js/nl-MKPHGjVF.js +0 -2
- package/frontend/dist/js/pl-BwBrqCey.js +0 -2
- package/frontend/dist/js/pt-CKzoHWBB.js +0 -2
- package/frontend/dist/js/ru-BQC4jh0Y.js +0 -2
- package/frontend/dist/js/sv-Cm0qXxzM.js +0 -2
- package/frontend/dist/js/th-DUPbiRI2.js +0 -2
- package/frontend/dist/js/tr-AsFu_Br5.js +0 -2
- package/frontend/dist/js/ui-vendor-54SgntkX.js +0 -177
- package/frontend/dist/js/uk-DrMMOZ17.js +0 -2
- package/frontend/dist/js/zh-B4rcgcAy.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
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:`Помилка входу. Перевірте свої облікові дані.`,approvalPending:`Ваш обліковий запис очікує на підтвердження адміністратором.`,enterBoth:`Введіть ім'я користувача та пароль`,githubSuccess:`Вхід через GitHub успішний!`,githubFailed:`Помилка автентифікації GitHub`,githubVerifyFailed:`Не вдалося перевірити автентифікацію GitHub`,verificationFailed:`Перевірка безпеки не вдалася. Оновіть сторінку та спробуйте ще раз.`},signup:{title:`Створити обліковий запис`,subtitle:`Зареєструйте новий обліковий запис`,username:`Ім'я користувача`,usernamePlaceholder:`Виберіть ім'я користувача`,email:`Електронна пошта`,emailPlaceholder:`ваша@пошта.com`,password:`Пароль`,passwordPlaceholder:`Виберіть пароль`,confirmPassword:`Підтвердіть пароль`,confirmPasswordPlaceholder:`Підтвердіть пароль`,createAccount:`Створити обліковий запис`,creatingAccount:`Створення облікового запису...`,hasAccount:`Вже є обліковий запис?`,signInHere:`Увійдіть тут`,signupSuccess:`Обліковий запис успішно створено!`,approvalPending:`Реєстрацію отримано. Адміністратор має підтвердити ваш обліковий запис.`,awaitingApproval:`Очікує підтвердження`,awaitingApprovalDescription:`Ваш обліковий запис створено, але адміністратор має активувати його, перш ніж ви зможете увійти.`,backToSignIn:`Повернутися до входу`,signupFailed:`Помилка реєстрації`,tryAgain:`Помилка реєстрації. Спробуйте ще раз.`,usernameRequired:`Ім'я користувача та пароль обов'язкові`,passwordMismatch:`Паролі не збігаються`,passwordTooShort:`Пароль має містити щонайменше 6 символів`},logout:{button:`Вийти`,success:`Ви успішно вийшли`},oauth:{continueWith:`Продовжити з {{provider}}`,connectingTo:`Підключення до {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`Перевірка автентифікації...`,welcome:`Ласкаво просимо`,noEmail:`Email не вказано`,role:`Роль`,id:`ID`,userId:`ID користувача`,signInDescription:`Увійдіть за допомогою облікового запису GitHub, щоб продовжити`,signInWithGitHub:`Увійти через GitHub`,jwtActive:`JWT-автентифікація активна`,jwtDescription:`JWT-автентифікація з GitHub OAuth`,github:`GitHub`,provider:`Провайдер`,tagline:`Ваш AI стек має підпорядковуватися вам.`,selfHosted:`Самостійний хостинг · Apache 2.0`,highlights:{local:{title:`Локально насамперед`,body:`Ваші розмови та файли залишаються на пристрої, на якому ви запускаєте це.`},providers:{title:`Будь-який провайдер`,body:`Локальні моделі через Ollama, а також віддалені провайдери, які ви вирішите додати.`},work:{title:`Ізольована робота`,body:`Надайте моделі пісочницю з файлами, терміналом та попереднім переглядом.`}},oidc:{defaultProviderName:`Єдиний вхід`}},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:`Не вдалося створити обліковий запис адміністратора`,approvalUnexpected:`Початкового адміністратора не вдалося активувати. Будь ласка, спробуйте ще раз.`,fillAllFields:`Заповніть усі поля`,note:`Це буде основний обліковий запис адміністратора для вашого екземпляра Libre WebUI`},encryptionKey:{title:`Збережіть ключ шифрування`,subtitle:`Важливо: збережіть цей ключ`,description:`Цей ключ шифрування захищає ваші конфіденційні дані. Зберігайте його надійно - він знадобиться для відновлення бази даних.`,warning:`Попередження`,warningText:`Якщо ви втратите цей ключ і вам потрібно буде відновити базу даних, ваші зашифровані дані (API-ключі, налаштування) будуть безповоротно втрачені.`,label:`Ваш ключ шифрування`,loading:`Завантаження...`,copyToClipboard:`Копіювати в буфер обміну`,copied:`Ключ шифрування скопійовано!`,copyFailed:`Не вдалося скопіювати ключ`,envNote:`Цей ключ також збережено у файлі backend/.env як ENCRYPTION_KEY`,acknowledgment:`Я зберіг ключ шифрування в надійному місці та розумію, що його втрата може призвести до втрати даних.`,confirmRequired:`Підтвердіть, що ви зберегли ключ шифрування`,continue:`Продовжити до Libre WebUI`}},chat:JSON.parse(`{"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":"Зупинити прослуховування","transcriptionSource":"Джерело розпізнавання мовлення","browserSpeech":"Служба розпізнавання мовлення браузера","providerTranscriptionDisclosure":"Записати й надіслати аудіо до {{provider}} для транскрибування","webSearchOn":"Вебпошук увімкнено — відповіді використовують живі результати","webSearchOff":"Шукати в інтернеті для цього повідомлення","thinkingOn":"Міркування увімкнено ({{level}})","thinkingOff":"Міркувати перед відповіддю"},"session":{"new":"Новий чат","work":"Робота","chat":"Чат","private":"Приватний","incognito":"Приватна розмова","privateMode":"Приватний режим","privateDescription":"Ця розмова не буде збережена","privateTooltip":"Почати приватну розмову, яка не буде збережена","deleteConfirm":"Ви впевнені, що хочете видалити цей чат?","generatingTitle":"Генерація заголовка","noChats":"Чатів ще немає","createFirst":"Створіть свій перший чат вище","chats":"Чати","renameChat":"Перейменувати чат","openNewTab":"Відкрити в новій вкладці","pinChat":"Закріпити","unpinChat":"Відкріпити","deleteChat":"Видалити чат","archiveChat":"Архівувати чат","groups":{"pinned":"Закріплені","today":"Сьогодні","yesterday":"Вчора","previous7Days":"Останні 7 днів","previous30Days":"Останні 30 днів","older":"Старіші"},"folder":{"new":"Нова папка","namePlaceholder":"Назва папки","move":"Перемістити до папки","remove":"Прибрати з папки","delete":"Видалити папку","deleteConfirm":"Видалити цю папку? Чати всередині збережуться."}},"persona":{"applied":"Персону застосовано","label":"Персона","loadFailed":"Не вдалося завантажити відомості про персону","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 (макс. 10 МБ кожне)","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":"Контекст обмежено до {{context}} із {{trained}}, на яких навчалася модель, щоб вона завантажувалася.","saved":"Налаштування збережено","saveFailed":"Не вдалося зберегти налаштування","params":{"temperature":"Температура","topP":"Top P","topK":"Top K","minP":"Min P","maxTokens":"Макс. токенів","repeatPenalty":"Штраф за повтори","seed":"Сід","contextLength":"Довжина контексту"},"thinking":"Міркування","thinkingDescription":"Скільки модель міркує перед відповіддю. Моделі без міркування це ігнорують."},"message":{"sources":"Джерела"},"toasts":{"chatCreated":"Новий чат створено","createFailed":"Не вдалося створити сеанс","loadFailed":"Не вдалося завантажити сеанси","chatDeleted":"Чат видалено","deleteFailed":"Не вдалося видалити чат","deleteSessionFailed":"Не вдалося видалити сеанс","historyCleared":"Усю історію чату очищено","historyClearFailed":"Не вдалося очистити історію чату","titleUpdated":"Назву чату оновлено","updateFailed":"Не вдалося оновити сеанс","noValidSession":"Немає дійсного сеансу чату. Створіть або виберіть чат.","sessionNotFound":"Сеанс не знайдено або він недійсний. Виберіть або створіть дійсний сеанс чату.","noModelProvider":"Немає доступного постачальника моделей","modelUnavailable":"Вибрану модель \\"{{model}}\\" недоступно у {{provider}}. Повторно активуйте цього постачальника або виберіть іншу модель.","modelSwitched":"Переключено на {{model}} (попередня модель більше недоступна)","modelsLoadFailed":"Не вдалося завантажити моделі","modelUpdated":"Модель оновлено для поточного чату","modelUpdateFailed":"Не вдалося оновити модель сеансу"},"documents":{"title":"Документи в контексті"},"context":{"title":"Вікно контексту:","full":"заповнено на {{percent}}%","tokensUsed":"використано {{used}} / {{budget}} токенів","tokensUsedNoBudget":"використано {{used}} токенів","capped":"обмежено з {{trained}}"}}`),sidebar:{navigation:{chat:`Чат`,models:`Моделі`,personas:`Персони`,imagine:`Генерація`,agents:`Агенти`,work:`Робота`,settings:`Налаштування`,usageAnalytics:`Використання провайдерів`,system:`Система`,userManagement:`Керування користувачами`,signOut:`Вийти`,exploreLabel:`Огляд`,notes:`Нотатки`},toggleSize:`Змінити розмір бічної панелі`,expandSidebar:`Розгорнути бічну панель`},user:{menu:{changePicture:`Змінити зображення`,settings:`Налаштування`,usageAnalytics:`Використання провайдерів`,system:`Система`,userManagement:`Керування користувачами`,logout:`Вийти`},avatar:{title:`Змінити фото профілю`,updated:`Фото профілю оновлено`,updateFailed:`Не вдалося оновити фото профілю`,saving:`Збереження...`,label:`Аватар`,uploadAvatarImage:`Завантажити зображення аватара`,dragAndDrop:`Перетягніть зображення або натисніть для вибору`,chooseImage:`Вибрати зображення`,uploading:`Завантаження...`,enterImageUrl:`Або введіть URL зображення`,supportedFormats:`Підтримуються: JPG, PNG, GIF, WebP (макс. 2 МБ). Квадратні зображення підходять найкраще.`,customAvatar:`Користувацьке зображення аватара`,clickToChange:`Натисніть, щоб змінити або видалити`,removed:`Аватар видалено`,uploaded:`Аватар успішно завантажено`,invalidFile:`Будь ласка, виберіть дійсний файл зображення`,fileTooLarge:`Розмір зображення аватара має бути менше 2 МБ`,readFailed:`Не вдалося прочитати файл зображення`,uploadFailed:`Не вдалося завантажити зображення аватара`},profile:{noEmail:`Електронна пошта не вказана`}},settings:JSON.parse(`{"title":"Налаштування","tabs":{"appearance":"Зовнішній вигляд","model":"Модель","systemMessage":"Системне повідомлення","plugins":"Плагіни","search":"Пошук","generation":"Генерація","documents":"Документи","tts":"Текст у мовлення","imageGen":"Генерація зображень","data":"Дані","shortcuts":"Комбінації клавіш","about":"Про програму","sessions":"Сеанси","apiKeys":"API-ключі"},"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":"Виберіть модель","specializedModels":"Спеціалізовані моделі","visionModel":"Модель зору","selectVisionModel":"Використовувати поточну модель чату","visionModelDescription":"Використовується автоматично, щоразу коли контекст чату містить зображення. Виберіть модель, що підтримує введення зображень.","visionModelUpdateFailed":"Не вдалося оновити модель зору: {{error}}","visionModelNoProvider":"Ця модель зору не має ідентифікатора провайдера. Виберіть доступну модель.","persona":"Персона","updateAll":"Оновити всі моделі","updateAllDescription":"Перевірити оновлення та завантажити останні версії всіх встановлених моделей","updateAllButton":"Оновити всі","updating":"Оновлення моделей...","currentModelInfo":"Інформація про поточну модель","name":"Назва","size":"Розмір","family":"Сімейство","format":"Формат","status":"Статус","statusStarting":"Запуск...","statusComplete":"Завершено","statusError":"Помилка","bulkOperations":"Масові операції","autoTitle":{"title":"Автоматична генерація заголовків","enable":"Увімкнути автозаголовки","enableDescription":"Автоматично генерувати заголовки для нових розмов","taskModel":"Модель для завдань","selectTaskModel":"Виберіть модель для завдань","taskModelDescription":"Модель, що використовується для генерації заголовків розмов"},"updatingModel":"Оновлення {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} з {{total}} моделей"},"systemMessage":{"title":"Системне повідомлення","description":"Встановіть власне системне повідомлення, яке буде використовуватися для всіх нових розмов.","placeholder":"Введіть системне повідомлення...","saved":"Системне повідомлення збережено","saveFailed":"Не вдалося зберегти системне повідомлення"},"plugins":{"title":"Плагіни","description":"Керуйте встановленими плагінами","providerConnections":"Підключення провайдерів","providerConnectionsDescription":"Підключайте, налаштовуйте та перевіряйте провайдерів моделей через плагіни.","providers":"Провайдери","searchProviders":"Пошук провайдерів","noProvidersFound":"Жоден провайдер не відповідає вашому пошуку.","selectProvider":"Виберіть провайдера","selectProviderDescription":"Виберіть провайдера, щоб переглянути його підключення та каталог моделей.","addNew":"Додати новий плагін","upload":"Завантажити плагін","addJson":"Додати JSON","uploading":"Завантаження...","jsonPlaceholder":"Вставте JSON-конфігурацію плагіна...","install":"Встановити плагін","noPlugins":"Плагіни не встановлено","noPluginsDescription":"Додайте плагін для розширення функціональності","loading":"Завантаження плагінів...","installed":"Встановлені плагіни","active":"Активні плагіни","activeLabel":"Активний","inactive":"Неактивний","activate":"Активувати","deactivate":"Деактивувати","models":"моделей","apiKeySet":"API-ключ встановлено","apiKeyConfiguration":"Налаштування API-ключа","apiKeyDescription":"Зберегти особистий API ключ для {{name}}.","apiKeyEnvAlternative":"Або встановіть","environmentVariable":"змінну середовища","apiKeyConfigured":"API-ключ налаштовано","apiKeyPlaceholder":"Введіть API-ключ...","saveApiKey":"Зберегти 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":"Видалити плагін","apiKey":{"title":"API-ключ","placeholder":"Введіть API-ключ","save":"Зберегти ключ","remove":"Видалити ключ","configured":"API-ключ налаштовано","notConfigured":"Потрібен API-ключ","saved":"API-ключ успішно збережено","removed":"API-ключ видалено","saveFailed":"Не вдалося зберегти API-ключ","removeFailed":"Не вдалося видалити API-ключ","enterKey":"Введіть API-ключ"},"variables":"Variables"},"generation":{"title":"Параметри генерації","description":"Налаштуйте, як AI генерує відповіді","scopeLabel":"Застосовується до","scopeAll":"Усіх моделей","scopeModel":"Лише {{model}}","scopeAllHint":"Значення, які використовує кожна модель, якщо не має власних.","scopeModelHint":"Зберігається лише для цієї моделі й має перевагу над загальними значеннями.","advancedSettings":"Розширені налаштування генерації","advancedSettingsDescription":"Вибірка, ліміти токенів, контекст, штрафи та послідовності зупинки","coreParameters":"Основні параметри","temperature":"Температура","temperatureDescription":"Контролює випадковість. Нижчі значення більш зосереджені, вищі — більш креативні.","topP":"Top P","topPDescription":"Контролює різноманітність через nucleus sampling. Нижчі значення фокусуються на ймовірних токенах.","topK":"Top K","topKDescription":"Обмежує вибір токенів до K найімовірніших. Встановіть 0 для вимкнення.","minP":"Min P","minPDescription":"Мінімальний поріг ймовірності для вибору токенів.","generationControl":"Контроль генерації","maxTokens":"Макс. токенів","maxTokensDescription":"Максимальна кількість токенів для генерації у відповіді.","repeatPenalty":"Штраф за повторення","repeatPenaltyDescription":"Штрафує повторювані токени. Вищі значення зменшують повторення.","contextLength":"Довжина контексту","contextLengthDescription":"Максимальний розмір контекстного вікна для розмов.","seed":"Seed","optional":"необов'язково","random":"Випадковий","seedDescription":"Встановіть конкретний seed для відтворюваних результатів.","advancedOptions":"Розширені параметри","presencePenalty":"Штраф за присутність","presencePenaltyDescription":"Штрафує токени, що з'являються в контексті.","frequencyPenalty":"Штраф за частоту","frequencyPenaltyDescription":"Штрафує часто використовувані токени.","stopSequences":"Стоп-послідовності","commaSeparated":"через кому","stopSequencesDescription":"Власні токени, які зупинять генерацію при зустрічі.","resetDefaults":"Скинути до стандартних","saveOptions":"Зберегти параметри","embeddingSettings":"Налаштування ембедингів","enableEmbeddings":"Увімкнути ембединги документів","thinking":"Міркування","thinkingDescription":"Типовий рівень міркування для відповідей. Кожен чат може його змінити.","thinkingLevels":{"default":"Типове для моделі","off":"Вимкнено","on":"Увімкнено","low":"Низький","medium":"Середній","high":"Високий"}},"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":"Видалити цю колекцію? Документи всередині збережуться.","createFailed":"Не вдалося створити колекцію","deleteFailed":"Не вдалося видалити колекцію","assignFailed":"Не вдалося перемістити документ"},"library":{"title":"Завантажені документи","description":"Документи, доступні як контекст чату. Документ, завантажений у чаті, лишається у своїй розмові; документ без чату й колекції долучається до кожної розмови.","empty":"Документів ще не завантажено.","chatScope":"Один чат","everyChatScope":"Усі чати","deleteConfirm":"Видалити «{{name}}»? Він зникне з усіх чатів.","deleteFailed":"Не вдалося видалити документ"}},"tts":{"title":"Текст у мовлення","description":"Налаштуйте параметри синтезу мовлення для озвучення повідомлень","loadingProviders":"Завантаження провайдерів TTS...","noProviders":"Немає провайдерів TTS","noProvidersDescription":"Налаштуйте плагін з підтримкою TTS, щоб увімкнути синтез мовлення","enable":"Увімкнути TTS","enableDescription":"Дозволити синтез мовлення для повідомлень асистента","autoPlay":"Автовідтворення відповідей","autoPlayDescription":"Автоматично озвучувати нові повідомлення асистента","streamSentences":"Природне пакетне відтворення","streamSentencesDescription":"Заздалегідь створювати кілька пакетів з урахуванням фраз і відтворювати їх як одну безперервну відповідь.","voiceConfiguration":"Налаштування голосу","model":"Модель TTS","modelDescription":"Виберіть модель для синтезу мовлення","voice":"Голос","selectVoice":"Виберіть голос","voiceDescription":"Виберіть голос для синтезу мовлення","providerDefaultVoice":"Ця модель використовує голос за замовчуванням, якщо під час створення мовлення не надано еталонний запис.","voiceCloningAvailable":"Доступне клонування голосу","voiceCloningAvailableDescription":"Використовуйте розділ «Уявити → Аудіо», щоб створити мовлення з еталонного запису, зробленого за згодою мовця, і його точної розшифровки. За бажанням запис можна зберегти як голос для повторного використання.","savedVoiceOption":"{{name}} (збережений голос)","savedVoices":"Збережені голоси","loadingSavedVoices":"Завантаження збережених голосів…","deleteSavedVoice":"Видалити збережений голос {{name}}","deleteSavedVoiceConfirm":"Видалити збережений голос «{{name}}»? Його еталонний запис і розшифровку буде видалено.","savedVoiceDeleted":"Збережений голос видалено","savedVoicePreferenceCleanupFailed":"Збережений голос видалено, але налаштування мовлення не вдалося скинути","savedVoiceDeleteFailed":"Не вдалося видалити збережений голос","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":"Завантажте переносний архів налаштувань, папок чатів, сеансів і повідомлень, нотаток, колекцій знань та видобутого тексту документів.","archiveScopeV3":"Містить налаштування, чати, папки, нотатки, колекції знань і видобутий текст документів. Не містить облікових записів і секретів, біометрично клонованих голосів, створених медіафайлів, персон і пам’яті, а також даних або томів Work.","exportAll":"Експортувати всі дані","import":"Імпорт даних","importDescription":"Імпортуйте дані з попереднього експорту.","importData":"Імпортувати дані","importing":"Імпорт...","clearSessions":"Очистити сесії","clearSessionsDescription":"Видалити всі сесії чату. Цю дію неможливо скасувати.","clearAll":"Очистити все","clearing":"Очищення...","importOptions":"Параметри імпорту","importOptionsDescription":"Виберіть, як обробляти існуючі дані","validatingArchive":"Перевірка архіву та обчислення змін…","archiveValidationFailed":"Не вдалося перевірити архів","preflightReport":"Попередній перегляд імпорту","preflightIncoming":"{{folders}} папок · {{sessions}} чатів · {{messages}} повідомлень · {{notes}} нотаток · {{collections}} колекцій · {{documents}} документів · {{chunks}} фрагментів","preflightRemappedIds":"{{count}} ідентифікаторів буде перепризначено для захисту даних іншого облікового запису.","skipDuplicates":"Пропустити дублікати","overwrite":"Перезаписати існуючі","importResults":"Результати імпорту","preferences":"Налаштування","imported":"Імпортовано","failed":"Помилка","sessions":"Сесії","sessionFolders":"Папки сеансів","notes":"Нотатки","knowledgeCollections":"Колекції знань","importedLabel":"імпортовано","overwrittenLabel":"перезаписано","skipped":"пропущено","toCreate":"буде створено","toOverwrite":"буде перезаписано","toSkip":"буде пропущено","documents":"Документи","warnings":"Попередження","refreshAfterImportFailed":"Дані імпортовано, але деякі подання не вдалося оновити. Перезавантажте Libre WebUI, щоб побачити всі зміни.","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":"Запускайте AI-моделі локально з Ollama"}},"openSourceBy":"Відкритий код від {{company}}","links":{"title":"Посилання","github":"GitHub","githubDescription":"Переглянути вихідний код та зробити внесок","website":"Веб-сайт","websiteDescription":"Відвідайте наш веб-сайт","documentation":"Документація","reportIssue":"Повідомити про проблему","reportIssueDescription":"Звіти про помилки та запити функцій","documentationDescription":"Посібники, навчальні матеріали та довідник API","forgejo":"Дзеркало Forgejo","forgejoDescription":"Самостійно розміщений репозиторій Forgejo","sponsor":"Підтримати","sponsorDescription":"Допоможіть фінансувати проєкт"},"version":"Версія {{version}}"},"groups":{"general":"Загальні","chat":"Чат","media":"Мовлення та зображення","connections":"З'єднання"},"search":{"title":"Вебпошук","description":"Шукайте в інтернеті через власний екземпляр SearXNG. Після ввімкнення в чаті з'являється перемикач пошуку, а завдання Work з доступом до мережі можуть шукати.","enableLabel":"Увімкнути вебпошук","enableDescription":"Надати вебпошук чатам і завданням Work. Пошук виконується на сервері через налаштований екземпляр.","urlLabel":"URL SearXNG","urlDescription":"Базовий URL екземпляра SearXNG, доступний із сервера. Доданий приватний деплой-стек надає http://searxng:8080.","maxResultsLabel":"Результатів на пошук","maxResultsDescription":"Скільки результатів живлять відповідь або виклик інструмента, 1-10.","maxResultsInvalid":"Кількість результатів має бути від 1 до 10.","safeSearchLabel":"Безпечний пошук","safeSearchDescription":"Просити рушій фільтрувати відверті результати.","test":"Перевірити з'єднання","testing":"Перевірка…","testOk":"Пошук працює — отримано {{results}} результатів","testFailed":"Перевірка пошуку не вдалася","save":"Зберегти","saved":"Налаштування пошуку збережено","saveFailed":"Не вдалося зберегти налаштування пошуку"},"compaction":{"title":"Стиснення контексту","description":"Коли розмова перевищує поріг токенів, сервер підсумовує її старіші повідомлення й дослівно зберігає лише найновіші. Діє для всіх користувачів цього сервера.","thresholdLabel":"Поріг токенів","thresholdDescription":"Оцінна кількість токенів контексту, вище якої стара історія підсумовується, 500-1 000 000.","thresholdInvalid":"Поріг токенів має бути від 500 до 1 000 000.","keepRecentLabel":"Збережені останні повідомлення","keepRecentDescription":"Скільки останніх повідомлень завжди залишаються дослівно, 2-200.","keepRecentInvalid":"Кількість збережених останніх повідомлень має бути від 2 до 200.","modelLabel":"Модель стиснення","modelDescription":"Модель, яка пише підсумки. Якщо нічого не вибрано, використовується модель самого сеансу.","sessionModelOption":"Використовувати модель сеансу","promptLabel":"Власний промпт для підсумку","promptPlaceholder":"Залиште порожнім, щоб використовувати вбудований промпт","promptDescription":"Змінні шаблону {{previousSummaryVariable}} і {{messagesVariable}} замінюються попереднім підсумком і повідомленнями, що підсумовуються.","saved":"Налаштування стиснення збережено","saveFailed":"Не вдалося зберегти налаштування стиснення"},"sessions":{"title":"Сеанси","description":"Усі місця, де виконано вхід у цей обліковий запис. Вихід із сеансу набирає чинності негайно; повторний вхід відновлює доступ.","signOutOthers":"Вийти з інших сеансів","signingOutOthers":"Вихід…","signOut":"Вийти","signingOut":"Вихід…","revoked":"Сеанс завершено.","revokeFailed":"Не вдалося завершити сеанс.","othersRevoked":"Завершено інших сеансів: {{count}}","loadFailed":"Не вдалося завантажити сеанси.","empty":"Сеансів не знайдено.","current":"Поточний сеанс","revokedBadge":"Завершено","unknownDevice":"Невідомий пристрій","createdAt":"Вхід виконано","lastSeenAt":"Остання активність","expiresAt":"Закінчується"},"apiKeys":{"title":"API-ключі","description":"Токени з обмеженими областями дії для скриптів та інтеграцій. Кожен ключ має доступ лише до вибраних вами областей.","newKeyTitle":"Ваш новий API-ключ","copy":"Копіювати","copied":"Скопійовано в буфер обміну.","copyFailed":"Не вдалося скопіювати.","showOnceWarning":"Скопіюйте його зараз — більше він не показуватиметься.","dismiss":"Готово","createTitle":"Створити ключ","nameLabel":"Назва","namePlaceholder":"напр. CI-конвеєр","nameRequired":"Дайте ключу назву.","expiryLabel":"Термін дії в днях (необов'язково)","expiryPlaceholder":"Безстроково","expiryInvalid":"Термін дії має бути цілим числом днів.","scopesLabel":"Області дії","scopesRequired":"Виберіть принаймні одну область дії.","create":"Створити ключ","creating":"Створення…","created":"API-ключ створено.","createFailed":"Не вдалося створити API-ключ.","revoke":"Відкликати","revoking":"Відкликання…","revoked":"API-ключ відкликано.","revokeFailed":"Не вдалося відкликати API-ключ.","revokedBadge":"Відкликано","loadFailed":"Не вдалося завантажити API-ключі.","empty":"API-ключів ще немає.","createdAt":"Створено","lastUsedAt":"Останнє використання","expiresAt":"Закінчується","neverExpires":"Безстроково"}}`),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:`Переглянути бібліотеку`,huggingface:`HuggingFace Hub`,running:`Запущені моделі`,local:`Локальні моделі`,advanced:`Розширені дії`,catalog:`Каталог моделей`},catalog:{searchPlaceholder:`Шукати моделі за назвою або провайдером...`,noModels:`Моделей поки немає.`,empty:`Жодна модель не відповідає вашому запиту.`,providerOllama:`Ollama`,hidden:`Прихована`,visibilityFailed:`Не вдалося оновити видимість моделі.`,filterAll:`Усі моделі`,filterLocal:`Локальні`,filterProviders:`Провайдери`,filterHidden:`Приховані`,enableAll:`Увімкнути показані`,disableAll:`Вимкнути показані`,rename:`Змінити назву та зображення`,setPicture:`Задати зображення`,clearPicture:`Прибрати зображення`,pictureInvalid:`Виберіть файл зображення.`,pictureTooLarge:`Зображення мають бути менші за 192 КБ.`,saving:`Збереження…`,hide:`Приховати від користувачів`,show:`Показати користувачам`},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:`Оновити бібліотеку`},huggingface:{browseAll:`Переглянути все на HuggingFace`,checkingGguf:`Пошук GGUF-файлів...`,noGgufAvailable:`Немає GGUF-файлів для прямого завантаження в Ollama`,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:`Нещодавно оновлені`}},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:`Виберіть модель та введіть текст`}}},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:`Контролює креативність vs послідовність`,topP:`Top-P`,topPHint:`Контролює різноманітність відповідей`,topK:`Top-K`,topKHint:`Обмежує словник до top-k токенів`,contextWindow:`Контекстне вікно`,contextWindowHint:`Максимальна довжина історії розмови`,maxTokens:`Макс. токенів`,maxTokensHint:`Максимальна довжина відповіді`,repeatPenalty:`Штраф за повторення`,repeatPenaltyHint:`Зменшує повторювані відповіді`},memory:{title:`Система пам'яті`,subtitle:`Персона запам'ятовує розмови з часом`,enableHint:`Увімкніть систему пам'яті, щоб ваша персона запам'ятовувала розмови та будувала контекст з часом.`,loading:`Завантаження статусу пам'яті...`,noData:`Даних пам'яті ще немає`,memories:`Спогади`,mbUsed:`МБ використано`,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:`Експорт ДНК`,wipeMemories:`Очистити спогади`,wipeConfirm:`Ви впевнені, що хочете очистити всі спогади цієї персони? Цю дію неможливо скасувати.`,wipeSuccess:`Очищено {{count}} спогадів`,backupSuccess:`Бекап персони успішно завантажено`,dnaSuccess:`ДНК персони успішно експортовано`,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:`Ви не можете видалити власний обліковий запис`,approval:{title:`Очікують на підтвердження`,description:`Перевіряйте нові реєстрації, перш ніж дозволити доступ до цього екземпляра.`,registered:`Зареєстровано`,activate:`Активувати обліковий запис`,reject:`Відхилити реєстрацію`,approved:`{{name}} тепер може увійти.`,failed:`Обліковий запис не вдалося підтвердити.`,notification:`{{count}} реєстрацій очікують на ваш дозвіл.`,notificationBadge:`{{count}} користувачів очікують на підтвердження`},form:{title:{create:`Створити користувача`,edit:`Редагувати користувача`},username:`Ім'я користувача`,usernamePlaceholder:`Введіть ім'я користувача`,email:`Електронна пошта`,emailPlaceholder:`Введіть пошту (необов'язково)`,password:`Пароль`,passwordPlaceholder:`Введіть пароль`,passwordHint:`Залиште порожнім, щоб зберегти поточний пароль`,role:`Роль`,creating:`Створення...`,updating:`Оновлення...`,createButton:`Створити користувача`,updateButton:`Оновити користувача`,createSuccess:`Користувача успішно створено`,updateSuccess:`Користувача успішно оновлено`,createFailed:`Не вдалося створити користувача`,updateFailed:`Не вдалося оновити користувача`},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.`},groups:{title:`Групи`,description:`Об'єднуйте облікові записи в групи для керування спільним доступом і переглядайте, що фактично може робити будь-який обліковий запис.`,newGroup:`Нова група`,nameLabel:`Назва`,nameRequired:`Дайте групі назву.`,descriptionLabel:`Опис (необов'язково)`,create:`Створити групу`,creating:`Створення…`,created:`Групу створено.`,createFailed:`Не вдалося створити групу.`,deleted:`Групу видалено.`,deleteFailed:`Не вдалося видалити групу.`,deleteGroup:`Видалити групу`,loadFailed:`Не вдалося завантажити групи.`,empty:`Груп ще немає.`,memberCount:`Учасники: {{count}}`,noMembers:`Учасників ще немає.`,addedAt:`Додано`,addMember:`Додати учасника`,add:`Додати`,selectUser:`Виберіть користувача…`,memberAdded:`Учасника додано.`,memberAddFailed:`Не вдалося додати учасника.`,removeMember:`Вилучити учасника`,memberRemoved:`Учасника вилучено.`,memberRemoveFailed:`Не вдалося вилучити учасника.`,effectiveTitle:`Фактичний доступ`,effectiveDescription:`Виберіть обліковий запис, щоб побачити доступ, який він отримує в підсумку через роль, групи та надані дозволи.`,accessLookupFailed:`Не вдалося завантажити фактичний доступ.`,roleLabel:`Роль`,statusLabel:`Статус`,memberOf:`Групи`,featuresLabel:`Доступ до функцій`,grantsLabel:`Надані дозволи`,grantVia:`через`},audit:{title:`Журнал аудиту безпеки`,description:`Останні входи, перевірки дозволів та адміністративні зміни на цьому екземплярі.`,actionFilter:`Дія`,actionPlaceholder:`напр. auth.login`,resultFilter:`Результат`,resultSuccess:`Успішно`,resultDenied:`Відмовлено`,resultFailure:`Помилка`,limitFilter:`Ліміт`,loadFailed:`Не вдалося завантажити журнал аудиту.`,empty:`Подій аудиту ще не зафіксовано.`,actor:`Виконавець`,target:`Ціль`}},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}} символів`,bytes:`{{count}} байтів`,images:`{{count}} зображень`,jobs:`{{count}} відеозавдань`,inputs:`{{count}} входів`,reportedTokens:`{{count}} звітованих токенів`},empty:{title:`Викликів провайдерів ще немає`,description:`Виклики з'являться тут після того, як увімкнений плагін обробить запити чату, Work, вбудовування, зображення, мовлення, звуку або відео.`},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:`{{used}} з {{total}}`,freeSpace:`Вільний простір`,freeSpaceDetail:`{{label}} · {{total}} загалом`,containers:`Запущені контейнери`,containersDetail:`{{total}} контейнер(ів) відомо Docker`,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:`{{used}} використано з {{total}}`,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 поки немає.`}},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}} символів`},mediaGeneration:{title:`Генерувати медіа`,description:`Створюйте відео, звук, музику або мовлення за допомогою активованого медіа-провайдера.`,image:`Зображення`,video:`Відео`,audio:`Аудіо`,sound:`Звук`,speech:`Мовлення`,model:`Модель`,voice:`Голос або ID голосу`,cloneVoice:`Клонувати еталонний голос`,cloneVoiceDescription:`Створити це мовлення на основі еталонного запису замість готового голосу.`,referenceAudio:`Еталонне аудіо`,referenceTranscript:`Точна розшифровка еталонного запису`,referenceTranscriptPlaceholder:`Введіть точно те, що вимовляється в еталонному записі…`,referenceAudioTooLarge:`Розмір еталонного аудіо не повинен перевищувати {{max}}.`,cloneConsent:`Клонуйте голос лише з дозволу мовця. Для цього створення запис надсилається вибраному постачальнику й не зберігається в Libre WebUI.`,saveVoiceProfile:`Зберегти як голос для повторного використання`,saveVoiceProfileDescription:`Надійно збережіть цей еталонний запис і розшифровку. Libre WebUI надсилає їх вибраному постачальнику з кожною мовленнєвою партією, яка використовує цей голос.`,voiceProfileName:`Назва збереженого голосу`,voiceProfileNamePlaceholder:`Наприклад, Мій голос`,voiceStorageConsent:`Я підтверджую, що маю дозвіл мовця клонувати й зберігати цей голос. Еталонний запис зберігатиметься, доки я його не видалю.`,resolution:`Роздільна здатність`,aspectRatio:`Співвідношення сторін`,duration:`Тривалість`,providerDefault:`Типово провайдера`,generateAudio:`Генерувати аудіо разом із відео, якщо підтримується`,prompt:`Запит`,text:`Текст для озвучення`,videoPlaceholder:`Опишіть сцену, рух, камеру та освітлення...`,audioPlaceholder:`Введіть текст, який має озвучити голос...`,soundPlaceholder:`Опишіть звук, музику, атмосферу або потрібну голосову відповідь...`,generate:`Згенерувати`,generating:`Генерування… це може тривати кілька хвилин`,success:`Медіа згенеровано та збережено в Imagine`,successWithSavedVoice:`Медіафайл створено, і голос «{{name}}» тепер доступний у налаштуваннях мовлення`,failed:`Не вдалося згенерувати медіа`,loadFailed:`Не вдалося завантажити медіа-провайдерів`,noModels:`Моделі {{kind}} недоступні. Спочатку активуйте сумісний провайдер і збережіть його облікові дані.`},mediaGallery:{itemCount:`{{count}} елементів`,empty:`Згенерованих медіа ще немає`,emptyHint:`Згенеруйте зображення, відео або голосовий фрагмент, і він з'явиться тут.`,filters:{all:`Усі`,image:`Зображення`,video:`Відео`,audio:`Аудіо`}},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:`Розмір файлу має бути менше 10 МБ`,uploadSuccessWithName:`Документ "{{name}}" успішно завантажено`,removeSuccess:`Документ успішно видалено`,removeFailed:`Не вдалося видалити документ`,removeError:`Сталася помилка при видаленні документа`,clickToUpload:`Натисніть, щоб завантажити`,orDragAndDrop:`або перетягніть`,fileTypesAndSize:`PDF або TXT файли до 10 МБ`,uploadedDocuments:`Завантажені документи`,removeDocument:`Видалити документ`},ttsButton:{speak:`Озвучити`,stop:`Зупинити`,speaking:`Озвучення...`,generateFailed:`Не вдалося згенерувати мовлення`,playbackFailed:`Помилка відтворення аудіо`,stopSpeaking:`Зупинити озвучення`,preparingSpeech:`Підготовка мовлення...`,generatingSpeech:`Генерація мовлення...`,bufferingSpeech:`Буферизація мовлення...`,enableAudio:`Увімкнути звук і прочитати вголос`,enableAudioShort:`Увімкнути звук`,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:`Email не вказано`,changePicture:`Змінити фото`,settings:`Налаштування`,userManagement:`Керування користувачами`,signOut:`Вийти`,changeProfilePicture:`Змінити фото профілю`},pluginManager:{title:`Менеджер плагінів`,upload:`Завантажити`,addJson:`Додати JSON`,browseHF:`Переглянути HF Hub`,confirmDelete:`Ви впевнені, що хочете видалити цей плагін?`,uploading:`Завантаження плагіну...`,pasteJson:`Вставте JSON плагіну тут...`,installPlugin:`Встановити плагін`,loading:`Завантаження плагінів...`,noPlugins:`Немає встановлених плагінів`,noPluginsDescription:`Завантажте файл плагіну або додайте плагін з JSON.`,active:`Активний`,id:`ID`,endpoint:`Ендпоінт`,activate:`Активувати`,deactivate:`Деактивувати`,activePlugin:`Активний плагін`,activePluginDescription:`Усі запити чату будуть спрямовані через цей плагін`,variables:{title:`Змінні`,save:`Зберегти`,saving:`Збереження...`,saved:`Змінні збережені`,saveFailed:`Не вдалося зберегти змінні`,resetDefaults:`Скинути до стандартних`,reset:`Змінні скинуті`,resetFailed:`Не вдалося скинути змінні`,sensitiveSet:`Значення встановлено (введіть нове для зміни)`,showValue:`Показати значення {{label}}`,hideValue:`Приховати значення {{label}}`,connection:`Підключення`,advanced:`Додаткові параметри`,inherited:`Використовувати за замовчуванням провайдера`,inheritedValue:`Використовувати за замовчуванням провайдера ({{value}})`,enabled:`Увімкнено`,disabled:`Вимкнено`,required:`Потрібне значення`,fullApiEndpoint:`Повна URL кінцевої точки API`,endpointHelp:`Введіть повну URL запиту, включаючи шлях операції (наприклад, /v1/chat/completions), а не лише базову URL провайдера.`,invalidUrl:`Введіть дійсну повну URL кінцевої точки API, наприклад 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`},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":"Попередній перегляд диfу","diffFailed":"Не вдалося завантажити цей диф.","history":"Локальна історія","initialize":"Ініціалізувати Git","initializeDescription":"Створіть локальний репозиторій для статусу, дифів, гілок і комітів. Віддалені облікові дані не підключаються.","initialized":"Репозиторій Git ініціалізовано.","loadFailed":"Не вдалося завантажити статус Git.","localOnly":"Лише локальний Git. Push, pull і pull request потребують окремого довіреного брокера облікових даних.","newBranch":"Нова локальна гілка","noCommits":"Комітів ще немає.","noDiff":"Текстового дифу ще немає. Невідстежувані файли з'являться після підготовки.","notInitialized":"Git не ініціалізовано","selectChange":"Виберіть змінений файл, щоб переглянути його диф.","selectPath":"Вибрати {{path}}","stageAll":"Підготувати все","stageSelected":"Підготувати {{count}}","staged":"Зміни підготовлено.","switchBranch":"Перемкнути локальну гілку","changes":"Зміни","createBranch":"Створити","filterFiles":"Фільтрувати змінені файли","noFilterMatches":"Немає змінених файлів, що відповідають цьому фільтру.","allChanges":"Усі зміни","diffTruncated":"Цей diff обрізано.","binaryFile":"Двійковий файл, текстовий diff недоступний."},"hostWorkspace":{"hint":"Залиште порожнім для ізольованого простору або вкажіть завданню теку на цій машині.","label":"Тека робочого простору (необов'язково)","warning":"Завдання може безпосередньо читати й записувати цю теку. Залиште порожнім для ізольованого простору."}}`),personaBackground:{label:`Фонове зображення`,uploadBackgroundImage:`Завантажити фонове зображення`,dragAndDrop:`Перетягніть зображення або натисніть для вибору`,chooseImage:`Вибрати зображення`,uploading:`Завантаження...`,enterImageUrl:`Або введіть URL зображення`,supportedFormats:`Підтримує: JPG, PNG, GIF, WebP (макс. 5МБ). Широкі альбомні зображення працюють найкраще.`,customBackground:`Користувацьке фонове зображення`,clickToChange:`Натисніть для зміни або видалення`,removed:`Фон видалено`,uploaded:`Фон успішно завантажено`,invalidFile:`Будь ласка, виберіть дійсний файл зображення`,fileTooLarge:`Розмір фонового зображення має бути менше 5МБ`,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:`Агенти`},whatsNew:{title:`Що нового`,releaseNotes:`Нотатки випуску`,cta:`Гаразд, поїхали`},notes:{title:`Нотатки`,new:`Нова нотатка`,untitled:`Без назви`,empty:`Нотаток поки немає`,selectOrCreate:`Виберіть нотатку або створіть нову`,contentPlaceholder:`Пишіть у Markdown…`,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,2 +0,0 @@
|
|
|
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:`登录失败,请检查您的凭据。`,approvalPending:`您的账户正在等待管理员批准。`,enterBoth:`请输入用户名和密码`,githubSuccess:`GitHub 登录成功!`,githubFailed:`GitHub 认证失败`,githubVerifyFailed:`GitHub 认证验证失败`,verificationFailed:`安全验证失败。请刷新页面后重试。`},signup:{title:`创建账户`,subtitle:`注册新账户`,username:`用户名`,usernamePlaceholder:`请选择用户名`,email:`电子邮箱`,emailPlaceholder:`your@email.com`,password:`密码`,passwordPlaceholder:`请选择密码`,confirmPassword:`确认密码`,confirmPasswordPlaceholder:`请再次输入密码`,createAccount:`创建账户`,creatingAccount:`创建账户中...`,hasAccount:`已有账户?`,signInHere:`点击登录`,signupSuccess:`账户创建成功!`,approvalPending:`已收到注册申请。需要管理员批准您的账户。`,awaitingApproval:`等待批准`,awaitingApprovalDescription:`您的账户已创建,但需要管理员激活后才能登录。`,backToSignIn:`返回登录`,signupFailed:`注册失败`,tryAgain:`注册失败,请重试。`,usernameRequired:`用户名和密码为必填项`,passwordMismatch:`两次输入的密码不一致`,passwordTooShort:`密码长度至少为6个字符`},logout:{button:`退出登录`,success:`已成功退出登录`},oauth:{continueWith:`使用 {{provider}} 继续`,connectingTo:`正在连接 {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`正在检查认证...`,welcome:`欢迎`,noEmail:`未提供邮箱`,role:`角色`,id:`ID`,userId:`用户 ID`,signInDescription:`使用 GitHub 账户登录以继续`,signInWithGitHub:`使用 GitHub 登录`,jwtActive:`JWT 认证已激活`,jwtDescription:`基于 JWT 的 GitHub OAuth 认证`,github:`GitHub`,provider:`提供商`,tagline:`你的 AI 技术栈应由你掌控。`,selfHosted:`自托管 · Apache 2.0`,highlights:{local:{title:`本地优先`,body:`你的对话和文件保留在你运行此程序的机器上。`},providers:{title:`任意提供商`,body:`通过 Ollama 使用本地模型,以及你选择添加的远程提供商。`},work:{title:`隔离工作区`,body:`为模型提供一个包含文件、终端和预览的沙盒工作区。`}},oidc:{defaultProviderName:`单点登录`}},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:`创建管理员账户失败`,approvalUnexpected:`无法激活初始管理员。请重试。`,fillAllFields:`请填写所有字段`,note:`这将是您 Libre WebUI 实例的主管理员账户`},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:`停止聆听`,transcriptionSource:`语音识别来源`,browserSpeech:`浏览器语音识别服务`,providerTranscriptionDisclosure:`录制音频并发送至 {{provider}} 进行转写`,webSearchOn:`网页搜索已开启 — 回复将使用实时结果`,webSearchOff:`为这条消息搜索网页`,thinkingOn:`思考已开启 ({{level}})`,thinkingOff:`回答前先思考`},session:{new:`新对话`,work:`工作`,chat:`对话`,private:`私密`,incognito:`隐身聊天`,privateMode:`私密模式`,privateDescription:`此对话不会被保存`,privateTooltip:`开始一个不会被保存的私密对话`,deleteConfirm:`确定要删除此对话吗?`,generatingTitle:`正在生成标题`,noChats:`暂无对话`,createFirst:`在上方创建您的第一个对话`,chats:`对话`,renameChat:`重命名对话`,openNewTab:`在新标签页中打开`,pinChat:`固定`,unpinChat:`取消固定`,deleteChat:`删除对话`,archiveChat:`归档聊天`,groups:{pinned:`已固定`,today:`今天`,yesterday:`昨天`,previous7Days:`过去 7 天`,previous30Days:`过去 30 天`,older:`更早`},folder:{new:`新建文件夹`,namePlaceholder:`文件夹名称`,move:`移动到文件夹`,remove:`从文件夹中移除`,delete:`删除文件夹`,deleteConfirm:`删除此文件夹?其中的聊天会保留。`}},persona:{applied:`已应用角色`,label:`角色`,loadFailed:`无法加载角色详细信息`,removeFailed:`移除角色失败`},model:{updated:`模型已更新`,noModels:`没有可用的模型`,noModelsDescription:`没有可用的模型。请确保 Ollama 正在运行并已安装模型。`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`没有可用的模型。请确保 Ollama 正在运行并已安装模型。`,selectBeforePrivateChat:`开始私密聊天前请选择一个可用的模型`,selectBeforeSending:`发送前请选择一个可用的模型`},footer:{disclaimer:`大语言模型可能会犯错——请核实重要信息`,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:`上下文限制为 {{context}}(模型训练长度为 {{trained}}),以确保仍能加载。`,saved:`聊天控制已保存`,saveFailed:`无法保存聊天控制`,params:{temperature:`温度`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`最大 Token 数`,repeatPenalty:`重复惩罚`,seed:`种子`,contextLength:`上下文长度`},thinking:`思考`,thinkingDescription:`模型回答前思考的程度。不具备推理能力的模型会忽略此设置。`},message:{sources:`来源`},toasts:{chatCreated:`已创建新聊天`,createFailed:`创建会话失败`,loadFailed:`加载会话失败`,chatDeleted:`聊天已删除`,deleteFailed:`删除聊天失败`,deleteSessionFailed:`删除会话失败`,historyCleared:`所有聊天记录已清除`,historyClearFailed:`清除聊天记录失败`,titleUpdated:`聊天标题已更新`,updateFailed:`更新会话失败`,noValidSession:`没有有效的聊天会话。请创建或选择一个聊天。`,sessionNotFound:`未找到会话或会话无效。请选择或创建一个有效的聊天会话。`,noModelProvider:`没有可用的模型提供商`,modelUnavailable:`所选模型“{{model}}”在 {{provider}} 中不可用。请重新激活该提供商或选择其他模型。`,modelSwitched:`已切换到 {{model}}(之前的模型不再可用)`,modelsLoadFailed:`加载模型失败`,modelUpdated:`当前聊天的模型已更新`,modelUpdateFailed:`更新会话模型失败`},documents:{title:`上下文中的文档`},context:{title:`上下文窗口:`,full:`已用 {{percent}}%`,tokensUsed:`已用 {{used}} / {{budget}} 个 token`,tokensUsedNoBudget:`已用 {{used}} 个 token`,capped:`已从 {{trained}} 限制`}},sidebar:{navigation:{chat:`对话`,models:`模型`,personas:`角色`,imagine:`创意`,agents:`智能体`,work:`工作`,settings:`设置`,usageAnalytics:`提供商使用情况`,system:`系统`,userManagement:`用户管理`,signOut:`退出登录`,exploreLabel:`探索`,notes:`笔记`},toggleSize:`切换侧边栏大小`,expandSidebar:`展开侧边栏`},user:{menu:{changePicture:`更换头像`,settings:`设置`,usageAnalytics:`提供商使用情况`,system:`系统`,userManagement:`用户管理`,logout:`退出登录`},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":"关于","sessions":"登录会话","apiKeys":"API 密钥"},"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":"选择模型","specializedModels":"专用模型","visionModel":"视觉模型","selectVisionModel":"使用当前聊天模型","visionModelDescription":"当发出的聊天上下文包含图像时自动使用。请选择支持图像输入的模型。","visionModelUpdateFailed":"更新视觉模型失败:{{error}}","visionModelNoProvider":"此视觉模型没有提供商标识。请选择一个可用的模型。","persona":"角色","updateAll":"更新所有模型","updateAllDescription":"检查更新并拉取所有已安装模型的最新版本","updateAllButton":"全部更新","updating":"正在更新模型...","currentModelInfo":"当前模型信息","name":"名称","size":"大小","family":"系列","format":"格式","status":"状态","statusStarting":"启动中...","statusComplete":"完成","statusError":"错误","bulkOperations":"批量操作","autoTitle":{"title":"自动生成标题","enable":"启用自动标题","enableDescription":"自动为新对话生成标题","taskModel":"任务模型","selectTaskModel":"选择任务模型","taskModelDescription":"用于生成对话标题的模型"},"updatingModel":"正在更新 {{name}} ({{current}}/{{total}})","modelsProgress":"{{total}} 个模型中的第 {{current}} 个"},"systemMessage":{"title":"系统消息","description":"设置将用于所有新对话的自定义系统消息。","placeholder":"输入系统消息...","saved":"系统消息已保存","saveFailed":"保存系统消息失败"},"plugins":{"title":"插件","description":"管理已安装的插件","providerConnections":"提供商连接","providerConnectionsDescription":"通过插件连接、配置和检查模型提供商。","providers":"提供商","searchProviders":"搜索提供商","noProvidersFound":"没有找到匹配的提供商。","selectProvider":"选择提供商","selectProviderDescription":"选择一个提供商以检查其连接和模型目录。","addNew":"添加新插件","upload":"上传插件","addJson":"添加 JSON","uploading":"上传中...","jsonPlaceholder":"粘贴插件 JSON 配置...","install":"安装插件","noPlugins":"未安装插件","noPluginsDescription":"添加插件以扩展功能","loading":"加载插件中...","installed":"已安装插件","active":"已激活插件","activeLabel":"已激活","inactive":"未激活","activate":"激活","deactivate":"停用","models":"模型","apiKeySet":"API 密钥已设置","apiKeyConfiguration":"API 密钥配置","apiKeyDescription":"为 {{name}} 存储个人 API 密钥。","apiKeyEnvAlternative":"或者设置","environmentVariable":"环境变量","apiKeyConfigured":"API 密钥已配置","apiKeyPlaceholder":"输入您的 API 密钥...","saveApiKey":"保存 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":"删除插件","apiKey":{"title":"API 密钥","placeholder":"输入 API 密钥","save":"保存密钥","remove":"移除密钥","configured":"API 密钥已配置","notConfigured":"需要 API 密钥","saved":"API 密钥保存成功","removed":"API 密钥已移除","saveFailed":"保存 API 密钥失败","removeFailed":"移除 API 密钥失败","enterKey":"请输入 API 密钥"},"variables":"Variables"},"generation":{"title":"生成选项","description":"配置 AI 如何生成响应","scopeLabel":"应用于","scopeAll":"所有模型","scopeModel":"仅 {{model}}","scopeAllHint":"除非模型有自己的设置,否则所有模型都使用这些值。","scopeModelHint":"仅为该模型保存,并优先于上面的通用值。","advancedSettings":"高级生成设置","advancedSettingsDescription":"采样、Token 限制、上下文、惩罚和停止序列","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":"启用文档嵌入","thinking":"思考","thinkingDescription":"回复的默认思考强度。每个对话都可以单独覆盖。","thinkingLevels":{"default":"模型默认","off":"关闭","on":"开启","low":"低","medium":"中","high":"高"}},"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":"删除此集合?其中的文档会保留。","createFailed":"无法创建集合","deleteFailed":"无法删除集合","assignFailed":"无法移动文档"},"library":{"title":"已上传的文档","description":"可用作聊天上下文的文档。在聊天中上传的文档只属于该对话;不属于任何聊天和集合的文档会加入每个对话。","empty":"尚未上传任何文档。","chatScope":"单个聊天","everyChatScope":"所有聊天","deleteConfirm":"删除“{{name}}”?它将从所有聊天中消失。","deleteFailed":"无法删除文档"}},"tts":{"title":"语音合成","description":"配置语音合成设置以朗读消息","loadingProviders":"加载 TTS 提供商中...","noProviders":"无 TTS 提供商","noProvidersDescription":"配置支持 TTS 的插件以启用语音合成","enable":"启用 TTS","enableDescription":"允许对助手消息进行语音合成","autoPlay":"自动播放响应","autoPlayDescription":"自动朗读新的助手消息","streamSentences":"自然分批播放","streamSentencesDescription":"提前生成多个按短语划分的批次,并将其作为一个连贯的回复播放。","voiceConfiguration":"语音配置","model":"TTS 模型","modelDescription":"选择用于语音合成的模型","voice":"声音","selectVoice":"选择声音","voiceDescription":"选择语音合成的声音","providerDefaultVoice":"生成语音时,如果未提供参考录音,此模型将使用默认声音。","voiceCloningAvailable":"可使用声音克隆","voiceCloningAvailableDescription":"在“想象 → 音频”中,使用已获许可的参考录音及其准确文字稿生成语音。你也可以将参考资料保存为可重复使用的声音。","savedVoiceOption":"{{name}}(已保存声音)","savedVoices":"已保存声音","loadingSavedVoices":"正在加载已保存声音…","deleteSavedVoice":"删除已保存声音 {{name}}","deleteSavedVoiceConfirm":"要删除已保存声音“{{name}}”吗?其参考录音和文字稿将被移除。","savedVoiceDeleted":"已删除保存的声音","savedVoicePreferenceCleanupFailed":"已删除保存的声音,但无法重置语音设置","savedVoiceDeleteFailed":"无法删除保存的声音","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":"下载包含偏好设置、聊天文件夹、会话和消息、笔记、知识集合及提取的文档文本的便携归档。","archiveScopeV3":"包含偏好设置、聊天、文件夹、笔记、知识集合及提取的文档文本。不包含账户和机密、生物特征克隆语音、生成的媒体、角色和记忆,以及 Work 数据或卷。","exportAll":"导出所有数据","import":"导入数据","importDescription":"从之前的导出导入数据。","importData":"导入数据","importing":"导入中...","clearSessions":"清除会话","clearSessionsDescription":"删除所有聊天会话。此操作无法撤销。","clearAll":"全部清除","clearing":"清除中...","importOptions":"导入选项","importOptionsDescription":"选择如何处理现有数据","validatingArchive":"正在验证归档并计算更改…","archiveValidationFailed":"归档验证失败","preflightReport":"导入预览","preflightIncoming":"{{folders}} 个文件夹 · {{sessions}} 个聊天 · {{messages}} 条消息 · {{notes}} 条笔记 · {{collections}} 个集合 · {{documents}} 个文档 · {{chunks}} 个文本块","preflightRemappedIds":"将重新映射 {{count}} 个 ID 以保护其他账户的数据。","skipDuplicates":"跳过重复项","overwrite":"覆盖现有项","importResults":"导入结果","preferences":"偏好设置","imported":"已导入","failed":"失败","sessions":"会话","sessionFolders":"会话文件夹","notes":"笔记","knowledgeCollections":"知识集合","importedLabel":"已导入","overwrittenLabel":"已覆盖","skipped":"已跳过","toCreate":"待创建","toOverwrite":"待覆盖","toSkip":"待跳过","documents":"文档","warnings":"警告","refreshAfterImportFailed":"数据已导入,但部分视图无法刷新。请重新加载 Libre WebUI 以查看所有更改。","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":"访问我们的网站","documentation":"文档","reportIssue":"报告问题","reportIssueDescription":"错误报告和功能请求","documentationDescription":"指南、教程和API参考","forgejo":"Forgejo镜像","forgejoDescription":"自托管Forgejo仓库","sponsor":"赞助","sponsorDescription":"帮助资助本项目"},"version":"版本 {{version}}"},"groups":{"general":"通用","chat":"聊天","media":"语音与图像","connections":"连接"},"search":{"title":"网页搜索","description":"通过自托管的 SearXNG 实例搜索网页。启用后,聊天输入框会显示搜索开关,具有网络访问权限的 Work 任务也可以搜索。","enableLabel":"启用网页搜索","enableDescription":"为聊天和 Work 任务提供网页搜索。搜索在服务器端通过配置的实例执行。","urlLabel":"SearXNG 地址","urlDescription":"服务器可访问的 SearXNG 实例基础 URL。随附的私有部署栈提供 http://searxng:8080。","maxResultsLabel":"每次搜索结果数","maxResultsDescription":"每次回复或工具调用使用多少条结果,1-10。","maxResultsInvalid":"每次搜索结果数必须在 1 到 10 之间。","safeSearchLabel":"安全搜索","safeSearchDescription":"要求搜索引擎过滤露骨内容。","test":"测试连接","testing":"正在测试…","testOk":"搜索正常 — 返回 {{results}} 条结果","testFailed":"搜索测试失败","save":"保存","saved":"搜索设置已保存","saveFailed":"无法保存搜索设置"},"compaction":{"title":"上下文压缩","description":"当对话超过令牌阈值时,服务器会总结较早的消息,只逐字保留最近的消息。对本服务器上的所有用户生效。","thresholdLabel":"令牌阈值","thresholdDescription":"估算的上下文令牌数超过该值时总结较早的历史记录,500-1,000,000。","thresholdInvalid":"令牌阈值必须介于 500 和 1,000,000 之间。","keepRecentLabel":"保留的最近消息","keepRecentDescription":"始终逐字保留多少条最新消息,2-200。","keepRecentInvalid":"保留的最近消息数必须介于 2 和 200 之间。","modelLabel":"压缩模型","modelDescription":"撰写摘要的模型。未选择时使用对话自身的模型。","sessionModelOption":"使用对话的模型","promptLabel":"自定义摘要提示词","promptPlaceholder":"留空则使用内置提示词","promptDescription":"模板变量 {{previousSummaryVariable}} 和 {{messagesVariable}} 会被替换为上一次的摘要和正在总结的消息。","saved":"已保存压缩设置","saveFailed":"无法保存压缩设置"},"sessions":{"title":"登录会话","description":"此账户已登录的所有位置。退出某个会话会立即生效;重新登录即可恢复访问。","signOutOthers":"退出其他会话","signingOutOthers":"正在退出…","signOut":"退出","signingOut":"正在退出…","revoked":"会话已退出。","revokeFailed":"无法退出该会话。","othersRevoked":"已退出的其他会话:{{count}}","loadFailed":"无法加载会话。","empty":"未找到会话。","current":"当前会话","revokedBadge":"已退出","unknownDevice":"未知设备","createdAt":"登录时间","lastSeenAt":"最近活动","expiresAt":"过期时间"},"apiKeys":{"title":"API 密钥","description":"供脚本和集成使用的受限 Token。每个密钥仅能访问您选择的权限范围。","newKeyTitle":"您的新 API 密钥","copy":"复制","copied":"已复制到剪贴板。","copyFailed":"复制失败。","showOnceWarning":"请立即复制,之后将不再显示。","dismiss":"完成","createTitle":"创建密钥","nameLabel":"名称","namePlaceholder":"例如:CI 流水线","nameRequired":"请为密钥命名。","expiryLabel":"有效期(天,可选)","expiryPlaceholder":"永不","expiryInvalid":"有效期必须是整数天数。","scopesLabel":"权限范围","scopesRequired":"请至少选择一个权限范围。","create":"创建密钥","creating":"正在创建…","created":"API 密钥已创建。","createFailed":"无法创建 API 密钥。","revoke":"吊销","revoking":"正在吊销…","revoked":"API 密钥已吊销。","revokeFailed":"无法吊销 API 密钥。","revokedBadge":"已吊销","loadFailed":"无法加载 API 密钥。","empty":"还没有 API 密钥。","createdAt":"创建时间","lastUsedAt":"最近使用","expiresAt":"过期时间","neverExpires":"永不"}}`),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:`显存`},sections:{pull:`拉取新模型`,library:`浏览模型库`,huggingface:`HuggingFace Hub`,running:`运行中的模型`,local:`本地模型`,advanced:`高级操作`,catalog:`模型目录`},catalog:{searchPlaceholder:`按名称或提供方搜索模型...`,noModels:`暂无可用模型。`,empty:`没有模型符合您的搜索。`,providerOllama:`Ollama`,hidden:`已隐藏`,visibilityFailed:`无法更新模型的可见性。`,filterAll:`全部模型`,filterLocal:`本地`,filterProviders:`提供方`,filterHidden:`已隐藏`,enableAll:`启用当前显示`,disableAll:`停用当前显示`,rename:`编辑名称和图片`,setPicture:`设置图片`,clearPicture:`移除图片`,pictureInvalid:`请选择图片文件。`,pictureTooLarge:`图片必须小于 192 KB。`,saving:`正在保存…`,hide:`对用户隐藏`,show:`对用户显示`},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:`刷新模型库`},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:`最近更新`}},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:`请选择模型并输入文本`}}},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:`您无法删除自己的账户`,approval:{title:`待审批`,description:`在允许新注册用户进入此实例之前进行审核。`,registered:`已注册`,activate:`激活账户`,reject:`拒绝注册`,approved:`{{name}} 现在可以登录了。`,failed:`无法批准该账户。`,notification:`{{count}} 个注册正在等待您的批准。`,notificationBadge:`{{count}} 个待处理的用户批准`},form:{title:{create:`创建用户`,edit:`编辑用户`},username:`用户名`,usernamePlaceholder:`输入用户名`,email:`邮箱`,emailPlaceholder:`输入邮箱(可选)`,password:`密码`,passwordPlaceholder:`输入密码`,passwordHint:`留空以保持当前密码`,role:`角色`,creating:`创建中...`,updating:`更新中...`,createButton:`创建用户`,updateButton:`更新用户`,createSuccess:`用户创建成功`,updateSuccess:`用户更新成功`,createFailed:`创建用户失败`,updateFailed:`更新用户失败`},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 固定。`},groups:{title:`用户组`,description:`将账户编入用户组以管理共享访问权限,并查看任意账户实际拥有的权限。`,newGroup:`新建用户组`,nameLabel:`名称`,nameRequired:`请为用户组命名。`,descriptionLabel:`描述(可选)`,create:`创建用户组`,creating:`正在创建…`,created:`用户组已创建。`,createFailed:`无法创建用户组。`,deleted:`用户组已删除。`,deleteFailed:`无法删除用户组。`,deleteGroup:`删除用户组`,loadFailed:`无法加载用户组。`,empty:`还没有用户组。`,memberCount:`成员:{{count}}`,noMembers:`还没有成员。`,addedAt:`添加时间`,addMember:`添加成员`,add:`添加`,selectUser:`选择用户…`,memberAdded:`成员已添加。`,memberAddFailed:`无法添加成员。`,removeMember:`移除成员`,memberRemoved:`成员已移除。`,memberRemoveFailed:`无法移除成员。`,effectiveTitle:`有效权限`,effectiveDescription:`选择一个账户,查看它通过角色、用户组和授权最终获得的访问权限。`,accessLookupFailed:`无法加载有效权限。`,roleLabel:`角色`,statusLabel:`状态`,memberOf:`所属用户组`,featuresLabel:`功能权限`,grantsLabel:`授权`,grantVia:`来自`},audit:{title:`安全审计日志`,description:`此实例上最近的登录、权限检查和管理操作记录。`,actionFilter:`操作`,actionPlaceholder:`例如:auth.login`,resultFilter:`结果`,resultSuccess:`成功`,resultDenied:`已拒绝`,resultFailure:`失败`,limitFilter:`数量上限`,loadFailed:`无法加载审计日志。`,empty:`尚未记录任何审计事件。`,actor:`操作者`,target:`目标`}},usageAnalytics:{eyebrow:`管理`,title:`提供商使用情况`,description:`跟踪此实例上已启用插件的出站 API 调用和模型消耗。`,days:`{{count}} 天`,refresh:`刷新使用情况`,loadFailed:`无法加载提供商使用情况。`,metrics:{calls:`调用`,tokens:`Token`},cards:{calls:`API 调用`,callsDetail:`跨 {{count}} 个活跃用户`,tokens:`报告的 Token`,tokensDetail:`在 {{count}} 次调用中报告的使用情况`,success:`成功率`,successDetail:`{{count}} 次失败调用`,latency:`平均延迟`,latencyDetail:`端到端提供商耗时`},activity:{title:`随时间变化的消耗`,callsDescription:`每日对已启用插件的出站请求`,tokensDescription:`提供商报告的每日 token 总量`,chartLabel:`每日提供商 {{metric}} 图表`},models:{title:`模型消耗`,description:`此期间承载最多流量的模型。`,model:`模型`,success:`成功`,latency:`延迟`},providers:{title:`已启用插件的流量`},capabilities:{title:`能力组合`,characters:`{{count}} 个字符`,bytes:`{{count}} 字节`,images:`{{count}} 张图片`,jobs:`{{count}} 个视频任务`,inputs:`{{count}} 个输入`,reportedTokens:`{{count}} 个已报告 token`},empty:{title:`暂无提供商调用`,description:`当已启用的插件处理聊天、工作、嵌入、图像、语音、声音或视频请求后,调用将显示在此处。`},privacyNote:`使用量在服务器的出站插件边界处进行计量。Libre WebUI 存储提供商、模型、计时、状态和已报告的计数器——绝不存储提示词、响应、端点、凭据或提供商错误正文。Token 总量仅包含提供商返回使用元数据的调用。`,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:`{{used}} / {{total}}`,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:`已用 {{used}} / 共 {{total}}`,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 标签、挂载点、容器命令或 inspect 负载。当 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 任务。`}},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}} 个字符`},mediaGeneration:{title:`生成媒体`,description:`使用已激活的媒体提供商创建视频、声音、音乐或语音。`,image:`图像`,video:`视频`,audio:`音频`,sound:`声音`,speech:`语音`,model:`模型`,voice:`语音或语音 ID`,cloneVoice:`克隆参考声音`,cloneVoiceDescription:`根据参考录音而不是预设声音生成此语音。`,referenceAudio:`参考音频`,referenceTranscript:`准确的参考文字稿`,referenceTranscriptPlaceholder:`请准确输入参考录音中说出的内容…`,referenceAudioTooLarge:`参考音频不得大于 {{max}}。`,cloneConsent:`仅在获得说话者许可后克隆其声音。该录音会发送给所选提供商以完成本次生成,Libre WebUI 不会保存录音。`,saveVoiceProfile:`保存为可重复使用的声音`,saveVoiceProfileDescription:`安全存储此参考录音及其文字稿。每当语音批次使用此声音时,Libre WebUI 都会将两者发送给所选提供商。`,voiceProfileName:`已保存声音名称`,voiceProfileNamePlaceholder:`例如:我的声音`,voiceStorageConsent:`我确认已获得说话者许可,可以克隆和存储此声音。参考资料会一直保存,直到我将其删除。`,resolution:`分辨率`,aspectRatio:`宽高比`,duration:`时长`,providerDefault:`提供商默认`,generateAudio:`在支持时随视频生成音频`,prompt:`提示词`,text:`要朗读的文本`,videoPlaceholder:`描述场景、动作、镜头和光线...`,audioPlaceholder:`输入您想让语音朗读的文本...`,soundPlaceholder:`描述您想要的声音、音乐、氛围或语音响应...`,generate:`生成`,generating:`正在生成…这可能需要几分钟`,success:`媒体已生成并保存到 Imagine`,successWithSavedVoice:`媒体已生成,“{{name}}”现已可在语音设置中使用`,failed:`生成媒体失败`,loadFailed:`加载媒体提供商失败`,noModels:`没有可用的 {{kind}} 模型。请先激活兼容的提供商并保存其凭据。`},mediaGallery:{itemCount:`{{count}} 项`,empty:`暂无生成的媒体`,emptyHint:`生成图像、视频或语音片段后,将显示在此处。`,filters:{all:`全部`,image:`图像`,video:`视频`,audio:`音频`}},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:`停止朗读`,preparingSpeech:`正在准备语音...`,generatingSpeech:`生成语音中...`,bufferingSpeech:`正在缓冲语音...`,enableAudio:`启用音频并朗读`,enableAudioShort:`启用音频`,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:`ID`,endpoint:`端点`,activate:`激活`,deactivate:`停用`,activePlugin:`活跃插件`,activePluginDescription:`所有聊天请求将通过此插件路由`,variables:{title:`变量`,save:`保存`,saving:`保存中...`,saved:`变量已保存`,saveFailed:`保存变量失败`,resetDefaults:`重置为默认值`,reset:`变量已重置`,resetFailed:`重置变量失败`,sensitiveSet:`值已设置(输入新值以更改)`,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`},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:{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:`正在沙箱中打开 Shell…`,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。push、pull 和拉取请求需要单独的可信凭据代理。`,newBranch:`新建本地分支`,noCommits:`还没有提交。`,noDiff:`暂无文本差异。未跟踪的文件会在暂存后显示。`,notInitialized:`Git 未初始化`,selectChange:`选择已更改的文件以查看其差异。`,selectPath:`选择 {{path}}`,stageAll:`全部暂存`,stageSelected:`暂存 {{count}} 个`,staged:`更改已暂存。`,switchBranch:`切换本地分支`,changes:`更改`,createBranch:`创建`,filterFiles:`筛选已更改的文件`,noFilterMatches:`没有与此筛选条件匹配的已更改文件。`,allChanges:`全部更改`,diffTruncated:`此差异已被截断。`,binaryFile:`二进制文件,无文本差异。`},hostWorkspace:{hint:`留空以使用隔离工作区,或将任务指向本机的一个文件夹。`,label:`工作区文件夹(可选)`,warning:`任务可以直接读写此文件夹。留空则使用隔离工作区。`}},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:`智能体`},whatsNew:{title:`新功能`,releaseNotes:`版本说明`,cta:`好的,开始吧`},notes:{title:`笔记`,new:`新建笔记`,untitled:`无标题`,empty:`还没有笔记`,selectOrCreate:`选择一条笔记或新建一条`,contentPlaceholder:`用 Markdown 书写…`,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};
|