2010-02-20 3 views
0

J'ai suivi le tutoriel suivant pour construire une page Web multilingue utilisant des réseaux de php: http://bytes.com/topic/php/answers/880915-how-develop-multi-lingual-websites-phpComment faire quelque chose pour laisser l'utilisateur changer la langue dans un site Web multilingue qui utilise des baies php?

le code:

tree fichiers :

locale/ 
    english.php 
    french.php 
set_locale.php 
index.php 

locale /english.php:

<?php 

$locale = array(
    'title' => 'Title in English', 
    'h1' => 'The following in in English:', 
    'p1' => 'This is a sample text, in English' 
); 
?> 

locale/french.php:

<?php 
$locale = array(
    'title' => 'Titre en français', 
    'h1' => 'Le texte suivant en en français:', 
    'p1' => 'Il s\'agit d\'un échantillon de texte, en français.' 
); 
?> 

set_locale.php:

<?php 

// Get the language from the query string, or set a default. 
($language = @$_GET['lang']) or $language = 'english'; 

// Set up a list of possible values, and make sure the 
// selected language is valid. 
$allowed_locales = array('english', 'french'); 
if(!in_array($language, $allowed_locales)) { 
    $language = 'english'; // Set default if it is invalid. 
} 

// Inlclude the selected language 
include "locale/{$language}.php"; 

// Make it global, so it is accessible everywhere in the code. 
$GLOBALS['L'] = $locale; 
?> 

index.php:

<?php 

// Include the "set_locale" script to fetch the locale 
// that should be used. 
include_once "set_locale.php" 

// Print the HTML, using the selected locale. 
?> 
<html> 
    <head> 
     <title><?php echo $GLOBALS['L']['title']; ?></title> 
    </head> 
    <body> 
     <h1><?php echo $GLOBALS['L']['h1']; ?></h1> 
     <p><?php echo $GLOBALS['L']['p1']; ?></p> 
    </body> 
</html> 

Maintenant, je veux faire quelque chose à laissez l'utilisateur cliquer sur un lien et changer la langue

Quelque chose comme ceci:

<ul id="language-selection"> 
    <li><a href="something should go here but I'm not sure what">English</a></li> 
    <li><a href="ssomething should go here but I'm not sure what">English</a></li> 
</ul> 

Quelle est la meilleure façon de le faire?

Répondre

1

langue Pass dans le cadre de la chaîne de requête:

<ul id="language-selection"> 
    <li><a href="index.php?lang=english">English</a></li> 
    <li><a href="index.php?lang=french">English</a></li> 
</ul> 

Dans votre code, vous utilisez $_GET['lang'], ce qui devrait l'attraper. Vous voudrez peut-être modifier le code si nécessaire.

1
index.php?lang=english 

OU

index.php?lang=french 
Questions connexes