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 :
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