Basculer le texte d’un objet texte pour qu’il corresponde à l’environnement dans lequel le texte est pris en charge de manière multilingue
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.
À propos de la localisation
Dans de nombreux cas, les jeux sont créés dans la langue de l’environnement dans lequel ils sont développés, ou en anglais. Cependant, pour que plus de gens puissent jouer à des jeux, il est nécessaire de créer des jeux en fonction de la culture et de la langue du pays. C’est ce qu’on appelle communément la « localisation ».
Dans cette astuce, je voudrais faire « support multilingue », qui est l’une des localisations. Il existe de nombreuses façons de faire de la prise en charge multilingue dans Unity, mais dans ce cas, nous aimerions utiliser le package d’extension officiel de Unity, Localisation, pour prendre en charge plusieurs langues.
Installation du package de localisation
Pour prendre en charge la localisation, vous devez d’abord installer le package « Localisation ».
Dans le menu, sélectionnez Fenêtre - Gestionnaire de paquets >.
Dans le coin supérieur gauche du gestionnaire de paquets qui apparaît, sélectionnez Registre Unity.
« Localisation » sera affiché dans le menu de gauche, alors sélectionnez-le et cliquez sur le bouton Installer. Il faudra un certain temps pour l’installer. Une fois installé, fermez la boîte de dialogue.
Création d’une localisation
Après avoir installé le package, créez le texte pour chaque langue. Sélectionnez Modifier - > Paramètres du projet dans le menu.
Sélectionnez Localisation dans le menu de gauche et cliquez sur le bouton Créer.
Le fichier sera créé, spécifiez donc n’importe quel dossier. Plusieurs fichiers seront générés, il est donc préférable de les créer dans un dossier dédié. Ici, nous créons un dossier « Localisation » dans le dossier « Scènes » et le créons dedans.
Une fois créé, l’écran ressemblera à ceci.
Le fichier est également créé dans le dossier spécifié. À ce stade, il y en a encore un.
Création d’un paramètre régional
Nous allons créer le texte correspondant à la langue. Ouvrez les paramètres du projet Localisation et cliquez sur le bouton Générateur de paramètres régionaux.
Sélectionnez les paramètres régionaux correspondants. Choisissez uniquement ce dont vous avez besoin. Plus vous vérifiez, plus le jeu peut être déployé, mais la quantité de travail augmentera proportionnellement.
Cette fois, « Japonais (ja) », « Anglais (en) » et « Espagnol (es) » sont sélectionnés.
Après le réglage, cliquez sur le bouton « Générer les paramètres régionaux » en bas à droite pour le créer.
Spécifie le dossier dans lequel créer le fichier. Il peut s’agir d’un endroit différent, mais il est plus facile à gérer s’il est organisé, alors spécifiez le dossier « Localisation » créé précédemment.
Les paramètres régionaux disponibles sont ajoutés au nombre de paramètres régionaux que vous sélectionnez.
Les fichiers sont également créés dans le dossier spécifié pour autant de paramètres régionaux que vous sélectionnez.
Ensuite, configurez les sélecteurs de paramètres régionaux. Il s’agit d’un paramètre permettant de déterminer les informations qui déterminent les paramètres régionaux lorsque le jeu est lancé. S’il n’y a pas de conditions de décision particulières, vous pouvez le laisser tel quel. Je veux que les paramètres régionaux par défaut soient japonais lorsque les paramètres régionaux ne sont pas déterminés en essayant. Dans le troisième sélecteur Localse spécifique, cliquez sur le bouton cercle à droite.
Sélectionnez Japonais (ja).
De même, l’identificateur de paramètres régionaux du projet doit être « japonais (ja) ».
Création de textes
Créez du texte pour chaque paramètre régional. Il existe plusieurs façons de le créer, mais ici nous allons le créer en définissant le texte à partir de zéro avec un GameObject.
Dans le menu, sélectionnez Window > Asset Management - > Localization Tables.
Cliquez sur Nouvelle collection de tables.
Assurez-vous que tous les paramètres régionaux que vous avez créés sont cochés.
Puisque nous localisons le texte, sélectionnez « Collection de tables de chaînes » pour « Type ».
Spécifiez le nom de la table car le texte de chaque paramètre régional est conservé sous forme de liste de tableaux. TextTable
Dans cet exemple, il est utilisé.
Après avoir entré, cliquez sur le bouton « Créer ».
Sélectionnez une destination. Étant donné que plusieurs fichiers sont générés pour chaque table, il est préférable de créer un dossier dédié. Ici, nous créons un dossier « TextTable » dans le dossier « Localisation » et le spécifions.
Une fois créé, le tableau apparaîtra. C’est 0 ligne parce que je n’ai encore rien créé.
Les fichiers sont également créés pour les dossiers autant de paramètres régionaux. En gros, je n’y touche pas directement.
Essayons d’en créer un. Il y a un bouton « Ajouter une nouvelle entrée » dans le tableau, alors cliquez dessus.
Cela ajoutera une ligne et affichera un champ de saisie pour chaque paramètre régional.
Essayez de traduire le mot « hello » dans chaque langue et tapez respectivement « Hello », « Hello » et « Hola ».
La clé est Hello
. Soit dit en passant, si vous l’entrez, il sera enregistré automatiquement.
Ajoutez une ligne supplémentaire pour savoir que vous pouvez en gérer plusieurs.
Sur la base des mots « merci », la clé ThankYou
est de taper chaque mot « merci », « merci » et « gracias ».
Veuillez fermer la boîte de dialogue après avoir entré. Vous pouvez l’amarrer quelque part.
Paramètres de localisation des objets texte
Dans ce cas, faisons basculer le texte d’affichage vers l’objet texte de l’interface utilisateur en fonction des paramètres régionaux définis dans le jeu.
Tout d’abord, placez l’objet texte arbitrairement. Je ne l’utilise pas cette fois, mais TextMeshPro
je peux le gérer.
Après avoir sélectionné l’objet importé, choisissez Localiser dans le menu à trois points du composant Texte.
Cela ajoute un nouveau composant Localize String Event.
Étant donné que l’option Référence de chaîne n’est pas sélectionnée, cliquez sur Aucune.
Lorsque la boîte de dialogue s’affiche, entrez la touche de texte à définir dans le champ de saisie ci-dessus.
Hello
Dans ce cas, tapez et double-cliquez dans Hello
la liste ci-dessous.
Vous pouvez développer la référence de chaîne pour voir que les différentes valeurs sont définies. C’est tout ce qu’il y a à faire.
Exécuter et vérifier
Une fois que vous avez terminé, essayez de lancer le jeu. Le texte doit changer lorsque vous lancez le jeu. Dans la figure ci-dessous, il est affiché en japonais car il s’exécute dans un environnement japonais.
Dans le coin supérieur droit de l’écran de jeu de l’éditeur, vous pouvez changer la langue du jeu. Essayez de choisir l’espagnol pendant un moment.
Ensuite, vous pouvez confirmer que le contenu du texte change automatiquement.
Comme vous pouvez le voir, le package de localisation officiel de Unity facilite l’application et le passage à l’interface utilisateur et voit comment cela fonctionne.
Essayez de définir un autre texte et voyez si le texte change.
Essayez de fonctionner dans un autre environnement linguistique
Générez et sortez le programme pour voir s’il apparaît dans la langue correspondante lorsqu’il est exécuté dans un autre environnement linguistique.
Le diagramme suivant montre les résultats de l’installation de l’anglais supplémentaire pour le système d’exploitation japonais Windows 11 et de son exécution dans un environnement avec l’anglais comme langue par défaut. Je pense que vous pouvez vous assurer que la langue est changée en fonction de l’environnement.