J’ai toujours trouvé très sympathique (et ô combien “web 2.0 communautaire”) la manière dont vous salut Flickr en plusieurs langues sur la page d’accueil, lorsque vous êtes logué.
J’ai donc créé une petite fonction en Php qui affiche un “bonjour” dans une langue prise au hasard dans un tableau, à chaque rechargement de la page.
J’ai trouvé la source des traductions sur FreeLang.com (merci à eux pour leur autorisation).
La fonction, nommée “Hello” contient 4 paramètres :
- Le nom de la personne à saluer
- La classe CSS du div contenant
- La classe CSS du span bonjour
- La classe CSS du span langue
Vous pouvez laisser vide les 3 paramètres CSS si vous ne souhaitez pas les utiliser.
Pour le reste, j’ai tenté de bien commenter directement dans la fonction.
Je me suis limité à 15 langues, mais vous pouvez en ajouter autant que vous le souhaitez (en respectant bien entendu l’ordre des 2 tableaux array).
<?php
function Hello ( $nom, $css1, $css2, $css3 ) {
# $nom : Nom à afficher
# $css1 : Style Css du div contenant
# $css2 : Style Css du span bonjour
# $css3 : Style Css du span langue
// Tableaux
//--------------------------------------------------
// Langues
$l = array (
1 => 'français',
2 => 'anglais',
3 => 'allemand',
4 => 'bengali',
5 => 'breton',
6 => 'esperanto',
7 => 'finnois',
8 => 'swahili',
9 => 'zoulou',
10 => 'ouzbek',
11 => 'maori',
12 => 'japonais',
13 => 'danois',
14 => 'chinois',
15 => 'russe'
);
// Bonjours
$h = array (
1 => 'bonjour',
2 => 'hello',
3 => 'guten tag',
4 => 'sunchhen',
5 => 'demat',
6 => 'bonan tagon',
7 => 'päivää',
8 => 'jambo',
9 => 'sawubona',
10 => 'assalomu alaykum',
11 => 'kia ora',
12 => 'konnichi wa',
13 => 'goddag',
14 => 'ni hao',
15 => 'dobrii den'
);
//--------------------------------------------------
// CSS
//--------------------------------------------------
// Style CSS du DIV
if ( !empty($css1) ) $css1 = ' class="'.$css1.'"';
else $css1 = NULL;
// Style CSS du span Bonjour
if ( !empty($css2) ) $css2 = ' class="'.$css2.'"';
else $css2 = ' style="font-weight:bold;"';
// Style CSS du span Langue
if ( !empty($css3) ) $css3 = ' class="'.$css3.'"';
else $css3 = ' style="font-weight:normal; color:#666;"';
// Données
//--------------------------------------------------
$count = count($l); // nbr de valeur du tableau
$rand = rand(1,$count); // Nbr au hasard entre 1 et $count
$bonjour = ucfirst($h[$rand]);
$langue = ucfirst($l[$rand]);
$nom = strtoupper($nom);
// Affichage
//--------------------------------------------------
echo '<div'.$css1.'>';
echo '<span'.$css2.'>'.$bonjour.' '.$nom.' !</span>';
if ( $langue != 'Français' ) echo '<br /><span'.$css3.'>Vous savez maintenant dire bonjour en '.$langue.'</span>';
echo '</div>';
} // Fin de fonction
?>
Pour appeller votre fonction, il ne vous reste plus qu’à insérer dans votre page :
<?php Hello ( 'toto', 'class1', 'class2', 'class3' ); ?>
Lorsque la langue est “Français”, je supprime volontairement la phrase “Vous savez maintenant dire bonjour en Français”.
Si vous rencontrez un souci, n’hésitez-pas à commenter ce billet.
Ce tuto avait déjà été publié sur mon blog.





Cool.
Pour moi, un simple < ?php echo $h[rand(1,15)]; ?> fera l’affaire.