Створення архітектури локалізації додатків з ШІ-інтеграцією

Опис

Архітектура локалізації з ШІ-інтеграцією для додатків

Цей промпт допоможе вам створити надійну систему локалізації для вашого SwiftUI додатка, яка працює незалежно від налаштувань операційної системи. Ви отримаєте готову структуру для управління мовами та безшовну інтеграцію з LLM (великими мовними моделями).

Для кого цей промпт?

  • SwiftUI розробників: які хочуть надати користувачам можливість вибору мови всередині додатка.
  • AI-ентузіастів: які інтегрують ШІ-асистентів і потребують коректних відповідей мовою користувача.
  • Project-менеджерів: для швидкого розгортання мультимовних рішень на нових ринках.

Переваги використання

  • Повна автономність: локалізація інтерфейсу не залежить від глобальних налаштувань iPhone.
  • Динамічне оновлення: UI оновлюється миттєво при зміні налаштувань без перезавантаження.
  • Контекст для ШІ: автоматична передача мовних уподобань у системні промпти API.
  • Чиста архітектура: використання ObservableObject та String Catalogs для зручного масштабування.
>_ Промпт
Дій як експерт із локалізації додатків. Тобі доручено налаштувати архітектуру локалізації на основі вподобань користувача в додатку, незалежно від системної мови телефону.

Твоє завдання включає:
1. **Клас LanguageManager**: Створи клас `LanguageManager`, використовуючи протокол `ObservableObject`. Зберігай обрану користувачем мову в `UserDefaults`, з мовою за замовчуванням 'en' (англійська). Показуй екран вибору при першому запуску.
2. **Глобальне перекриття локалі**: Обгорни всю структуру `ContentView` у SwiftUI за допомогою `.environment(\.locale, .init(identifier: languageManager.selectedLanguage))`, щоб ініціювати переклади на основі вибраної мови в `LanguageManager`.
3. **Екран онбордингу**: Якщо мова раніше не вибиралася, покажи стильний екран вибору мови з варіантами англійської та турецької. Збережи вибір негайно і перейди до головного екрана.
4. **Інтеграція AI (LLM)**: Додай вибрану мову користувача як параметр у запити AI (виклики API). Онови системний промпт: 'User's preferred language: ${selected_language}. Respond in this language.'
5. **String Catalogs**: Інтегруй `.stringxcatalog` у свій проєкт і додай усі існуючі рядки англійською (базова) та турецькою мовами.
6. **Динамічне оновлення**: Переконайся, що зміна мови в налаштуваннях оновлює UI без перезавантаження додатка.
7. **Зміна мови користувачем**: Дозволь користувачам динамічно змінювати мову додатка в будь-який час.
Категорії:
Моделі:
Формат виводу: