Obtenir la liste des paramètres régionaux que vous avez créés

Page mise à jour :
Date de création de la page :

Environnement de vérification

Windows
  • Fenêtres 11
Éditeur Unity
  • 2021.3.12f1
Système d’entrée (Unity Technologies)
  • 1.4.4
Localisation (Unity Technologies)
  • 1.3.2

Conditions préalables à cette astuce

Les paramètres suivants ont été définis à l’avance comme prémisse pour la description de cette astuce.

Objectifs de nos conseils

Affiche la liste des paramètres régionaux correspondants dans l’interface utilisateur déroulante et active le texte d’affichage pour qu’il corresponde aux paramètres régionaux sélectionnés par l’utilisateur.

Connaissances préalables et préparation

Cette astuce suppose la localisation du texte suivant : Tout d’abord, reportez-vous aux conseils suivants pour vous préparer à l’affichage de texte localisé.

Emplacement de la liste déroulante de modification des paramètres régionaux

Fournit une liste déroulante pour afficher une liste de paramètres régionaux. Vous devez uniquement pouvoir afficher et sélectionner, alors assurez-vous que les paramètres de l’interface utilisateur sont définis de manière appropriée.

Obtenir une liste de paramètres régionaux

Vous pouvez obtenir la liste des paramètres régionaux LocalizationSettings.AvailableLocales.Locales créés dans . Si vous l’utilisez et que vous le définissez sur le menu déroulant au début de la scène, tout va bien. Toutefois, l’initialisation n’est peut-être pas terminée lorsque Localization vous démarrez le jeu, vous devrez donc peut-être attendre qu’elle se termine.

Tout d’abord, créez un script. DropDownEvent Conservez le nom .

Le script ressemble à ceci :

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 La méthode effectue le traitement au début de la scène, mais à ce stade Localization , l’initialisation de peut ne pas avoir été terminée. await LocalizationSettings.InitializationOperation.Task Attendez la fin de l’initialisation. await , veuillez donc Start l’ajouter à la async méthode.

LocalizationSettings.AvailableLocales.Locales Ensuite, contient une liste des paramètres régionaux que vous avez créés, afin foreach de traiter autant de paramètres régionaux que vous le souhaitez. Dropdown.OptionData Définissez Dropdown le nom des paramètres régionaux sur et ajoutez-le à .

Pour sélectionner Dropdown.value les paramètres régionaux actuels dans la liste déroulante, recherchez les paramètres régionaux cibles dans la propriété et définissez l’index.

C’est la fin de la création de la liste, mais je souhaite également inclure un processus qui modifie les paramètres régionaux lorsque l’élément déroulant est sélectionné. onValueChanged Ajoute le changement de paramètres régionaux à l’événement. C’est la même chose que le conseil précédent.

Joignez le script que vous avez créé à la liste déroulante.

Exécuter et vérifier

Essayez d’exécuter le jeu pour le vérifier. Il arrive que la liste des paramètres régionaux ne soit pas définie immédiatement après le début du jeu, Localization car elle n’est pas initialisée.

Après un peu de temps, vous devriez pouvoir voir la liste des paramètres régionaux enregistrés dans la liste déroulante. Si vous essayez de changer d’élément, vous devriez pouvoir voir que le contenu du texte change.