> mais est-ce
> un portage as3 de gettext ou une compilation via Alchemy de la
> librairie originale ?
On peut décomposer gettext en 2 sous-éléments : d'une part des
exécutables qui sont les utilitaires que je mentionnais, d'autre part
une API utilisant les fichiers générés par les utilitaires.
Concrètement, ce portage as3 est une émulation de l'API, et dans notre
workflow, on réutilise les utilitaires de gettext. Pas d'Alchemy qui
traîne donc.
Pour résumer très sommairement le workflow avec gettext, on a les
utilitaires :
xgettext : parse notre code source, en extrait les chaînes de
caractère à traduire (système de marquage pour cela). Genere un .pot =
template des traductions
msginit : crée un .po, fichier de traduction, à partir du .pot. On le
donne au traducteur, ou le traducteur peut créer lui-même le fichier.
msgfmt : crée un .mo, le fichier binaire des traductions, utilisé par
l'application, à partir du fichier que le traducteur nous a redonné.
Ce process se répète chaque fois que le code source est modifié. Cela
met à jour automatiquement les fichiers de traduction, en conservant
les traductions existantes, etc.
Ensuite le portage as3 consiste d'une part à utiliser ces
fichiers .mo, et d'autre part à avoir l'API similaire à celle de
gettext (textdomain, bindtextdomain, gettext, ngettext, dgettext), en
faisant bien sûr les adaptations nécessaires entre la philosophie AS3
et C.
> sympa, mais attention dans un prochain upgrade de l' API de Flash
> il y aura un API de localization en natif
> idealement un gettext v2 voudrait utiliser ca
Intéressant, par contre j'ai pas trouvé d'infos là-dessus. Il faudra
voir ce que propose en détail cette API, si elle s'accompagne de
nouveaux formats de fichier, etc., pour voir dans quelle mesure
gettext peut en profiter.
Jolie initiative, pour ma part j'utilise gettext pour l'as3 depuis un
petit moment, et je dois dire que �a a de sacr� avantages (ayant souvent
une partie serveur en django, on trouve tt ce qu'il faut pour
administrer les locales direct depuis l'admin django).
� noter qu'Alessandro Crugnola avait d�j� r�aliser un parser pour
gettext (voir ici :
http://www.sephiroth.it/phpwiki/index.php?title=Gettext_actionscript3 )
En passant j'en profite pour rajouter en pi�ce jointe un petit jsfl qui
m'a bien servi, il parcours la sc�ne d'un fla r�cursivement pour � la
fin g�n�rer un .pot avec tte les cha�nes gettext trouv�es. (� noter que
les retours � la ligne sont �chapp�s afin d'�viter les embrouilles).
C�dric