voici un exemple pour donner une traduction Type nain (je rappelle que c'est du script NWN facilement convertible en PHP)
on appelle la fonction avec chaque lettre du texte a traduire si celui qui l'entend ne dois pas le comprendre.
Ca a en plus le merite de ne pas être franchement réversible.
j'ai la meme chose pour du simili elfe, Gnome, Halfling, Orc, Goblin, Draconic, Celestial, Abyssal, Infernal
on appelle la fonction avec chaque lettre du texte a traduire si celui qui l'entend ne dois pas le comprendre.
Code :
string ConvertDwarf(string sLetter)
{
string sTranslate = sLetter;
if (GetStringLength(sLetter) > 1)
sLetter = GetStringLeft(sLetter, 1);
if (sLetter == "a") return "az";
if (sLetter == "A") return "Az";
if (sLetter == "b") return "po";
if (sLetter == "B") return "Po";
if (sLetter == "c") return "zi";
if (sLetter == "C") return "Zi";
if (GetStringLowerCase(sLetter) == "d") sTranslate = "t";
if (GetStringLowerCase(sLetter) == "e") sTranslate = "a";
if (sLetter == "f") return "wa";
if (sLetter == "F") return "Wa";
if (GetStringLowerCase(sLetter) == "g") sTranslate = "k";
if (GetStringLowerCase(sLetter) == "h") sTranslate = "'";
if (GetStringLowerCase(sLetter) == "i") sTranslate = "a";
if (sLetter == "j") return "dr";
if (sLetter == "J") return "Dr";
if (GetStringLowerCase(sLetter) == "k") sTranslate = "g";
if (GetStringLowerCase(sLetter) == "l") sTranslate = "n";
if (GetStringLowerCase(sLetter) == "m") sTranslate = "l";
if (GetStringLowerCase(sLetter) == "n") sTranslate = "r";
if (sLetter == "o") return "ur";
if (sLetter == "O") return "Ur";
if (sLetter == "p") return "rh";
if (sLetter == "P") return "Rh";
if (GetStringLowerCase(sLetter) == "q") sTranslate = "k";
if (GetStringLowerCase(sLetter) == "r") sTranslate = "h";
if (sLetter == "s") return "th";
if (sLetter == "S") return "Th";
if (GetStringLowerCase(sLetter) == "t") sTranslate = "k";
if (GetStringLowerCase(sLetter) == "u") sTranslate = "'";
if (GetStringLowerCase(sLetter) == "v") sTranslate = "g";
if (sLetter == "w") return "zh";
if (sLetter == "W") return "Zh";
if (GetStringLowerCase(sLetter) == "x") sTranslate = "q";
if (GetStringLowerCase(sLetter) == "y") sTranslate = "o";
if (GetStringLowerCase(sLetter) == "z") sTranslate = "j";
if (GetStringLength(sTranslate) == 1 && GetStringUpperCase(sLetter) == sLetter)
sTranslate = GetStringUpperCase(sTranslate);
return sTranslate;
}//end ConvertDwarf
Ca a en plus le merite de ne pas être franchement réversible.
j'ai la meme chose pour du simili elfe, Gnome, Halfling, Orc, Goblin, Draconic, Celestial, Abyssal, Infernal