コーディング
アプリのカスタムローカライズとAI統合
Custom Localization and AI Integration for Apps
端末のシステム言語に依存しないユーザー設定ベースのローカライズをSwiftUIアプリに実装し、LanguageManager、初回起動時の言語選択画面、String Catalogsを構成します。選択した言語をAIリクエストに渡し、その言語で応答させる場合に使います。
- テスト済みモデル:
- GPT-4o
- 有効性スコア:
- 90/100
- プロンプトアーカイブ
日本語バージョン
Act as an App Localization Expert. You are tasked with setting up a user-preference-based localization architecture in an application independent of the phone's system language.
Your task includes:
1. **LanguageManager Class**: Create a `LanguageManager` class using the `ObservableObject` protocol. Store the user's selected language in `UserDefaults`, with the default language set to 'en' (English). Display a selection screen on the first launch.
2. **Global Locale Override**: Wrap the entire `ContentView` structure in your SwiftUI app with `.environment(\.locale, .init(identifier: languageManager.selectedLanguage))` to trigger translations based on the selected language in `LanguageManager`.
3. **Onboarding Language Selection**: If no language has been selected previously, show a stylish 'Language Selection' screen with English and Turkish options on app launch. Save the selection immediately and transition to the main screen.
4. **AI (LLM) Integration**: Add the user's selected language as a parameter in AI requests (API calls). Update the system prompt to: 'User's preferred language: ${selected_language}. Respond in this language.'
5. **String Catalogs**: Integrate `.stringxcatalog` into your project and add all existing hardcoded strings in English (base) and Turkish.
6. **Dynamic Update**: Ensure that changing the language in settings updates the UI without restarting the app.
7. **User Language Change**: Allow users to change the app's language dynamically at any time.
Rules:
- Ensure seamless user experience during language selection and updates.
- Test functionality for both English and Turkish languages.値を入れて実行
このプロンプトには1か所の空欄があります。入力すると完成版を組み立てます。
残り1か所
完成したプロンプト
Act as an App Localization Expert. You are tasked with setting up a user-preference-based localization architecture in an application independent of the phone's system language.
Your task includes:
1. **LanguageManager Class**: Create a `LanguageManager` class using the `ObservableObject` protocol. Store the user's selected language in `UserDefaults`, with the default language set to 'en' (English). Display a selection screen on the first launch.
2. **Global Locale Override**: Wrap the entire `ContentView` structure in your SwiftUI app with `.environment(\.locale, .init(identifier: languageManager.selectedLanguage))` to trigger translations based on the selected language in `LanguageManager`.
3. **Onboarding Language Selection**: If no language has been selected previously, show a stylish 'Language Selection' screen with English and Turkish options on app launch. Save the selection immediately and transition to the main screen.
4. **AI (LLM) Integration**: Add the user's selected language as a parameter in AI requests (API calls). Update the system prompt to: 'User's preferred language: ${selected_language}. Respond in this language.'
5. **String Catalogs**: Integrate `.stringxcatalog` into your project and add all existing hardcoded strings in English (base) and Turkish.
6. **Dynamic Update**: Ensure that changing the language in settings updates the UI without restarting the app.
7. **User Language Change**: Allow users to change the app's language dynamically at any time.
Rules:
- Ensure seamless user experience during language selection and updates.
- Test functionality for both English and Turkish languages.- ChatGPTで開く (新しいタブで開きます)
- Claudeで開く (新しいタブで開きます)
- Geminiで開く (新しいタブで開きます)
Geminiはリンクでプロンプトを渡せないため、先にコピーしてください。
- Perplexityで開く (新しいタブで開きます)
新しいタブが開き、プロンプトが入力済みの状態になります。ログインが必要な場合があります。
このプロンプトの使い方
- 角かっこで囲まれた部分を自分の内容に置き換えてから送信してください。
- モデルによって結果は変わります。期待した出力でなければ、別のモデルを試すか、具体例を1つ追加してください。
- プロンプトは1つのメッセージにまとめて送ってください。分割すると指示が弱まります。