diff --git a/addon/doc/uk/readme.md b/addon/doc/uk/readme.md
index 1065aef..d2fc117 100644
--- a/addon/doc/uk/readme.md
+++ b/addon/doc/uk/readme.md
@@ -1,183 +1,253 @@
-Якщо вам потрібен окремий настільний застосунок із додатковими сценаріями роботи, перегляньте [BasiliskLLM](https://github.com/SigmaNight/basiliskLLM/) (окремий застосунок і мінімальний додаток для NVDA). AI-Hub залишається повнофункціональним рішенням усередині NVDA.
+Якщо вам потрібна повноцінна версія для ПК з додатковими робочими процесами, ознайомтеся з [BasiliskLLM](https://github.com/SigmaNight/basiliskLLM/) (автономний додаток та мінімальний модуль для NVDA). AI-Hub залишається повнофункціональним варіантом для використання в NVDA.
# AI-Hub
-**AI-Hub** — це додаток для NVDA, який підключає екранний читач до кількох API великих мовних моделей (LLM). Його можна використовувати для написання текстів, узагальнення, допомоги з перекладом, аналізу зображень (зображення та скриншоти), голосових запитань, транскрипції та додаткових діалогів інструментів (TTS, OCR тощо) — не виходячи з NVDA.
-
-**Назва пакета** додатка в NVDA досі `openai` (для сумісності з наявними встановленнями). **Відображувана назва** в меню та налаштуваннях — **AI-Hub**.
-
-## Можливості з першого погляду
-
-- **Чат** в окремому головному діалозі з історією, системним запитом і вибором моделі/акаунта.
-- **Зображення та документи** як вкладення з файлів; **URL** віддалених файлів із перевіркою типів відповідно до **вибраного провайдера**.
-- **Розумна вставка** в полі запиту: вставлення файлів із буфера обміну, шляхів із тексту або одного URL (також доступно з контекстного меню поля запиту). `Ctrl+V` використовує ту саму логіку, коли поле запиту у фокусі.
-- **Збереження розмов та історія** з можливістю перейменувати, видалити й знову відкрити.
-- **Поставити запитання** звідусіль (без жесту за замовчуванням): призначте жест у **Жести вводу -> AI-Hub**, щоб записати, надіслати та прослухати або прочитати відповідь.
-- **Глобальний опис**: скриншот (`NVDA+E`) або область об'єкта навігатора (`NVDA+O`) надсилаються в чат-сесію.
-- Підменю **Tools** (у NVDA -> AI-Hub): утиліти для окремих провайдерів, як-от TTS, OCR, speech-to-text, аудіо Lyria та керування моделями Ollama.
-- Параметри **Reasoning / Web search** відображаються лише тоді, коли **поточна модель** їх підтримує (залежить від провайдера).
-
-У цьому додатку **немає** власної перевірки оновлень. **Оновлення** надаються через **офіційний Магазин додатків NVDA**, якщо ви встановили його звідти. Якщо встановлюєте вручну зі [сторінки релізів](https://github.com/aaclause/nvda-OpenAI/releases), встановлюйте нові збірки `.nvda-addon` так само.
-
-## Підтримувані провайдери
-
-Налаштуйте **одного або кількох провайдерів** у NVDA: **Параметри -> Налаштування -> AI-Hub**. Кожен провайдер може містити **кілька іменованих акаунтів** (API-ключі та, за потреби, organization або base URL).
-
-| Провайдер | Роль |
-|----------|------|
-| [OpenAI](https://platform.openai.com/) | GPT і пов'язані моделі; офіційні діалоги інструментів транскрипції та TTS |
-| [DeepSeek](https://www.deepseek.com/) | API DeepSeek (сумісний з OpenAI) |
-| **Custom OpenAI** | Будь-який HTTP API, сумісний з OpenAI (власний base URL + ключ) |
-| **Ollama** | Локальні моделі через endpoint, сумісний з OpenAI; інструмент керування моделями |
-| [Mistral AI](https://mistral.ai/) | Mistral / Pixtral; інструменти Voxtral TTS, OCR та speech-to-text |
-| [OpenRouter](https://openrouter.ai/) | Багато сторонніх моделей за одним ключем |
-| [Anthropic](https://www.anthropic.com/) | Claude |
-| [xAI](https://x.ai/) | Grok |
-| [Google](https://ai.google.dev/) | Gemini; інструмент Lyria 3 Pro |
-
-Додаток може підхоплювати API-ключі зі **змінних середовища**, якщо їх задано (наприклад, `OPENAI_API_KEY`, `DEEPSEEK_API_KEY`, `MISTRAL_API_KEY`, `OPENROUTER_API_KEY`, `ANTHROPIC_API_KEY`, `XAI_API_KEY`, `GEMINI_API_KEY` / `GOOGLE_API_KEY` та інші). Інтерфейс налаштувань залишається основним місцем керування акаунтами.
-
-### Бекенди speech-to-text (транскрипції)
-
-Для **транскрипції з мікрофона / файлу** в основному потоці (не окремий інструмент транскрипції OpenAI) можна обрати **whisper_cpp** (локально), **openai** (Whisper API) або **mistral** у розділі **Audio** налаштувань AI-Hub.
+**AI-Hub** — це додаток для NVDA, який підключає ваш екранний зчитувач до декількох API великих мовних моделей (LLM). Використовуйте його для написання текстів, узагальнення, допомоги з перекладом, візуалізації (зображення та знімки екрана), голосових запитань, транскрипції та діалогів додаткових інструментів (TTS, OCR тощо) — не виходячи з NVDA.
+
+**Назва пакета** цього додатка в NVDA залишається `openai` (для сумісності з існуючими інсталяціями). **Назва, що показується** у меню та налаштуваннях, — **AI-Hub**.
+
+## Огляд функцій
+
+- **Чат** у спеціальному головному діалозі з історією, системними підказками та вибором моделі/облікового запису.
+- **Зображення та документи** як вкладення з файлів; **URL-адреси** до віддалених файлів із перевіркою типу, що відповідає **обраному постачальнику**.
+- **Розумна вставка** у полі для введення запиту: вставляйте файли з буфера обміну, шляхи з тексту або одне посилання (також доступно з контекстного меню поля запиту). `Ctrl+V` використовує ту ж логіку, якщо фокус знаходиться на полі запиту.
+- **Збереження та історія розмов** із можливістю перейменування, видалення та повторного відкриття.
+- **Поставити запитання** з будь-якого місця (без початкової клавіші): призначте жест у розділі **Жести вводу → AI-Hub**, щоб записати питання, надіслати його та прослухати або прочитати відповідь.
+- **Глобальний опис**: знімок екрана (`NVDA+E`) або область об’єкта навігатора (`NVDA+O`) з надсиланням в чат.
+- Підменю **Інструменти** (у меню NVDA → AI-Hub): утиліти для конкретних постачальників, такі як TTS, OCR, перетворення мовлення в текст, аудіосервіс Lyria та керування моделями Ollama.
+- Параметри **Міркування / веб-пошук** з’являються лише тоді, коли **поточна модель** їх підтримує (залежить від постачальника).
+
+Цей додаток **не** має власного механізму перевірки оновлень. **Оновлення** здійснюються через **офіційний магазин додатків NVDA**, якщо ви встановлюєте додаток звідти. Якщо ви встановлюєте додаток вручну зі [сторінки випусків](https://github.com/aaclause/nvda-OpenAI/releases), встановлюйте новіші збірки `.nvda-addon` таким самим чином.
+
+## Підтримувані постачальники
+
+Налаштуйте **одного або декількох постачальників** у NVDA в розділі **Параметри → Налаштування → AI-Hub**. Кожен постачальник може мати **кілька іменованих облікових записів** (API-ключі, а також, за необхідності, організацію або базову URL).
+
+
+
+
+ | Постачальник |
+ Роль |
+
+
+
+
+ | OpenAI |
+ Моделі GPT та пов’язані моделі; офіційні діалоги для транскрипції та перетворення тексту в мовлення |
+
+
+ | DeepSeek |
+ DeepSeek API (сумісний з OpenAI) |
+
+
+ | Налаштований OpenAI |
+ Будь-який HTTP-API, сумісний з OpenAI (налаштована базова URL-адреса + ключ) |
+
+
+ | Ollama |
+ Локальні моделі через кінцеву точку, сумісну з OpenAI; інструмент для управління моделями |
+
+
+ | Mistral AI |
+ Mistral / Pixtral; Voxtral: інструменти для синтезу мовлення (TTS), оптичного розпізнавання символів (OCR) та перетворення мовлення в текст |
+
+
+ | OpenRouter |
+ Багато моделей сторонніх виробників під одним ключем |
+
+
+ | Anthropic |
+ Claude |
+
+
+ | xAI |
+ Grok |
+
+
+ | Google |
+ Gemini; інструмент Lyria 3 Pro |
+
+
+
+
+Додаток може отримувати ключі API з **змінних середовища**, якщо вони встановлені (наприклад, `OPENAI_API_KEY`, `DEEPSEEK_API_KEY`, `MISTRAL_API_KEY`, `OPENROUTER_API_KEY`, `ANTHROPIC_API_KEY`, `XAI_API_KEY`, `GEMINI_API_KEY` / `GOOGLE_API_KEY` та інші). Інтерфейс налаштувань залишається основним місцем для керування обліковими записами.
+
+### Сервіси перетворення мовлення в текст (транскрипція)
+
+Для **транскрипції з мікрофона / файлу** у рамках основного робочого процесу (а не за допомогою окремого інструменту транскрипції OpenAI) ви можете вибрати один із варіантів: **whisper_cpp** (локальний), **openai** (API Whisper) або **mistral** у розділі **Запис** налаштувань AI-Hub.
## Встановлення
-1. Відкрийте [сторінку релізів додатка](https://github.com/aaclause/nvda-OpenAI/releases).
-2. Завантажте останній пакет `.nvda-addon`.
+1. Відкрийте [сторінку випусків додатка](https://github.com/aaclause/nvda-OpenAI/releases).
+2. Завантажте найновіший пакет `.nvda-addon`.
+3. Встановіть його з меню NVDA **Інструменти → Магазин додатків** (або відкрийте файл у Провіднику та підтвердьте встановлення).
## Початкове налаштування
-1. Відкрийте **NVDA -> Параметри -> Налаштування**.
+1. Відкрийте **NVDA → Параметри → Налаштування**.
2. Виберіть категорію **AI-Hub**.
-3. У розділі **API Accounts** виберіть **Add account...**.
-4. У діалозі акаунта виберіть провайдера, введіть назву акаунта та заповніть обов'язкові поля (API-ключ для більшості провайдерів; base URL для **Custom OpenAI** та **Ollama**, а Ollama типово використовує локальний http://127.0.0.1:11434/v1, якщо поле порожнє).
-5. Збережіть, а потім за потреби додайте інші акаунти, відредагуйте наявні або видаліть невикористовувані зі списку.
-6. За потреби налаштуйте **Audio**, **Chat feedback**, **Advanced** / температуру та **Auto-save conversation** (увімкнено типово).
+3. У розділі **Облікові записи API** натисніть **Додати обліковий запис...**.
+4. У діалозі облікового запису виберіть постачальника, введіть назву облікового запису та заповніть необхідні поля (API-ключ для більшості постачальників; базову URL-адресу для **Custom OpenAI** та **Ollama**, при цьому для Ollama початково використовується локальна адреса `http://127.0.0.1:11434/v1`, якщо поле порожнє).
+5. Збережіть, потім за бажанням додайте ще облікові записи, відредагуйте наявні або видаліть непотрібні зі списку облікових записів.
+6. За потреби налаштуйте **Звуковий відгук**, **Відповідь у чаті**, **Додатково** / температуру генерації, а також **Автоматичне збереження розмови** (початково увімкнено).
-Поки не налаштовано хоча б один акаунт провайдера, під час відкриття головного діалогу додаток запропонує додати ключі в налаштуваннях AI-Hub.
+Доки хоча б один обліковий запис постачальника не буде налаштовано, при відкритті головного діалогу з’явиться запит на додавання ключів у налаштуваннях AI-Hub.
-## Оновлення зі старих збірок "Open AI"
+## Оновлення зі старіших версій «Open AI»
-Якщо ви користувалися старішою версією цього додатка:
+Якщо ви використовували старішу версію цього додатка:
-- **Налаштування** мігрують зі старого розділу конфігурації **`OpenAI`** до **`AIHub`**. Ваші параметри не повинні загубитися.
-- **Файли даних** (розмови, сховище ключів, вкладення) мігрують із папки **`openai`** у каталозі користувацької конфігурації NVDA до **`aihub`**.
+- **Налаштування** переносяться зі старого розділу конфігурації **`OpenAI`** до **`AIHub`**. Ви не повинні втратити свою конфігурацію.
+- **Файли даних** (розмови, сховище ключів, вкладення) переносяться з папки **`openai`** у вашій директорії користувацької конфігурації NVDA до папки **`aihub`**.
-Переносити файли вручну не потрібно, якщо ви не використовуєте нестандартну конфігурацію.
+Вам не потрібно переміщувати файли вручну, якщо ви не використовуєте спеціальні налаштування.
## Меню NVDA: AI-Hub
-У меню NVDA ви знайдете **AI-Hub** (із встановленою версією в підписі). Серед пунктів:
+У меню NVDA ви знайдете пункт **AI-Hub** (з зазначенням встановленої версії у назві). Доступні опції:
-- **Documentation** — відкриває посібник користувача в браузері (`doc\en\readme.html`).
-- **Main dialog...** — відкрити вікно чату (типово `NVDA+G`).
-- **Conversation history...** — керування збереженими чатами.
-- **Tools** — підменю, що групує утиліти **OpenAI**, **Mistral**, **Google** та **Ollama** (див. нижче).
-- **GitHub repository** / **BasiliskLLM** - швидкі посилання.
+- **Документація** — відкриває посібник користувача у вашому браузері (`doc\uk\readme.html`).
+- **Головний діалог додатка…** — відкриває діалог чату (початково `NVDA+G`).
+- **Історія розмов…** — керування збереженими чатами.
+- **Інструменти** — підменю, що об’єднує утиліти **OpenAI**, **Mistral**, **Google** та **Ollama** (див. нижче).
+- **Репозиторій GitHub** / **BasiliskLLM** — швидкі посилання.
## Головний діалог
-Відкрийте через **`NVDA+G`** або **Main dialog...** у меню AI-Hub.
+Відкрийте за допомогою **`NVDA+G`** або пункту **Розмова…** у меню AI-Hub.
-### Що можна робити
+### Що ви можете робити
-- Спілкуватися з вибраною моделлю; переглядати **Messages** за допомогою клавіатурної навігації та контекстних меню (наприклад, **j** / **k** для переходу між повідомленнями, коли фокус у області повідомлень — дивіться підказки на екрані для активного поля).
-- Додавати **локальні зображення чи документи** і **URL файлів** там, де це підтримує провайдер. Перед надсиланням можуть з'являтися попередження про типи, не підтримувані поточним провайдером.
-- Використовувати **Paste (file or text)** з контекстного меню поля запиту або **`Ctrl+V`** в полі запиту: додаток може прикріплювати файли, вставляти текстові шляхи або обробляти одиночний URL як вкладення, коли це доречно.
-- Записувати **аудіофрагменти**, додавати аудіофайли та використовувати **TTS** для тексту запиту там, де це підтримує модель.
-- **`Escape`** закриває головний діалог (коли не відкрито блокувальне модальне вікно).
-- **`Ctrl+R`** перемикає запис із мікрофона (де застосовно).
-- **`F2`** перейменовує поточну збережену розмову (після її появи у сховищі).
+- Спілкуйтеся з обраною моделлю; переглядайте **повідомлення** за допомогою клавіатурної навігації та контекстних меню (наприклад, **j** / **k** для переходу між повідомленнями, коли фокус знаходиться в області повідомлень — див. підказки на екрані щодо активного поля).
+- Додавайте **локальні зображення або документи** та вставляйте **URL-адреси файлів**, якщо це підтримується постачальником. Перед відправленням може з’явитися попередження про типи файлів, що не підтримуються поточним постачальником.
+- **Вставте (файл або текст)** з контекстного меню у полі запиту або за допомогою **`Ctrl+V`**. Додаток може додавати файли, вставляти текстові шляхи або розглядати окремий URL як вкладення, якщо це можливо.
+- Записуйте фрагменти **аудіо**, додавайте аудіофайли та використовуйте **TTS** для тексту запиту, якщо модель це підтримує.
+- **`Escape`** закриває головний діалог (якщо не відкрито жодного блокуючого модального вікна).
+- **`Ctrl+R`** вмикає/вимикає запис з мікрофона (якщо це можливо).
+- **`F2`** перейменовує поточну збережену розмову (якщо вона вже існує у сховищі).
- **`Ctrl+N`** відкриває **новий** екземпляр головного діалогу (сесію).
-### Опції, що залежать від моделі
+### Параметри, що залежать від моделі
-Деякі елементи керування відображаються або застосовуються лише для певних моделей:
+Деякі елементи керування з’являються або застосовуються лише для певних моделей:
-- **Reasoning** ("thinking") для моделей, які його надають; потоковий reasoning зберігається окремо від видимої відповіді, коли API розрізняє ці дані.
-- **Reasoning effort** і пов'язані елементи керування там, де провайдер підтримує рівні.
-- **Web search** лише для моделей, що заявляють підтримку вебпошуку.
+- **Процес міркування** («міркування») для моделей, які його демонструють; послідовний процес міркування відображається окремо від кінцевої відповіді, якщо API передбачає таке розмежування.
+- **Рівень складності міркування** та відповідні параметри налаштування, якщо постачальник підтримує різні рівні.
+- **Веб-пошук** лише для моделей, які підтримують функцію веб-пошуку.
-Точна доступність змінюється, коли провайдери оновлюють свої API; інтерфейс відображає стан для **поточної вибраної моделі**.
+Доступність може змінюватися у міру оновлення API постачальників; інтерфейс показує **поточну вибрану модель**.
-### Системний запит
+### Системна підказка
-Системний запит спрямовує поведінку моделі. За замовчуванням надано варіант, пристосований для допомоги з доступністю; ви можете редагувати його, скидати через контекстне меню й за бажанням зберігати останній використаний запит (налаштовується в параметрах). Системний запит споживає токени так само, як і будь-який інший вхід.
+Системна підказка визначає поведінку моделі. Початково надається підказка, пристосована для допомоги з доступністю; її можна редагувати, скинути через контекстне меню та, за бажанням, зберегти останню використану підказку (доступно в меню налаштувань). Системна підказка використовує токени так само, як і будь-який інший запит.
## Історія розмов
-Скористайтеся **Conversation history...** у меню AI-Hub або призначте жест у **Жести вводу -> AI-Hub**.
+Використовуйте **Історію розмов…** у меню AI-Hub або призначте жест у розділі **Жести вводу → AI-Hub**.
-Можна переглядати список, відкривати, перейменовувати, видаляти та створювати розмови. У головному діалозі для керування поточною сесією допомагають **F2** і **Ctrl+N**.
+Ви можете створювати списки, відкривати, перейменовувати, видаляти та створювати розмови. У головному діалозі **F2** і **Ctrl+N** допомагають керувати поточним сеансом.
### Автозбереження
-Якщо в налаштуваннях увімкнено **Auto-save conversation** (за замовчуванням), додаток зберігає (або оновлює) розмову в сховищі **після кожної завершеної відповіді помічника**, а також може зберігати стан під час закриття діалогу, якщо є що зберегти. Ви також можете зберігати вручну через контекстне меню поля **Messages**. Якщо автозбереження вимкнено, використовуйте ручне збереження, коли хочете зберегти розмову.
+Якщо в налаштуваннях увімкнено функцію **Автозбереження розмови** (початково), додаток зберігає (або оновлює) збережену розмову **після кожної завершеної відповіді помічника** і може зберегти стан розмови при її закритті, якщо є що зберегти. Ви також можете зберегти розмову через контекстне меню у полі **Повідомлення**. Якщо автозбереження вимкнено, скористайтеся ручним збереженням, коли потрібно зберегти стан розмови.
-## Поставити запитання (голос)
+## Поставити запитання (голосом)
-Ця команда **не має жесту за замовчуванням**. Призначте його у **Жести вводу -> AI-Hub**.
+Ця команда **не має початкової комбінації**. Призначте її в розділі **Жести вводу → AI-Hub**.
- Перше натискання: почати запис.
-- Друге натискання під час запису: зупинити й надіслати.
+- Друге натискання під час запису: зупинити та надіслати.
- Якщо відповідь відтворюється як аудіо, натисніть ще раз, щоб зупинити відтворення.
**Режими:**
-- **Direct audio** — якщо вибрана модель підтримує аудіовхід, ваш запис може бути надіслано як аудіо без окремого етапу транскрипції.
-- **Transcribe then chat** — інакше налаштований бекенд транскрипції обробляє запис, а потім текст надсилається чат-моделі.
-
-Якщо головний діалог у фокусі, використовується його **поточна модель**; інакше додаток обирає відповідну модель серед налаштованих провайдерів.
-
-## Підменю Tools
-
-Пункт **Tools** у меню AI-Hub відкриває згруповані за провайдерами діалоги (кожен може вимагати відповідний API-акаунт):
-
-| Область меню | Інструмент |
-|-----------|------|
-| Mistral | **Voxtral TTS...**, **OCR...**, **Speech to Text...** |
-| Google | **Lyria 3 Pro...** |
-| OpenAI | **TTS...**, **Transcription / Translation...** |
-| Ollama | **Model manager...** |
-
-Якщо для провайдера, потрібного інструменту, акаунт не налаштовано, додаток повідомить, що його слід додати в налаштуваннях AI-Hub.
+- **Прямий аудіоввід** — якщо обрана модель підтримує аудіоввід, ваш запис може бути надісланий як аудіо без окремого етапу транскрипції.
+- **Спочатку транскрипція, потім чат** — якщо ні, вибрана система транскрипції обробляє запис, після чого текст надсилається до моделі чату.
+
+Якщо фокус знаходиться у головному діалозі, використовується його **поточна модель**; в іншому випадку додаток обирає відповідну модель серед налаштованих постачальників.
+
+## Підменю інструментів
+
+Пункт **«Інструменти»** у меню AI-Hub відкриває діалоги, згруповані за постачальниками (для кожного з них може знадобитися відповідний обліковий запис API):
+
+
+
+
+ | Область меню |
+ Інструмент |
+
+
+
+
+ | Mistral |
+ Voxtral TTS…, OCR…, Мовлення в Текст… |
+
+
+ | Google |
+ Lyria 3 Pro… |
+
+
+ | OpenAI |
+ TTS…, Транскрипція / Переклад… |
+
+
+ | Ollama |
+ Менеджер моделей… |
+
+
+
+
+Якщо для постачальника інструмента не налаштовано жодного облікового запису, додаток запропонує вам додати його в налаштуваннях AI-Hub.
## Глобальні команди
-Усі жести за замовчуванням можна змінити в **NVDA -> Параметри -> Жести вводу -> AI-Hub**.
-
-| Жест | Дія |
-|---------|--------|
-| `NVDA+G` | Показати головний діалог AI-Hub |
-| `NVDA+E` | Зробити скриншот і описати (додає зображення до сесії) |
-| `NVDA+O` | Описати область поточного об'єкта навігатора |
-| *(жест за замовчуванням відсутній)* | Історія розмов. Призначте в Жести вводу -> AI-Hub. |
-| *(жест за замовчуванням відсутній)* | Поставити запитання (запис / надсилання / зупинка аудіо). Призначте в Жести вводу -> AI-Hub. |
-| *(жест за замовчуванням відсутній)* | Перемкнути запис із мікрофона й транскрипцію. Призначте в Жести вводу -> AI-Hub. |
+Усі стандартні жести можна змінити в **NVDA → Параметри → Жести вводу → AI-Hub**.
+
+
+
+
+ | Жест |
+ Дія |
+
+
+
+
+ | NVDA+G |
+ Відкрити головний діалог AI-Hub |
+
+
+ | NVDA+E |
+ Зробити знімок екрана та описати його (додати зображення до сеансу) |
+
+
+ | NVDA+O |
+ Описати область поточного об’єкта навігатора |
+
+
+ | (початково немає жесту) |
+ Історія розмов. Призначити в меню «Жести вводу» → «AI-Hub». |
+
+
+ | (початково немає жесту) |
+ Поставити запитання (запис / надсилання / зупинка аудіо). Призначити в «Жестах вводу» → «AI-Hub». |
+
+
+ | (початково немає жесту) |
+ Увімкнути/вимкнути запис мікрофона та транскрипцію. Призначити в «Жестах вводу» → «AI-Hub». |
+
+
+
## Де зберігаються дані
-Робочі файли, індекс збережених розмов, єдиний `accounts.json` і вкладення зберігаються в каталозі **користувацької конфігурації** NVDA, у папці **`aihub`** (після міграції з `openai`). Тимчасові файли використовують підпапку `tmp` і очищуються, коли це доречно (наприклад, під час завершення додатка або закриття діалогу).
-
-## Обов'язкові залежності (автозавантажуються під час збірки)
-
-Збірки використовують `scons` для розміщення runtime-бібліотек у:
-
-`addon/globalPlugins/AIHub/libs/`
-
-Коли обов'язкова бібліотека відсутня, `scons` завантажує зафіксовані wheel-пакети й витягає в цю папку лише потрібне. Поточні зафіксовані залежності:
-
-- **[markdown-it-py](https://pypi.org/project/markdown-it-py/)** `3.0.0` + **[mdurl](https://pypi.org/project/mdurl/)** `0.1.2` — витягується в `libs/` для рендерингу Markdown у чаті.
-- **[Pillow](https://pypi.org/project/Pillow/)** `12.1.1` для:
- - Python `3.11` `win32` -> `libs/lib_py3.11_win32/`
- - Python `3.13` `win_amd64` -> `libs/lib_py3.13/`
-
-Каталог `libs` навмисно ігнорується git; контриб'юторам не потрібно комітити vendored-артефакти.
+Робочі файли, індекс збережених розмов, об’єднаний файл `accounts.json` та вкладення зберігаються у вашому каталозі **конфігурації користувача** NVDA, у папці **`aihub`** (після перенесення з `openai`). Тимчасові файли зберігаються у підпапці `tmp` і видаляються у відповідний момент (наприклад, після завершення роботи додатка або закриття діалогу).
## Усунення несправностей (коротко)
-- **"No account configured"** — додайте API-ключ для вибраного провайдера в налаштуваннях **AI-Hub**.
-- **Провайдер відхиляє вкладення** — перевірте тип і розмір файлу; спробуйте іншу модель або провайдера, який підтримує потрібний медіатип.
+- **«Обліковий запис не налаштовано»** — додайте ключ API для постачальника, який ви вибрали в налаштуваннях **AI-Hub**.
+- **Постачальник відхиляє вкладення** — Перевірте тип і розмір файлу; спробуйте скористатися іншою моделлю або постачальником, який підтримує потрібний вам тип медіафайлу.
+
+Для проблем і внесків скористайтеся посиланням **репозиторій GitHub** у меню AI-Hub.
-Для повідомлень про проблеми та внесків скористайтеся посиланням **GitHub repository** в меню AI-Hub.
+---
+- Переклад: Георгій Галас.
\ No newline at end of file
diff --git a/addon/locale/uk/LC_MESSAGES/nvda.po b/addon/locale/uk/LC_MESSAGES/nvda.po
index cd34441..2d291ab 100644
--- a/addon/locale/uk/LC_MESSAGES/nvda.po
+++ b/addon/locale/uk/LC_MESSAGES/nvda.po
@@ -1,376 +1,429 @@
msgid ""
msgstr ""
"Project-Id-Version: Open AI 24.03.30\n"
-"Report-Msgid-Bugs-To: nvda-translations@groups.io\n"
-"POT-Creation-Date: 2024-05-18 15:07+0200\n"
-"PO-Revision-Date: 2024-05-18 22:24+0300\n"
-"Last-Translator: Heorhii Halas \n"
+"Report-Msgid-Bugs-To: 'nvda-translations@groups.io'\n"
+"POT-Creation-Date: 2026-05-17 18:10+0300\n"
+"PO-Revision-Date: 2026-05-19 08:05+0300\n"
+"Last-Translator: Volodymyr Pyrih \n"
"Language-Team: Heorhi Halas. https://www.nvdaukr.online/\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.4.4\n"
+"X-Generator: Poedit 3.9\n"
"X-Poedit-Basepath: nvda-OpenAI-master/addon/globalPlugins\n"
"X-Poedit-Bookmarks: -1,26,47,-1,-1,-1,-1,-1,-1,-1\n"
"X-Poedit-SearchPath-0: .\n"
-#: addon/globalPlugins/openai/__init__.py:36
-msgid ""
-"No API key provided for any provider, please provide at least one API key in "
-"the settings dialog"
-msgstr ""
-"Ключ API не надано для жодного постачальника, будь ласка, надайте принаймні "
-"один ключ API у діалозі налаштувань"
-
-#: addon/globalPlugins/openai/__init__.py:117
-msgid "Update"
-msgstr "Оновлення"
-
-#: addon/globalPlugins/openai/__init__.py:125
-msgid "Check for &updates on startup and periodically"
-msgstr "Періодично перевіряти наявність &оновлень під час запуску"
+#. Translators: AI-Hub Input Gestures (assignable scripts): description of an assignable NVDA script.
+#: addon\globalPlugins\AIHub\__init__.py:91
+#: addon\globalPlugins\AIHub\plugin_mixins.py:46
+msgid "Show or focus the AI-Hub conversation window"
+msgstr "Показати або сфокусувати діалог розмови AI-Hub"
-#: addon/globalPlugins/openai/__init__.py:131
-msgid "&Channel:"
-msgstr "&Канал:"
-
-#: addon/globalPlugins/openai/__init__.py:141
-msgid "API Access Keys"
-msgstr "Ключі доступу до API"
-
-#: addon/globalPlugins/openai/__init__.py:150
-#, python-format
-msgid "%s API &keys..."
-msgstr "&Ключі API %s..."
-
-#: addon/globalPlugins/openai/__init__.py:162
-msgid "Main dialog"
-msgstr "Головний діалог"
+#. Translators: AI-Hub Input Gestures (assignable scripts): description of an assignable NVDA script.
+#: addon\globalPlugins\AIHub\__init__.py:100
+msgid "Take a screenshot and describe it"
+msgstr "Зробити знімок екрана і описати його"
-#: addon/globalPlugins/openai/__init__.py:167
-msgid "Block the closing using the &escape key"
-msgstr "Заблокувати закриття за допомогою клавіші &escape"
+#. Translators: AI-Hub Input Gestures (assignable scripts): description of an assignable NVDA script.
+#: addon\globalPlugins\AIHub\__init__.py:109
+msgid "Grab the current navigator object and describe it"
+msgstr "Захопити поточний об’єкт навігатора й описати його"
-#: addon/globalPlugins/openai/__init__.py:175
-msgid "Remember the content of the S&ystem field between sessions"
-msgstr "Запам’ятовувати вміст поля &Системної підказки між сеансами"
+#. Translators: AI-Hub Input Gestures (assignable scripts): description of an assignable NVDA script.
+#: addon\globalPlugins\AIHub\__init__.py:117
+#: addon\globalPlugins\AIHub\plugin_mixins.py:48
+msgid "Manage saved conversations"
+msgstr "Керувати збереженими розмовами"
-#: addon/globalPlugins/openai/__init__.py:183
-msgid "Enable &advanced settings (including temperature and probability mass)"
+#. Translators: AI-Hub Input Gestures (assignable scripts): description of an assignable NVDA script.
+#: addon\globalPlugins\AIHub\__init__.py:125
+msgid "Ask a question via voice: record, send to AI, and play the response"
msgstr ""
-"Увімкнути &розширені параметри (зокрема температуру та маси ймовірності)"
-
-#: addon/globalPlugins/openai/__init__.py:191
-msgid "Text To Speech"
-msgstr "Перетворення тексту в мовлення"
-
-#: addon/globalPlugins/openai/__init__.py:197
-msgid "&Voice:"
-msgstr "&Голос:"
-
-#: addon/globalPlugins/openai/__init__.py:207
-msgid "&Model:"
-msgstr "&Модель:"
-
-#: addon/globalPlugins/openai/__init__.py:218
-msgid "Image description"
-msgstr "Опис зображення"
+"Поставити питання голосом: записати його, надіслати ШІ та прослухати "
+"відповідь"
-#: addon/globalPlugins/openai/__init__.py:223
-msgid "&Resize images before sending them to the API"
-msgstr "&Змінити розмір зображення, перш ніж надсилати їх до API"
-
-#: addon/globalPlugins/openai/__init__.py:236
-msgid "Maximum &width (0 to resize proportionally to the height):"
-msgstr "Максимальна &ширина (0 для зміни розміру пропорційно висоті):"
-
-#: addon/globalPlugins/openai/__init__.py:245
-msgid "Maximum &height (0 to resize proportionally to the width):"
-msgstr "Максимальна &висота (0 для зміни розміру пропорційно ширині):"
-
-#: addon/globalPlugins/openai/__init__.py:254
-msgid ""
-"&Quality for JPEG images (0 [worst] to 95 [best], values above 95 should be "
-"avoided):"
+#. Translators: AI-Hub Input Gestures (assignable scripts): description of an assignable NVDA script.
+#: addon\globalPlugins\AIHub\__init__.py:133
+msgid "Toggle the microphone recording and transcribe the audio from anywhere"
msgstr ""
-"&Якість для зображень у форматі JPEG (де 0 [найгірше] а 95 [найкраще], варто "
-"уникати значень вище 95):"
-
-#: addon/globalPlugins/openai/__init__.py:266
-msgid "Customize default text &prompt"
-msgstr "Налаштувати &початковий текст підказки"
-
-#: addon/globalPlugins/openai/__init__.py:272
-msgid "Default &text prompt:"
-msgstr "&Початкова текстова підказка:"
-
-#: addon/globalPlugins/openai/__init__.py:285
-msgid "Chat feedback"
-msgstr "Зворотній зв'язок у чаті"
-
-#. Translators: This is a setting to play a sound when a task is in progress.
-#: addon/globalPlugins/openai/__init__.py:295
-msgid "Play sound when a task is in progress"
-msgstr "Відтворювати звук під час виконання завдання"
-
-#. Translators: This is a setting to play a sound when a response is sent.
-#: addon/globalPlugins/openai/__init__.py:302
-msgid "Play sound when a response is sent"
-msgstr "Відтворювати звук gпри отриманні відповіді"
-
-#. Translators: This is a setting to play a sound when a response is pending.
-#: addon/globalPlugins/openai/__init__.py:309
-msgid "Play sound when a response is pending"
-msgstr "Відтворювати звук при очікуванні відповіді"
-
-#. Translators: This is a setting to play a sound when a response is received.
-#: addon/globalPlugins/openai/__init__.py:316
-msgid "Play sound when a response is received"
-msgstr "Відтворювати звук, коли отримано відповідь"
-
-#. Translators: This is a setting to attach braille to the history if the focus is in the prompt field.
-#: addon/globalPlugins/openai/__init__.py:323
-msgid "Attach braille to the history if the focus is in the prompt field"
+"Перемкнути запис з мікрофона та транскрибувати аудіо з будь-якого місця"
+
+#. Translators: Label before the provider drop-down in the Add/Edit API account form.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:43
+msgid "&Provider:"
+msgstr "&Постачальник:"
+
+#. Translators: Label before the optional friendly account name in the Add/Edit API account form.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:54
+msgid "Account &name:"
+msgstr "&Назва облікового запису:"
+
+#. Translators: Label before the secret API key field in the Add/Edit API account form.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:61
+msgid "&API key:"
+msgstr "&Ключ API:"
+
+#. Translators: Label before the custom endpoint URL for Ollama or CustomOpenAI in the Add/Edit API account form.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:68
+msgid "Custom base &URL:"
+msgstr "Користувацька базова &URL:"
+
+#. Translators: Label before the optional OpenAI organization display name in the Add/Edit API account form.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:75
+msgid "Organization &name:"
+msgstr "&Назва організації:"
+
+#. Translators: Label for the optional OpenAI organization secret key field in the Add/Edit API account form.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:82
+msgid "Organization &key:"
+msgstr "&Ключ організації:"
+
+#. Translators: Window title of the modal dialog that lists every AI-Hub API account (NVDA → AI-Hub → API accounts).
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:139
+#: addon\globalPlugins\AIHub\settings_dialog.py:29
+msgid "API accounts"
+msgstr "облікові записи API"
+
+#. Translators: Static help sentence above the account list in the API accounts management dialog.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:158
+msgid ""
+"Stored provider accounts. Space selects the focused row or opens the menu if "
+"it is already selected; Enter edits."
msgstr ""
-"Прикріпити шрифт Брайля до поля повідомлення, якщо фокус знаходиться в полі "
-"запиту"
-
-#: addon/globalPlugins/openai/__init__.py:329
-msgid "Speak response when the focus is in the prompt field"
-msgstr "Промовляти відповідь, коли фокус знаходиться в полі запиту"
-
-#. Translators: This is the name of a group of settings
-#: addon/globalPlugins/openai/__init__.py:339
-msgid "Recording"
-msgstr "Запис"
-
-#. Translators: This is the name of a setting in the Recording group
-#: addon/globalPlugins/openai/__init__.py:345
-msgid "Use &whisper.cpp for transcription"
-msgstr "Використовувати &whisper.cpp для транскрипції"
-
-#. Translators: This is the name of a setting in the Recording group
-#: addon/globalPlugins/openai/__init__.py:361
-msgid "&Host:"
-msgstr "&Хост:"
-
-#: addon/globalPlugins/openai/__init__.py:461
-msgid "Docu&mentation"
-msgstr "&Документація"
-
-#: addon/globalPlugins/openai/__init__.py:462
-msgid "Open the documentation of this addon"
-msgstr "Відкрити документацію цього додатка"
-
-#: addon/globalPlugins/openai/__init__.py:467
-msgid "Main d&ialog..."
-msgstr "Головни&й діалог..."
-
-#: addon/globalPlugins/openai/__init__.py:468
-msgid "Show the Open AI dialog"
-msgstr "Показати діалог Open AI"
-
-#: addon/globalPlugins/openai/__init__.py:476
-msgid "API &keys"
-msgstr "&Ключі API"
-
-#: addon/globalPlugins/openai/__init__.py:477
-msgid "Manage the API keys"
-msgstr "Керування ключами API"
-
-#: addon/globalPlugins/openai/__init__.py:482
-msgid "API &usage"
-msgstr "&Використання API"
-
-#: addon/globalPlugins/openai/__init__.py:483
-msgid "Open the API usage webpage"
-msgstr "Відкрити веб-сторінку використання API"
-
-#: addon/globalPlugins/openai/__init__.py:488
-msgid "Git&Hub repository"
-msgstr "Репозиторій Git&Hub"
-
-#: addon/globalPlugins/openai/__init__.py:489
-msgid "Open the GitHub repository of this addon"
-msgstr "Відкрити репозиторій GitHub цього додатка"
-
-#: addon/globalPlugins/openai/__init__.py:497
-msgid "Check for &updates..."
-msgstr "&Перевірити наявність оновлень..."
-
-#: addon/globalPlugins/openai/__init__.py:498
-msgid "Check for updates"
-msgstr "Перевірити наявність оновлень"
-
-#: addon/globalPlugins/openai/__init__.py:511
+"Збережені облікові записи постачальників. Клавіша «Пробіл» вибирає поточний "
+"рядок або відкриває меню, якщо він вже вибраний; клавіша «Enter» підтверджує "
+"зміни."
+
+#. Translators: Column header for the combined provider / account list in API accounts management.
+#. Translators: Fallback display name in the API accounts list when the stored account has no custom name.
+#. Translators: Stored display name for a new account when the user left the account name field empty (same word as list fallback).
+#. Translators: Stored display name after edit when the user cleared the account name field (same word as list fallback).
+#. Translators: Stored display name when moving an account to another provider and the name field was left blank.
+#. Translators: Fallback account name when no custom name is set.
+#. Translators: Fallback account name when loading account list.
+#. Translators: NVDA Preferences — AI-Hub category: Recording — fallback account display name when the account has no custom name.
+#. Translators: Group box title around the Mistral account selector in the Voxtral TTS tool.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:167
+#: addon\globalPlugins\AIHub\accounts_dialog.py:207
+#: addon\globalPlugins\AIHub\accounts_dialog.py:363
+#: addon\globalPlugins\AIHub\accounts_dialog.py:404
+#: addon\globalPlugins\AIHub\accounts_dialog.py:417
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:62
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:79
+#: addon\globalPlugins\AIHub\settings_dialog.py:271
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:60
+msgid "Account"
+msgstr "Обліковий запис"
+
+#. Translators: Button in API accounts management — opens the form to register a new provider account.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:175
+msgid "&Add..."
+msgstr "&Додати..."
+
+#. Translators: Suffix in the combined provider/account list marking the account that is currently active for that provider.
+#. Translators: NVDA Preferences — AI-Hub category: Recording — suffix marking the provider’s active account in account lists.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:219
+#: addon\globalPlugins\AIHub\settings_dialog.py:275
+msgid "default"
+msgstr "початково"
+
+#. Translators: API accounts list context menu — delete several accounts; Del when the list has focus.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:309
+#, python-format
+msgid "&Remove %(count)d accounts (Del)"
+msgstr "&Видалити %(count)d облікових записів (Del)"
+
+#. Translators: API accounts list context menu — create a new stored account.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:312
+#: addon\globalPlugins\AIHub\accounts_dialog.py:319
+#: addon\globalPlugins\AIHub\accounts_dialog.py:321
+msgid "&Add account..."
+msgstr "&Додати обліковий запис..."
+
+#. Translators: API accounts list context menu — edit the selected account; Enter when the list has focus.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:315
+msgid "&Edit account (Enter)"
+msgstr "&Редагувати обліковий запис (Enter)"
+
+#. Translators: API accounts list context menu — remove the selected account; Del when the list has focus.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:317
+msgid "&Remove account (Del)"
+msgstr "&Видалити обліковий запис (Del)"
+
+#. Translators: Title bar of the modal form for creating a new API account.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:343
+msgid "Add account"
+msgstr "Додати акаунт"
+
+#. Translators: Error message body when saving a new CustomOpenAI account without a base URL (title is «AI-Hub»).
+#. Translators: Error message body when saving an edited CustomOpenAI account without a base URL (title is «AI-Hub»).
+#: addon\globalPlugins\AIHub\accounts_dialog.py:352
+#: addon\globalPlugins\AIHub\accounts_dialog.py:391
+msgid "Custom base URL is required for CustomOpenAI accounts."
+msgstr "Для облікових записів CustomOpenAI необхідна користувацька базова URL."
+
+#: addon\globalPlugins\AIHub\accounts_dialog.py:352
+#: addon\globalPlugins\AIHub\accounts_dialog.py:358
+#: addon\globalPlugins\AIHub\accounts_dialog.py:391
+#: addon\globalPlugins\AIHub\accounts_dialog.py:397
+msgid "AI-Hub"
+msgstr "AI-Hub"
+
+#. Translators: Error message body when saving a new account for a provider that requires an API key (title is «AI-Hub»).
+#. Translators: Error message body when saving an edited account for a provider that requires an API key (title is «AI-Hub»).
+#: addon\globalPlugins\AIHub\accounts_dialog.py:358
+#: addon\globalPlugins\AIHub\accounts_dialog.py:397
+msgid "API key is required."
+msgstr "Потрібен ключ API."
+
+#. Translators: Shown when several API accounts are selected but edit allows only one.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:378
+msgid "Select only one account to edit."
+msgstr "Виберіть лише один обліковий запис для редагування."
+
+#. Translators: Title bar of the modal form for editing the selected API account.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:382
+msgid "Edit account"
+msgstr "Редагувати обліковий запис"
+
+#. Translators: Confirmation prompt before deleting one stored API account (placeholders are account label and provider id).
+#: addon\globalPlugins\AIHub\accounts_dialog.py:435
#, python-brace-format
-msgid "Open A&I {addon_version}"
-msgstr "Open A&I {addon_version}"
-
-#: addon/globalPlugins/openai/__init__.py:585
-msgid "Please disable the screen curtain before taking a screenshot"
-msgstr "Перш ніж робити знімок екрана, вимкніть екранну завісу"
-
-#: addon/globalPlugins/openai/__init__.py:600
-msgid "Show Open AI dialog"
-msgstr "Показати діалог Open AI"
-
-#: addon/globalPlugins/openai/__init__.py:623
-msgid "Image added to an existing session"
-msgstr "Зображення додано до існуючого сеансу"
+msgid "Remove account {name} from provider {provider}?"
+msgstr "Видалити обліковий запис {name} від постачальника {provider}?"
-#. Translators: This is the description of a command to take a screenshot and describe it.
-#: addon/globalPlugins/openai/__init__.py:636
-msgid "Take a screenshot and describe it"
-msgstr "Зробити знімок екрана і описати його"
+#. Translators: Title of the confirmation dialog for removing an API account.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:440
+msgid "Remove account"
+msgstr "Видалити обліковий запис"
-#: addon/globalPlugins/openai/__init__.py:652
+#. Translators: Confirmation before permanently deleting several stored API accounts.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:446
#, python-format
-msgid "Screenshot %s"
-msgstr "Знімок екрана %s"
+msgid "Remove %(count)d selected accounts? This cannot be undone."
+msgstr "Видалити %(count)d вибраних облікових записів? Це неможливо скасувати."
-#. Translators: This is the description of a command to grab the current navigator object and describe it.
-#: addon/globalPlugins/openai/__init__.py:660
-msgid "Grab the current navigator object and describe it"
-msgstr "Захопити поточний об’єкт навігатора й описати його"
-
-#. Translators: This is the name of the screenshot to be described.
-#: addon/globalPlugins/openai/__init__.py:683
-#, python-format
-msgid "Navigator Object %s"
-msgstr "Об'єкт навігатора %s"
+#. Translators: Title of the confirmation dialog for removing several API accounts at once.
+#: addon\globalPlugins\AIHub\accounts_dialog.py:448
+msgid "Remove accounts"
+msgstr "Видалити облікові записи"
-#: addon/globalPlugins/openai/__init__.py:699
-msgid "Toggle the microphone recording and transcribe the audio from anywhere"
+#. Translators: Brief NVDA message when Ask Question was used with a recording but no model supports direct audio input.
+#: addon\globalPlugins\AIHub\ask_question.py:127
+msgid "No audio-capable model found. Enable direct audio in settings."
msgstr ""
-"Перемикати запис з мікрофона та транскрибувати аудіо з будь-якого місця"
-
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:32
-msgid "Points to one of the most recent iterations of gpt-3.5 model."
-msgstr "Вказує на одну з останніх ітерацій моделі gpt-3.5."
+"Не знайдено моделі з підтримкою аудіо. Увімкніть прямий аудіовихід у "
+"налаштуваннях."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:40
-msgid ""
-"The latest GPT-3.5 Turbo model with higher accuracy at responding in "
-"requested formats and a fix for a bug which caused a text encoding issue for "
-"non-English language function calls."
+#. Translators: Brief NVDA message when Ask Question cannot run because no API account is configured.
+#: addon\globalPlugins\AIHub\ask_question.py:130
+msgid "No API key configured. Please add one in AI-Hub settings."
msgstr ""
-"Остання модель GPT-3.5 Turbo з підвищеною точністю обробки запитуваних "
-"форматів і виправленням помилки, яка спричиняла проблеми з кодуванням тексту "
-"при виклику неанглійських функцій."
-
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:48
+"Ключ API не налаштовано. Будь ласка, додайте його в налаштуваннях AI-Hub."
+
+#. Translators: Brief NVDA message when Ask Question starts playing the synthesized answer through NVDA’s audio path.
+#. Translators: Brief NVDA message when Ask Question opens the answer WAV in the default application because in-process playback failed or was skipped.
+#: addon\globalPlugins\AIHub\ask_question.py:170
+#: addon\globalPlugins\AIHub\ask_question.py:174
+msgid "Playing audio response"
+msgstr "Відтворення аудіовідповіді"
+
+#. Translators: AI-Hub — audio capture and playback: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\audiohandlers.py:27
+msgid "Playing audio"
+msgstr "Відтворення аудіо"
+
+#. Translators: AI-Hub — audio capture and playback: brief status feedback (speech/braille), not a full dialog.
+#. Translators: Generic unexpected-error message in submit handler.
+#. Translators: Generic fallback error text for API/result handling failures.
+#. Translators: Fallback error body when the background task failed with an exception object that has no message attribute (same wording as the generic API error).
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\audiohandlers.py:32
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1659
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1942
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1955
+#: addon\globalPlugins\AIHub\historyhandlers.py:301
+#: addon\globalPlugins\AIHub\historyhandlers.py:335
+#: addon\globalPlugins\AIHub\historyhandlers.py:352
+#: addon\globalPlugins\AIHub\historyhandlers.py:503
+msgid "An error occurred. More information is in the NVDA log."
+msgstr "Сталася помилка. Більше інформації в журналі NVDA."
+
+#. Translators: AI-Hub — audio capture and playback: brief status feedback (speech/braille), not a full dialog.
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\audiohandlers.py:38
+#: addon\globalPlugins\AIHub\plugin_mixins.py:334
+msgid "Audio stopped"
+msgstr "Відтворення зупинено"
+
+#. Translators: AI-Hub — audio capture and playback: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\audiohandlers.py:50
+msgid "No audio in this message"
+msgstr "У цьому повідомленні немає аудіо"
+
+#. Translators: Text in audio processing status and error messages.
+#: addon\globalPlugins\AIHub\audiohandlers.py:62
+msgid "Transcribe and describe the content of this audio."
+msgstr "Транскрибувати та описати зміст цього аудіо."
+
+#. Translators: Text in audio processing status and error messages.
+#: addon\globalPlugins\AIHub\audiohandlers.py:102
+msgid "Select audio files"
+msgstr "Виберіть аудіофайли"
+
+#. Translators: Text in audio processing status and error messages.
+#: addon\globalPlugins\AIHub\audiohandlers.py:105
msgid ""
-"Updated GPT 3.5 Turbo. The latest GPT-3.5 Turbo model with improved "
-"instruction following, JSON mode, reproducible outputs, parallel function "
-"calling, and more."
+"Audio files (*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.wav;*.webm)|"
+"*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.wav;*.webm"
msgstr ""
-"Оновлено GPT 3.5 Turbo. Остання модель GPT-3.5 Turbo з покращеним "
-"дотриманням інструкцій, режимом JSON, відтворюваними виводами, паралельним "
-"викликом функцій тощо."
+"Аудіофайли (*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.wav;*.webm)|"
+"*.mp3;*.mp4;*.mpeg;*.mpga;*. m4a;*.wav;*.webm"
+
+#. Translators: AI-Hub — audio capture and playback: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\audiohandlers.py:124
+msgid "Audio file(s) added. Enter your prompt and submit."
+msgstr "Аудіофайли додано. Введіть текст запиту та натисніть «Відправити»."
+
+#. Translators: AI-Hub — audio capture and playback: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\audiohandlers.py:132
+msgid "&Remove selected"
+msgstr "&Видалити вибране"
+
+#. Translators: AI-Hub — audio capture and playback: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\audiohandlers.py:136
+msgid "Remove &all"
+msgstr "Видалити &все"
+
+#. Translators: AI-Hub — audio capture and playback: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\audiohandlers.py:141
+msgid "Add from &file path..."
+msgstr "&Додати зі шляху до файлу..."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:56
+#: addon\globalPlugins\AIHub\chatcompletion.py:356
msgid ""
-"Our most advanced, multimodal flagship model that’s cheaper and faster than "
-"GPT-4 Turbo"
+"Anthropic accepts PDF as native document blocks and inlines plain-text "
+"files. Other formats (.docx, .xlsx, .csv, …) must be converted to PDF or "
+"plain text."
msgstr ""
-"Наша найсучасніша мультимодальна флагманська модель, яка дешевша і швидша за "
-"GPT-4 Turbo"
-
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:65
-msgid "The latest GPT-4 Turbo model with vision capabilities"
-msgstr "Остання модель GPT-4 Turbo з баченням"
+"Anthropic підтримує PDF як вбудовані блоки документів та вставляє файли у "
+"вигляді простого тексту. Інші формати (.docx, .xlsx, .csv тощо) необхідно "
+"перетворити у PDF або простий текст."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:74
-msgid "Points to one of the most recent iterations of gpt-4 model."
-msgstr "Вказує на одну з останніх ітерацій моделі gpt-4."
-
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:82
+#: addon\globalPlugins\AIHub\chatcompletion.py:362
msgid ""
-"The latest GPT-4 model intended to reduce cases of “laziness” where the "
-"model doesn’t complete a task."
+"Google's chat-completions endpoint does not accept binary documents. Plain-"
+"text files are inlined automatically; for PDFs use OpenAI, Anthropic, "
+"OpenRouter, Mistral, or xAI."
msgstr ""
-"Остання модель GPT-4 призначена для зменшення випадків \"лінощів\", коли "
-"модель не виконує завдання."
+"Кінцева точка Google для автозавершення в чаті не підтримує бінарні "
+"документи. Файли у форматі простого тексту вставляються автоматично; для PDF-"
+"файлів використовуйте OpenAI, Anthropic, OpenRouter, Mistral або xAI."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:90
+#: addon\globalPlugins\AIHub\chatcompletion.py:368
msgid ""
-"GPT-4 Turbo model featuring improved instruction following, JSON mode, "
-"reproducible outputs, parallel function calling, and more."
+"OpenRouter parses PDFs into the underlying model. If this file was rejected, "
+"the underlying model may not support documents — try another model."
msgstr ""
-"Модель GPT-4 Turbo із покращеним дотриманням інструкцій, режимом JSON, "
-"відтворюваними виводами, паралельним викликом функцій тощо."
+"OpenRouter перетворює PDF-файли у базову модель. Якщо цей файл було "
+"відхилено, можливо, базова модель не підтримує документи — спробуйте іншу "
+"модель."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:99
+#: addon\globalPlugins\AIHub\chatcompletion.py:374
msgid ""
-"GPT-4 Turbo with vision. Ability to understand images, in addition to all "
-"other GPT-4 Turbo capabilities."
+"Mistral expects documents via the document_url shape (URL or data URI). For "
+"OCR of scanned files, use the Mistral OCR tool."
msgstr ""
-"GPT-4 Turbo з оглядом. Здатність розуміти зображення на додаток до всіх "
-"інших можливостей GPT-4 Turbo."
+"Mistral очікує документи у форматі document_url (URL або URI даних). Для "
+"розпізнавання тексту у відсканованих файлах скористайтеся інструментом "
+"Mistral OCR."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:109
+#: addon\globalPlugins\AIHub\chatcompletion.py:380
msgid ""
-"More capable than any GPT-3.5 model, able to do more complex tasks, and "
-"optimized for chat"
+"The selected OpenAI model rejected this document. Try another OpenAI model "
+"with file-input support or use a supported document format."
msgstr ""
-"Більш потужний, ніж будь-яка модель GPT-3.5, здатний виконувати більш "
-"складні завдання та оптимізований для чату"
+"Вибрана модель OpenAI відхилила цей документ. Спробуйте іншу модель OpenAI "
+"із підтримкою введення файлів або використовуйте підтримуваний формат "
+"документа."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:116
+#: addon\globalPlugins\AIHub\chatcompletion.py:386
msgid ""
-"Same capabilities as the standard gpt-4 mode but with 4x the context length."
+"The selected provider does not natively accept binary documents on its chat "
+"endpoint. Plain-text files are inlined automatically; for PDFs use OpenAI, "
+"Anthropic, OpenRouter, Mistral, or xAI."
msgstr ""
-"Ті ж можливості, що і в стандартному режимі gpt-4, але з 4-кратною довжиною "
-"контексту."
+"Обраний постачальник послуг не підтримує вбудовану функцію обробки бінарних "
+"документів у своєму чат-інтерфейсі. Файли у вигляді простого тексту "
+"вбудовуються автоматично; для обробки PDF-файлів використовуйте OpenAI, "
+"Anthropic, OpenRouter, Mistral або xAI."
+
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:433
+msgid "Transcribing audio..."
+msgstr "Транскрибування аудіо..."
+
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:460
+msgid "Invalid temperature"
+msgstr "Неправильна температура"
+
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:464
+msgid "Invalid top P"
+msgstr "Неправильна вершина P"
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:124
-#: addon/globalPlugins/openai/consts.py:133
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:483
#, python-format
-msgid "aka %s"
-msgstr "також відомий як %s"
+msgid "Uploading %s, please wait..."
+msgstr "Відвантаження %s, зачекайте..."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:142
-msgid "Simple tasks (Classification, Customer Support, or Text Generation)"
-msgstr ""
-"Прості завдання (класифікація, підтримка клієнтів або генерація тексту)"
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:485
+#, python-format
+msgid "%d image(s)"
+msgstr "%d зображень"
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:151
-msgid ""
-"Intermediate tasks that require moderate reasoning (Data extraction, "
-"Summarizing a Document, Writing emails, Writing a Job Description, or "
-"Writing Product Descriptions)"
-msgstr ""
-"Проміжні завдання, які вимагають поміркованих обґрунтувань (витяг даних, "
-"узагальнення документа, написання електронних листів, написання посадових "
-"інструкцій або опис продукту)"
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:487
+#, python-format
+msgid "%d audio file(s)"
+msgstr "%d аудіофайл(и)"
+
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:489
+#, python-format
+msgid "%d document(s)"
+msgstr "%d документ(ів)"
+
+#. Translators: Text in chat completion status and error messages.
+#: addon\globalPlugins\AIHub\chatcompletion.py:491
+msgid "Please wait..."
+msgstr "Будь ласка, зачекайте..."
-#. Translators: This is a model description
-#: addon/globalPlugins/openai/consts.py:160
+#. Translators: Error message when the chat response included audio but NVDA could not play or save it (details in the log).
+#: addon\globalPlugins\AIHub\chatcompletion.py:827
msgid ""
-"Complex tasks that require large reasoning capabilities or are highly "
-"specialized (Synthetic Text Generation, Code Generation, RAG, or Agents)"
+"An error occurred playing the audio response. More information is in the "
+"NVDA log."
msgstr ""
-"Складні завдання, які вимагають великих можливостей міркування або є "
-"вузькоспеціалізованими (генерація синтетичного тексту, генерація коду, RAG "
-"або агенти)"
+"Під час відтворення аудіовідповіді сталася помилка. Більше інформації в "
+"журналі NVDA."
+
+#. Translators: Title of the error message box for chat-completion failures in AI-Hub.
+#. Translators: Title for generic add-on error dialog.
+#. Translators: Title for runtime/API error dialog after submit.
+#: addon\globalPlugins\AIHub\chatcompletion.py:829
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1661
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1963
+msgid "OpenAI Error"
+msgstr "Помилка OpenAI"
-#: addon/globalPlugins/openai/consts.py:174
+#: addon\globalPlugins\AIHub\consts.py:202
msgid ""
"You are an accessibility assistant integrated in the NVDA screen reader that "
"helps blind screen reader users access visual information that may not be "
@@ -402,659 +455,3514 @@ msgid ""
"generate a detailed visual description. If the user sends an image alone "
"without additional instructions in text, describe the image exactly as "
"prescribed in this system prompt. Adhere strictly to the instructions in "
-"this system prompt to describe images. Don’t add any additional details "
+"this system prompt to describe images. Don't add any additional details "
"unless the user specifically ask you."
msgstr ""
-"You are an accessibility assistant integrated in the NVDA screen reader that "
-"helps blind screen reader users access visual information that may not be "
-"accessible using the screen reader alone, and answer questions related to "
-"the use of Windows and other applications with NVDA. When answering "
-"questions, always make very clear to the user when something is a fact that "
-"comes from your training data versus an educated guess, and always consider "
-"that the user is primarily accessing content using the keyboard and a screen "
-"reader. When describing images, keep in mind that you are describing content "
-"to a blind screen reader user and they need assistance with accessing visual "
-"information in an image that they cannot see. Please describe any relevant "
-"details such as names, participant lists, or other information that would be "
-"visible to sighted users in the context of a call or application interface. "
-"When the user shares an image, it may be the screenshot of an entire window, "
-"a partial window or an individual control in an application user interface. "
-"Generate a detailed but succinct visual description. If the image is a "
-"control, tell the user the type of control and its current state if "
-"applicable, the visible label if present, and how the control looks like. If "
-"it is a window or a partial window, include the window title if present, and "
-"describe the rest of the screen, listing all sections starting from the top, "
-"and explaining the content of each section separately. For each control, "
-"inform the user about its name, value and current state when applicable, as "
-"well as which control has keyboard focus. Ensure to include all visible "
-"instructions and error messages. When telling the user about visible text, "
-"do not add additional explanations of the text unless the meaning of the "
-"visible text alone is not sufficient to understand the context. Do not make "
-"comments about the aesthetics, cleanliness or overall organization of the "
-"interface. If the image does not correspond to a computer screen, just "
-"generate a detailed visual description. If the user sends an image alone "
-"without additional instructions in text, describe the image exactly as "
-"prescribed in this system prompt. Adhere strictly to the instructions in "
-"this system prompt to describe images. Don’t add any additional details "
-"unless the user specifically ask you."
+"Ви — помічник з питань доступності, інтегрований у екранний зчитувач NVDA, "
+"який допомагає незрячим користувачам екранних зчитувачів отримувати доступ "
+"до візуальної інформації, яка може бути недоступною при використанні лише "
+"екранного зчитувача, а також відповідає на запитання, пов’язані з "
+"використанням Windows та інших програм разом із NVDA. Відповідаючи на "
+"запитання, завжди чітко роз’яснюйте користувачеві, коли інформація "
+"ґрунтується на ваших навчальних даних, а коли є лише обґрунтованим "
+"припущенням, і завжди враховуйте, що користувач отримує доступ до вмісту "
+"переважно за допомогою клавіатури та екранного зчитувача. Описуючи "
+"зображення, майте на увазі, що ви описуєте вміст для незрячого користувача "
+"екранного зчитувача, і йому потрібна допомога в отриманні доступу до "
+"візуальної інформації на зображенні, яку він не може бачити. Будь ласка, "
+"опишіть усі відповідні деталі, такі як імена, списки учасників або іншу "
+"інформацію, яка була б видима для зрячих користувачів у контексті дзвінка "
+"або інтерфейсу програми. Коли користувач ділиться зображенням, це може бути "
+"знімок екрана всього вікна, частини вікна або окремого елемента керування в "
+"інтерфейсі користувача програми. Створіть детальний, але лаконічний "
+"візуальний опис. Якщо зображення є елементом управління, повідомте "
+"користувачеві тип елемента управління та його поточний стан, якщо це "
+"доречно, видимий заголовок, якщо він є, та як виглядає елемент керування. "
+"Якщо це вікно або частина вікна, вкажіть заголовок вікна, якщо він є, та "
+"опишіть решту екрана, перелічивши всі розділи, починаючи зверху, та "
+"пояснюючи вміст кожного розділу окремо. Для кожного елемента керування "
+"повідомте користувачеві його назву, значення та поточний стан, якщо це "
+"доречно, а також вкажіть, який елемент керування сфокусований. Обов’язково "
+"включіть усі видимі інструкції та повідомлення про помилки. Повідомляючи "
+"користувачеві про видимий текст, не додавайте додаткових пояснень до тексту, "
+"якщо тільки значення самого видимого тексту не є достатнім для розуміння "
+"контексту. Не робіть коментарів щодо естетики, чистоти або загальної "
+"організації інтерфейсу. Якщо зображення не відповідає екрану комп'ютера, "
+"просто створіть детальний візуальний опис. Якщо користувач надсилає лише "
+"зображення без додаткових інструкцій у тексті, опишіть зображення точно так, "
+"як зазначено в цьому системному запиті. Суворо дотримуйтесь інструкцій у "
+"цьому системному запиті для опису зображень. Не додавайте жодних додаткових "
+"деталей, якщо тільки користувач спеціально не попросить вас про це."
+
+#. Translators: Fallback title when no conversation tab exists.
+#. Translators: Fallback active-tab label used in the window title.
+#. Translators: Final conversation window title pattern.
+#. Translators: Generic notebook tab caption still treated as «no real title yet» when syncing the window title from the model.
+#. Translators: Fallback tab label for a lazily restored conversation tab.
+#. Translators: Temporary tab caption while restoring a previous session.
+#. Translators: Fallback tab title when restoring a hub session if the saved conversation id has no stored display name.
+#. Translators: Fallback tab label when a restored conversation name is missing.
+#. Translators: Fallback name when opening an untitled saved conversation from history.
+#. Translators: Main dialog title suffix.
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:447
+#: addon\globalPlugins\AIHub\conversation_dialog.py:454
+#: addon\globalPlugins\AIHub\conversation_dialog.py:458
+#: addon\globalPlugins\AIHub\conversation_dialog.py:518
+#: addon\globalPlugins\AIHub\conversation_dialog.py:772
+#: addon\globalPlugins\AIHub\conversation_dialog.py:846
+#: addon\globalPlugins\AIHub\conversation_dialog.py:852
+#: addon\globalPlugins\AIHub\conversation_dialog.py:867
+#: addon\globalPlugins\AIHub\conversation_dialog.py:888
+#: addon\globalPlugins\AIHub\conversation_dialog.py:997
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1000
+#: addon\globalPlugins\AIHub\settings_dialog.py:45
+msgid "Conversation"
+msgstr "Розмова"
+
+#. Translators: Tab position in the notebook (e.g. second of three tabs).
+#: addon\globalPlugins\AIHub\conversation_dialog.py:456
+#, python-brace-format
+msgid "({cur}/{tot})"
+msgstr "({cur}/{tot})"
-#. Translators: This is a message emitted by the add-on when an operation is in progress.
-#: addon/globalPlugins/openai/maindialog.py:72
-msgid "Please wait..."
-msgstr "Будь ласка, зачекайте..."
+#. Translators: Tab title when first attachment name is followed by more attachments.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:483
+#, python-brace-format
+msgid "{base} (+{n})"
+msgstr "{base} (+{n})"
+
+#. Translators: Notebook tab caption treated as an automatic placeholder until the conversation gets a real title.
+#. Translators: Default tab caption for a new empty conversation.
+#. Translators: Fallback saved-conversation title when no explicit name is available.
+#. Translators: Default name when opening a saved conversation without title.
+#. Translators: Fallback title for loaded conversations missing a name.
+#. Translators: Default name suggested in rename dialog for untitled conversations.
+#. Translators: Text in conversation metadata/properties shown to the user.
+#. Translators: Default conversation title when no name exists.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:516
+#: addon\globalPlugins\AIHub\conversation_dialog.py:695
+#: addon\globalPlugins\AIHub\conversation_dialog.py:743
+#: addon\globalPlugins\AIHub\conversation_dialog.py:995
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1483
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1612
+#: addon\globalPlugins\AIHub\conversations.py:309
+#: addon\globalPlugins\AIHub\conversations.py:563
+#: addon\globalPlugins\AIHub\conversations.py:676
+#: addon\globalPlugins\AIHub\conversations.py:768
+#: addon\globalPlugins\AIHub\conversations.py:794
+#: addon\globalPlugins\AIHub\conversations.py:812
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:250
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:478
+msgid "Untitled conversation"
+msgstr "Розмова без назви"
+
+#. Translators: Placeholder caption for a brand new conversation tab.
+#. Translators: Title used when opening a fresh conversation window.
+#. Translators: Spoken status message after creating a new conversation tab.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:520
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1000
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1645
+msgid "New conversation"
+msgstr "Нова розмова"
+
+#. Translators: Section title for top action buttons in the conversation window.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1012
+msgid "Toolbar"
+msgstr "Панель інструментів"
+
+#. Translators: AI-Hub conversation window: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1018
+msgid "Conversation &list..."
+msgstr "&Список розмов..."
+
+#. Translators: Toolbar button to save current conversation immediately.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1025
+msgid "&Save conversation"
+msgstr "&Зберегти розмову"
+
+#. Translators: Toolbar button to open a new conversation tab.
+#. Translators: Conversation history list context menu — starts a new AI-Hub chat (no list shortcut).
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1032
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:595
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:620
+msgid "&New conversation"
+msgstr "&Нова розмова"
+
+#. Translators: Toolbar button to rename the current saved conversation.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1039
+msgid "&Rename conversation"
+msgstr "&Перейменувати розмову"
+
+#. Translators: Section title for model generation options.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1089
+msgid "Generation"
+msgstr "Генерація"
+
+#. Translators: AI-Hub conversation window: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1096
+msgid "&Reasoning mode"
+msgstr "&Режим міркування"
+
+#. Translators: Checkbox to enable adaptive reasoning behavior when supported.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1104
+msgid "&Adaptive thinking"
+msgstr "&Адаптивне міркування"
+
+#. Translators: Checkbox to allow built-in web search for supporting models.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1112
+msgid "&Web search"
+msgstr "&Веб пошук"
+
+#. Translators: Label for reasoning effort dropdown.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1122
+msgid "Reasoning &effort:"
+msgstr "Міркування та зусилля:"
+
+#. Translators: Label for maximum output tokens numeric input.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1133
+msgid "Max to&kens:"
+msgstr "&Максимальна кількість токенів:"
-#: addon/globalPlugins/openai/maindialog.py:75
-msgid "Text"
-msgstr "Текст"
+#. Translators: Checkbox that reveals/hides advanced sampling controls.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1144
+msgid "Ad&vanced sampling (temperature, top-p, seed, stop, …)"
+msgstr ""
+"Розширена вибірка (температура, верхня температура, початковий рівень, стоп, "
+"тощо.)"
+
+#. Translators: Group title for advanced sampling parameters.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1151
+msgid "Advanced sampling options"
+msgstr "Розширені параметри вибірки"
+
+#. Translators: Label before the temperature spin control (value is hundredths) in Advanced sampling on the conversation window.
+#. Translators: Label before the optional sampling temperature field for Lyria music generation.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1161
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:99
+msgid "&Temperature:"
+msgstr "&Температура:"
-#: addon/globalPlugins/openai/maindialog.py:76
-msgid "SubRip (SRT)"
-msgstr "SubRip (SRT)"
+#. Translators: Label before the top-P (probability mass) spin control in Advanced sampling on the conversation window.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1177
+msgid "Pro&bability Mass (top P):"
+msgstr "Мас&а ймовірності (Верхнє P):"
+
+#. Translators: Label for optional deterministic seed spin control.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1188
+msgid "See&d (−1 = omit):"
+msgstr "&Початкове значення (−1 = пропустити):"
+
+#. Translators: Label for optional top-k spin control.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1199
+msgid "Top &K (0 = omit):"
+msgstr "Вверх &K (0 = пропустити):"
+
+#. Translators: Label for stop sequences multiline input.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1214
+msgid "St&op sequences (one per line):"
+msgstr "&Стоп послідовності (по одній на рядок):"
+
+#. Translators: Label for frequency penalty spin control.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1225
+msgid "&Frequency penalty (−2..2, ×100):"
+msgstr "&Штраф за частоту (−2..2, ×100):"
+
+#. Translators: Label for presence penalty spin control.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1236
+msgid "&Presence penalty (−2..2, ×100):"
+msgstr "&Штраф за присутність (−2..2, ×100):"
+
+#. Translators: Bottom-row toggles and tools button labels.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1251
+msgid "&Stream mode"
+msgstr "&Потоковий режим"
-#: addon/globalPlugins/openai/maindialog.py:77
-msgid "Web Video Text Tracks (VTT)"
-msgstr "Текстові доріжки веб-відео (VTT)"
+#. Translators: Checkbox label to enable verbose debugging output.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1257
+msgid "Debu&g mode"
+msgstr "Режи&м налагодження"
-#: addon/globalPlugins/openai/maindialog.py:215
-msgid "Invalid temperature"
-msgstr "Неправильна температура"
+#. Translators: Button opening provider-specific tools/actions menu.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1265
+msgid "&Tools..."
+msgstr "&Інструменти..."
-#: addon/globalPlugins/openai/maindialog.py:218
-msgid "Invalid top P"
-msgstr "Неправильна вершина P"
+#. Translators: Prefix shown before user message content in history view.
+#. Translators: Prefix shown before user message content in streaming history updates.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1384
+#: addon\globalPlugins\AIHub\conversation_dialog.py:2001
+msgid "User:"
+msgstr "Користувач:"
+
+#. Translators: Prefix shown before assistant response content in history view.
+#. Translators: Prefix shown before assistant response in streaming history updates.
+#. Translators: Prefix shown before assistant response in streaming history updates.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1392
+#: addon\globalPlugins\AIHub\conversation_dialog.py:2010
+msgid "Assistant:"
+msgstr "Помічник:"
+
+#. Translators: Status message after toggling thinking text visibility in history.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1466
+msgid "Thinking content shown in history."
+msgstr "Перегляд вмісту, що показується в історії."
+
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1466
+msgid "Thinking content hidden in history."
+msgstr "Перегляд вмісту, що прихований в історії."
+
+#. Translators: Message when manual save is requested for an empty conversation.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1590
+msgid "No messages or prompt to save."
+msgstr "Немає повідомлень або запитів на збереження."
+
+#. Translators: Confirmation message after successful manual save.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1594
+msgid "Conversation saved."
+msgstr "Розмову збережено."
+
+#. Translators: Error text when manual conversation save fails.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1598
+msgid "Unable to save conversation. Check the NVDA log for details."
+msgstr "Не вдалося зберегти розмову. Подробиці перевірте в журналі NVDA."
+
+#. Translators: Title for manual save error dialog.
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1600
+#: addon\globalPlugins\AIHub\historyhandlers.py:608
+msgid "Save conversation"
+msgstr "Зберегти розмову"
+
+#. Translators: Message shown when trying to rename before first save.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1608
+msgid "Save the conversation first before renaming."
+msgstr "Перш ніж перейменовувати, збережіть розмову."
+
+#. Translators: Prompt text in rename conversation dialog.
+#. Translators: Prompt in the rename conversation dialog.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1616
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:757
+msgid "Enter new name for this conversation:"
+msgstr "Введіть нову назву для цієї розмови:"
+
+#. Translators: Title of rename conversation dialog.
+#. Translators: Title of the rename conversation dialog.
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1618
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:759
+#: addon\globalPlugins\AIHub\historyhandlers.py:612
+msgid "Rename conversation"
+msgstr "Перейменувати розмову"
+
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1681
+#, python-brace-format
+msgid ""
+"The selected account provider ({accountProvider}) does not match the "
+"selected model provider ({modelProvider}). Please select a compatible "
+"account or model."
+msgstr ""
+"Вибраний постачальник облікових записів ({accountProvider}) не збігається з "
+"вибраним постачальником моделі ({modelProvider}). Виберіть сумісний "
+"обліковий запис або модель."
+
+#. Translators: Title for account/provider mismatch dialog.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1688
+msgid "Provider mismatch"
+msgstr "Невідповідність постачальника"
+
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1696
+#, python-brace-format
+msgid ""
+"This model is only available with the {provider} provider and the selected "
+"account is not ready. Please verify your account API key in settings, or "
+"select another account/model."
+msgstr ""
+"Ця модель доступна лише з постачальником {provider}, і вибраний обліковий "
+"запис не готовий. Перевірте ключ API свого облікового запису в налаштуваннях "
+"або виберіть інший обліковий запис/модель."
+
+#. Translators: Dynamic error dialog title when API key/account is missing for provider.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1702
+#, python-brace-format
+msgid "No API key for {provider}"
+msgstr "Немає ключа API для {provider}"
+
+#. Translators: Title for unsupported-attachments validation error.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1714
+msgid "Unsupported attachments"
+msgstr "Непідтримувані вкладення"
+
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1724
+#, python-brace-format
+msgid ""
+"This model ({model}) does not support image description. Please select one "
+"of the following models: {models}."
+msgstr ""
+"Ця модель ({model}) не підтримує опис зображення. Виберіть одну з таких "
+"моделей: {models}."
+
+#. Translators: Title for model capability validation errors.
+#. Translators: Title of the error dialog when the user attaches audio but the chosen chat model does not accept audio input.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1731
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1748
+msgid "Invalid model"
+msgstr "Неправильна модель"
+
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1740
+#, python-brace-format
+msgid ""
+"This model ({model}) does not support audio input. Please select one of the "
+"following models: {models}."
+msgstr ""
+"Ця модель ({model}) не підтримує аудіо введення. Будь ласка, виберіть одну з "
+"таких моделей: {models}."
+
+#. Translators: Fallback text when no audio-capable model is available.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1745
+msgid "none available"
+msgstr "немає доступних"
+
+#. Translators: Informational warning about automatic image resize behavior/cost impact.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1758
+msgid ""
+"Be aware that the add-on may auto-resize images before API submission to "
+"lower request sizes and costs. Adjust this feature in the AI-Hub settings if "
+"needed. This message won't show again."
+msgstr ""
+"Зверніть увагу, що додаток може автоматично змінювати розмір зображень перед "
+"відправкою до API, щоб зменшити обсяг запитів та витрати. За потреби "
+"налаштуйте цю функцію в налаштуваннях AI-Hub. Це повідомлення більше не "
+"з’являтиметься."
-#. Translators: This is a message displayed when uploading one image to the API.
-#: addon/globalPlugins/openai/maindialog.py:233
-msgid "Uploading one image, please wait..."
-msgstr "Відвантаження одного зображення, зачекайте..."
+#. Translators: Title for image-resize informational dialog.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1762
+msgid "Image resizing"
+msgstr "Зміна розміру зображення"
+
+#. Translators: Error shown when a temporary file could not be deleted.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1829
+#, python-format
+msgid ""
+"Unable to delete the file: %s\n"
+"Please remove it manually."
+msgstr ""
+"Не вдалося видалити файл: %s\n"
+"Видаліть його вручну."
-#. Translators: This is a message displayed when uploading multiple images to the API.
-#: addon/globalPlugins/openai/maindialog.py:236
+#. Translators: Status message after attaching recorded/loaded audio input.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1923
+msgid "Audio added for direct model input"
+msgstr "Додано аудіо для прямого введення в модель"
+
+#. Translators: Status message after inserting transcribed text into prompt.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1936
#, python-format
-msgid "Uploading %d images, please wait..."
-msgstr "Відвантажуються %d зображень, будь ласка, зачекайте..."
+msgid "Insertion of: %s"
+msgstr "Вставка з: %s"
-#. Translators: This is the label for the conversation mode checkbox in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:584
-msgid "&Conversation mode"
-msgstr "&Режим розмови"
+#. Translators: Prompt appended to error text when it contains a URL.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1959
+msgid "Do you want to open the URL in your browser?"
+msgstr "Бажаєте відкрити URL-адресу у своєму браузері?"
-#. Translators: This is the label for the system prompt text control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:592
-msgid "S&ystem prompt:"
-msgstr "С&истемна підказка:"
+#. Translators: Hint spoken when Escape key is blocked by settings.
+#: addon\globalPlugins\AIHub\conversation_dialog.py:1990
+msgid "Press Alt+F4 to close the dialog"
+msgstr "Натисніть Alt+F4, щоб закрити діалог"
-#. Translators: This is the label for the messages text control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:612
-msgid "&Messages:"
+#. Translators: Label for account selection list in a conversation tab.
+#. Translators: Label before the Google account drop-down in the Lyria 3 Pro tool.
+#. Translators: Label before the Mistral account drop-down in the Mistral OCR tool.
+#. Translators: Label before the Mistral account drop-down in the Mistral Speech-to-Text tool.
+#. Translators: Label before the account drop-down choosing which saved Ollama endpoint/credentials to use.
+#. Translators: Label before the OpenAI account drop-down in the OpenAI Transcription tool.
+#. Translators: Label before the OpenAI account drop-down in the OpenAI TTS tool.
+#. Translators: Label before the Mistral account drop-down in the Voxtral TTS tool.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:68
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:53
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:54
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:77
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:68
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:63
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:68
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:72
+msgid "&Account:"
+msgstr "&Обліковий запис:"
+
+#. Translators: Label for system prompt text field.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:75
+msgid "Sy&stem prompt:"
+msgstr "&Системна підказка:"
+
+#. Translators: Label for message history text area.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:84
+msgid "Me&ssages:"
msgstr "&Повідомлення:"
-#. Translators: This is the label for the prompt text control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:627
+#. Translators: Label for the user prompt input field.
+#. Translators: Label before the main multiline music prompt describing what Lyria should generate.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:94
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:60
msgid "&Prompt:"
msgstr "&Запит:"
-#. Translators: This is the label for the images list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:641
-msgid "Images:"
-msgstr "Зображення:"
+#. Translators: Section label for pending attachments in this tab.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:116
+msgid "Attachments"
+msgstr "Вкладення"
+
+#. Translators: AI-Hub conversation tab (one notebook page): column title in a report-style list.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:122
+msgid "&Files:"
+msgstr "&Файли:"
-#. Translators: This is the label for the name column in the image list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:651
+#. Translators: Column headers in attached files list.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:130
msgid "name"
msgstr "назва"
-#. Translators: This is the label for the path column in the image list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:656
+#. Translators: AI-Hub conversation tab (one notebook page): read-only explanatory line next to controls.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:132
msgid "path"
msgstr "шлях"
-#. Translators: This is the label for the size column in the image list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:661
+#. Translators: AI-Hub conversation tab (one notebook page): read-only explanatory line next to controls.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:134
msgid "size"
msgstr "розмір"
-#. Translators: This is the label for the dimensions column in the image list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:666
+#. Translators: AI-Hub conversation tab (one notebook page): read-only explanatory line next to controls.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:136
msgid "Dimensions"
msgstr "Розміри"
-#. Translators: This is the label for the description column in the image list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:671
+#. Translators: AI-Hub conversation tab (one notebook page): read-only explanatory line next to controls.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:138
msgid "description"
msgstr "опис"
-#. Translators: This is the label for the model list box in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:694
+#. Translators: AI-Hub conversation tab (one notebook page): column title in a report-style list.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:155
+msgid "A&udio files:"
+msgstr "&Аудіофайли:"
+
+#. Translators: Column headers in attached audio list.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:163
+msgid "File"
+msgstr "Файл"
+
+#. Translators: AI-Hub conversation tab (one notebook page): read-only explanatory line next to controls.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:165
+msgid "Path"
+msgstr "Шлях"
+
+#. Translators: Label for model selection list in a conversation tab.
+#: addon\globalPlugins\AIHub\conversation_session_panel.py:183
msgid "M&odel:"
msgstr "М&одель:"
-#. Translators: This is the label for the model name column in the model list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:704
-msgid "Name"
-msgstr "Назва"
+#. Translators: Text in conversation metadata/properties shown to the user.
+#. Translators: Placeholder text when a file size cannot be determined.
+#. Translators: Placeholder model label when no model is known.
+#. Translators: Text in attachment/file handling messages.
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#. Translators: Placeholder model name in the «Conversation properties» token summary when a message block has no model id.
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\conversations.py:529
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:43
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:254
+#: addon\globalPlugins\AIHub\filehandlers.py:180
+#: addon\globalPlugins\AIHub\filehandlers.py:186
+#: addon\globalPlugins\AIHub\historyhandlers.py:88
+#: addon\globalPlugins\AIHub\historyhandlers.py:103
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:111
+msgid "unknown"
+msgstr "невідома помилка"
-#. Translators: This is the label for the model provider column in the model list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:709
-msgid "Provider"
-msgstr "Постачальник"
+#. Translators: Title of the conversation management dialog
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:66
+msgid "Conversation history"
+msgstr "Історія розмов"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:72
+msgid "Last modified (newest &first)"
+msgstr "Останні зміни (спочатку &новіші)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:73
+msgid "Last modified (&oldest first)"
+msgstr "Останні зміни (спочатку найдавніші)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:74
+msgid "&Name (A to Z)"
+msgstr "&Назва (від А до Я)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:75
+msgid "Na&me (Z to A)"
+msgstr "&Назва (Від Я до А)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:76
+msgid "&Tokens (highest first)"
+msgstr "&Токени (спочатку найвищі)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:77
+msgid "To&kens (lowest first)"
+msgstr "То&кени (спочатку найнижчі)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:78
+msgid "&Messages (most first)"
+msgstr "&Повідомлення (спочатку найбільше)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:79
+msgid "Mes&sages (fewest first)"
+msgstr "&Повідомлення (спочатку найменше)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:80
+msgid "&Format (A to Z)"
+msgstr "&Формат (від А до Я)"
+
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:81
+msgid "For&mat (Z to A)"
+msgstr "&Формат (від Я до А)"
+
+#. Translators: Static label above the list of saved conversations in the Manage saved conversations dialog.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:94
+msgid "Saved conversations:"
+msgstr "Збережені розмови:"
+
+#. Translators: Label for the conversation-history filter input.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:100
+msgid "&Filter (F1 for help):"
+msgstr "&Фільтр (F1 для довідки):"
+
+#. Translators: List column header: saved conversation display title in Manage saved conversations.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:114
+msgid "Name"
+msgstr "Назва"
+
+#. Translators: List column header: stored conversation format id (e.g. generic, tool output).
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:116
+msgid "Format"
+msgstr "Формат"
+
+#. Translators: List column header: last modification timestamp of the conversation file.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:118
+msgid "Last modified"
+msgstr "Востаннє змінено"
+
+#. Translators: List column header: number of chat messages in the saved conversation.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:120
+msgid "Messages"
+msgstr "Повідомлення"
+
+#. Translators: List column header: total token count when usage metadata is available.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:122
+msgid "Tokens"
+msgstr "Токени"
+
+#. Translators: List column header: primary model id used in that conversation when known.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:124
+msgid "Main model"
+msgstr "Основна модель"
+
+#. Translators: Static label above the read-only summary of the currently selected saved conversation.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:141
+msgid "Selected conversation properties:"
+msgstr "Вибрані властивості розмови:"
+
+#. Translators: Button that removes every saved conversation that has no messages and no draft text.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:148
+msgid "Delete &empty"
+msgstr "Видалити та очистити"
+
+#. Translators: Button that deletes every conversation in the list after confirmation.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:151
+msgid "Delete a&ll"
+msgstr "Видалити &все"
+
+#. Translators: Heading at the top of the F1 filter-help text in the Manage saved conversations dialog.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:319
+msgid "Filter syntax"
+msgstr "Синтаксис фільтра"
+
+#. Translators: Help line explaining that several key:value filters can be combined with spaces in the history search box.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:322
+msgid "You can combine key:value terms separated by spaces."
+msgstr "Ви можете комбінувати пари «ключ:значення», розділяючи їх пробілами."
+
+#. Translators: Help line explaining that plain words (without key:) only match the saved conversation title.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:324
+msgid ""
+"If no key:value term is present, search is done in the conversation title "
+"only."
+msgstr ""
+"Якщо ключ:значення відсутні, пошук виконуватиметься лише в заголовках розмов."
+
+#. Translators: Label before the example filter queries in the F1 help text.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:327
+msgid "Examples:"
+msgstr "Приклади:"
+
+#. Translators: Label before the list of allowed filter field names in the F1 help text.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:336
+msgid "Supported keys:"
+msgstr "Підтримувані клавіші:"
+
+#. Translators: Comma-separated list of filter keys as shown in F1 help; keep English key names so they match the search box.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:338
+msgid ""
+"name/title, model, format/type, id, date/updated, messages/msg/msgs, tokens/"
+"token, draft/draftlen, empty, has"
+msgstr ""
+"назва/заголовок, модель, формат/тип, ідентифікатор, дата/оновлено, "
+"повідомлення/msg/msgs, токени/токен, чернетка/довжина чернетки, порожній, "
+"містить"
+
+#. Translators: Help line listing comparison operators allowed for numeric filters; placeholder is backtick-wrapped operator list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:341
+#, python-format
+msgid "Numeric operators: %s (for messages/tokens/draft)."
+msgstr "Числові оператори: %s (для повідомлень/токенів/чернеток)."
+
+#. Translators: Help line listing accepted true/false spellings for the empty: filter; placeholder is literal token list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:343
+#, python-format
+msgid "Boolean values: %s (for empty)."
+msgstr "Логічні значення: %s (для порожнього)."
+
+#. Translators: Help line listing allowed values after has: in the filter box; placeholder is literal token list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:345
+#, python-format
+msgid "has values: %s."
+msgstr "містить значення: %s."
+
+#. Translators: Title of the read-only NVDA browseable window opened with F1 for the saved-conversation filter field.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:350
+msgid "Filter help"
+msgstr "Допомога з фільтрами"
+
+#. Translators: First line of the read-only properties text for one saved conversation: display name (placeholder is title or «Untitled conversation»).
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:478
+#, python-format
+msgid "Name: %s"
+msgstr "Назва: %s"
+
+#. Translators: Properties line: stored conversation format id (placeholder is format string, often «generic»).
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:480
+#, python-format
+msgid "Format: %s"
+msgstr "Формат: %s"
+
+#. Translators: Properties line: number of chat messages saved in this conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:482
+#: addon\globalPlugins\AIHub\historyhandlers.py:109
+#, python-format
+msgid "Messages: %d"
+msgstr "Повідомлення: %d"
+
+#. Translators: Properties line: character count of the system prompt text.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:484
+#, python-format
+msgid "System prompt length: %d characters"
+msgstr "Довжина системної підказки: %d символів"
+
+#. Translators: Properties line: character count of the user’s draft prompt area when saved.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:486
+#, python-format
+msgid "Draft prompt length: %d characters"
+msgstr "Довжина підказки чернетки: %d символів"
+
+#. Translators: Properties line: sum of input tokens across all turns (shown only when usage was recorded).
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:491
+#: addon\globalPlugins\AIHub\historyhandlers.py:111
+#, python-format
+msgid "Total input tokens: %d"
+msgstr "Загальна кількість введених токенів: %d"
+
+#. Translators: Properties line: sum of output tokens across all turns.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:493
+#: addon\globalPlugins\AIHub\historyhandlers.py:113
+#, python-format
+msgid "Total output tokens: %d"
+msgstr "Загальна кількість вихідних токенів: %d"
+
+#. Translators: Properties line: combined input plus output token total.
+#. Translators: Text in history navigation and context-menu messages.
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:495
+#: addon\globalPlugins\AIHub\historyhandlers.py:115
+#: addon\globalPlugins\AIHub\propertiesutils.py:130
+#, python-format
+msgid "Total tokens: %d"
+msgstr "Усього токенів: %d"
+
+#. Translators: Property line in «Manage saved conversations» when the conversation file has no stored token totals.
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:499
+#: addon\globalPlugins\AIHub\propertiesutils.py:102
+#: addon\globalPlugins\AIHub\propertiesutils.py:123
+msgid "Token usage: unavailable"
+msgstr "Використання токена: недоступне"
+
+#. Translators: Property line: aggregate reasoning-token count for one saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:502
+#: addon\globalPlugins\AIHub\historyhandlers.py:119
+#, python-format
+msgid "Total reasoning tokens: %d"
+msgstr "Загальна кількість токенів міркування: %d"
+
+#. Translators: Property line: aggregate cached prompt-token count for one saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:505
+#: addon\globalPlugins\AIHub\historyhandlers.py:122
+#, python-format
+msgid "Total cached input tokens: %d"
+msgstr "Загальна кількість кешованих введених токенів: %d"
+
+#. Translators: Property line: aggregate cache-write token count for one saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:508
+#: addon\globalPlugins\AIHub\historyhandlers.py:125
+#, python-format
+msgid "Total cache write tokens: %d"
+msgstr "Загальна кількість токенів запису в кеш: %d"
+
+#. Translators: Property line: aggregate input-audio token count for one saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:511
+#: addon\globalPlugins\AIHub\historyhandlers.py:128
+#, python-format
+msgid "Total input audio tokens: %d"
+msgstr "Загальна кількість введених аудіотокенів: %d"
+
+#. Translators: Property line: aggregate output-audio token count for one saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:514
+#: addon\globalPlugins\AIHub\historyhandlers.py:131
+#, python-format
+msgid "Total output audio tokens: %d"
+msgstr "Загальна кількість токенів аудіо вводу: %d"
+
+#. Translators: Property line: total estimated API dollar cost for one saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:517
+#: addon\globalPlugins\AIHub\historyhandlers.py:134
+#, python-format
+msgid "Total cost: $%.6f"
+msgstr "Загальна вартість: $%.6f"
+
+#. Translators: Section heading before the per-model message counts in the saved-conversation properties list.
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:521
+#: addon\globalPlugins\AIHub\historyhandlers.py:137
+msgid "Models used:"
+msgstr "Використовувані моделі:"
+
+#. Translators: Section heading before listing attachment paths referenced in one saved conversation.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:527
+msgid "Files (input/output):"
+msgstr "Файли (введення/виведення):"
+
+#. Translators: Placeholder when a file entry has no stored path.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:535
+msgid "(no path)"
+msgstr "(немає шляху)"
+
+#. Translators: One file line in the conversation properties list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:538
+#, python-brace-format
+msgid "- [{role}] {name} ({kind}, {size})"
+msgstr "- [{role}] {name} ({kind}, {size})"
+
+#. Translators: Conversation history context menu — opens every selected chat; Enter with focus on the list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:589
+#, python-format
+msgid "Open &these %(count)d conversations (Enter)"
+msgstr "Відкрити &ці %(count)d розмов (Enter)"
+
+#. Translators: Conversation history context menu — deletes every selected chat; Del with focus on the list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:592
+#, python-format
+msgid "&Delete %(count)d conversations (Del)"
+msgstr "&Видалити %(count)d розмов (Del)"
+
+#. Translators: Conversation history list context menu — opens selected chat; Enter opens when the list has focus.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:598
+msgid "&Open (Enter)"
+msgstr "&Відкрити (Enter)"
+
+#. Translators: Conversation history list context menu — rename; F2 when the list has focus.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:600
+msgid "&Rename (F2)"
+msgstr "&Перейменувати (F2)"
+
+#. Translators: Conversation history list context menu — metadata window; Alt+Enter when the list has focus.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:602
+msgid "&Properties (Alt+Enter)"
+msgstr "&Властивості (Alt+Enter)"
+
+#. Translators: Conversation history list — parent item for the sort-order submenu.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:614
+msgid "Sort &by"
+msgstr "Сортувати &за"
+
+#. Translators: Conversation history list context menu — delete; Del when the list has focus.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:617
+msgid "&Delete (Del)"
+msgstr "&Видалити (Del)"
+
+#. Translators: Message shown when properties require exactly one selected conversation.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:681
+msgid "Select only one conversation to show properties."
+msgstr "Виберіть лише одну розмову, щоб переглянути її властивості."
+
+#. Translators: First heading line inside the read-only properties text for one saved conversation (duplicated as window title below).
+#. Translators: Title of NVDA’s read-only browseable window showing every line of metadata for the selected saved conversation.
+#. Translators: Text in history navigation and context-menu messages.
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:689
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:693
+#: addon\globalPlugins\AIHub\historyhandlers.py:106
+#: addon\globalPlugins\AIHub\historyhandlers.py:141
+#: addon\globalPlugins\AIHub\historyhandlers.py:620
+msgid "Conversation properties"
+msgstr "Властивості розмови"
+
+#. Translators: Error shown when a selected conversation cannot be loaded from disk.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:707
+msgid "Unable to load conversation."
+msgstr "Не вдалося завантажити розмову."
+
+#. Translators: Shown when opening several chats but at least one file failed to load.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:714
+msgid "Some conversations could not be loaded."
+msgstr "Деякі розмови не вдалося завантажити."
+
+#. Translators: Message shown when renaming requires exactly one selected conversation.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:750
+msgid "Select only one conversation to rename."
+msgstr "Виберіть лише одну розмову для перейменування."
+
+#. Translators: Yes/No confirmation question before deleting exactly one saved conversation from the history list.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:780
+msgid "Delete this conversation? This cannot be undone."
+msgstr "Видалити цю розмову? Це неможливо скасувати."
+
+#. Translators: Yes/No confirmation question before deleting several selected conversations; placeholder is the count.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:783
+#, python-format
+msgid "Delete %d conversations? This cannot be undone."
+msgstr "Видалити %d розмов? Цю дію неможливо скасувати."
+
+#. Translators: Title of the Yes/No confirmation dialog for deleting one or more saved conversations.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:789
+msgid "Delete conversation"
+msgstr "Видалити розмову"
+
+#. Translators: Yes/No confirmation question before wiping the entire saved-conversation list; placeholder is how many will be removed.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:800
+#, python-format
+msgid "Delete all %d conversations? This cannot be undone."
+msgstr "Видалити всі розмови (%d)? Це неможливо скасувати."
+
+#. Translators: Title of the Yes/No confirmation dialog for deleting every saved conversation at once.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:802
+msgid "Delete all conversations"
+msgstr "Видалити всі розмови"
+
+#. Translators: Spoken status after deleting one or many conversations.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:829
+#, python-format
+msgid "Deleted %d conversation."
+msgstr "Видалено %d розмову."
+
+#. Translators: AI-Hub conversation history dialog: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:832
+#, python-format
+msgid "Deleted %d conversations."
+msgstr "Видалено %d розмов."
+
+#. Translators: Spoken message when no empty conversations match delete-empty action.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:842
+msgid "No empty conversations to delete."
+msgstr "Немає порожніх розмов для видалення."
+
+#. Translators: AI-Hub conversation history dialog: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:848
+#, python-format
+msgid "Delete all %d empty conversations? This cannot be undone."
+msgstr "Видалити всі порожні розмови (%d)? Це неможливо скасувати."
+
+#. Translators: AI-Hub conversation history dialog: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:850
+msgid "Delete empty conversations"
+msgstr "Видалити порожні розмови"
+
+#. Translators: Fallback message when no API key is configured.
+#: addon\globalPlugins\AIHub\conversations_manager_dialog.py:871
+msgid "No API key provided"
+msgstr "Ключ API не надано"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\filehandlers.py:180
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:235
+msgid "image"
+msgstr "зображення"
+
+#: addon\globalPlugins\AIHub\filehandlers.py:186
+msgid "document"
+msgstr "документ"
+
+#. Translators: Text in attachment/file handling messages.
+#: addon\globalPlugins\AIHub\filehandlers.py:194
+msgid "selected provider"
+msgstr "обраний постачальник"
+
+#: addon\globalPlugins\AIHub\filehandlers.py:201
+#, python-brace-format
+msgid ""
+"The following attachments are not supported by {provider} and cannot be "
+"sent:\n"
+"{details}"
+msgstr ""
+"Наступні вкладення не підтримуються {provider} і не можуть бути надіслані:\n"
+"{details}"
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\filehandlers.py:239
+msgid "Describe the images in as much detail as possible."
+msgstr "Описати зображення якомога детальніше."
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\filehandlers.py:245
+msgid "From f&ile path..."
+msgstr "&Зі шляху до файлу..."
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\filehandlers.py:249
+msgid "From &URL..."
+msgstr "З &URL..."
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\filehandlers.py:253
+msgid "From &screenshot"
+msgstr "Зі &знімка екрана"
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\filehandlers.py:272
+msgid "&Remove selected files"
+msgstr "&Видалити вибрані файли"
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\filehandlers.py:276
+msgid "Remove &all files"
+msgstr "Видалити &всі файли"
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\filehandlers.py:281
+msgid "Add from f&ile path..."
+msgstr "&Додати зі шляху до файлу..."
+
+#. Translators: AI-Hub conversation — attachments and files: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\filehandlers.py:285
+msgid "Add from &URL..."
+msgstr "Додати з &URL..."
+
+#. Translators: Text in attachment/file handling messages.
+#: addon\globalPlugins\AIHub\filehandlers.py:391
+msgid "Select files"
+msgstr "Виберіть файли"
+
+#. Translators: Text in attachment/file handling messages.
+#: addon\globalPlugins\AIHub\filehandlers.py:394
+msgid "Supported files"
+msgstr "Підтримувані файли"
+
+#. Translators: Error body when the user adds a local file that is already in the conversation’s attachment list (placeholder is the path).
+#: addon\globalPlugins\AIHub\filehandlers.py:419
+#, python-format
+msgid ""
+"The following file has already been added and will be ignored:\n"
+"%s"
+msgstr ""
+"Наступний файл уже додано та буде проігноровано:\n"
+"%s"
+
+#. Translators: Warning body listing attachment paths skipped because the current model’s provider cannot use them (newline-separated list).
+#: addon\globalPlugins\AIHub\filehandlers.py:426
+#, python-format
+msgid ""
+"Some files are not supported by the selected provider and were ignored:\n"
+"%s"
+msgstr ""
+"Деякі файли не підтримуються вибраним постачальником і були проігноровані:\n"
+"%s"
+
+#. Translators: Title of the warning dialog when some dropped or chosen files were skipped as unsupported.
+#: addon\globalPlugins\AIHub\filehandlers.py:428
+msgid "Unsupported files"
+msgstr "Непідтримувані файли"
+
+#. Translators: Text in attachment/file handling messages.
+#: addon\globalPlugins\AIHub\filehandlers.py:442
+msgid "Enter file URL"
+msgstr "Введіть URL файлу"
+
+#. Translators: Error body when the user entered an attachment URL that does not match the expected URL pattern.
+#: addon\globalPlugins\AIHub\filehandlers.py:454
+msgid "Invalid URL, bad format."
+msgstr "Недійсна URL-адреса, неправильний формат."
+
+#. Translators: Error message when adding an attachment URL that fails security or protocol checks in the conversation window.
+#: addon\globalPlugins\AIHub\filehandlers.py:464
+msgid "This URL cannot be opened (unsupported scheme or blocked address)."
+msgstr ""
+"Цю URL неможливо відкрити (непідтримувана схема або заблокована адреса)."
+
+#. Translators: Title of the error dialog when the attachment URL failed security or protocol validation.
+#: addon\globalPlugins\AIHub\filehandlers.py:466
+msgid "Invalid URL"
+msgstr "Недійсний URL"
+
+#. Translators: Error body when a fetched URL’s content type is not allowed for the current provider’s models.
+#: addon\globalPlugins\AIHub\filehandlers.py:501
+msgid "This URL file type is not supported by the selected provider."
+msgstr "Цей тип файлу URL не підтримується вибраним постачальником."
+
+#. Translators: Title of the error dialog when the URL attachment’s MIME type is rejected.
+#: addon\globalPlugins\AIHub\filehandlers.py:503
+msgid "Unsupported file type"
+msgstr "Непідтримуваний тип файлу"
+
+#. Translators: Error body when NVDA could not read image width/height from a URL attachment (placeholder is the technical error).
+#: addon\globalPlugins\AIHub\filehandlers.py:514
+#, python-format
+msgid "Failed to get image dimensions. %s"
+msgstr "Не вдалося отримати розміри зображення. %s"
+
+#. Translators: AI-Hub conversation — attachments and files: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\filehandlers.py:530
+#, python-format
+msgid "HTTP error %s."
+msgstr "Помилка HTTP %s."
+
+#. Translators: AI-Hub conversation — attachments and files: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\filehandlers.py:541
+msgid "Screenshot reception disabled"
+msgstr "Отримання знімків екрана вимкнено"
+
+#. Translators: AI-Hub conversation — attachments and files: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\filehandlers.py:545
+msgid "Screenshot reception enabled"
+msgstr "Отримання знімків екрана увімкнено"
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:85
+msgid "No message selected."
+msgstr "Повідомлення не вибрано."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\historyhandlers.py:90
+#: addon\globalPlugins\AIHub\historyhandlers.py:616
+#: addon\globalPlugins\AIHub\propertiesutils.py:184
+msgid "Message properties"
+msgstr "Властивості повідомлення"
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:100
+msgid "No conversation messages yet."
+msgstr "Повідомлень у розмові ще немає."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:214
+msgid ""
+"Some files were skipped because they are not supported by the selected "
+"provider."
+msgstr ""
+"Деякі файли було пропущено, оскільки вони не підтримуються вибраним "
+"постачальником."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:221
+#, python-format
+msgid "%d file(s) attached."
+msgstr "Додано %d файл(ів)."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:258
+msgid "URL attached."
+msgstr "Посилання додано."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:363
+#: addon\globalPlugins\AIHub\historyhandlers.py:377
+msgid "No thinking block in the current message."
+msgstr "У цьому повідомленні немає блоку для роздумів."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:368
+msgid "Moved to end of thinking block."
+msgstr "Переміщено в кінець блоку міркування."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:381
+msgid "Moved to start of thinking block."
+msgstr "Переміщено на початок блоку міркування."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:395
+msgid "Moved to beginning of content."
+msgstr "Перенесено на початок вмісту."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:410
+msgid "Moved to end of content."
+msgstr "Переміщено в кінець вмісту."
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:421
+#, python-format
+msgid "Response copied to system: %s"
+msgstr "Відповідь скопійовано до system: %s"
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:431
+msgid "Copied to prompt"
+msgstr "Скопійовано до запиту"
+
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\historyhandlers.py:437
+msgid "Copy"
+msgstr "Копіювати"
+
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\historyhandlers.py:446
+msgid "Copy prompt"
+msgstr "Копіювати запит"
+
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\historyhandlers.py:451
+msgid "Copy assistant message"
+msgstr "Копіювати повідомлення помічника"
+
+#: addon\globalPlugins\AIHub\historyhandlers.py:451
+msgid "Copy response"
+msgstr "Копіювати відповідь"
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:456
+msgid "as formatted HTML"
+msgstr "як форматований HTML"
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:488
+msgid "Block deleted"
+msgstr "Блокування видалено"
+
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\historyhandlers.py:523
+msgid "Save history"
+msgstr "Зберегти історію"
+
+#. Translators: Text in history navigation and context-menu messages.
+#: addon\globalPlugins\AIHub\historyhandlers.py:526
+msgid "Text file"
+msgstr "Текстовий файл"
+
+#. Translators: AI-Hub conversation — message history area: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\historyhandlers.py:538
+msgid "History saved"
+msgstr "Історію збережено"
+
+#. Translators: AI-Hub conversation — message history area: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:544
+msgid "Reset to default"
+msgstr "Скинути до початкових"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:562
+msgid "&Play / Pause audio"
+msgstr "&Відтворити / Призупинити аудіо"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:566
+msgid "S&top audio"
+msgstr "З&упинити аудіо"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:571
+msgid "Show message in web view as formatted HTML"
+msgstr "Показати повідомлення у веб-перегляді як форматований HTML"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:575
+msgid "Show message in web view as HTML source"
+msgstr "Показати повідомлення у веб-перегляді як джерело HTML"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:579
+msgid "Copy message as plain text"
+msgstr "Копіювати повідомлення як звичайний текст"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:583
+msgid "Copy message as formatted HTML"
+msgstr "Копіювати повідомлення як форматований HTML"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:587
+msgid "Hide thinking in history"
+msgstr "Приховати «Міркування в історії»"
+
+#: addon\globalPlugins\AIHub\historyhandlers.py:587
+msgid "Show thinking in history"
+msgstr "Показати міркування в історії"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:592
+msgid "Copy response to system"
+msgstr "Копіювати відповідь до system"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:596
+msgid "Copy prompt to prompt"
+msgstr "Копіювати запит до запиту"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:600
+msgid "Delete block"
+msgstr "Видалити блок"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:604
+msgid "Save history as text file"
+msgstr "Зберегти історію у текстовий файл"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:624
+msgid "Say message"
+msgstr "Промовити повідомлення"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:628
+msgid "Move to previous message"
+msgstr "Перейти до попереднього повідомлення"
+
+#. Translators: AI-Hub conversation — message history area: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:632
+msgid "Move to next message"
+msgstr "Перейти до наступного повідомлення"
+
+#. Translators: AI-Hub conversation — message history area: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:636
+msgid "Move to start of thinking block"
+msgstr "Перейти до початку блоку міркування"
+
+#. Translators: AI-Hub conversation — message history area: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:640
+msgid "Move to end of thinking block"
+msgstr "Перейти вкінець ьблоку міркування"
+
+#. Translators: AI-Hub conversation — message history area: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:644
+msgid "Move to beginning of content"
+msgstr "Перейти до початку вмісту"
+
+#. Translators: AI-Hub conversation — message history area: entry in a right-click or application context menu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:648
+msgid "Move to end of content"
+msgstr "Перейти вкінець вмісту"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:659
+msgid "Dictate"
+msgstr "Диктуйте"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:664
+msgid "Attach image from f&ile..."
+msgstr "Додати зображення з &файлу..."
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:668
+msgid "Attach image from &URL..."
+msgstr "Додати зображення з &URL..."
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:672
+msgid "Attach image from &screenshot"
+msgstr "Додати зображення зі &знімка екрана"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:676
+msgid "Attach audio from f&ile..."
+msgstr "Додати аудіо з &файлу..."
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:681
+msgid "Paste (file or text)"
+msgstr "Вставити (файл або текст)"
+
+#. Translators: AI-Hub conversation — message history area: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\historyhandlers.py:687
+msgid "Insert previous prompt"
+msgstr "Вставити попередній запит"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:93 addon\globalPlugins\AIHub\model.py:113
+#: addon\globalPlugins\AIHub\model.py:121
+#: addon\globalPlugins\AIHub\model.py:132
+msgid "Low"
+msgstr "Низький"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:95 addon\globalPlugins\AIHub\model.py:123
+#: addon\globalPlugins\AIHub\model.py:134
+msgid "Medium"
+msgstr "Середній"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:97 addon\globalPlugins\AIHub\model.py:115
+#: addon\globalPlugins\AIHub\model.py:125
+#: addon\globalPlugins\AIHub\model.py:136
+msgid "High"
+msgstr "Високий"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:99
+msgid "Extra high"
+msgstr "Дуже високий"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:101
+msgid "Maximum"
+msgstr "Максимальний"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:130
+msgid "Minimal"
+msgstr "Мінімальний"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:143
+msgid "preview: not yet suited for production traffic"
+msgstr "попередній перегляд: ще не підходить для робочого трафіку"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:161
+#, python-brace-format
+msgid "provider: {provider}"
+msgstr "постачальник: {provider}"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:165
+#, python-brace-format
+msgid "ID: {id}"
+msgstr "ID: {id}"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:168
+#, python-brace-format
+msgid "context window: {contextWindow}"
+msgstr "контекстне вікно: {contextWindow}"
+
+#. Translators: Text in model labels and capability descriptions.
+#: addon\globalPlugins\AIHub\model.py:171
+#, python-brace-format
+msgid "max output tokens: {maxOutputToken}"
+msgstr "максимальна кількість вихідних токенів: {maxOutputToken}"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:83
+msgid "Yes"
+msgstr "Так"
+
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:83
+msgid "No"
+msgstr "Ні"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:119
+#: addon\globalPlugins\AIHub\propertiesutils.py:186
+msgid "Overview"
+msgstr "Огляд"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:122
+#: addon\globalPlugins\AIHub\settings_dialog.py:172
+msgid "Provider"
+msgstr "Постачальник"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:124
+msgid "Context window"
+msgstr "Контекстне вікно"
+
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:124
+#, python-format
+msgid "%s tokens"
+msgstr "%s токенів"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:126
+msgid "Max output tokens"
+msgstr "Максимум токенів виводу"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:129
+msgid "Created"
+msgstr "Створено"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:131
+msgid "Max temperature"
+msgstr "Максимальна температура"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:133
+msgid "Default temperature"
+msgstr "Початкова температура"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:137
+msgid "Text"
+msgstr "Текст"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:140
+msgid "Image input"
+msgstr "Введення зображення"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:143
+msgid "Audio input"
+msgstr "Аудіо вхід"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:146
+msgid "Audio output"
+msgstr "Аудіовихід"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:149
+msgid "Reasoning"
+msgstr "Міркування"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:152
+msgid "Web search"
+msgstr "Веб пошук"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:156
+msgid "Capabilities and parameters"
+msgstr "Можливості та параметри"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:159
+msgid "Capabilities"
+msgstr "Можливості"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:162
+msgid "Supported parameters"
+msgstr "Підтримувані параметри"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:164
+msgid "none"
+msgstr "немає"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:172
+msgid "Description"
+msgstr "Опис"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:180
+msgid "Pricing"
+msgstr "Ціноутворення"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:185
+msgid "Input tokens"
+msgstr "Токени введення"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:187
+msgid "Output tokens"
+msgstr "Токени виводу"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:189
+msgid "Input cache read"
+msgstr "Читання кешу Введення"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:191
+msgid "Input cache write"
+msgstr "Запис у кеш введення"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:193
+msgid "Audio tokens"
+msgstr "Аудіо токени"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:195
+msgid "Image"
+msgstr "Зображення"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:197
+msgid "Request"
+msgstr "Запит"
+
+#. Translators: AI-Hub model details (browseable HTML): label, section heading, capability tag, or table cell in the generated report.
+#: addon\globalPlugins\AIHub\modeldetailsutils.py:224
+msgid "Additional information"
+msgstr "Додаткова інформація"
+
+#. Translators: Error message shown when no account is selected.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:99
+msgid "Please select an account."
+msgstr "Виберіть обліковий запис."
+
+#. Translators: Error message shown when no model is selected.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:181
+msgid "Please select a model."
+msgstr "Будь ласка, виберіть модель."
+
+#. Translators: Capability tags shown in model list labels.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:232
+msgid "text"
+msgstr "текст"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:238
+msgid "audio"
+msgstr "аудіо"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:241
+msgid "reasoning"
+msgstr "міркування"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:244
+msgid "web search"
+msgstr "веб пошук"
+
+#. Translators: Title for the browseable model details view.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:469
+msgid "Model details"
+msgstr "Деталі моделі"
+
+#. Translators: Context-menu item for opening model details.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:526
+msgid "Show model &details"
+msgstr "Показати деталі &моделі"
+
+#. Translators: Context-menu item labels to favorite/unfavorite a model.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:531
+msgid "Add to &favorites"
+msgstr "Додати в &обране"
+
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:531
+msgid "Remove from &favorites"
+msgstr "Видалити з &обраного"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:540
+msgid "Most recent first"
+msgstr "Спочатку найновіші"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:542
+msgid "Oldest first"
+msgstr "Спочатку найстаріші"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:544
+msgid "Name (A–Z)"
+msgstr "Назва (За зростанням)"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:546
+msgid "Name (Z–A)"
+msgstr "Назва (За спаданням)"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:548
+msgid "Context window (largest first)"
+msgstr "Контекстне вікно (спочатку найбільше)"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:550
+msgid "Context window (smallest first)"
+msgstr "Контекстне вікно (спочатку найменше)"
+
+#. Translators: Text in model/account selection UI and model context menus.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:552
+msgid "Max output tokens (highest first)"
+msgstr "Макс токенів виводу (спочатку найвищий)"
+
+#. Translators: AI-Hub conversation — model list: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:554
+msgid "Max output tokens (lowest first)"
+msgstr "Макс токенів виводу (спочатку найнижчий)"
+
+#. Translators: Submenu label for model sort options.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:564
+msgid "&Sort by"
+msgstr "&Сортувати за"
+
+#. Translators: Context-menu item to refresh provider model list.
+#: addon\globalPlugins\AIHub\modelhandlers_impl.py:568
+msgid "&Refresh model list"
+msgstr "&Оновити список моделей"
+
+#: addon\globalPlugins\AIHub\plugin_mixins.py:29
+msgid ""
+"No API key provided for any provider, please provide at least one API key in "
+"the settings dialog"
+msgstr ""
+"Ключ API не надано для жодного постачальника, будь ласка, надайте принаймні "
+"один ключ API у діалозі налаштувань"
+
+#. Translators: Text in AI-Hub menu items and script prompts.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:42
+msgid "Docu&mentation"
+msgstr "&Документація"
+
+#: addon\globalPlugins\AIHub\plugin_mixins.py:42
+msgid "Open the documentation of this addon"
+msgstr "Відкрити документацію цього додатка"
+
+#. Translators: AI-Hub NVDA menu / global scripts: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:44
+msgid "API &accounts..."
+msgstr "&Облікові записи API..."
+
+#: addon\globalPlugins\AIHub\plugin_mixins.py:44
+msgid "Manage API keys and provider accounts"
+msgstr "Керування ключами API та обліковими записами постачальників"
+
+#. Translators: AI-Hub NVDA menu / global scripts: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:46
+msgid "&Conversation..."
+msgstr "&Розмова..."
+
+#. Translators: AI-Hub NVDA menu / global scripts: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:48
+msgid "Conversation &history..."
+msgstr "&Історія розмов..."
+
+#. Translators: AI-Hub NVDA menu / global scripts: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:57
+msgid "Git&Hub repository"
+msgstr "Репозиторій Git&Hub"
+
+#: addon\globalPlugins\AIHub\plugin_mixins.py:57
+msgid "Open the GitHub repository of this addon"
+msgstr "Відкрити репозиторій GitHub цього додатка"
+
+#. Translators: AI-Hub NVDA menu / global scripts: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:63
+msgid "BasiliskLLM"
+msgstr "BasiliskLLM"
+
+#: addon\globalPlugins\AIHub\plugin_mixins.py:63
+msgid "Open the BasiliskLLM website"
+msgstr "Відкрити веб-сайт BasiliskLLM"
+
+#. Translators: Text in AI-Hub menu items and script prompts.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:70
+#, python-brace-format
+msgid "AI &Hub {addon_version}"
+msgstr "AI &Hub {addon_version}"
+
+#. Translators: Error dialog body when opening AI-Hub without any configured API account (menu path included for the user).
+#: addon\globalPlugins\AIHub\plugin_mixins.py:109
+msgid ""
+"No account is configured yet. Use API accounts from the AI Hub menu or NVDA "
+"Preferences → AI-Hub."
+msgstr ""
+"Обліковий запис ще не налаштовано. Використовуйте облікові записи API з меню "
+"AI Hub або Налаштувань NVDA → AI-Hub."
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:215
+msgid "Image added to an existing session"
+msgstr "Зображення додано до існуючого сеансу"
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:256
+msgid "Failed to capture screenshot"
+msgstr "Не вдалося зробити знімок екрана"
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:258
+#, python-format
+msgid "Screenshot %s"
+msgstr "Знімок екрана %s"
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:277
+msgid "Failed to capture object region"
+msgstr "Не вдалося захопити область об’єкта"
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:279
+#, python-format
+msgid "Navigator Object %s"
+msgstr "Об'єкт навігатора %s"
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:347
+#: addon\globalPlugins\AIHub\plugin_mixins.py:372
+msgid "Recording question (direct audio)"
+msgstr "Запитання у форматі аудіозапису (пряме аудіо)"
+
+#. Translators: AI-Hub NVDA menu / global scripts: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\plugin_mixins.py:356
+#: addon\globalPlugins\AIHub\plugin_mixins.py:385
+msgid "Recording question"
+msgstr "Запис запитання"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:126
+#, python-format
+msgid "Input tokens: %d"
+msgstr "Токени введення: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:128
+#, python-format
+msgid "Output tokens: %d"
+msgstr "Токени виводу: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:134
+#, python-format
+msgid "Reasoning tokens: %d"
+msgstr "Токени міркування: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:137
+#, python-format
+msgid "Cached input tokens: %d"
+msgstr "Кешовані токени введення: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:140
+#, python-format
+msgid "Cache write tokens: %d"
+msgstr "Токени запису кешу: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:143
+#, python-format
+msgid "Input audio tokens: %d"
+msgstr "Токени для аудіо введення: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:146
+#, python-format
+msgid "Output audio tokens: %d"
+msgstr "Токени для аудіо виводу: %d"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:149
+#, python-format
+msgid "Cost: $%.6f"
+msgstr "Вартість: $%.6f"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:189
+msgid "Model"
+msgstr "Модель"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:191
+msgid "Prompt characters"
+msgstr "Символи підказки"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:193
+msgid "Response characters"
+msgstr "Символи відповіді"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:195
+msgid "Files attached"
+msgstr "Додані файли"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:197
+msgid "Audio files attached"
+msgstr "Додані аудіо файли"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:201
+msgid "Max tokens"
+msgstr "Максимум токенів"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:204
+msgid "Temperature"
+msgstr "Температура"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:207
+msgid "Top P"
+msgstr "Верхнє P"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:210
+msgid "Seed"
+msgstr "Сід"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:213
+msgid "Top K"
+msgstr "Верхнє K"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:219
+msgid "Stop sequences"
+msgstr "Зупинити послідовності"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:222
+msgid "Frequency penalty"
+msgstr "Штраф за частоту"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:225
+msgid "Presence penalty"
+msgstr "Штраф за повторюваність"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:229
+msgid "Token usage"
+msgstr "Використання токенів"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:242
+msgid "Elapsed time"
+msgstr "Час, що минув"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:246
+msgid "Time to request sent"
+msgstr "Час відправки запиту"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:250
+msgid "Time to first token"
+msgstr "Час до отримання першого токена"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:254
+msgid "Request sent to end"
+msgstr "Запит надіслано"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:258
+msgid "Generation duration"
+msgstr "Тривалість генерації"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:262
+#: addon\globalPlugins\AIHub\propertiesutils.py:274
+msgid "Mean output speed"
+msgstr "Середня швидкість виводу"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:266
+#: addon\globalPlugins\AIHub\propertiesutils.py:277
+msgid "Mean total speed"
+msgstr "Середня загальна швидкість"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:280
+msgid "Timing and throughput"
+msgstr "Час та пропускна здатність"
+
+#. Translators: Text in message/conversation properties output.
+#: addon\globalPlugins\AIHub\propertiesutils.py:287
+msgid "Reasoning text"
+msgstr "Текст міркування"
+
+#. Translators: Text in recording thread status and error messages.
+#: addon\globalPlugins\AIHub\recordthread.py:91
+msgid "Transcription copied to clipboard"
+msgstr "Транскрипцію скопійовано в буфер обміну"
+
+#. Translators: Text in recording thread status and error messages.
+#: addon\globalPlugins\AIHub\recordthread.py:212
+msgid "Transcribing..."
+msgstr "Транскрибування..."
+
+#. Translators: AI-Hub — global dictation recording: brief status feedback (speech/braille), not a full dialog.
+#: addon\globalPlugins\AIHub\recordthread.py:361
+msgid "Audio file ready for direct input"
+msgstr "Аудіофайл готовий для прямого введення"
+
+#. Translators: Text in recording thread status and error messages.
+#: addon\globalPlugins\AIHub\recordthread.py:404
+msgid "No Mistral API key configured. Please add one in AI-Hub settings."
+msgstr "Ключ Mistral API не налаштовано. Додайте його в налаштуваннях AI-Hub."
+
+#. Translators: Text in recording thread status and error messages.
+#: addon\globalPlugins\AIHub\recordthread.py:412
+msgid "OpenAI client is not available for transcription."
+msgstr "Клієнт OpenAI недоступний для транскрипції."
+
+#. Translators: Title of the error dialog when global dictation transcription fails; body text is a shortened technical error from the engine.
+#: addon\globalPlugins\AIHub\recordthread.py:450
+msgid "Transcription Error"
+msgstr "Помилка транскрипції"
+
+#. Translators: NVDA Preferences — AI-Hub category: button in the API accounts group that opens account management.
+#: addon\globalPlugins\AIHub\settings_dialog.py:33
+msgid "Manage API &accounts..."
+msgstr "Керувати обліковими записами &API..."
+
+#. Translators: NVDA Preferences — AI-Hub category: helper text under a settings group or next to a field.
+#: addon\globalPlugins\AIHub\settings_dialog.py:39
+msgid "Opens a separate dialog to add, edit, or remove provider accounts."
+msgstr ""
+"Відкриває окремий діалог для додавання, редагування або видалення облікових "
+"записів постачальника."
+
+#. Translators: NVDA Preferences — AI-Hub category: Conversation section — blocks closing the hub with Escape.
+#: addon\globalPlugins\AIHub\settings_dialog.py:50
+msgid "Block the closing using the &escape key"
+msgstr "Заблокувати закриття за допомогою клавіші &escape"
+
+#. Translators: NVDA Preferences — AI-Hub category: Conversation section — persist system prompt between sessions.
+#: addon\globalPlugins\AIHub\settings_dialog.py:55
+msgid "Remember the content of the S&ystem field between sessions"
+msgstr "Запам’ятовувати вміст поля &Системної підказки між сеансами"
+
+#. Translators: NVDA Preferences — AI-Hub category: Conversation section — auto-save after each assistant reply.
+#: addon\globalPlugins\AIHub\settings_dialog.py:60
+msgid "&Auto-save conversations after each response"
+msgstr "&Автоматичне збереження розмов після кожної відповіді"
+
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\settings_dialog.py:67
+msgid "Text To Speech"
+msgstr "Перетворення тексту в мовлення"
+
+#. Translators: NVDA Preferences — AI-Hub category: Text To Speech section — TTS voice choice label.
+#. Translators: Label before the synthetic voice combo box (alloy, verse, etc.) in the OpenAI TTS tool.
+#: addon\globalPlugins\AIHub\settings_dialog.py:70
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:84
+msgid "&Voice:"
+msgstr "&Голос:"
+
+#. Translators: NVDA Preferences — AI-Hub category: Text To Speech section — TTS model choice label.
+#. Translators: Label before the Lyria model id text field (default lyria-3-pro-preview).
+#. Translators: Label before the OCR model id text field (default mistral-ocr-latest).
+#. Translators: Label before the Mistral speech-to-text model combo box in this tool window.
+#. Translators: Label before the Whisper / GPT-transcribe model combo box in the OpenAI Transcription tool.
+#. Translators: Label before the TTS model combo box (e.g. gpt-4o-mini-tts) in the OpenAI TTS tool.
+#. Translators: Label before the Voxtral TTS model combo box in this tool window.
+#: addon\globalPlugins\AIHub\settings_dialog.py:74
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:78
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:61
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:105
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:107
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:80
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:86
+msgid "&Model:"
+msgstr "&Модель:"
+
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\settings_dialog.py:80
+msgid "Image description"
+msgstr "Опис зображення"
+
+#. Translators: NVDA Preferences — AI-Hub category: Image description section — resize images before API upload.
+#: addon\globalPlugins\AIHub\settings_dialog.py:85
+msgid "&Resize images before sending them to the API"
+msgstr "&Змінити розмір зображення, перш ніж надсилати їх до API"
+
+#. Translators: NVDA Preferences — AI-Hub category: Image description section — max width spin box label.
+#: addon\globalPlugins\AIHub\settings_dialog.py:91
+msgid "Maximum &width (0 to resize proportionally to the height):"
+msgstr "Максимальна &ширина (0 для зміни розміру пропорційно висоті):"
+
+#. Translators: NVDA Preferences — AI-Hub category: Image description section — max height spin box label.
+#: addon\globalPlugins\AIHub\settings_dialog.py:99
+msgid "Maximum &height (0 to resize proportionally to the width):"
+msgstr "Максимальна &висота (0 для зміни розміру пропорційно ширині):"
+
+#. Translators: NVDA Preferences — AI-Hub category: Image description section — JPEG quality spin box label.
+#: addon\globalPlugins\AIHub\settings_dialog.py:107
+msgid ""
+"&Quality for JPEG images (0 [worst] to 95 [best], values above 95 should be "
+"avoided):"
+msgstr ""
+"&Якість для зображень у форматі JPEG (де 0 [найгірше] а 95 [найкраще], варто "
+"уникати значень вище 95):"
+
+#. Translators: NVDA Preferences — AI-Hub category: Image description section — allow editing the default describe-image prompt.
+#: addon\globalPlugins\AIHub\settings_dialog.py:115
+msgid "Customize default text &prompt"
+msgstr "Налаштувати &початковий текст підказки"
+
+#. Translators: NVDA Preferences — AI-Hub category: Image description section — custom default prompt for describe-image.
+#: addon\globalPlugins\AIHub\settings_dialog.py:121
+msgid "Default &text prompt:"
+msgstr "&Початкова текстова підказка:"
+
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\settings_dialog.py:134
+msgid "Chat feedback"
+msgstr "Зворотній зв'язок у чаті"
+
+#. Translators: NVDA Preferences — AI-Hub category: Chat feedback section — sound while a request runs.
+#: addon\globalPlugins\AIHub\settings_dialog.py:140
+msgid "Play sound when a task is in progress"
+msgstr "Відтворювати звук під час виконання завдання"
+
+#. Translators: NVDA Preferences — AI-Hub category: Chat feedback section — sound when your prompt is sent.
+#: addon\globalPlugins\AIHub\settings_dialog.py:144
+msgid "Play sound when a response is sent"
+msgstr "Відтворювати звук gпри отриманні відповіді"
+
+#. Translators: NVDA Preferences — AI-Hub category: Chat feedback section — sound while waiting for the model.
+#: addon\globalPlugins\AIHub\settings_dialog.py:148
+msgid "Play sound when a response is pending"
+msgstr "Відтворювати звук при очікуванні відповіді"
+
+#. Translators: NVDA Preferences — AI-Hub category: Chat feedback section — sound when the reply arrives.
+#: addon\globalPlugins\AIHub\settings_dialog.py:152
+msgid "Play sound when a response is received"
+msgstr "Відтворювати звук, коли отримано відповідь"
+
+#. Translators: NVDA Preferences — AI-Hub category: Chat feedback section — focus message history and put the caret right after the «Assistant:» prefix when the first reply token streams in.
+#: addon\globalPlugins\AIHub\settings_dialog.py:156
+msgid ""
+"Move focus to message history when the first assistant reply token arrives"
+msgstr ""
+"Перемістити фокус на історію повідомлень, коли надійде перший токен "
+"відповіді асистента"
+
+#. Translators: NVDA Preferences — AI-Hub category: Chat feedback section — speak incoming replies while focus stays in the prompt.
+#: addon\globalPlugins\AIHub\settings_dialog.py:160
+msgid "Speak response when the focus is in the prompt field"
+msgstr "Промовляти відповідь, коли фокус знаходиться в полі запиту"
-#. Translators: This is the label for the model ID column in the model list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:714
-msgid "ID"
-msgstr "ID"
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\settings_dialog.py:168
+msgid "Recording"
+msgstr "Запис"
-#. Translators: This is the label for the model context window column in the model list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:719
-msgid "Context window"
-msgstr "Контекстне вікно"
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Transcription provider list — local whisper.cpp option.
+#: addon\globalPlugins\AIHub\settings_dialog.py:176
+msgid "whisper.cpp (local)"
+msgstr "whisper.cpp (локальний)"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Transcription provider list — OpenAI Whisper option.
+#: addon\globalPlugins\AIHub\settings_dialog.py:178
+msgid "OpenAI Whisper"
+msgstr "OpenAI Whisper"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Transcription provider list — Mistral Voxtral option.
+#: addon\globalPlugins\AIHub\settings_dialog.py:180
+msgid "Mistral Voxtral"
+msgstr "Mistral Voxtral"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Provider — which engine handles dictation transcription.
+#: addon\globalPlugins\AIHub\settings_dialog.py:184
+msgid "Transcription &provider:"
+msgstr "&Постачальник транскрипції:"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — whisper.cpp HTTP host field label.
+#: addon\globalPlugins\AIHub\settings_dialog.py:196
+msgid "&Host (whisper.cpp):"
+msgstr "&Хост (whisper.cpp):"
+
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\settings_dialog.py:206
+msgid "Provider account mapping"
+msgstr "Прив'язка облікових записів постачальників"
+
+#. Translators: NVDA Preferences — AI-Hub category: helper text under a settings group or next to a field.
+#: addon\globalPlugins\AIHub\settings_dialog.py:212
+msgid "Use these only when dictation must always use a specific account."
+msgstr ""
+"Використовуйте їх лише тоді, коли для диктування завжди потрібно "
+"використовувати певний обліковий запис."
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Provider account mapping — OpenAI account drop-down label.
+#: addon\globalPlugins\AIHub\settings_dialog.py:217
+msgid "OpenAI transcription account:"
+msgstr "Обліковий запис транскрипції OpenAI:"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Provider account mapping — Mistral account drop-down label.
+#: addon\globalPlugins\AIHub\settings_dialog.py:223
+msgid "Mistral transcription account:"
+msgstr "Обліковий запис транскрипції Mistral:"
+
+#. Translators: NVDA Preferences — AI-Hub category: title of a bordered settings group.
+#: addon\globalPlugins\AIHub\settings_dialog.py:231
+msgid "Audio preprocessing"
+msgstr "Попередня обробка аудіо"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Audio preprocessing — trim silence before transcription.
+#: addon\globalPlugins\AIHub\settings_dialog.py:237
+msgid "&Trim silence (remove leading/trailing and silence > 2s)"
+msgstr ""
+"&Видалити тишу (видалити початок/кінець та тишу тривалістю понад 2 секунди)"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — Audio preprocessing — minimum silence length spin box.
+#: addon\globalPlugins\AIHub\settings_dialog.py:244
+msgid "Minimum silence &duration to remove (seconds):"
+msgstr "Мінімальна тривалість тиші для видалення (у секундах):"
+
+#. Translators: NVDA Preferences — AI-Hub category: Recording — first item in OpenAI/Mistral transcription account drop-downs.
+#: addon\globalPlugins\AIHub\settings_dialog.py:263
+msgid "Use provider active account (default)"
+msgstr "Використовувати активний обліковий запис постачальника (початково)"
+
+#. Translators: Title bar of the modal progress window shown during long AI-Hub tool requests (label kept as «OpenAI» for compatibility).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:71
+msgid "OpenAI"
+msgstr "OpenAI"
+
+#. Translators: Short status text repeatedly pulsed in the tool progress dialog while the background HTTP task is still running.
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:105
+msgid "Task in progress..."
+msgstr "Завдання виконується..."
+
+#. Translators: Information message after the user stops a long tool task from the progress dialog; the tool window then closes.
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:122
+msgid "Cancellation requested. The dialog will now close."
+msgstr "Запит на скасування. Діалог закриється."
+
+#. Translators: Sole visible entry in the tool’s account drop-down when no accounts exist for this provider (control is disabled).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:160
+msgid "No account configured"
+msgstr "Обліковий запис не налаштовано"
+
+#. Translators: Error message when the user starts a tool action but no usable account id is selected (OK-only message box).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:186
+msgid "No account configured for this tool/provider."
+msgstr "Для цього інструменту/постачальника не налаштовано обліковий запис."
+
+#. Translators: Internal error message when a tool tries to use the API client but the parent conversation has no active client (user should configure accounts).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:193
+msgid "No API client available. Configure at least one account first."
+msgstr ""
+"Клієнт API недоступний. Спочатку налаштуйте хоча б один обліковий запис."
-#. Translators: This is the label for the model max output token column in the model list control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:724
-msgid "Max output token"
-msgstr "Максимальний вихідний токен"
+#. Translators: Error message when a tool tries to open an http(s) link in the browser and the OS reports a failure (placeholder is the system error).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:237
+#, python-format
+msgid "Unable to open URL: %s"
+msgstr "Неможливо відкрити URL: %s"
-#. Translators: This is the label for the max tokens spin control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:742
-msgid "Max to&kens:"
-msgstr "&Максимальна кількість токенів:"
+#. Translators: Error message when a tool tries to open a local file path that no longer exists (placeholder is the full path).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:241
+#, python-format
+msgid ""
+"File not found:\n"
+"%s"
+msgstr ""
+"Файл не знайдено:\n"
+"%s"
-#. Translators: This is the label for the temperature spin control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:755
-msgid "&Temperature:"
-msgstr "&Температура:"
+#. Translators: Error message when a tool tries to open an existing local file and the OS shell reports a failure (placeholder is the system error).
+#: addon\globalPlugins\AIHub\tool_dialog_base.py:248
+#, python-format
+msgid "Unable to open file: %s"
+msgstr "Неможливо відкрити файл: %s"
+
+#. Translators: Window title of the AI-Hub Google Lyria 3 Pro music-generation tool dialog.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:37
+msgid "Tool: Lyria 3 Pro"
+msgstr "Інструмент: Lyria 3 Pro"
+
+#. Translators: Button that opens the last generated music audio file from Lyria 3 Pro.
+#. Translators: Button that opens the last generated speech file in the default Windows application.
+#. Translators: Button that opens the last synthesized audio file from the Voxtral TTS tool.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:64
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:75
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:141
+msgid "Open generated audio"
+msgstr "Відкрити згенероване аудіо"
+
+#. Translators: Label before the optional multiline negative prompt listing what Lyria should avoid.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:71
+msgid "Negative prompt (&optional):"
+msgstr "Негативна підказка (&необов'язково):"
+
+#. Translators: Label before the requested clip duration in seconds for Lyria generation.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:85
+msgid "&Duration seconds:"
+msgstr "&Тривалість у секундах:"
+
+#. Translators: Label before the optional random seed field for reproducible Lyria generations.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:92
+msgid "See&d:"
+msgstr "&Сід:"
+
+#. Translators: Label before the optional nucleus sampling top-p parameter for Lyria.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:106
+msgid "Top &P:"
+msgstr "Верхнє &P:"
+
+#. Translators: Label before the optional top-k truncation parameter for Lyria.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:113
+msgid "Top &K:"
+msgstr "Верхнє &K:"
+
+#. Translators: Label before the optional classifier-free guidance scale field for Lyria.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:120
+msgid "&CFG scale:"
+msgstr "&масштаб CFG:"
+
+#. Translators: Label before the output audio sample rate in hertz (default 48000) for Lyria.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:127
+msgid "Sam&ple rate:"
+msgstr "&Частота дискретизації:"
+
+#. Translators: Label before the container format drop-down (wav, mp3, flac) for exported Lyria audio.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:134
+msgid "Output f&ormat:"
+msgstr "Формат виведення:"
+
+#. Translators: Button that starts Lyria 3 Pro music generation with the current form settings.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:141
+msgid "Generate music"
+msgstr "Генерувати музику"
+
+#. Translators: Error body when Lyria 3 Pro music generation raises an exception; placeholder is the error text (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:303
+#, python-format
+msgid "Lyria 3 Pro generation failed: %s"
+msgstr "Помилка створення Lyria 3 Pro: %s"
-#. Translators: This is the label for the top P spin control in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:768
-msgid "Pro&bability Mass (top P):"
-msgstr "Мас&а ймовірності (Верхнє P):"
+#. Translators: Error body when the Lyria API JSON contained no usable base64 audio block after a nominally successful response (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:308
+msgid ""
+"Lyria request completed but no audio payload was returned by the provider."
+msgstr "Запит Lyria виконано, але постачальник не повернув аудіофайл."
-#: addon/globalPlugins/openai/maindialog.py:781
-msgid "&Whisper Response Format:"
-msgstr "&Формат відповіді Whisper:"
+#. Translators: Error body when base64-decoding the Lyria audio chunk fails; placeholder is the decode error (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:314
+#, python-format
+msgid "Invalid audio payload: %s"
+msgstr "Недійсний аудіо пакет: %s"
-#: addon/globalPlugins/openai/maindialog.py:793
-msgid "&Stream mode"
-msgstr "&Потоковий режим"
+#. Translators: Error body when writing the decoded Lyria WAV/MP3 to the temp folder fails; placeholder is the OS error (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:323
+#, python-format
+msgid "Unable to save generated audio: %s"
+msgstr "Неможливо зберегти створене аудіо: %s"
+
+#. Translators: Title stored on the synthetic «tool output» conversation tab after Lyria 3 Pro finishes successfully.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:333
+msgid "Tool output: Lyria 3 Pro"
+msgstr "Інструмент виводу: Lyria 3 Pro"
+
+#. Translators: Short assistant reply stored with the tool run when Lyria 3 Pro produced an audio file (shown in chat history).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:337
+msgid "Audio generated with Lyria 3 Pro."
+msgstr "Аудіо згенероване за допомогою Lyria 3 Pro."
+
+#. Translators: Error body when Generate is pressed with an empty main prompt in the Lyria 3 Pro tool (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:419
+msgid "Please enter a prompt for Lyria 3 Pro."
+msgstr "Будь ласка, введіть запит для Lyria 3 Pro."
+
+#. Translators: Error body when Lyria cannot run because the chosen Google API account has no key stored (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:439
+msgid "No API key available for the selected Google account."
+msgstr "Ключ API не доступний для вибраного облікового запису Google."
+
+#. Translators: Status line on the modal progress window while Lyria 3 Pro is generating music.
+#: addon\globalPlugins\AIHub\tool_lyria_dialog.py:444
+msgid "Music generation in progress..."
+msgstr "Триває генерація музики..."
+
+#. Translators: Window title of the AI-Hub Mistral OCR tool dialog.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:37
+msgid "Tool: Mistral OCR"
+msgstr "Інструмент: Mistral OCR"
+
+#. Translators: Label before the path or https URL of the image or PDF to send to Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:68
+msgid "Source file or &URL:"
+msgstr "Вихідний файл або &URL:"
+
+#. Translators: Button that opens a file picker for the local image or PDF used as OCR input.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:73
+msgid "Browse OCR source..."
+msgstr "Огляд джерела OCR..."
+
+#. Translators: Button that opens the current source path or URL in the default application.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:77
+msgid "Open source"
+msgstr "Відкритий код"
+
+#. Translators: Button that opens the plain-text OCR output file from the last successful run.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:81
+msgid "Open OCR text result"
+msgstr "Відкрити результат OCR тексту"
+
+#. Translators: Button that opens the structured JSON OCR output file from the last successful run.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:85
+msgid "Open OCR JSON result"
+msgstr "Відкрити результат OCR у форматі JSON"
+
+#. Translators: Label before the optional PDF page index list sent to Mistral OCR (comma-separated page numbers).
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:92
+msgid "&Pages (e.g. 0,1,2):"
+msgstr "&Сторінки (наприклад, 0,1,2):"
+
+#. Translators: Label before the optional maximum number of images Mistral should process from the document.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:99
+msgid "Image &limit:"
+msgstr "&Ліміт зображення:"
+
+#. Translators: Label before the optional minimum image dimension filter for OCR preprocessing.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:106
+msgid "Image min si&ze:"
+msgstr "Мінімальний розмір зображення:"
+
+#. Translators: Label before the table output format drop-down (markdown, html, or none) for Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:113
+msgid "Table f&ormat:"
+msgstr "Формат таблиці:"
+
+#. Translators: Label before the document-level annotation output format drop-down for Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:120
+msgid "Document annotation for&mat:"
+msgstr "Анотація документа для&формату:"
+
+#. Translators: Label before the bounding-box annotation output format drop-down for Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:127
+msgid "BBo&x annotation format:"
+msgstr "&Формат анотацій BBox:"
+
+#. Translators: Checkbox asking Mistral to embed base64 image data in the OCR JSON response.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:131
+msgid "Include image base64 in response"
+msgstr "Додати зображення base64 у відповідь"
+
+#. Translators: Checkbox enabling extraction of document header regions in Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:133
+msgid "Extract header"
+msgstr "Видобути заголовок"
+
+#. Translators: Checkbox enabling extraction of document footer regions in Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:135
+msgid "Extract footer"
+msgstr "Видобути нижній колонтитул"
+
+#. Translators: Label before the optional multiline instructions for document-level annotations in Mistral OCR.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:140
+msgid "Document annotation &prompt:"
+msgstr "Підказка до анотації &документа:"
+
+#. Translators: Button that sends the configured document to the Mistral OCR API and writes result files.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:151
+msgid "Run OCR"
+msgstr "Запустити OCR"
+
+#. Translators: Title of the file picker for the source image or PDF in the Mistral OCR tool.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:174
+msgid "Select image or document file"
+msgstr "Виберіть зображення або файл документа"
+
+#. Translators: File-type filter in the Mistral OCR source file picker.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:177
+msgid ""
+"Supported files (*.png;*.jpg;*.jpeg;*.gif;*.bmp;*.webp;*.pdf)|"
+"*.png;*.jpg;*.jpeg;*.gif;*.bmp;*.webp;*.pdf"
+msgstr ""
+"Підтримувані файли (*.png;*.jpg;*.jpeg;*.gif;*.bmp;*.webp;*.pdf)|"
+"*.png;*.jpg;*.jpeg;*.gif;*.bmp;*.webp;*.pdf"
-#: addon/globalPlugins/openai/maindialog.py:800
-msgid "Debu&g mode"
-msgstr "Режи&м налагодження"
+#. Translators: Error body for an unexpected Mistral OCR failure (title is «OpenAI»; technical details only in the NVDA log).
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:246
+msgid "Mistral OCR failed. See NVDA log for details."
+msgstr ""
+"OCR Mistral завершилося невдало. Детальнішу інформацію дивіться у журналі "
+"NVDA."
+
+#. Translators: Short completion line stored with the tool run when Mistral OCR produced files but no inline text preview.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:257
+msgid "OCR completed. See attached output files."
+msgstr "OCR завершено. Дивіться додані файли результату."
+
+#. Translators: Title stored on the synthetic «tool output» conversation tab after Mistral OCR finishes successfully.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:260
+msgid "Tool output: Mistral OCR"
+msgstr "Результат роботи інструменту: Mistral OCR"
+
+#. Translators: Error body when Run is pressed without a local path or http(s) URL in the Mistral OCR source field (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:365
+msgid "Please provide a file path or URL for OCR."
+msgstr "Укажіть шлях до файлу або URL-адресу для OCR."
+
+#. Translators: Error body when Mistral OCR cannot run because the selected Mistral account has no API key (title is «OpenAI»).
+#. Translators: Error raised before the HTTP request when the chosen Mistral account has no API key.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:372
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:257
+msgid "No API key available for the selected Mistral account."
+msgstr "Немає доступного ключа API для вибраного облікового запису Mistral."
+
+#. Translators: Error body when the entered local OCR path is not found on disk (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:379
+msgid "File does not exist."
+msgstr "Файл не існує."
+
+#. Translators: Error body when the local image or PDF cannot be read for upload; placeholder is the OS error (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:389
+#, python-format
+msgid "Unable to read source file: %s"
+msgstr "Не вдається прочитати вихідний файл: %s"
+
+#. Translators: Status line on the modal progress window while Mistral OCR is processing the selected file.
+#: addon\globalPlugins\AIHub\tool_mistral_ocr_dialog.py:424
+msgid "OCR in progress..."
+msgstr "Виконується OCR..."
+
+#. Translators: Window title of the AI-Hub Mistral Speech-to-Text tool dialog.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:62
+msgid "Tool: Mistral Speech to Text"
+msgstr "Інструмент: Mistral Мовлення в Текст"
+
+#. Translators: Label before the path field for the audio file to transcribe in the Mistral Speech-to-Text tool.
+#. Translators: Label before the path field for the audio file to transcribe or translate in this tool.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:81
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:85
+msgid "&Input audio file:"
+msgstr "&Аудіофайл введення:"
+
+#. Translators: Button that opens a file picker for the input recording in Mistral Speech-to-Text.
+#. Translators: Button that opens a file picker for the input audio file in the OpenAI Transcription tool.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:85
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:90
+msgid "Browse input audio..."
+msgstr "Обрати аудіо..."
+
+#. Translators: Button that opens the selected input audio file in the default application.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:89
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:94
+msgid "Open input audio"
+msgstr "Відкрити аудіо введення"
+
+#. Translators: Button that opens the plain-text transcript file from the last Mistral Speech-to-Text run.
+#. Translators: Button that opens the plain-text transcript file from the last OpenAI audio run.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:93
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:98
+msgid "Open transcription text result"
+msgstr "Відкрити результат транскрипції тексту"
+
+#. Translators: Button that opens the raw JSON API dump from the last Mistral Speech-to-Text run.
+#. Translators: Button that opens the raw API response file (JSON or text) from the last OpenAI audio run.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:97
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:102
+msgid "Open raw transcription result"
+msgstr "Відкрити необроблений результат транскрипції"
+
+#. Translators: Label before the optional ISO-639 language code hint field for Mistral transcription.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:117
+msgid "&Language (ISO code, optional):"
+msgstr "&Мова (код ISO, необов’язково):"
+
+#. Translators: Checkbox turning on speaker diarization in the Mistral Speech-to-Text request.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:121
+msgid "Enable speaker diarization"
+msgstr "Увімкнути розпізнавання мовлення"
+
+#. Translators: Label before the optional comma-separated vocabulary hints sent as context bias to Mistral.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:127
+msgid "Context bias terms (comma-separated, optional):"
+msgstr "Пріоритетні терміни (розділяйте комами, необов'язково)"
+
+#. Translators: Label before the optional segment/word timestamp granularity list for Mistral transcription.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:134
+msgid "Timestamp granularities (segment,word; optional):"
+msgstr "Рівень деталізації часових міток (сегмент, слово; необов’язково):"
+
+#. Translators: Label before the optional sampling temperature text field for Mistral transcription.
+#. Translators: Label before the optional sampling temperature text field for the OpenAI transcription API.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:141
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:124
+msgid "&Temperature (optional):"
+msgstr "&Температура (необов'язково):"
+
+#. Translators: Button that starts the Mistral Speech-to-Text HTTP request with the current form settings.
+#. Translators: Button that starts the OpenAI audio transcription or translation request with the current form settings.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:147
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:149
+msgid "Run transcription"
+msgstr "Запустити транскрипцію"
+
+#. Translators: Title of the file picker for the input recording in the Mistral speech-to-text tool.
+#. Translators: Title of the file picker for the input recording in the OpenAI transcription/translation tool.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:196
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:207
+msgid "Select audio file"
+msgstr "Вибрати аудіофайл"
-#. Translators: This is the label for the record button in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:812
-#: addon/globalPlugins/openai/maindialog.py:2044
-msgid "Start &recording"
-msgstr "&Почати запис"
-
-#: addon/globalPlugins/openai/maindialog.py:815
-msgid "Record audio from microphone"
-msgstr "Запис звуку з мікрофона"
-
-#. Translators: This is the label for the transcribe from audio file button in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:820
-msgid "Transcribe from &audio file"
-msgstr "Транскрибувати з &аудіофайлу"
-
-#: addon/globalPlugins/openai/maindialog.py:823
-msgid "Transcribe audio from a file path"
-msgstr "Транскрибувати аудіо зі шляху до файлу"
-
-#. Translators: This is the label for the image description button in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:828
-msgid "&Image description"
-msgstr "&Опис зображення"
-
-#: addon/globalPlugins/openai/maindialog.py:831
-msgid "Describe an image from a file path or an URL"
-msgstr "Описати зображення за допомогою шляху до файлу або URL-адреси"
-
-#. Translators: This is the label for the text to speech button in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:836
-msgid "&Vocalize the prompt"
-msgstr "&Промовити запит"
-
-#. Translators: This is the label for the submit button in the main dialog.
-#: addon/globalPlugins/openai/maindialog.py:855
-msgid "Submit"
-msgstr "Надіслати"
-
-#: addon/globalPlugins/openai/maindialog.py:920
-msgid "Describe the images in as much detail as possible."
-msgstr "Описати зображення якомога детальніше."
+#. Translators: File-type filter in the Mistral transcription tool’s input-audio picker.
+#. Translators: File-type filter in the OpenAI transcription tool’s input-audio picker.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:199
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:210
+msgid ""
+"Audio files (*.flac;*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.ogg;*.wav;*.webm)|"
+"*.flac;*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.ogg;*.wav;*.webm"
+msgstr ""
+"Аудіофайли (*.flac;*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.ogg;*.wav;*.webm)|"
+"*.flac;*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.ogg;*.wav;*.webm"
-#: addon/globalPlugins/openai/maindialog.py:1011
-msgid "Model details"
-msgstr "Деталі моделі"
+#. Translators: Error body when Mistral Speech-to-Text fails with a network or HTTP error; placeholder is the provider message (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:323
+#, python-format
+msgid "Mistral Speech to Text failed: %s"
+msgstr "Помилка в роботі функції «Mistral Мовлення в Текст»: %s"
-#: addon/globalPlugins/openai/maindialog.py:1085
-msgid "Please select a model."
-msgstr "Будь ласка, виберіть модель."
+#. Translators: Error body for an unexpected Mistral Speech-to-Text failure (title is «OpenAI»; details in the log).
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:327
+msgid "Mistral Speech to Text failed. See NVDA log for details."
+msgstr ""
+"Помилка в роботі функції «Mistral Мовлення в Текст». Детальнішу інформацію "
+"дивіться в журналі NVDA."
-#: addon/globalPlugins/openai/maindialog.py:1092
+#. Translators: Error body when saving Mistral transcript or JSON dump fails; placeholder is the OS error (title is «OpenAI»).
+#. Translators: Error body when writing the transcript or raw API dump to disk fails; placeholder is the OS error (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:341
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:332
#, python-format
+msgid "Unable to save transcription outputs: %s"
+msgstr "Неможливо зберегти результати транскрипції: %s"
+
+#. Translators: Short completion line stored with the tool run when Mistral transcription returns no text body.
+#. Translators: Short completion line stored with the tool run when OpenAI transcription returns no text body.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:351
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:346
+msgid "Transcription completed."
+msgstr "Транскрипцію завершено."
+
+#. Translators: Title stored on the synthetic «tool output» conversation tab after Mistral Speech-to-Text finishes successfully.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:354
+msgid "Tool output: Mistral Speech to Text"
+msgstr "Інструмент виводу: Mistral Мовлення в Текст"
+
+#. Translators: Error body when Run is pressed without a valid on-disk audio file in the Mistral Speech-to-Text tool (title is «OpenAI»).
+#. Translators: Error body when Run is pressed without a real on-disk audio path in the OpenAI transcription tool (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:423
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:457
+msgid "Please select a valid audio file."
+msgstr "Виберіть дійсний аудіофайл."
+
+#. Translators: Error body when the comma-separated timestamp granularity field contains tokens other than segment or word (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:434
+msgid "Timestamp granularities must only contain 'segment' and/or 'word'."
+msgstr "Деталізація позначок часу має містити лише «сегмент» та/або «слово»."
+
+#. Translators: Error body when diarization is on but the timestamp granularity list is not exactly the single value «segment» (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:444
msgid ""
-"This model is only available with the %s provider. Please provide an API key "
-"for this provider in the add-on settings. Otherwise, please select another "
-"model with a different provider."
+"When diarization is enabled, timestamp granularities must be exactly "
+"'segment'."
msgstr ""
-"Ця модель доступна лише у постачальника %s. Вкажіть ключ API для цього "
-"постачальника в налаштуваннях додатка. В іншому випадку виберіть іншу модель "
-"від іншого постачальника."
+"Коли розпізнавання мовлення увімкнено, деталізація часових міток повинна "
+"бути саме 'segment'."
+
+#. Translators: Error body when the optional temperature field is not a valid decimal number in Mistral Speech-to-Text (title is «OpenAI»).
+#. Translators: Validation error raised (and shown) when the optional temperature field is not numeric in the OpenAI transcription tool.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:456
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:231
+msgid "Temperature must be a valid number."
+msgstr "Температура має бути дійсним числом."
+
+#. Translators: Status line on the modal progress window while Mistral is transcribing the selected audio file.
+#. Translators: Status line on the modal progress window while OpenAI is transcribing or translating the selected audio file.
+#: addon\globalPlugins\AIHub\tool_mistral_transcription_dialog.py:462
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:471
+msgid "Transcription in progress..."
+msgstr "Виконується транскрипція..."
+
+#. Translators: Ollama model manager — label in the Action drop-down for listing models installed on the local Ollama server.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:32
+msgid "List installed models"
+msgstr "Список встановлених моделей"
+
+#. Translators: Ollama model manager — label in the Action drop-down for listing models currently loaded in Ollama memory.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:34
+msgid "List running models"
+msgstr "Список запущених моделей"
+
+#. Translators: Ollama model manager — label in the Action drop-down for fetching JSON details of one named model.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:36
+msgid "Show model details"
+msgstr "Показати деталі моделі"
+
+#. Translators: Ollama model manager — label in the Action drop-down for downloading a model from a registry into Ollama.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:38
+msgid "Pull model (add)"
+msgstr "Модель отримання (додати)"
+
+#. Translators: Ollama model manager — label in the Action drop-down for uploading a local model to a registry.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:40
+msgid "Push model"
+msgstr "Модель відправлення"
+
+#. Translators: Ollama model manager — label in the Action drop-down for duplicating a model under a new name on the same machine.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:42
+msgid "Copy model"
+msgstr "Копіювати модель"
+
+#. Translators: Ollama model manager — label in the Action drop-down for creating a model from pasted Modelfile text.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:44
+msgid "Create model from Modelfile"
+msgstr "Створити модель із файлу моделі"
+
+#. Translators: Ollama model manager — label in the Action drop-down for removing one installed model from Ollama.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:46
+msgid "Delete model (remove)"
+msgstr "Видалити модель"
+
+#. Translators: Window title of the AI-Hub tool dialog for running Ollama admin commands (list, pull, delete, etc.).
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:53
+msgid "Tool: Ollama model manager"
+msgstr "Інструмент: менеджер моделі Ollama"
+
+#. Translators: Label before the drop-down that selects which Ollama admin action to run (list, pull, delete, etc.).
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:74
+msgid "&Action:"
+msgstr "&Дія:"
+
+#. Translators: Label before the primary model name or id text field in the Ollama models tool.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:84
+msgid "&Model name:"
+msgstr "&Назва моделі:"
+
+#. Translators: Label before the destination model name field used only for the Copy model action.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:91
+msgid "Destination model (for copy):"
+msgstr "Цільова модель (для копіювання):"
+
+#. Translators: Label before the multiline Modelfile editor used only for the Create model from Modelfile action.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:98
+msgid "&Modelfile (for create):"
+msgstr "&Файл моделі (для створення):"
+
+#. Translators: Checkbox allowing non-TLS or otherwise insecure registry connections when pulling or pushing models.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:102
+msgid "Allow insecure registry (pull/push)"
+msgstr "Дозволити незахищений реєстр (отримання/відправка)."
+
+#. Translators: Label before the read-only multiline area showing formatted command output from Ollama.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:109
+msgid "&Result:"
+msgstr "&Результат:"
+
+#. Translators: Button that runs the Ollama HTTP action selected in the Action drop-down.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:115
+msgid "Run action"
+msgstr "Виконати дію"
+
+#. Translators: Button opening a dialog with the raw JSON or text response from the last Ollama command.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:119
+msgid "Show raw result"
+msgstr "Показати необроблений результат"
+
+#. Translators: Validation error when the Ollama models tool action needs a model name but the field is empty.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:190
+msgid "Model name is required for this action."
+msgstr "Для цієї дії потрібна назва моделі."
+
+#. Translators: Validation error when the copy action is chosen but source or destination model name is missing.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:196
+msgid "Source and destination model names are required for copy."
+msgstr "Для копіювання необхідно вказати імена моделей джерела та призначення."
+
+#. Translators: Validation error when create-from-Modelfile is chosen but the Modelfile text box is empty.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:202
+msgid "Modelfile content is required for create action."
+msgstr "Вміст файлу моделі є обов’язковим для створення дії."
+
+#. Translators: Result text when list_models succeeds but Ollama reports no locally installed models.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:235
+msgid "No installed models found."
+msgstr "Немає встановлених моделей."
+
+#. Translators: Heading line before the bullet list of installed Ollama models in the tool result view.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:237
+#, python-format
+msgid "Installed models (%d):"
+msgstr "Встановлені моделі (%d):"
+
+#. Translators: Result text when list_running succeeds but no model is currently loaded in Ollama.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:251
+msgid "No running models."
+msgstr "Немає запущених моделей."
+
+#. Translators: Heading line before the bullet list of models currently loaded in Ollama.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:253
+#, python-format
+msgid "Running models (%d):"
+msgstr "Запущені моделі (%d):"
-#: addon/globalPlugins/openai/maindialog.py:1095
+#. Translators: Error body after an Ollama HTTP call fails in the Ollama models tool; placeholder is the error text (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:306
#, python-format
-msgid "No API key for %s"
-msgstr "Немає ключа API для %s"
+msgid "Ollama action failed: %s"
+msgstr "Помилка дії Ollama: %s"
+
+#. Translators: Single line shown in the Ollama models tool result text box when the action succeeded but returned no printable output.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:310
+msgid "Done."
+msgstr "Готово."
+
+#. Translators: Message on the modal progress bar while the Ollama models tool waits for the local Ollama HTTP action to finish.
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:326
+msgid "Running Ollama action..."
+msgstr "Виконується дія Ollama..."
+
+#. Translators: Information message when «Show raw» is used before any Ollama command has produced a response body (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:336
+msgid "No raw result available yet."
+msgstr "Необроблених результатів ще немає."
+
+#. Translators: Title of the read-only dialog that shows up to the first 20 000 characters of the last Ollama JSON response (body is technical text).
+#: addon\globalPlugins\AIHub\tool_ollama_models_dialog.py:339
+msgid "Raw result"
+msgstr "Необроблений результат"
+
+#. Translators: Window title of the AI-Hub OpenAI Transcription / Translation tool dialog.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:48
+msgid "Tool: OpenAI Transcription"
+msgstr "Інструмент: транскрипція OpenAI"
+
+#. Translators: OpenAI Transcription tool — Task drop-down entry: transcribe audio in the original language.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:71
+msgid "Transcription"
+msgstr "Транскрипція"
+
+#. Translators: OpenAI Transcription tool — Task drop-down entry: translate speech into English text.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:73
+msgid "Translation to English"
+msgstr "Переклад на англійську мову"
+
+#. Translators: Label before the Task drop-down selecting transcription versus translation to English.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:79
+msgid "Task:"
+msgstr "Завдання:"
+
+#. Translators: Label before the optional ISO-639-1 language hint used for transcription (not for translation task).
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:111
+msgid "&Language (ISO-639-1, optional):"
+msgstr "&Мова (ISO-639-1, необов’язково):"
+
+#. Translators: Label before the optional vocabulary or style hint multiline field passed to the transcription API.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:115
+msgid "&Prompt (optional):"
+msgstr "&Підказка (необов'язково):"
+
+#. Translators: Label before the API response format drop-down (json, srt, diarized_json, etc.) in this tool.
+#. Translators: Label before the audio container format drop-down (mp3, wav, etc.) in the OpenAI TTS tool.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:119
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:92
+msgid "Response &format:"
+msgstr "&Формат відповіді:"
+
+#. Translators: Label before the optional comma-separated timestamp granularity tokens for verbose transcripts.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:128
+msgid "Timestamp granularities (comma-separated, optional):"
+msgstr "Деталізація часових позначок (розділені комами, необов’язково):"
+
+#. Translators: Label before the optional comma-separated list of extra response segments to request from the API.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:132
+msgid "Include fields (comma-separated, optional):"
+msgstr "Вкажіть поля (розділені комами, необов’язково):"
+
+#. Translators: Label before the optional multiline JSON for the audio chunking strategy sent to the API.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:136
+msgid "Chunking strategy JSON (optional):"
+msgstr "Стратегія поділу на частини JSON (необов'язково):"
+
+#. Translators: Label before the optional comma-separated known speaker names for diarized transcription.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:140
+msgid "Known speaker names (comma-separated, optional):"
+msgstr "Відомі імена голосів (розділені комами, необов’язково):"
+
+#. Translators: Label before the optional comma-separated speaker reference ids for diarized transcription.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:144
+msgid "Known speaker references (comma-separated, optional):"
+msgstr "Посилання на відомі голоси (через кому, необов’язково):"
+
+#. Translators: Validation error when the optional chunking-strategy field is not valid JSON in the OpenAI transcription tool.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:247
+msgid "Chunking strategy must be valid JSON."
+msgstr "Стратегія фрагментації має бути дійсним JSON."
+
+#. Translators: Lowercase noun inserted into the OpenAI audio error sentence when the tool ran in translation mode.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:295
+msgid "translation"
+msgstr "переклад"
+
+#. Translators: Lowercase noun inserted into the OpenAI audio error sentence when the tool ran in transcription mode.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:298
+msgid "transcription"
+msgstr "транскрипція"
+
+#. Translators: Error dialog when OpenAI translation/transcription fails with a connection or HTTP status error.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:301
+#, python-brace-format
+msgid "OpenAI {action} failed: {error}"
+msgstr "OpenAI {action} не вдалася: {error}"
-#: addon/globalPlugins/openai/maindialog.py:1103
+#. Translators: Error body for an unexpected failure during OpenAI transcription or translation (title is «OpenAI»; details in the log).
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:311
+msgid "OpenAI audio task failed. See NVDA log for details."
+msgstr ""
+"Завдання OpenAI з обробки аудіо не виконано. Дивіться журнал NVDA для "
+"деталей."
+
+#. Translators: Error body when the API response could not be interpreted as a transcription/translation result object (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:315
+msgid "Invalid transcription result."
+msgstr "Недійсний результат транскрипції."
+
+#. Translators: Short completion line stored with the tool run when OpenAI translation returns no text body.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:343
+msgid "Translation completed."
+msgstr "Переклад завершено."
+
+#. Translators: Title stored on the synthetic «tool output» tab after OpenAI speech-to-English translation finishes.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:349
+msgid "Tool output: OpenAI translation"
+msgstr "Інструмент виводу: переклад OpenAI"
+
+#. Translators: Title stored on the synthetic «tool output» tab after OpenAI speech-to-text transcription finishes.
+#: addon\globalPlugins\AIHub\tool_openai_transcription_dialog.py:352
+msgid "Tool output: OpenAI transcription"
+msgstr "Інструмент виводу: транскрипція OpenAI"
+
+#. Translators: Window title of the AI-Hub OpenAI text-to-speech tool dialog.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:54
+msgid "Tool: OpenAI TTS"
+msgstr "Інструмент: OpenAI TTS"
+
+#. Translators: Label before the multiline text box for the words to synthesize in the OpenAI TTS tool.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:72
+msgid "&Input text:"
+msgstr "&Введіть текст:"
+
+#. Translators: Label before the optional style or delivery instructions multiline field for OpenAI TTS.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:88
+msgid "&Instructions (optional):"
+msgstr "&Інструкції (необов'язково):"
+
+#. Translators: Label before the speech speed numeric field (allowed range 0.25–4.0) in the OpenAI TTS tool.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:97
+msgid "&Speed (0.25-4.0):"
+msgstr "&Швидкість (0,25-4,0):"
+
+#. Translators: Label before the optional streaming mode drop-down (empty, audio, or sse) for OpenAI TTS advanced use.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:101
+msgid "Stream format (optional):"
+msgstr "Формат потоку (необов'язково):"
+
+#. Translators: Button that starts OpenAI TTS synthesis with the current form settings.
+#. Translators: Button that starts Voxtral TTS synthesis with the current form settings.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:107
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:147
+msgid "Generate speech"
+msgstr "Генерувати мовлення"
+
+#. Translators: Error body when OpenAI TTS fails with a network or HTTP error; placeholder is the provider error text (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:174
+#, python-format
+msgid "OpenAI TTS failed: %s"
+msgstr "Помилка OpenAI TTS: %s"
+
+#. Translators: Error body when OpenAI TTS fails with an unexpected exception (title is «OpenAI»; details only in the log).
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:178
+msgid "OpenAI TTS failed. See NVDA log for details."
+msgstr "Помилка OpenAI TTS. Дивіться журнал NVDA для деталей."
+
+#. Translators: Title stored on the synthetic «tool output» conversation tab after OpenAI TTS finishes successfully.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:185
+msgid "Tool output: OpenAI TTS"
+msgstr "Інструмент виводу: OpenAI TTS"
+
+#. Translators: Short assistant reply text stored with the tool run when OpenAI TTS produced an audio file (shown in chat history).
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:189
+msgid "Audio generated with OpenAI TTS."
+msgstr "Аудіо, згенероване за допомогою OpenAI TTS."
+
+#. Translators: Error body when Generate is pressed with an empty text box in the OpenAI TTS tool (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:254
+msgid "Please enter text to synthesize."
+msgstr "Будь ласка, введіть текст для синтезу."
+
+#. Translators: Error body when the speech speed value in OpenAI TTS is outside the allowed numeric range (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:260
+msgid "Speed must be between 0.25 and 4.0."
+msgstr "Швидкість має бути від 0,25 до 4,0."
+
+#. Translators: Status line on the modal progress window while OpenAI TTS is synthesizing speech.
+#. Translators: Status line on the modal progress window while Voxtral TTS is synthesizing speech.
+#: addon\globalPlugins\AIHub\tool_openai_tts_dialog.py:279
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:444
+msgid "Speech generation in progress..."
+msgstr "Виконується генерація мовлення..."
+
+#. Translators: Window title of the AI-Hub Mistral Voxtral text-to-speech tool dialog.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:44
+msgid "Tool: Voxtral TTS"
+msgstr "Інструмент: Voxtral TTS"
+
+#. Translators: Group box title around the main synthesis request fields (text, model, output format) in Voxtral TTS.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:62
+msgid "Synthesis"
+msgstr "Синтез"
+
+#. Translators: Group box title around voice ID, reference audio, and voice refresh in the Voxtral TTS tool.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:64
+msgid "Voice"
+msgstr "Голос"
+
+#. Translators: Group box title around opening the generated file and the main action buttons in Voxtral TTS.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:66
+msgid "Output"
+msgstr "Вивід"
+
+#. Translators: Label before the multiline text to speak in the Voxtral TTS tool.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:79
+msgid "&Text input:"
+msgstr "&Введення тексту:"
+
+#. Translators: Label before the optional saved voice id combo box used for Voxtral voice selection or cloning.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:98
+msgid "Saved &voice ID (optional):"
+msgstr "Збережений &голосовий ідентифікатор (необов'язково):"
+
+#. Translators: Label before the output audio format drop-down (wav, mp3, etc.) in the Voxtral TTS tool.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:110
+msgid "Output &format:"
+msgstr "&Формат виводу:"
+
+#. Translators: Label before the optional path field for a reference audio clip used in voice cloning.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:118
+msgid "Reference &audio (optional):"
+msgstr "Посилання &аудіо (необов’язково):"
+
+#. Translators: Button that opens a file picker for the optional Voxtral reference-audio clip.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:123
+msgid "Browse reference audio..."
+msgstr "Переглянути зразки аудіо..."
+
+#. Translators: Button that opens the selected reference audio file from disk or URL handler.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:127
+msgid "Open reference audio"
+msgstr "Відкритий еталонний аудіозапис"
+
+#. Translators: Static hint under the voice section explaining how saved voice IDs and reference clips interact.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:133
+msgid ""
+"Use a saved voice ID or provide a reference audio clip for voice cloning."
+msgstr ""
+"Використовуйте збережений ідентифікатор голосу або надайте еталонний "
+"аудіозапис для клонування голосу."
+
+#. Translators: Button that re-fetches the list of saved voice IDs from the Mistral API for the combo box.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:137
+msgid "Refresh voices"
+msgstr "Оновити голоси"
+
+#. Translators: Title of the file picker for the optional Voxtral reference-voice clip.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:177
+msgid "Select reference audio file"
+msgstr "Виберіть еталонний аудіофайл"
+
+#. Translators: File-type filter in the reference-audio picker for Voxtral TTS.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:180
+msgid "Audio files (*.wav;*.mp3;*.flac;*.opus)|*.wav;*.mp3;*.flac;*.opus"
+msgstr "Аудіофайли (*.wav;*.mp3;*.flac;*.opus)|*.wav;*.mp3;*.flac;*.opus"
+
+#. Translators: Error body when Voxtral TTS fails with a network or HTTP error; placeholder is the provider error text (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:239
+#, python-format
+msgid "Voxtral TTS failed: %s"
+msgstr "Помилка Voxtral TTS: %s"
+
+#. Translators: Error body when Voxtral TTS fails with an unexpected exception (title is «OpenAI»; details in the log).
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:243
+msgid "Voxtral TTS failed. See NVDA log for details."
+msgstr "Помилка Voxtral TTS. Дивіться журнал NVDA для деталей."
+
+#. Translators: Title stored on the synthetic «tool output» conversation tab after Voxtral TTS finishes successfully.
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:251
+msgid "Tool output: Voxtral TTS"
+msgstr "Інструмент виводу: Voxtral TTS"
+
+#. Translators: Short assistant reply stored with the tool run when Voxtral TTS produced an audio file (shown in chat history).
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:255
+msgid "Audio generated with Voxtral TTS."
+msgstr "Аудіо, згенероване за допомогою Voxtral TTS."
+
+#. Translators: Error body when Generate is pressed with an empty main text field in the Voxtral TTS tool (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:424
+msgid "Please enter text for speech synthesis."
+msgstr "Будь ласка, введіть текст для синтезу мовлення."
+
+#. Translators: Error body when the optional reference-audio file cannot be read before synthesis; placeholder is the OS error (title is «OpenAI»).
+#: addon\globalPlugins\AIHub\tool_voxtral_tts_dialog.py:439
+#, python-format
+msgid "Could not read reference audio: %s"
+msgstr "Не вдалося прочитати еталонний аудіофайл: %s"
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:37
+msgid "Voxtral TTS..."
+msgstr "Voxtral TTS..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:46
+msgid "OCR..."
+msgstr "OCR..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:55
+msgid "Speech to Text..."
+msgstr "Мовлення в Текст..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:64
+msgid "Lyria 3 Pro..."
+msgstr "Lyria 3 Pro..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:73
+msgid "TTS..."
+msgstr "TTS..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:82
+msgid "Transcription / Translation..."
+msgstr "Транскрипція / Переклад..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:91
+msgid "Model manager..."
+msgstr "Менеджер моделей..."
+
+#. Translators: AI-Hub Tools menu: label for a submenu or action that opens a provider tool.
+#: addon\globalPlugins\AIHub\toolsmenu.py:161
#, python-format
msgid ""
-"This model (%s) does not support image description. Please select one of the "
-"following models: %s."
+"No account configured for %s. Please add an account for this provider in AI-"
+"Hub settings."
msgstr ""
-"Ця модель (%s) не підтримує опис зображення. Виберіть одну з наступних "
-"моделей: %s."
+"Для %s не налаштовано обліковий запис. Додайте обліковий запис для цього "
+"постачальника в налаштуваннях AI-Hub."
-#: addon/globalPlugins/openai/maindialog.py:1107
-msgid "Invalid model"
-msgstr "Неправильна модель"
+#. Translators: AI-Hub main window — Tools menu: entry in a context menu or submenu.
+#: addon\globalPlugins\AIHub\toolsmenu.py:200
+msgid "&Tools"
+msgstr "&Інструменти"
-#: addon/globalPlugins/openai/maindialog.py:1116
+#: buildVars.py:42
msgid ""
-"Be aware that the add-on may auto-resize images before API submission to "
-"lower request sizes and costs. Adjust this feature in the Open AI settings "
-"if needed. This message won't show again."
+"AI-Hub is an NVDA add-on that connects your screen reader to multiple AI "
+"providers for writing, summarizing, translation, image description, voice "
+"questions, and transcription without leaving NVDA."
msgstr ""
-"Майте на увазі, що додаток може автоматично змінювати розміри зображень "
-"перед надсиланням API, щоб зменшити розмір запиту та витрати. За потреби "
-"налаштуйте цю функцію в налаштуваннях Open AI. Це повідомлення більше не "
-"з'явиться."
+"AI-Hub — це додаток для NVDA, який підключає ваш екранний зчитувач до різних "
+"постачальників штучного інтелекту для написання текстів, створення резюме, "
+"перекладу, опису зображень, голосових запитів та транскрипції, не виходячи з "
+"NVDA."
-#: addon/globalPlugins/openai/maindialog.py:1119
-msgid "Image resizing"
-msgstr "Зміна розміру зображення"
-
-#: addon/globalPlugins/openai/maindialog.py:1158
-#, python-format
+#: buildVars.py:44
msgid ""
-"Unable to delete the file: %s\n"
-"Please remove it manually."
+"It supports OpenAI, Mistral, OpenRouter, Anthropic, xAI, Google, DeepSeek, "
+"Custom OpenAI-compatible endpoints, and local Ollama models, with provider-"
+"specific tools such as TTS, OCR, and speech-to-text."
msgstr ""
-"Не вдалося видалити файл: %s\n"
-"Видаліть його вручну."
+"Він підтримує OpenAI, Mistral, OpenRouter, Anthropic, xAI, Google, DeepSeek, "
+"власні кінцеві точки, сумісні з OpenAI, та локальні моделі Ollama, а також "
+"інструменти конкретних постачальників, такі як TTS, OCR та перетворення "
+"мовлення в текст."
-#: addon/globalPlugins/openai/maindialog.py:1216
-#, python-format
-msgid "Insertion of: %s"
-msgstr "Вставка з: %s"
+#~ msgid ""
+#~ "Custom OpenAI-compatible endpoint. Include /v1 according to your server."
+#~ msgstr ""
+#~ "Користувацька сумісна з OpenAI кінцева точка. Додайте /v1 згідно з вашим "
+#~ "сервером."
-#: addon/globalPlugins/openai/maindialog.py:1225
-msgid "Unknown error"
-msgstr "Невідома помилка"
+#~ msgid "Provider accounts used by AI-Hub. Double-click an entry to edit."
+#~ msgstr ""
+#~ "Облікові записи постачальників, які використовує AI-Hub. Двічі натисніть "
+#~ "таб, щоб редагувати."
-#: addon/globalPlugins/openai/maindialog.py:1241
-msgid "Do you want to open the URL in your browser?"
-msgstr "Бажаєте відкрити URL-адресу у своєму браузері?"
+#~ msgid "&Edit..."
+#~ msgstr "&Редагувати..."
-#: addon/globalPlugins/openai/maindialog.py:1244
-msgid "OpenAI Error"
-msgstr "Помилка OpenAI"
+#~ msgid "&Remove"
+#~ msgstr "&Видалити"
-#: addon/globalPlugins/openai/maindialog.py:1257
-msgid "Press Alt+F4 to close the dialog"
-msgstr "Натисніть Alt+F4, щоб закрити діалог"
+#~ msgid "&Close"
+#~ msgstr "&Закрити"
-#: addon/globalPlugins/openai/maindialog.py:1267
-msgid "User:"
-msgstr "Користувач:"
+#~ msgid "Close the AI Hub window (same as the Close button below)."
+#~ msgstr "Закрити діалог AI Hub (те саме, що й кнопка \"Закрити\" нижче)."
-#: addon/globalPlugins/openai/maindialog.py:1269
-msgid "Assistant:"
-msgstr "Помічник:"
+#~ msgid "Sessions"
+#~ msgstr "Сеанси"
-#: addon/globalPlugins/openai/maindialog.py:1413
-msgid "Begin"
-msgstr "Початок"
+#~ msgid ""
+#~ "When set (≥ 0), requests best-effort deterministic sampling where the "
+#~ "provider supports it (e.g. OpenAI seed)."
+#~ msgstr ""
+#~ "Якщо встановлено (≥ 0), вимагається найкраща детермінована вибірка, якщо "
+#~ "постачальник підтримує це (наприклад, початкове значення OpenAI)."
-#: addon/globalPlugins/openai/maindialog.py:1433
-msgid "End"
-msgstr "Кінець"
+#~ msgid ""
+#~ "Sent as the API “stop” field (OpenAI-compatible). Providers limit count "
+#~ "and length; extra lines may be ignored."
+#~ msgstr ""
+#~ "Надсилається як поле «стоп» API (сумісне з OpenAI). Постачальники "
+#~ "обмежують кількість та довжину; зайві рядки можуть ігноруватися."
-#: addon/globalPlugins/openai/maindialog.py:1473
-#, python-format
-msgid "Response copied to system: %s"
-msgstr "Відповідь скопійовано до system: %s"
+#~ msgid "Open tools menu (OpenAI, Mistral, Google)."
+#~ msgstr "Відкрити меню інструментів (OpenAI, Mistral, Google)."
-#: addon/globalPlugins/openai/maindialog.py:1482
-msgid "Compied to prompt"
-msgstr "Скопійовано до запиту"
+#~ msgid "Submit"
+#~ msgstr "Надіслати"
-#: addon/globalPlugins/openai/maindialog.py:1486
-msgid "Copy"
-msgstr "Копіювати"
+#~ msgid "&Open"
+#~ msgstr "&Відкрито"
-#: addon/globalPlugins/openai/maindialog.py:1494
-msgid "Copy prompt"
-msgstr "Копіювати запит"
+#~ msgid "Clos&e"
+#~ msgstr "&Закрити"
-#: addon/globalPlugins/openai/maindialog.py:1497
-msgid "Copy response"
-msgstr "Копіювати відповідь"
+#~ msgid "Attach braille to the history if the focus is in the prompt field"
+#~ msgstr ""
+#~ "Прикріпити шрифт Брайля до поля повідомлення, якщо фокус знаходиться в "
+#~ "полі запиту"
-#: addon/globalPlugins/openai/maindialog.py:1504
-msgid "as formatted HTML"
-msgstr "як форматований HTML"
+#, fuzzy
+#~| msgid "Show Open AI dialog"
+#~ msgid "Show AI-Hub dialog"
+#~ msgstr "Показати діалог Open AI"
-#: addon/globalPlugins/openai/maindialog.py:1530
-msgid "Block deleted"
-msgstr "Блокування видалено"
+#~ msgid ""
+#~ "Anthropic document support is best-effort here (PDF as document blocks, "
+#~ "text files inlined). If this file is rejected, try OpenAI provider for "
+#~ "native Responses file-input support."
+#~ msgstr ""
+#~ "Підтримка документів у форматі Anthropic тут здійснюється за принципом "
+#~ "«максимальних зусиль» (PDF у вигляді блоків документів, текстові файли "
+#~ "вбудовані). Якщо цей файл не приймається, спробуйте скористатися "
+#~ "провайдером OpenAI, який підтримує введення файлів у форматі Відповіді."
-#: addon/globalPlugins/openai/maindialog.py:1563
-msgid "Save history"
-msgstr "Зберегти історію"
+#~ msgid ""
+#~ "Google document support is best-effort through compatibility endpoints. "
+#~ "Try OpenAI provider for native Responses file-input support, or convert "
+#~ "the file to PDF/text."
+#~ msgstr ""
+#~ "Підтримка документів Google здійснюється в міру можливостей через кінцеві "
+#~ "точки сумісності. Спробуйте скористатися постачальником OpenAI для "
+#~ "вбудованої підтримки введення файлів у форматі Відповіді, або перетворіть "
+#~ "файл у PDF чи текст."
-#: addon/globalPlugins/openai/maindialog.py:1565
-msgid "Text file"
-msgstr "Текстовий файл"
+#~ msgid ""
+#~ "This provider uses a best-effort document compatibility path and may "
+#~ "reject some file types. Try OpenAI provider for native Responses file-"
+#~ "input support."
+#~ msgstr ""
+#~ "Цей постачальник використовує найкращий можливий шлях сумісності "
+#~ "документів і може відхилити деякі типи файлів. Спробуйте постачальника "
+#~ "OpenAI, який підтримує введення файлів у форматі Відповіді."
-#: addon/globalPlugins/openai/maindialog.py:1576
-msgid "History saved"
-msgstr "Історію збережено"
+#~ msgid "Main d&ialog..."
+#~ msgstr "Головни&й діалог..."
-#: addon/globalPlugins/openai/maindialog.py:1581
-msgid "Reset to default"
-msgstr "Скинути до початкових"
+#, fuzzy
+#~| msgid "Show the Open AI dialog"
+#~ msgid "Show the AI-Hub dialog"
+#~ msgstr "Показати діалог Open AI"
-#: addon/globalPlugins/openai/maindialog.py:1591
-msgid "Show message in web view as formatted HTML"
-msgstr "Показати повідомлення у веб-перегляді як форматований HTML"
+#~ msgid "Main dialog"
+#~ msgstr "Головний діалог"
-#: addon/globalPlugins/openai/maindialog.py:1594
-msgid "Show message in web view as HTML source"
-msgstr "Показати повідомлення у веб-перегляді як джерело HTML"
+#~ msgid ""
+#~ "Enable &advanced settings (including temperature and probability mass)"
+#~ msgstr ""
+#~ "Увімкнути &розширені параметри (зокрема температуру та маси ймовірності)"
-#: addon/globalPlugins/openai/maindialog.py:1597
-msgid "Copy message as plain text"
-msgstr "Копіювати повідомлення як звичайний текст"
+#~ msgid "Update"
+#~ msgstr "Оновлення"
-#: addon/globalPlugins/openai/maindialog.py:1600
-msgid "Copy message as formatted HTML"
-msgstr "Копіювати повідомлення як форматований HTML"
+#~ msgid "Check for &updates on startup and periodically"
+#~ msgstr "Періодично перевіряти наявність &оновлень під час запуску"
-#: addon/globalPlugins/openai/maindialog.py:1603
-msgid "Copy response to system"
-msgstr "Копіювати відповідь до system"
+#~ msgid "&Channel:"
+#~ msgstr "&Канал:"
-#: addon/globalPlugins/openai/maindialog.py:1606
-msgid "Copy prompt to prompt"
-msgstr "Копіювати запит до запиту"
+#~ msgid "API Access Keys"
+#~ msgstr "Ключі доступу до API"
-#: addon/globalPlugins/openai/maindialog.py:1609
-msgid "Delete block"
-msgstr "Видалити блок"
+#, python-format
+#~ msgid "%s API &keys..."
+#~ msgstr "&Ключі API %s..."
-#: addon/globalPlugins/openai/maindialog.py:1612
-msgid "Save history as text file"
-msgstr "Зберегти історію у текстовий файл"
+#~ msgid "Use &whisper.cpp for transcription"
+#~ msgstr "Використовувати &whisper.cpp для транскрипції"
-#: addon/globalPlugins/openai/maindialog.py:1615
-msgid "Say message"
-msgstr "Промовити повідомлення"
+#~ msgid "&Host:"
+#~ msgstr "&Хост:"
-#: addon/globalPlugins/openai/maindialog.py:1618
-msgid "Move to previous message"
-msgstr "Перейти до попереднього повідомлення"
+#~ msgid "API &keys"
+#~ msgstr "&Ключі API"
-#: addon/globalPlugins/openai/maindialog.py:1621
-msgid "Move to next message"
-msgstr "Перейти до наступного повідомлення"
+#~ msgid "Manage the API keys"
+#~ msgstr "Керування ключами API"
-#: addon/globalPlugins/openai/maindialog.py:1632
-msgid "Insert previous prompt"
-msgstr "Вставити попередній запит"
+#~ msgid "API &usage"
+#~ msgstr "&Використання API"
-#: addon/globalPlugins/openai/maindialog.py:1684
-msgid "Show model &details"
-msgstr "Показати деталі &моделі"
+#~ msgid "Open the API usage webpage"
+#~ msgstr "Відкрити веб-сторінку використання API"
-#: addon/globalPlugins/openai/maindialog.py:1688
-msgid "Add to &favorites"
-msgstr "Додати в &обране"
+#~ msgid "Check for &updates..."
+#~ msgstr "&Перевірити наявність оновлень..."
-#: addon/globalPlugins/openai/maindialog.py:1688
-msgid "Remove from &favorites"
-msgstr "Видалити з &обраного"
+#~ msgid "Check for updates"
+#~ msgstr "Перевірити наявність оновлень"
-#: addon/globalPlugins/openai/maindialog.py:1702
-msgid "From f&ile path..."
-msgstr "&Зі шляху до файлу..."
+#~ msgid "Please disable the screen curtain before taking a screenshot"
+#~ msgstr "Перш ніж робити знімок екрана, вимкніть екранну завісу"
-#: addon/globalPlugins/openai/maindialog.py:1706
-msgid "From &URL..."
-msgstr "З &URL..."
+#~ msgid "Points to one of the most recent iterations of gpt-3.5 model."
+#~ msgstr "Вказує на одну з останніх ітерацій моделі gpt-3.5."
-#: addon/globalPlugins/openai/maindialog.py:1710
-msgid "From &screenshot"
-msgstr "Зі &знімка екрана"
+#~ msgid ""
+#~ "The latest GPT-3.5 Turbo model with higher accuracy at responding in "
+#~ "requested formats and a fix for a bug which caused a text encoding issue "
+#~ "for non-English language function calls."
+#~ msgstr ""
+#~ "Остання модель GPT-3.5 Turbo з підвищеною точністю обробки запитуваних "
+#~ "форматів і виправленням помилки, яка спричиняла проблеми з кодуванням "
+#~ "тексту при виклику неанглійських функцій."
-#: addon/globalPlugins/openai/maindialog.py:1732
-msgid "&Remove selected images"
-msgstr "&Видалити вибрані зображення"
+#~ msgid ""
+#~ "Updated GPT 3.5 Turbo. The latest GPT-3.5 Turbo model with improved "
+#~ "instruction following, JSON mode, reproducible outputs, parallel function "
+#~ "calling, and more."
+#~ msgstr ""
+#~ "Оновлено GPT 3.5 Turbo. Остання модель GPT-3.5 Turbo з покращеним "
+#~ "дотриманням інструкцій, режимом JSON, відтворюваними виводами, "
+#~ "паралельним викликом функцій тощо."
-#: addon/globalPlugins/openai/maindialog.py:1735
-msgid "Remove &all images"
-msgstr "Видалити &всі зображення"
+#~ msgid ""
+#~ "Our most advanced, multimodal flagship model that’s cheaper and faster "
+#~ "than GPT-4 Turbo"
+#~ msgstr ""
+#~ "Наша найсучасніша мультимодальна флагманська модель, яка дешевша і швидша "
+#~ "за GPT-4 Turbo"
-#: addon/globalPlugins/openai/maindialog.py:1739
-msgid "Add from f&ile path..."
-msgstr "&Додати зі шляху до файлу..."
+#~ msgid "The latest GPT-4 Turbo model with vision capabilities"
+#~ msgstr "Остання модель GPT-4 Turbo з баченням"
-#: addon/globalPlugins/openai/maindialog.py:1742
-msgid "Add from &URL..."
-msgstr "Додати з &URL..."
+#~ msgid "Points to one of the most recent iterations of gpt-4 model."
+#~ msgstr "Вказує на одну з останніх ітерацій моделі gpt-4."
-#. Translators: This is a message displayed in a dialog to select one or more images.
-#: addon/globalPlugins/openai/maindialog.py:1848
-msgid "Select image files"
-msgstr "Вибрати файли зображень"
+#~ msgid ""
+#~ "The latest GPT-4 model intended to reduce cases of “laziness” where the "
+#~ "model doesn’t complete a task."
+#~ msgstr ""
+#~ "Остання модель GPT-4 призначена для зменшення випадків \"лінощів\", коли "
+#~ "модель не виконує завдання."
-#: addon/globalPlugins/openai/maindialog.py:1850
-msgid "Image files"
-msgstr "Файли зображень"
+#~ msgid ""
+#~ "GPT-4 Turbo model featuring improved instruction following, JSON mode, "
+#~ "reproducible outputs, parallel function calling, and more."
+#~ msgstr ""
+#~ "Модель GPT-4 Turbo із покращеним дотриманням інструкцій, режимом JSON, "
+#~ "відтворюваними виводами, паралельним викликом функцій тощо."
-#. Translators: This message is displayed when the image has already been added.
-#: addon/globalPlugins/openai/maindialog.py:1866
-#, python-format
-msgid ""
-"The following image has already been added and will be ignored:\n"
-"%s"
-msgstr ""
-"Наступне зображення вже додано та буде проігноровано:\n"
-"%s"
+#~ msgid ""
+#~ "GPT-4 Turbo with vision. Ability to understand images, in addition to all "
+#~ "other GPT-4 Turbo capabilities."
+#~ msgstr ""
+#~ "GPT-4 Turbo з оглядом. Здатність розуміти зображення на додаток до всіх "
+#~ "інших можливостей GPT-4 Turbo."
-#. Translators: This is a message displayed in a dialog to enter an image URL.
-#: addon/globalPlugins/openai/maindialog.py:1885
-msgid "Enter image URL"
-msgstr "Введіть URL зображення"
+#~ msgid ""
+#~ "More capable than any GPT-3.5 model, able to do more complex tasks, and "
+#~ "optimized for chat"
+#~ msgstr ""
+#~ "Більш потужний, ніж будь-яка модель GPT-3.5, здатний виконувати більш "
+#~ "складні завдання та оптимізований для чату"
-#: addon/globalPlugins/openai/maindialog.py:1899
-msgid "Invalid URL, bad format."
-msgstr "Недійсна URL-адреса, неправильний формат."
+#~ msgid ""
+#~ "Same capabilities as the standard gpt-4 mode but with 4x the context "
+#~ "length."
+#~ msgstr ""
+#~ "Ті ж можливості, що і в стандартному режимі gpt-4, але з 4-кратною "
+#~ "довжиною контексту."
-#. Translators: This message is displayed when the image URL returns an HTTP error.
-#: addon/globalPlugins/openai/maindialog.py:1910
#, python-format
-msgid "HTTP error %s."
-msgstr "Помилка HTTP %s."
+#~ msgid "aka %s"
+#~ msgstr "також відомий як %s"
-#. Translators: This message is displayed when the image URL does not point to an image.
-#: addon/globalPlugins/openai/maindialog.py:1918
-msgid "The URL does not point to an image."
-msgstr "URL-адреса не вказує на зображення."
+#~ msgid "Simple tasks (Classification, Customer Support, or Text Generation)"
+#~ msgstr ""
+#~ "Прості завдання (класифікація, підтримка клієнтів або генерація тексту)"
-#. Translators: This message is displayed when the add-on fails to get the image dimensions.
-#: addon/globalPlugins/openai/maindialog.py:1941
-#, python-format
-msgid "Failed to get image dimensions. %s"
-msgstr "Не вдалося отримати розміри зображення. %s"
+#~ msgid ""
+#~ "Intermediate tasks that require moderate reasoning (Data extraction, "
+#~ "Summarizing a Document, Writing emails, Writing a Job Description, or "
+#~ "Writing Product Descriptions)"
+#~ msgstr ""
+#~ "Проміжні завдання, які вимагають поміркованих обґрунтувань (витяг даних, "
+#~ "узагальнення документа, написання електронних листів, написання посадових "
+#~ "інструкцій або опис продукту)"
-#. Translators: This message is displayed when a chat session stops receiving images.
-#: addon/globalPlugins/openai/maindialog.py:1969
-msgid "Screenshot reception disabled"
-msgstr "Отримання знімків екрана вимкнено"
+#~ msgid ""
+#~ "Complex tasks that require large reasoning capabilities or are highly "
+#~ "specialized (Synthetic Text Generation, Code Generation, RAG, or Agents)"
+#~ msgstr ""
+#~ "Складні завдання, які вимагають великих можливостей міркування або є "
+#~ "вузькоспеціалізованими (генерація синтетичного тексту, генерація коду, "
+#~ "RAG або агенти)"
-#. Translators: This message is displayed when a chat session starts to receive images.
-#: addon/globalPlugins/openai/maindialog.py:1975
-msgid "Screenshot reception enabled"
-msgstr "Отримання знімків екрана увімкнено"
+#~ msgid "SubRip (SRT)"
+#~ msgstr "SubRip (SRT)"
-#: addon/globalPlugins/openai/maindialog.py:1991
-msgid "Stop &recording"
-msgstr "Зупинити &запис"
+#~ msgid "Web Video Text Tracks (VTT)"
+#~ msgstr "Текстові доріжки веб-відео (VTT)"
-#: addon/globalPlugins/openai/maindialog.py:2005
-msgid "Select audio file"
-msgstr "Вибрати аудіофайл"
+#~ msgid "Uploading one image, please wait..."
+#~ msgstr "Відвантаження одного зображення, зачекайте..."
-#: addon/globalPlugins/openai/maindialog.py:2007
-msgid ""
-"Audio files (*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.wav;*.webm)|*.mp3;*.mp4;*."
-"mpeg;*.mpga;*.m4a;*.wav;*.webm"
-msgstr ""
-"Аудіофайли (*.mp3;*.mp4;*.mpeg;*.mpga;*.m4a;*.wav;*.webm)|*.mp3;*.mp4;*.mpeg;"
-"*.mpga;*. m4a;*.wav;*.webm"
+#~ msgid "ID"
+#~ msgstr "ID"
-#: addon/globalPlugins/openai/maindialog.py:2027
-msgid "Please enter some text in the prompt field first."
-msgstr "Спочатку введіть текст у поле запиту."
+#~ msgid "Start &recording"
+#~ msgstr "&Почати запис"
-#: addon/globalPlugins/openai/model.py:41
-msgid "preview: not yet suited for production traffic"
-msgstr "попередній перегляд: ще не підходить для робочого трафіку"
+#~ msgid "Record audio from microphone"
+#~ msgstr "Запис звуку з мікрофона"
-#: addon/globalPlugins/openai/model.py:55
-#, python-brace-format
-msgid "provider: {provider}"
-msgstr "постачальник: {provider}"
+#~ msgid "Transcribe from &audio file"
+#~ msgstr "Транскрибувати з &аудіофайлу"
-#: addon/globalPlugins/openai/model.py:60
-#, python-brace-format
-msgid "ID: {id}"
-msgstr "ID: {id}"
+#~ msgid "Transcribe audio from a file path"
+#~ msgstr "Транскрибувати аудіо зі шляху до файлу"
-#: addon/globalPlugins/openai/model.py:63
-#, python-brace-format
-msgid "context window: {contextWindow}"
-msgstr "контекстне вікно: {contextWindow}"
+#~ msgid "&Image description"
+#~ msgstr "&Опис зображення"
-#: addon/globalPlugins/openai/model.py:69
-#, python-brace-format
-msgid "max output tokens: {maxOutputToken}"
-msgstr "максимальна кількість вихідних токенів: {maxOutputToken}"
+#~ msgid "Describe an image from a file path or an URL"
+#~ msgstr "Описати зображення за допомогою шляху до файлу або URL-адреси"
-#: addon/globalPlugins/openai/recordthread.py:47
-msgid "Transcription copied to clipboard"
-msgstr "Транскрипцію скопійовано в буфер обміну"
+#~ msgid "&Vocalize the prompt"
+#~ msgstr "&Промовити запит"
-#: addon/globalPlugins/openai/recordthread.py:102
-msgid "Transcribing..."
-msgstr "Транскрибування..."
+#~ msgid "Unknown error"
+#~ msgstr "Невідома помилка"
-#: addon/globalPlugins/openai/recordthread.py:178
-#: addon/globalPlugins/openai/recordthread.py:187
-#: addon/globalPlugins/openai/recordthread.py:203
-msgid "Error!"
-msgstr "Помилка!"
+#~ msgid "Begin"
+#~ msgstr "Початок"
-#: addon/globalPlugins/openai/updatecheck.py:89
-#, python-format
-msgid ""
-"New version available: %s. Your version is %s. You can update from the add-"
-"on store or from the GitHub repository."
-msgstr ""
-"Доступна нова версія: %s. Ваша версія: %s. Ви можете оновитися з магазину "
-"додатків або з репозиторію GitHub."
+#~ msgid "End"
+#~ msgstr "Кінець"
+
+#~ msgid "Image files"
+#~ msgstr "Файли зображень"
-#. Translators: This is the title of the message displayed when a new version of the add-on is available.
-#. Translators: This is the title of the message displayed when the user checks for updates manually and there are no updates available.
-#: addon/globalPlugins/openai/updatecheck.py:99
-#: addon/globalPlugins/openai/updatecheck.py:108
-msgid "OpenAI update"
-msgstr "Оновлення OpenAI"
+#~ msgid "The URL does not point to an image."
+#~ msgstr "URL-адреса не вказує на зображення."
-#. Translators: This is the message displayed when the user checks for updates manually and there are no updates available.
-#: addon/globalPlugins/openai/updatecheck.py:104
-msgid "You have the latest version of OpenAI add-on installed."
-msgstr "У вас встановлена остання версія додатка OpenAI."
+#~ msgid "Stop &recording"
+#~ msgstr "Зупинити &запис"
+
+#~ msgid "Error!"
+#~ msgstr "Помилка!"
-#. Translators: This is the message displayed when a new version of the OpenAI dependencies is available.
-#: addon/globalPlugins/openai/updatecheck.py:146
#, python-format
-msgid ""
-"New OpenAI dependencies revision available: %s. Your version is %s. Update "
-"now?"
-msgstr ""
-"Доступна нова версія залежностей OpenAI: %s. Ваша версія %s. Оновити зараз?"
+#~ msgid ""
+#~ "New version available: %s. Your version is %s. You can update from the "
+#~ "add-on store or from the GitHub repository."
+#~ msgstr ""
+#~ "Доступна нова версія: %s. Ваша версія: %s. Ви можете оновитися з магазину "
+#~ "додатків або з репозиторію GitHub."
-#: addon/globalPlugins/openai/updatecheck.py:148
-msgid "unknown"
-msgstr "невідома помилка"
+#~ msgid "You have the latest version of OpenAI add-on installed."
+#~ msgstr "У вас встановлена остання версія додатка OpenAI."
-#. Translators: This is the title of the message displayed when a new version of the OpenAI dependencies is available.
-#: addon/globalPlugins/openai/updatecheck.py:154
-msgid "OpenAI dependencies update"
-msgstr "Оновлення залежностей OpenAI"
+#, python-format
+#~ msgid ""
+#~ "New OpenAI dependencies revision available: %s. Your version is %s. "
+#~ "Update now?"
+#~ msgstr ""
+#~ "Доступна нова версія залежностей OpenAI: %s. Ваша версія %s. Оновити "
+#~ "зараз?"
-#. Translators: This is the message emitted when updating the OpenAI dependencies.
-#: addon/globalPlugins/openai/updatecheck.py:164
-msgid "Updating OpenAI dependencies... Please wait"
-msgstr "Оновлення залежностей OpenAI... Зачекайте"
+#~ msgid "Updating OpenAI dependencies... Please wait"
+#~ msgstr "Оновлення залежностей OpenAI... Зачекайте"
-#. Translators: This is the message displayed when the OpenAI dependencies are updated successfully.
-#: addon/globalPlugins/openai/updatecheck.py:187
-msgid ""
-"Dependencies updated successfully. NVDA will now restart to apply the "
-"changes."
-msgstr ""
-"Залежності успішно оновлено. NVDA буде перезапущено для застосування змін."
+#~ msgid ""
+#~ "Dependencies updated successfully. NVDA will now restart to apply the "
+#~ "changes."
+#~ msgstr ""
+#~ "Залежності успішно оновлено. NVDA буде перезапущено для застосування змін."
-#. Translators: This is the title of the message displayed when the OpenAI dependencies are updated successfully.
-#: addon/globalPlugins/openai/updatecheck.py:189
-msgid "Success"
-msgstr "Успішно"
+#~ msgid "Success"
+#~ msgstr "Успішно"
-#. Translators: This is the message displayed when the OpenAI dependencies cannot be updated.
-#: addon/globalPlugins/openai/updatecheck.py:203
-msgid "Error updating dependencies. Please restart NVDA and try again."
-msgstr "Помилка оновлення залежностей. Перезапустіть NVDA та повторіть спробу."
+#~ msgid "Error updating dependencies. Please restart NVDA and try again."
+#~ msgstr ""
+#~ "Помилка оновлення залежностей. Перезапустіть NVDA та повторіть спробу."
-#. Translators: This is the title of the message displayed when the OpenAI dependencies cannot be updated.
-#: addon/globalPlugins/openai/updatecheck.py:205
-msgid "Error"
-msgstr "Помилка"
+#~ msgid "Error"
+#~ msgstr "Помилка"
-#: buildVars.py:42
-msgid ""
-"Open AI is an NVDA add-on designed to seamlessly integrate the capabilities "
-"of the Open AI API into your workflow. Whether you're looking to craft "
-"comprehensive text, translate passages with precision, concisely summarize "
-"documents, or even interpret and describe visual content, this add-on does "
-"it all with ease."
-msgstr ""
-"Цей додаток призначений для безперешкодної інтеграції можливостей API Open "
-"AI у ваш робочий процес. Незалежно від того, чи потрібно вам створити "
-"вичерпний текст, точно перекласти уривки, стисло підсумувати документи або "
-"навіть інтерпретувати й описати візуальний вміст, цей додаток легко "
-"впорається з усіма цими завданнями."
+#~ msgid ""
+#~ "Open AI is an NVDA add-on designed to seamlessly integrate the "
+#~ "capabilities of the Open AI API into your workflow. Whether you're "
+#~ "looking to craft comprehensive text, translate passages with precision, "
+#~ "concisely summarize documents, or even interpret and describe visual "
+#~ "content, this add-on does it all with ease."
+#~ msgstr ""
+#~ "Цей додаток призначений для безперешкодної інтеграції можливостей API "
+#~ "Open AI у ваш робочий процес. Незалежно від того, чи потрібно вам "
+#~ "створити вичерпний текст, точно перекласти уривки, стисло підсумувати "
+#~ "документи або навіть інтерпретувати й описати візуальний вміст, цей "
+#~ "додаток легко впорається з усіма цими завданнями."
-#: buildVars.py:44
-msgid ""
-"The add-on also supports integration with Mistral and OpenRouter services, "
-"thanks to their shared API format."
-msgstr ""
-"Додаток також підтримує інтеграцію з сервісами Mistral і OpenRouter завдяки "
-"спільному формату API."
+#~ msgid ""
+#~ "The add-on also supports integration with Mistral and OpenRouter "
+#~ "services, thanks to their shared API format."
+#~ msgstr ""
+#~ "Додаток також підтримує інтеграцію з сервісами Mistral і OpenRouter "
+#~ "завдяки спільному формату API."
#~ msgid ""
#~ "Same capabilities as the standard gpt-3.5-turbo model but with 4 times "
@@ -1070,15 +3978,9 @@ msgstr ""
#~ "Будь ласка, скористайтеся кнопкою \"Опис зображення\" і виберіть одне або "
#~ "кілька зображень. В іншому випадку, виберіть іншу модель."
-#~ msgid "No image provided"
-#~ msgstr "Зображення не надано"
-
#~ msgid "&History:"
#~ msgstr "&Історія:"
-#~ msgid "Attached ima&ges:"
-#~ msgstr "&Вкладені зображення:"
-
#~ msgid "Maximum to&kens for the completion:"
#~ msgstr "Максимальна кількість то&кенів для завершення:"
@@ -1105,21 +4007,9 @@ msgstr ""
#~ "Ключ автентифікації не надано. Будь ласка, встановіть його в діалозі "
#~ "Налаштування."
-#~ msgid "API Key:"
-#~ msgstr "Ключ API:"
-
-#~ msgid "Organization"
-#~ msgstr "Організація"
-
#~ msgid "Use or&ganization"
#~ msgstr "Використовувати &організацію"
-#~ msgid "Organization &name:"
-#~ msgstr "&Назва організації:"
-
-#~ msgid "&Organization key:"
-#~ msgstr "&Ключ організації:"
-
#~ msgid "Ready"
#~ msgstr "Готово"
@@ -1385,9 +4275,6 @@ msgstr ""
#~ msgid "Whisper through whisper.cpp"
#~ msgstr "Whisper.cpp aracılığıyla fısılda"
-#~ msgid "Open AI"
-#~ msgstr "Open AI"
-
#~ msgid "One image to analyze..."
#~ msgstr "Одне зображення для аналізу..."