Forum » » Road map développement » » traduction
Posté : 5 mars 2021 à 20:29
function geoloc_translate($phrase, $args) {
// le tableau des traduction
$messages = array(
'un' => 'juste un',
'deux' => 'pourquoi deux',
'trois' => 'je suis le 3 et je gagne',
'module {0}' => 'ce module {0} est vraiment génial',
);
// ont compte le nombre d'argument et on créer un tableau de paramètre key=>value
$params = (func_num_args() === 2) ? (array)$args : array_slice(func_get_args(), 1);
// ont regarde si la phrase existe dans le tableau messages
// si elle existe alors on la recupere
// sinon ont affiche la phrase original
if (array_key_exists($phrase, $messages)) {
$message = $messages[$phrase];
} else {
$message = $phrase;
}
// si params est un tableau
if (is_array($params)) {
// ont recupère la locale
$locale = language_iso(1,0,0);
// ont formate la phrase avec les arguments
$message = \MessageFormatter::formatMessage($locale, $message, $params);
}
// ont retourne la pharse
return (htmlentities($message,ENT_QUOTES|ENT_SUBSTITUTE|ENT_HTML401,cur_charset));
}
Cet article provient de Labo NPDS 2015-2024
https://labo.infocapagde.com/viewtopic.php?topic=1480&forum=21