# TiHiY Voice Translator v9.11.2 — Clean API Key

Ця версія продовжує v9.11.1 і виправляє підготовку програми до розповсюдження: приватний OpenAI API-ключ не входить у вихідний код, portable-збірку або інсталятор.

## Головне правило API-ключа

- Після **нової чистої установки** поле OpenAI API Key порожнє.
- Кожен користувач самостійно вставляє власний ключ.
- Ключ зберігається тільки у локальних налаштуваннях цього користувача:
  `%LOCALAPPDATA%\TiHiY Voice Translator\settings.json`.
- Під час звичайного оновлення вже встановленої програми власний ключ користувача зберігається.
- Налаштування зі старої тестової папки мігруються, але старий API-ключ навмисно не переноситься.

> Не публікуйте свій API-ключ на сайті, GitHub, у ZIP-архіві або в інсталяторі.

## Перевірка перед збиранням

Скрипти `BUILD_EXE.bat` і `BUILD_INSTALLER.bat` автоматично запускають:

```bat
py tools\VERIFY_NO_SECRETS.py
```

Збірка зупиниться, якщо буде знайдено:

- ключ, схожий на `sk-...`;
- непорожній `api_key` у JSON;
- локальний `settings.json` або `.env` у проєкті.

Для ручної перевірки чистої установки на своєму комп’ютері запустіть:

```bat
RESET_LOCAL_SETTINGS_FOR_TEST.bat
```

Це видалить локальні налаштування поточного Windows-користувача. Використовуйте лише для тестування.

## Запуск із вихідного коду

1. Запустіть `START_DEBUG.bat`.
2. Для автоматичної перевірки запустіть `RUN_SELF_TEST.bat`.

## Створення Windows EXE

Запустіть:

```bat
BUILD_EXE.bat
```

Готовий portable-білд:

`dist\TiHiY Voice Translator\TiHiY Voice Translator.exe`

## Створення інсталятора

1. Встановіть Inno Setup 7.
2. Запустіть:

```bat
BUILD_INSTALLER.bat
```

Готовий інсталятор:

`Output\TiHiY_Voice_Translator_v9_11_2_Setup.exe`

Інсталятор автоматично відрізняє нову установку від оновлення:

- нова установка очищає залишковий API-ключ від старих тестів;
- оновлення зберігає власні налаштування користувача.

## Оновлення програми

Приклад JSON-маніфесту: `update_manifest.example.json`.

Для перевірки оновлень задайте у локальному `settings.json` адресу:

```json
"update_manifest_url": "https://ваш-сайт/updates/voice-translator.json"
```

Підтримуються канали `stable` і `beta`.

## Інші можливості

- один запущений екземпляр програми;
- повторний запуск відкриває вже працююче вікно;
- адаптивний HUD-інтерфейс;
- PTT, прямий голос, переклад і TTS;
- вибір мікрофона, VB-CABLE та голосу перекладу;
- трей, автозапуск і перевірка оновлень.

Фізичну F8, реальний мікрофон, VB-CABLE, OpenAI API та Discord потрібно остаточно перевірити на Windows.
