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
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={common:{loading:`Завантаження...`,save:`Зберегти`,saving:`Збереження...`,cancel:`Скасувати`,delete:`Видалити`,edit:`Редагувати`,close:`Закрити`,back:`Назад`,next:`Далі`,confirm:`Підтвердити`,error:`Помилка`,success:`Успіх`,warning:`Попередження`,or:`або`,optional:`необов'язково`,enabled:`Увімкнено`,disabled:`Вимкнено`,on:`Увімк.`,off:`Вимк.`,yes:`Так`,no:`Ні`,search:`Пошук`,noResults:`Результатів не знайдено`,retry:`Повторити`,refresh:`Оновити`,download:`Завантажити`,upload:`Вивантажити`,export:`Експорт`,import:`Імпорт`,reset:`Скинути`,apply:`Застосувати`,clear:`Очистити`,all:`Усі`,none:`Жодного`,default:`За замовчуванням`,custom:`Власний`,remove:`Видалити`,home:`Головна`,more:`Більше`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`З поверненням`,subtitle:`Увійдіть до свого облікового запису, щоб продовжити`,username:`Ім'я користувача`,usernamePlaceholder:`Введіть ім'я користувача`,password:`Пароль`,passwordPlaceholder:`Введіть пароль`,signIn:`Увійти`,signingIn:`Вхід...`,noAccount:`Немає облікового запису?`,signUpHere:`Зареєструйтеся тут`,loginSuccess:`Вхід успішний!`,loginFailed:`Помилка входу`,checkCredentials:`Помилка входу. Перевірте свої облікові дані.`,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":"Скільки модель міркує перед відповіддю. Моделі без міркування це ігнорують.","compaction":"Стиснення контексту","compactionDescription":"Коли сервер ущільнює довгі розмови, цей чат може відмовитися й зберегти повну історію.","compactionDefault":"Типове налаштування сервера","compactionOff":"Вимкнено для цього чату"},"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:`Нотатки`,calendar:`Календар`,automations:`Автоматизації`},toggleSize:`Змінити розмір бічної панелі`,expandSidebar:`Розгорнути бічну панель`},user:{menu:{changePicture:`Змінити зображення`,settings:`Налаштування`,usageAnalytics:`Використання провайдерів`,system:`Система`,userManagement:`Керування користувачами`,logout:`Вийти`,pinShortcut:`Закріпити на бічній панелі`,unpinShortcut:`Відкріпити від бічної панелі`},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":"Типове для моделі","defaultWith":"Типове для моделі ({{level}})","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":"Допоможіть фінансувати проєкт","star":"Зірка на GitHub","starDescription":"Зірка допомагає іншим знайти проєкт"},"version":"Версія {{version}}","updates":{"checking":"Перевірка оновлень…","upToDate":"У вас остання версія","updateAvailable":"Доступна версія {{version}}","ahead":"Ви випереджаєте останній реліз ({{version}})","checkFailed":"Не вдалося перевірити оновлення","viewChangelog":"Переглянути список змін"}},"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-100.","maxResultsInvalid":"Кількість результатів має бути від 1 до 100.","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":"Не вдалося зберегти налаштування стиснення","loadFailed":"Не вдалося завантажити налаштування стиснення"},"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:`Система`,conversationSummary:`Підсумок розмови`,restoreCompacted:`Відновити підсумовані повідомлення`,restoreFailed:`Не вдалося відновити підсумовані повідомлення`,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:`Гаразд, поїхали`,starAsk:`Подобається Libre WebUI? Поставте зірку на GitHub`},notes:{title:`Нотатки`,new:`Нова нотатка`,untitled:`Без назви`,empty:`Нотаток поки немає`,selectOrCreate:`Виберіть нотатку або створіть нову`,contentPlaceholder:`Пишіть у Markdown…`,saved:`Збережено`,saveFailed:`Не вдалося зберегти нотатку`,createFailed:`Не вдалося створити нотатку`,deleteConfirm:`Видалити цю нотатку?`,deleteFailed:`Не вдалося видалити нотатку`},calendar:{title:`Календар`,today:`Сьогодні`,month:`Місяць`,week:`Тиждень`,previous:`Назад`,next:`Далі`,newEvent:`Нова подія`,editEvent:`Редагувати подію`,eventTitle:`Назва`,titlePlaceholder:`Назва події`,date:`Дата`,start:`Початок`,end:`Кінець`,allDay:`Увесь день`,repeat:`Повторювати`,repeatNone:`Не повторюється`,repeatDaily:`Щодня`,repeatWeekly:`Щотижня`,repeatMonthly:`Щомісяця`,repeatYearly:`Щороку`,notes:`Нотатки`,more:`ще {{n}}`,loadFailed:`Не вдалося завантажити календар`,saveFailed:`Не вдалося зберегти подію`,deleteFailed:`Не вдалося видалити подію`},automations:{title:`Автоматизації`,tab:{automations:`Автоматизації`,runs:`Запуски`},newAutomation:`Нова автоматизація`,editAutomation:`Редагувати автоматизацію`,empty:`Поки що немає автоматизацій. Створіть одну, щоб виконувати завдання за розкладом.`,loadFailed:`Не вдалося завантажити автоматизації`,saveFailed:`Не вдалося зберегти автоматизацію`,actionFailed:`Дія не виконана`,runQueued:`Запуск розпочато`,status:{active:`Активна`,paused:`Призупинена`},nextRun:`Наступний запуск {{when}}`,actions:`Дії`,pause:`Призупинити`,resume:`Відновити`,runNow:`Запустити зараз`,openChat:`Відкрити чат`,noRuns:`Поки що немає запусків`,deletedAutomation:`Видалена автоматизація`,runHistory:`Історія запусків (останні 30 днів)`,succeeded:`успішних`,failed:`невдалих`,form:{name:`Назва`,namePlaceholder:`Моя автоматизація`,triggers:`Тригери`,addTrigger:`Додати тригер`,instructions:`Інструкції`,instructionsPlaceholder:`Що виконувати за цим розкладом?`,model:`Модель`,modelAuto:`Авто`,notification:`Сповіщення`,notifyApp:`Застосунок`,notifyOff:`Вимкнено`,frequency:`Частота`,time:`Час`,minute:`Хвилина`,fromHour:`Від`,toHour:`До`,weekday:`День тижня`,dayOfMonth:`День`,month:`Місяць`},kind:{once:`Одноразово`,hourly:`Щогодини`,daily:`Щодня`,weekly:`Щотижня`,monthly:`Щомісяця`,yearly:`Щороку`},trigger:{once:`Одноразово {{when}}`,hourly:`Щогодини о :{{minute}}`,daily:`Щодня о {{time}}`,weekly:`Щотижня у {{day}} о {{time}}`,monthly:`Щомісяця {{day}}-го числа о {{time}}`,yearly:`Щороку {{date}} о {{time}}`},finishedNotification:`Завершено запусків автоматизації: {{n}}`,templatesTitle:`Шаблони`,templates:{morningBrief:{name:`Ранковий огляд`,description:`Почніть день із заголовків і пріоритетів.`},newsDigest:{name:`Дайджест новин ШІ`,description:`Важливі релізи моделей, дослідження та інвестиції.`},weeklyReview:{name:`Підсумки тижня`,description:`Завершіть тиждень: успіхи, незавершене, наступні пріоритети.`},monthlyReport:{name:`Щомісячний звіт`,description:`План звіту про стан першого числа кожного місяця.`}}},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};
|