» Gestion des langues dans un array

Rédigé par : Guillaume
Le : 15/10/2005 à 15:34
Hits : 4498
TéléchargerImprimer
Les sites multilingues sont monnaie courante sur la toile, plusieurs solutions sont évidemment possibles, stockage des textes de toutes les langues dans une base de donnée ou bien dans un fichier texte, etc.

Dans cet article, nous allons voir comment stocker les informations dans un array() et les afficher simplement. C'est un bon exercice en même temps pour la manipulation de tableaux et la distinction entre les index et les valeurs de l'array...

Vous pouvez générer cet array() avec des informations provenant d'une base de donnée ou fichier de stockage de données (txt, xml, sqlite), le but étant d'avoir à porter de main un array dynamique ou statique (si il sert de cache pour minimiser les requêtes...)

article_18.php
<?php
// ------------------------------------------------------------------------- //
// Gestion des langues dans un array                                         //
// ------------------------------------------------------------------------- //
// 15/10/2005 à 15h34 par Guillaume JIGUEL (guillaume@gphp.net)              //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,18.php                                       //
// ------------------------------------------------------------------------- //

// Premier exemple de gestion des expressions avec 2 langues différentes stockées dans un array.
// Ici il faut connaitre la clef de l'array du mot à traduire... pour une liste de mots très longue
// ce n'est pas l'idéal...

$langue = array(

    
'fr' => array('bonjour''comment ça va?''bienvenue sur mon site web'),
    
    
'en' => array('hello''how are you?''welcome to my website'),

);


// l'index 0 correspond au premier mot de l'array

echo $langue['fr'][0];
echo 
'<br>';
echo 
$langue['en'][0];

// Vous pouvez également remplacer l'identifiant de l'array par une variable de formulaire... 
// de type GET par exemple index.php?lang=fr

echo $langue$_GET['lang'] ][0];

// Exemple de gestion des pages/rubriques avec 2 langues différentes
//

$langue = array(

    
'fr' => array(
        
'accueil' => 'page d\'accueil',
        
'telechargement' => 'téléchargement',
        
'apropos' => 'à propos',
    ),

    
'en' => array(
        
'accueil' => 'homepage',
        
'telechargement' => 'download',
        
'apropos' => 'about',
    ),

);

echo 
$langue['fr']['accueil'];
echo 
'<br>';
echo 
$langue['en']['accueil'];

// De la même manière qu'au précédent exemple, on affiche en fonction d'une variable de formulaire,
// ici $_GET pour index.php?lang=fr&page=accueil

echo $langue$_GET['lang'] ][ $_GET['page'] ];

// Il est également possible de créer des sous-rubriques dans les pages en créant un nouvel array() 
// dans les rubriques... etc.
// A vous de l'adapter à vos besoins ;)
?>

» Commentaires

Pas de commentaires.

Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !