Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJori Varin Modifié depuis plus de 9 années
1
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1
2
Définition Internationalisation Concevoir un site qui est suffisamment malléable pour pouvoir s’adapter en fonction de plusieurs langue/région. Par exemple, la devise n’est pas toujours en dollar canadien, mais s’ajuste en fonction de la région d’un usager. Idem pour la langue. Sans avoir à changer le code, l’application peut se visionner en français, en anglais, en espagnol, etc. 2
3
Définition (suite) On dit qu’un site est localisé lorsqu’il peut s’adapter en fonction d’une langue de l’usager et de sa position géographique (pays, région) Exemple : ○ Locale : fr_CA Français canada On voit le site en Français, les dates sont en format francophone, on voit l’argent en dollar canadien, etc. 3
4
Faire un site en plusieurs langues – mauvaise méthode Faire un copier/coller des pages Web dans différents répertoires est probablement la pire méthode à utiliser: en/(pages Web en anglais) fr/(pages Web en français) Ne jamais utiliser cette méthode, au risque d’y perdre sa réputation ! 4
5
Faire un site en plusieurs langues – bonne méthode 1- Faire des fichiers de langues. Exemple : ○ en.xml ○ fr.xml 2- Garder la langue de l’utilisateur dans une variable de session Exemple : $_SESSION[‘lang’] = ‘fr’; 3- Créer une classe permettant de lire les valeurs du fichier XML. Cette classe pourra ouvrir le bon fichier, selon la langue de l’usager (ex: en.xml). 5
6
Exemple : D’abord faire les fichiers de langues (en UTF-8 !) Fichier lang/fr.xml Le titre fr Le texte en fr Fichier lang/en.xml English title English text 6
7
Faire la classe permettant d’ouvrir et de parcourir les fichiers de langues (xml) <?php class Translator { private $xmlFile; public function __construct($lang) { $this->xmlFile = new SimpleXMLElement("lang/". $lang. ".xml", NULL, TRUE);} public function read($page, $node) { return $this->xmlFile->$page->$node; } ?> 7
8
Finalement, instancier et utiliser la classe… <?php require_once("Translator.php"); $translator = new Translator("en"); echo $translator->read("index", "title"). " "; echo $translator->read("index", "text"); ?> 8
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.