diff -r 52bf52e6fc77 -r 1091d8d63f51 doc/book/en/19-i18n.en.txt --- a/doc/book/en/19-i18n.en.txt Thu Nov 20 10:25:44 2008 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -.. -*- coding: utf-8 -*- - -.. _Internationalisation: - - -Internationalisation -==================== - -Le système d'internationalisation de l'interface web de CubicWeb est basé sur le -système `GNU gettext`_. - -.. _`GNU gettext`: http://www.gnu.org/software/gettext/ - -Messages à internationaliser ----------------------------- - -Marquage des messages à internaliser -```````````````````````````````````` -Les chaines de caractères à internationaliser sont marqués par l'appel à la -fonction `_` *OU* par la méthode équivalent de la requête dans le code python ou -dans les expressions python de template TAL. - -Dans les templates cubicweb-tal, il est également possible d'insérer une chaine à -traduire via les balises `i18n:content` et `i18n:replace`. - -De plus des messages correspondant aux entités/relations utilisés par le schéma -de l'application seront automatiquement ajoutés. - -Renvoi d'un message internationalisé lors de la construction d'une page -``````````````````````````````````````````````````````````````````````` -La fonction *built-in* `_` ne doit servir qu'**à marquer les messages à -traduire**, non pas à récupérer une traduction. Il faut pour cela utiliser la -méthode `_` de l'objet requête, sans quoi vous récupérerez l'identifiant de -message au lieu de sa traduction dans la langue propre à la requête.1 - - -Gestion des catalogues de traduction ------------------------------------- -Une fois l'application rendu internationalisable coté code, reste à gérer les -catalogues de traductions. cubicweb-ctl intègre pour cela les commandes suivantes : - -* `i18nlibupdate`, met à jour les catalogues de messages *de la librairie - cubicweb*. Sauf si vous développez sur le framework (et non votre propre - application), vous ne devriez pas avoir à utiliser cette commande - -* `i18nupdate`, met à jour les catalogues de messages *du composant* (ou de tous - les composants). A la suite de cette commande, vous devez mettre à jour les - fichiers de traduction *.po* dans le sous-répertoire "i18n" de votre - template. Évidemment les traductions précédentes toujours utilisées ont été - conservées. - -* `i18ncompile`, recompile les catalogues de messages *d'une instance* (ou de - toutes les instances) après mise à jour des catalogues de son composant. Cela - est effectué automatiquement lors d'une création ou d'une mise à jour. Les - catalogues de messages compilés se trouvent dans le répertoire - "i18n//LC_MESSAGES/cubicweb.mo" de l'application où `lang` est - l'identifiant de la langue sur 2 lettres ('en' ou 'fr' par exemple) - - -Le cas classique -```````````````` -Vous avez ajouté et/ou modifié des messages d'un composant utilisé par votre -application (en ajoutant une nouvelle vue ou en ayant modifié le schéma par -exemple) : - -1. `cubicweb-ctl i18nupdate ` -2. éditer les fichiers /xxx.po dans pour y rajouter les traductions - manquantes (`msgstr` vide) -3. `hg ci -m "updated i18n catalogs"` -4. `cubicweb-ctl i18n compile ` -