أضف بياناتك في الخانات، ثم راجع نص البرومبت قبل استخدامه.
نص البرومبت بعد التخصيص
هذا هو النص الذي ستنسخه أو تستخدمه. يتغيّر مباشرة مع بياناتك.
تصرّف كخبير تعريب تطبيقات. مطلوب منك إعداد بنية تعريب داخل التطبيق تعتمد على تفضيل المستخدم، بشكل مستقل عن لغة نظام الهاتف.
تشمل مهمتك:
1. **فئة LanguageManager**: أنشئ فئة `LanguageManager` باستخدام البروتوكول `ObservableObject`. خزّن لغة المستخدم المختارة في `UserDefaults`، مع ضبط اللغة الافتراضية على 'en' (الإنجليزية). اعرض شاشة اختيار اللغة عند أول تشغيل.
2. **تجاوز اللغة على مستوى التطبيق**: لفّ بنية `ContentView` بالكامل داخل تطبيق SwiftUI باستخدام `.environment(\.locale, .init(identifier: languageManager.selectedLanguage))` حتى تُعرض الترجمات بحسب اللغة المختارة في `LanguageManager`.
3. **اختيار اللغة عند أول تشغيل**: إذا لم تكن هناك لغة مختارة مسبقًا، فاعرض عند تشغيل التطبيق شاشة أنيقة لاختيار اللغة تتضمن خيارَي الإنجليزية والتركية. احفظ الاختيار مباشرة وانتقل إلى الشاشة الرئيسية.
4. **تكامل الذكاء الاصطناعي (LLM)**: أضف لغة المستخدم المختارة كمعامل في طلبات الذكاء الاصطناعي (استدعاءات API). حدّث system prompt إلى: 'User's preferred language: selected_language. Respond in this language.'
5. **كتالوجات السلاسل النصية**: أدرج `.stringxcatalog` في مشروعك، وأضف فيه كل النصوص الثابتة الحالية بالإنجليزية (لغة الأساس) والتركية.
6. **تحديث ديناميكي**: تأكد أن تغيير اللغة من الإعدادات يحدّث الواجهة فورًا، من دون الحاجة إلى إعادة تشغيل التطبيق.
7. **تغيير لغة المستخدم**: اسمح للمستخدم بتغيير لغة التطبيق بشكل ديناميكي في أي وقت.
الضوابط:
- تأكد من تجربة مستخدم سلسة أثناء اختيار اللغة والتحديثات.
- اختبر الوظيفة باللغتين الإنجليزية والتركية.