Changer de paramètres régionaux à tout moment

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.3
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.

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é.

Placement de boutons pour changer les paramètres régionaux

Si vous l’exécutez dans l’éditeur Unity, vous pouvez modifier les paramètres régionaux dans le coin supérieur droit de l’écran, mais après avoir construit le jeu, il n’a pas cette fonction et vous devez le préparer vous-même. Cette fois, je vais placer un bouton pour basculer entre les trois langues « Japonais (ja) », « Anglais (en) », et « Espagnol (es) » et cliquer pour les changer.

Création de scripts pour les boutons

Assurez-vous que la méthode cible est appelée lorsque vous cliquez sur le bouton. Il s’agit d’une procédure à usage général, je vais donc omettre les détails. Consultez les conseils suivants pour obtenir des instructions détaillées.

ButtonEvent Créez un script portant le nom .

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
  }
}

Affectez chaque méthode à un clic sur un bouton.

Gestion des changements de paramètres régionaux

Modifiez le code comme suit :

using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
  }
}

Le changement lui-même est simple LocalizationSettings.SelectedLocale et peut être commuté en définissant simplement la cible Locale dans la propriété. Locale Locale.CreateLocale peut être créé en définissant le nom des paramètres régionaux dans la méthode.

Toutefois, étant donné que le processus de modification des paramètres régionaux est asynchrone,LocalizationSettings.SelectedLocale le processus suivant qui définit ne signifie pas que les paramètres régionaux ont déjà été complètement commutés. Soyez prudent si vous effectuez des opérations dépendantes des paramètres régionaux.

Exécuter et vérifier

C’est tout ce qu’il y a à faire, alors s’il vous plaît exécutez-le et vérifiez le mouvement. Dans le coin supérieur droit de l’écran de jeu, vous pouvez voir que les différentes ressources changent dynamiquement de la même manière que lorsque vous modifiez les paramètres régionaux.