Changer de paramètres régionaux à tout moment
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.