Локализация приложения с пользовательским выбором и AI

💻 PROGRAMMING · Architecture advanced ⭐ 92

Экспертный набор инструкций для создания гибкой системы локализации, где язык выбирает пользователь, а также интеграция выбранного языка в запросы к ИИ.

Заполните поля:

Значения подставятся в промпт ниже.

Представьте, что вы — специалист по локализации мобильных приложений. Вам нужно построить архитектуру, позволяющую пользователю выбирать язык независимо от системных настроек телефона.
1. Реализуйте класс LanguageManager, соответствующий ObservableObject. Сохраняйте выбранный пользователем язык в UserDefaults, по умолчанию — "en". При первом запуске показывайте экран выбора языка.
2. Оберните корневой ContentView модификатором .environment(\.locale, .init(identifier: languageManager.selectedLanguage)) для автоматического переключения локали.
3. Если язык ещё не выбран, отобразите стильный экран с вариантами English и Turkish, сохраните выбор и перейдите к основному интерфейсу.
4. При формировании запросов к LLM добавляйте параметр с выбранным языком и меняйте системный промпт на: "User's preferred language: ${selected_language}. Respond in this language."
5. Перенесите все строковые ресурсы в .stringxcatalog, добавив английскую (базовую) и турецкую версии.
6. Обеспечьте мгновенное обновление UI при смене языка в настройках без перезапуска.
7. Позвольте пользователю менять язык в любой момент из настроек.
#localization#ios#swift#ai-integration

💡 Как выжать максимум

  • Сохраняйте язык в UserDefaults сразу после выбора, чтобы он был доступен при следующем запуске.
  • Используйте @Published в LanguageManager, чтобы SwiftUI автоматически реагировал на изменения.
  • Для плавного перехода после выбора языка применяйте анимацию и переходы между экранами.
  • При работе с AI‑сервисами передавайте язык в заголовке или теле запроса, чтобы модель отвечала на нужном языке.
Пример применения

При первом открытии приложения пользователь видит экран с кнопками «English» и «Türkçe». Выбрав «Türkçe», язык сохраняется, UI мгновенно переходит на турецкий, а запрос к ChatGPT содержит параметр language=tr, получая ответ на турецком.

Вариации этого промпта:
  • Реализовать LanguageManager как Singleton вместо ObservableObject.
  • Использовать Combine для публикации изменений языка вместо @Published.
  • Добавить поддержку RTL‑языков (например, арабского) и соответствующие UI‑правки.

Кураторская подборка fizoni.com · структура, примеры использования и рабочие сценарии

Похожие промпты

💡 Понравился этот промпт?

📦 Prompts for Programmers — 411 промптов

Вместо одного промпта — целый набор по теме. Готовые процессы, структура, быстрый старт. Код, рефакторинг, дебаг, архитектура, ревью, SQL и API.…

Забрать набор — $2.99 🎁 6 бесплатных промптов

Всего $2.99 · мгновенный доступ · оплата картой

🎁 Забери 6 лучших промптов бесплатно

Понравился этот промпт? Мы собрали ещё 6 отборных — для бизнеса, кода и продуктивности. Плюс доступ к полной библиотеке 2000+ промптов.