tfe - tfeserver homepage

Web

Merci à ciel pour m'avoir fait découvrir cette petite merveille. Ce billet n'a pas pour but d'être complet: pour cela veuillez vous référer à la documentation officielle. GNU/gettext est un outils permettant de localiser ses messages. L'ensemble des variables texte se retrouvent alors dans un fichier ayant l'extension "po".

structure du fichier po

msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2002-04-06 21:44-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: gettext_example.php:12 msgid "une phrase" msgstr "sa traduction"

Il suffit de créer alors un fichier "po" dans le dossier de la langue correspondante: locales/fr/LC_MESSAGES , locales/es/LC_MESSAGES , ou autre. Par soucis de performance, il faut compiler le fichier "po" pour créer un "mo". Cela se fait via l'utilitaire "msgfmt", également disponible pour windows.

Une fois le fichier "mo" crée, voila le code php qui va bien.

$language = 'fr'; putenv("LANG=$language"); setlocale(LC_ALL, $language); $domain = 'messages'; bindtextdomain($domain, "./locales"); textdomain($domain); echo gettext("une phrase");

Par exemple, ce petit code php va écrire "sa traduction".

W3c programmation php

kapouik

le 16/06/07 08:21:12

je connaissais gettext mais je savais pas l utiliser alors merci pour l exemple en php mais par contre je sens que je vais perdre encore du temps a refaire tout mon code pour l intégrer (ça va pour le moment j ai moins de dix pages créé) :)