Obtenez du texte et des ressources localisés à 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.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

Lorsque vous cliquez sur le bouton, le texte cible de la table de localisation s’affiche sur l’écran de chargement.

Connaissances préalables et préparation

Cette astuce suppose la localisation du texte suivant : Cependant, comme nous ne les implémenterons pas tous, nous publierons la procédure à partir de 1 ici, mais nous simplifierons le contenu dupliqué.

Installation du package de localisation

La procédure est la même ici.

Création d’une localisation

C’est la même chose qu’avant, donc je ne posterai que l’image.

Ici, nous créons un dossier « Localisation » dans le dossier « Scènes » et le créons dedans.

Création d’un paramètre régional

C’est aussi la même chose qu’auparavant, je vais donc omettre la procédure détaillée. Les paramètres régionaux à ajouter sont « Japanese (ja) », « English (en) » et « Spanish (es) ».

J’ai spécifié le dossier « Localisation » mentionné précédemment.

Laissez les paramètres régionaux par défaut « Japonais (ja) ».

Création de textes

Conservez le nom TextTable de la table sous la forme .

Localization Créez un dossier à l’intérieur TextTable du dossier et spécifiez-le.

Créez un texte. Cette fois, le but est de l’obtenir par programmation, afin que vous puissiez en enregistrer un pour le moment.

Placement de l’interface utilisateur

Je voudrais placer le texte et le bouton, et lorsque je clique sur le bouton, je veux afficher le texte des paramètres régionaux actuels.

Création et attachement de scripts

Créez un script. ButtonEvent Conservez le nom .

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

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private Text Text;

  public void OnClick()
  {
    // Localization から指定したテーブル名とキーからエントリーを取得します
    var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;

    Text.text = entry.Value;
  }
}

Entrez ce qui se passe lorsque vous cliquez sur le bouton. Tout ce que nous faisons ici est une LocalizationSettings.StringDatabase.GetTableEntry chose: vous pouvez obtenir l’entrée du jeu trouvé en spécifiant le nom de la table et la clé créée dans Localisation dans la méthode. Cette fois, nous le faisons avec du texte, mais les ressources peuvent également LocalizationSettings.AssetDatabase être obtenues en utilisant .

Une fois que vous avez l’entrée, tout ce que vous avez à faire est d’obtenir la valeur que vous avez. Le contenu est le texte des paramètres régionaux sélectionnés. Cette fois, il est obtenu par traitement synchrone, mais vous pouvez également utiliser des méthodes asynchrones.

Attachez le script à EventSystem. Définissez également le texte.

Affectez la gestion des clics au bouton.

Exécuter et vérifier

Essayez de l’exécuter une fois que vous avez terminé de le configurer. Étant donné qu’aucun événement de localisation n’est défini dans l’interface utilisateur, le texte ne change pas lorsqu’il est exécuté.

Cliquez sur le bouton pour passer au texte japonais. Cela est dû au fait que les paramètres régionaux actuels du japonais sont sélectionnés.

Essayez de modifier les paramètres régionaux dans le coin supérieur droit de l’écran, puis cliquez sur le bouton. Il doit être remplacé par le texte des paramètres régionaux cibles.