ان مقامات کی فہرست حاصل کریں جو آپ نے بنائے ہیں

جب صفحے کی تازہ کاری :
صفحہ تخلیق تاریخ :

تصدیق کا ماحول

Windows
  • ونڈوز 11
یونٹی ایڈیٹر
  • 2021.3.12f1
ان پٹ سسٹم (یونٹی ٹیکنالوجیز)
  • 1.4.4
لوکلائزیشن (یونٹی ٹیکنالوجیز)
  • 1.3.2

اس ٹوٹکے کے لئے ضروری شرائط

مندرجہ ذیل ترتیبات اس ٹپ کی وضاحت کے لئے بنیاد کے طور پر پیشگی بنائی گئی ہیں۔

ہماری تجاویز کے مقاصد

ڈراپ ڈاؤن یو آئی میں متعلقہ مقامات کی ایک فہرست دکھاتا ہے اور صارف کے ذریعہ منتخب کردہ مقام سے میل کرنے کے لئے ڈسپلے ٹیکسٹ کو ٹوگل کرتا ہے۔

ضروری علم اور تیاری

یہ اشارہ مندرجہ ذیل متن کی لوکلائزیشن کو فرض کرتا ہے: سب سے پہلے، براہ کرم مقامی متن کو ظاہر کرنے کی تیاری کے لئے مندرجہ ذیل تجاویز کا حوالہ دیں.

Locale change Drop-ڈاؤنپلیسمنٹ

مقامات کی فہرست ظاہر کرنے کے لئے ڈراپ ڈاؤن فراہم کرتا ہے۔ آپ کو صرف ڈسپلے اور منتخب کرنے کے قابل ہونے کی ضرورت ہے ، لہذا اس بات کو یقینی بنائیں کہ یو آئی پیرامیٹرز مناسب طریقے سے ترتیب دیئے گئے ہیں۔

مقامات کی ایک فہرست حاصل کریں

آپ اس میں بنائے گئے مقامات کی ایک فہرست حاصل کرسکتے ہیں 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 کیونکہ شروع نہیں کیا جاتا ہے۔

تھوڑے وقت کے بعد ، آپ کو ڈراپ ڈاؤن میں رجسٹرڈ مقامات کی فہرست دیکھنے کے قابل ہونا چاہئے۔ اگر آپ آئٹمز کو تبدیل کرنے کی کوشش کرتے ہیں تو ، آپ کو یہ دیکھنے کے قابل ہونا چاہئے کہ متن کا مواد تبدیل ہوتا ہے۔