Aller au contenu

Vas-tu utiliser cette fonction dans un de tes skripts ?  

13 membres ont voté

  1. 1. Vas-tu utiliser cette fonction dans un de tes skripts ?



Messages recommandés

Posté(e)

Bonjour/Bonsoir !

Je vous présente une fonction vous permettant de traduire des textes dans la langue que vous souhaitez tout ceci en une fonction.

 

/!\ Les traductions ne sont pas automatiques, cette fonction vous permet uniquement de simplifier ce système /!\

Bref, passons aux explications. Voici la fonction que vous devrez utiliser.

 

function MSGLanguage(id: text, p: player):
   If {_id} is "Test":
           set {_content} to value list "ID.<id>.%{langue::%{_p}%}%" get of "plugins/translate/Language.yml"
           return {_content}

 

Nous allons devoir généré un fichier yml. Il nous servira à stocker nos phrases en françaises et en anglaises (il peut s'agir de d'autres langues) :

on script load:
   create "plugins/translate/Language.yml"
   add "<id>" to yaml list "ID.<id>.FR_fr" from "plugins/translate/Language.yml"
   add "<id>" to yaml list "ID.<id>.ENG_eng" from "plugins/translate/Language.yml"

Il s'agit ici d'une traduction entre l'anglais et le français. Pour set la langue du joueur (français ou anglais), vous aurez besoin de ceci :

command /changelanguage <text>:
   trigger:
       If arg 1 is "English":
           delete {langue::%player%}
           set {langue::%player%} to "ENG_eng"
           set slot 8 of player to ender chest named "&d&lLanguage"
           send "&aLanguage Selected !"
       If arg 1 is "Francais":
           delete {langue::%player%}
           set {langue::%player%} to "FR_fr"
           set slot 8 of player to ender chest named "&d&lLanguage"
           send "&aLanguage choisis !"



on right click with Ender Chest:
   if name of tool of player is "&d&lLanguage":
       open virtual chest inventory with size 1 named "&6&lMenu" to player
       format gui slot 3 of player with diamond named "&bEnglish &e(Click on it for select this language)" to close then run player command "/changelanguage English"
       format gui slot 5 of player with emerald named "&bFrancais &e(Clique dessus pour choisir cette langue)" to close then run player command "/changelanguage Francais"

on first join:
   set slot 8 of player to ender chest named "&d&lLanguage"

on join:
   set slot 8 of player to ender chest named "&d&lLanguage"

Comment vas-t-on utiliser la fonction maintenant et comment celle-ci fonctionne ?

 

Pour utiliser la fonction, il faudra remplacer "<id>" par la phrase en question et/ou un raccourcis.

 

MSGLanguage("<id>", player)

 

Pour dire ensuite la traduction, il faudra mettre la fonction de cette manière :

 

"%MSGLanguage("<id>", player)%"

 

Pour ajouter les phrases dans le fichier yml, il faudra utiliser ceci :

 

add "<id>" to yaml list "ID.<id>.FR" from "plugins/translate/Language.yml"

 

Ca donnera ceci :

 

unknown.png

 

A vous de le remplir manuellement le fichier ou par votre skript.

 

Vous aurez par contre besoin des addons suivants :

 

- SkUtilities

- SkQuery

- TuSke

 

Le code en entier :

 

function MSGLanguage(id: text, p: player):
   If {_id} is "Test":
       If {langue::%player%} is "Fr_fr":
           set {_content} to value list "ID.<id>.FR" get of "plugins/translate/Language.yml"
           return {_content}
       If {langue::%player%} is "ENG_eng":
           set {_content} to value list "ID.<id>.ENG" get of "plugins/translate/Language.yml"
           return {_content}


on script load:
   create "plugins/translate/Language.yml"
   add "<id>" to yaml list "ID.<id>.FR" from "plugins/translate/Language.yml"
   add "<id>" to yaml list "ID.<id>.ENG" from "plugins/translate/Language.yml"


command /changelanguage <text>:
   trigger:
       If arg 1 is "English":
           delete {langue::%player%}
           set {langue::%player%} to "ENG_eng"
           set slot 8 of player to ender chest named "&d&lLanguage"
           send "&aLanguage Selected !"
       If arg 1 is "Francais":
           delete {langue::%player%}
           set {langue::%player%} to "FR_fr"
           set slot 8 of player to ender chest named "&d&lLanguage"
           send "&aLanguage choisis !"


on right click with Ender Chest:
   if name of tool of player is "&d&lLanguage":
       open virtual chest inventory with size 1 named "&6&lMenu" to player
       format gui slot 3 of player with diamond named "&bEnglish &e(Click on it for select this language)" to close then run player command "/changelanguage English"
       format gui slot 5 of player with emerald named "&bFrancais &e(Clique dessus pour choisir cette langue)" to close then run player command "/changelanguage Francais"

 

Une version différente et optimiser a été fait par @4rno ici

 

En espérant que cette fonction vous intéresse.

 

IDEE DE BASE DE @4rno

  • J'aime 2

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.