Bonjour.
Le tuto est pas mal, mais un peu limité. Comment vas-tu gérer les articles/news/... (le gros du contenu, quoi) ? Certainement pas avec des DEFINE !
Pour ça il y a plusieurs méthodes suivant la façon dont tu les stockes, mais en gros le principe est toujours le même : rajouter le paramètre de langue aux requêtes/chemins...
Pour les images, tu peux créer un répertoire par langue. Ensuite il suffit de faire un
echo "<img src=\"monchemin/$lang/monument.jpg\" ...>";
Dans ce cas, il faut prévoir :
1. Le cas où l'utilisateur ne demande pas de langue => donner une valeur par défaut à $lang.
2. Le cas où tu as des images communes (ou des images qui n'existent pas pour une langue donnée) => vérifier l'existence du fichier. Si le fichier n'existe pas, se rabattre sur un répertoire par défaut.
Autre solution (moins bonne) : donner le chemin de l'image du monument dans le fichier de langue :
define ('IMG_MONUMENT', 'chemin/Vers/Image.jpg');
Quelques remarques (quand-même) sur le tuto :
1. Sécuriser les données récupérées par GET
2. Ca peut aller pour deux ou trois langues, mais s'il faut en rajouter une ça peut vite devenir ingérable.
Il faudrait généraliser le code pour éviter d'avoir une ribambelle de IF... Pas très compliqué, il "suffit" d'utiliser la paramètre de langue pour construire (dans l'exemple donné) l'include :
$langue = 'fr'; // valeur par défaut
if ( !empty ( $_GET['lang'] ) ) {
$langue = $_GET['lang'];
}
$file_lang = 'lang/fr-lang.php'; // valeur par défaut
/*
On teste l'existence du fichier, histoire d'éviter le cas où un petit malin
modifie l'URL pour demander à avoir du CZ (tchèque).
Plutôt que le is_file, on pourrait aussi utilise un Array $Alangues contenant les langues acceptées
et tester le in_array( $langue, $Alangues )...
Cette methode permet de gérer sans problème du multi-langue, et d'en rajouter/enlever facilement...
*/
if ( is_file ( 'lang/'.$langue.'-lang.php' ) ) { // si le fichier existe
$file_lang = 'lang/'.$langue.'-lang.php';
}
include ( $file_lang );
Bonjour.
Le tuto est pas mal, mais un peu limité. Comment vas-tu gérer les articles/news/... (le gros du contenu, quoi) ? Certainement pas avec des DEFINE !
Pour ça il y a plusieurs méthodes suivant la façon dont tu les stockes, mais en gros le principe est toujours le même : rajouter le paramètre de langue aux requêtes/chemins...
Pour les images, tu peux créer un répertoire par langue. Ensuite il suffit de faire un [php]echo "<img src=\"monchemin/$lang/monument.jpg\" ...>";[/php]
Dans ce cas, il faut prévoir :
1. Le cas où l'utilisateur ne demande pas de langue => donner une valeur par défaut à $lang.
2. Le cas où tu as des images communes (ou des images qui n'existent pas pour une langue donnée) => vérifier l'existence du fichier. Si le fichier n'existe pas, se rabattre sur un répertoire par défaut.
Autre solution (moins bonne) : donner le chemin de l'image du monument dans le fichier de langue : [php]define ('IMG_MONUMENT', 'chemin/Vers/Image.jpg');[/php]
Quelques remarques (quand-même) sur le tuto :
1. Sécuriser les données récupérées par GET
2. Ca peut aller pour deux ou trois langues, mais s'il faut en rajouter une ça peut vite devenir ingérable.
Il faudrait généraliser le code pour éviter d'avoir une ribambelle de IF... Pas très compliqué, il "suffit" d'utiliser la paramètre de langue pour construire (dans l'exemple donné) l'include :
[php]$langue = 'fr'; // valeur par défaut
if ( !empty ( $_GET['lang'] ) ) {
$langue = $_GET['lang'];
}
$file_lang = 'lang/fr-lang.php'; // valeur par défaut
/*
On teste l'existence du fichier, histoire d'éviter le cas où un petit malin
modifie l'URL pour demander à avoir du CZ (tchèque).
Plutôt que le is_file, on pourrait aussi utilise un Array $Alangues contenant les langues acceptées
et tester le in_array( $langue, $Alangues )...
Cette methode permet de gérer sans problème du multi-langue, et d'en rajouter/enlever facilement...
*/
if ( is_file ( 'lang/'.$langue.'-lang.php' ) ) { // si le fichier existe
$file_lang = 'lang/'.$langue.'-lang.php';
}
include ( $file_lang );[/php]