1. PrésentationAvant de me lancer dans la création de ce site, j'ai effectué plusieurs recherches pour avoir une vision globale des techniques utilisées pour le rendre multi-langues. La plupart de mes pages sont en HTML pur, mais j'utilise aussi du PHP pour le contenu dynamique. J'ai trouvé plusieurs solutions basées sur du PHP :
Il semble que la solution 1 requiert trop d'accès inutiles à la base de données. En tout cas, c'est le problème qui est soulevé. De plus, il faut inclure du code dans chacune des pages pour récupérer les textes. La solution 2 est très bien, car elle n'implique que la conversion de mes pages HTML en PHP, et de passer un paramètre pour indiquer le langage choisi. Finalement, la solution 3 a été mentionnée pour les 'petits sites', mais elle représente trop de travail pour être maintenable. 2. ConceptIl nous faut réaliser que souvent, nous utilisons des pages PHP pour du contenu qui aurait pu très bien être délivré en utilisant de simples pages HTMLs. Les requêtes en base de données retournant toujours les mêmes résultats nous donneront des pages identiques. Il serait alors ridicule de faire répéter sans cesse ces opérations à notre serveur web. Nous allons donc tenter d'utiliser le concept présenté dans la solution 2, et de l'automatiser avec un outil qui générera les fichiers sans intervention pour pallier aux problème de la solution 3.
Sur le diagramme ci-dessus, vous pouvez voir comment l'outil est conçu. Nous partons d'un set de pages (Votre site Web) que l'on appellera "Raw HTML". Ces fichiers ne contiennent pas d'information de langue, et donc pas de texte : Ils n'auront que des références à des traductions. De l'autre côté, nous avons un fichier XML (ou n'importe quel support qui correspond à vos besoins) contenant toutes les références traduites pour chacun des langages désirés. Une fois que vos pages et leurs traductions sont prêtes, un simple programe (Que l'on appelera 'Site Translate') se chargera de créer un nouveau set de pages pour chacune des langues. De cette manière, votre serveur web n'a pas besoin de se charger de la conversion chaque fois qu'un utilisateur demande une page, et vous n'avez de votre côté qu'un seul fichier de code à maintenir comme pour la solution 2. 3. Préparez votre siteLe plus dur étant de trouver le concept qui convient le mieux à notre site, je pourrais terminer cet article en laissant le reste du travail à faire en devoir pour le lecteur. Mais bon, puisque le site sur lequel vous lisez cet article utilise déjà cet outil, je peux au moins publier ce que j'ai fait :) Fichier Raw HTML d'example : Fichier XML d'example : Comme vous pouvez le constater dans le premier fichier d'example, j'ai utilisé la convention : "{@Tag@}" pour mes références. Cette notation est utilisée pour être certain que l'outil ne remplace pas des parties de la page qui ne sont pas voulues. Le fichier XML est légèrement plus complexe, mais pas de beaucoup. Nous avons une section qui décrit quels languages nous supportons ( 4. DéploiementCette partie est définitivement la plus facile. En utilisant l'outil Site Translate (la librairie .NET doit être installée sur votre ordinateur), vous n'avez qu'à identifier le fichier Raw HTML et à lancer la conversion. L'outil s'occupera de lire le fichier XML correspondant et de générer les pages pour chacune des langues. La convention suivante à été utilisée :
5. Un peu plus...Les choses que vous devez savoir :
Si vous vous demandez si l'outil est fiable, et bien, ce site web est généré entièrement avec. Amusez-vous ! |