الحصول على قائمة بالإعدادات المحلية التي أنشأتها
بيئة التحقق
- نوافذ
-
- ويندوز ١١
- محرر الوحدة
-
- 2021.3.12f1
- نظام الإدخال (يونيتي تكنولوجيز)
-
- 1.4.4
- التعريب (يونيتي تكنولوجيز)
-
- 1.3.2
المتطلبات الأساسية لهذه النصيحة
تم إجراء الإعدادات التالية مسبقا كمقدمة لوصف هذه النصيحة.
أهداف نصائحنا
يعرض قائمة باللغات المناظرة في واجهة المستخدم المنسدلة ويبدل نص العرض ليطابق الإعدادات المحلية المحددة من قبل المستخدم.
المعرفة المسبقة والإعداد
تفترض هذه النصيحة ترجمة النص التالي: أولا، يرجى الرجوع إلى النصائح التالية للتحضير لعرض النص المترجم.
موضع القائمة المنسدلة لتغيير الإعدادات المحلية
يوفر قائمة منسدلة لعرض قائمة باللغات. ما عليك سوى أن تكون قادرا على العرض والتحديد ، لذا تأكد من تعيين معلمات واجهة المستخدم بشكل مناسب.
الحصول على قائمة باللغات
يمكنك الحصول على قائمة باللغات التي LocalizationSettings.AvailableLocales.Locales
تم إنشاؤها في .
إذا استخدمت هذا وقمت بتعيينه على القائمة المنسدلة في بداية المشهد ، فأنت بخير.
ومع ذلك، قد لا تكتمل التهيئة عند Localization
بدء تشغيل اللعبة، لذلك قد تحتاج إلى الانتظار حتى تكتمل.
أولا ، قم بإنشاء برنامج نصي. DropDownEvent
اترك الاسم ك .
يبدو البرنامج النصي كما يلي:
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class DropDownEvent : MonoBehaviour
{
// 最初のフレームアップデートの前に開始が呼び出されます
async void Start()
{
// Localization の初期化が完了するまで待機します
await LocalizationSettings.InitializationOperation.Task;
// 処理対象の Dropdown コンポーネントを取得します
var dropdownLocale = GetComponent<Dropdown>();
dropdownLocale.options.Clear();
// LocalizationSettings.AvailableLocales.Locales からロケール一覧を取得してオプションを追加します
foreach (var locale in LocalizationSettings.AvailableLocales.Locales)
{
dropdownLocale.options.Add(new Dropdown.OptionData(locale.name));
}
// 初期選択されているロケールのインデックスを取得して選択します
dropdownLocale.value = LocalizationSettings.AvailableLocales.Locales.IndexOf(LocalizationSettings.SelectedLocale);
// ドロップダウンのアイテムが選択されたときにロケールを変更します
dropdownLocale.onValueChanged.AddListener((index) =>
{
LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[index];
});
}
}
Start
تقوم الطريقة بالمعالجة في بداية المشهد ، ولكن في هذه المرحلة Localization
، ربما لم تكتمل تهيئة المشهد.
await LocalizationSettings.InitializationOperation.Task
انتظر حتى تكتمل التهيئة.
await
، لذا Start
يرجى إضافته إلى async
الطريقة.
LocalizationSettings.AvailableLocales.Locales
بعد ذلك، يحتوي على قائمة باللغات التي قمت بإنشائها، لذا foreach
قم بمعالجة أي عدد تريده من اللغات.
Dropdown.OptionData
قم بتعيين Dropdown
اسم الإعدادات المحلية إلى وأضفه إلى .
لتحديد Dropdown.value
الإعدادات المحلية الحالية في القائمة المنسدلة، ابحث عن الإعدادات المحلية الهدف في الخاصية وقم بتعيين الفهرس.
هذه هي نهاية إنشاء القائمة ، لكنني أريد أيضا تضمين عملية تغير الإعدادات المحلية عند تحديد العنصر المنسدل.
onValueChanged
إضافة تبديل الإعدادات المحلية إلى الحدث. هذا هو نفس النصيحة السابقة.
أرفق البرنامج النصي الذي أنشأته بالقائمة المنسدلة.
التشغيل والتحقق
حاول تشغيل اللعبة للتحقق من ذلك.
هناك وقت لا يتم فيه تعيين قائمة الإعدادات المحلية مباشرة بعد بدء اللعبة ، Localization
لأنه لم تتم تهيئتها.
بعد مرور بعض الوقت ، يجب أن تكون قادرا على رؤية قائمة اللغات المسجلة في القائمة المنسدلة. إذا حاولت تبديل العناصر ، فيجب أن تكون قادرا على رؤية أن محتوى النص يتغير.