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