Version actuelle
0.8.4.2
 

Forums

Un problème, une idée d'amélioration ?
C'est ici que ça se passe !

You are not logged in.

Announcement

Suivez l'actualité du développement de Hyla sur son blog : http://blog.hyla-project.org/
  • Index
  •  » Aide
  •  » Extraire les chaines de caractères pour traduction

#1 2010-09-19 21:57:34

theclimber
Membres
Registered: 2010-08-27
Posts: 6

Extraire les chaines de caractères pour traduction

Salut,

J'utilise gettext dans mon application web dans laquelle j'ai mis en place Hyla-TPL. J'ai donc mis en place la fonction de callback l10n vers ma fonction gettext, donc ça fonctionne comme il faut. Le truc, c'est que pour générer mon fichier de traduction, comme mon application est assez grande, j'utilise un script qui m'extrait tous les strings automatiquement lorsqu'ils commencent par T_('') dans mon application php.

Par contre, dans hyla-tpl mes strings ne sont évidement pas formatés de la même manière car ils ressemblent plutôt à {_texte} donc je peux pas les extraire aussi facilement qu'avec une commande xgettext classique.

Comment est-ce que vous faites pour générer votre fichier de traduction? Est-ce qu'il y a une commande xgettext que je ne connais pas?

Pour info, voici la méthode que j'utilise pour mon code php et que j'aimerais adapter pour qu'elle marche avec hyla-tpl aussi :
http://theclimber.fritalk.com/post/2009 … pplication

Merci d'avance pour vos conseils

Offline

 

#2 2010-09-20 16:25:14

hugo
Administrateur
Registered: 2007-04-10
Posts: 807

Re: Extraire les chaines de caractères pour traduction

Salut,

c'est une expression régulière qui récupère les infos dont tu as besoin, elle se trouve à la ligne 243 de la version 0.7.0 :

Code:

$data = preg_replace('/{([$|!|_|#])(([a-zA-Z_\-0-9]*)\:?((\\\\}|\\\\|[^}])*))}/e', "\$this->_parseFuncVar('$2', '$1')", $data);

c'est ensuite le code de la méthode parseFuncVar qui effectue la récupération du type ($, !, _...)

Je n'ai pas créer de fonctions xgettext récupérant tous les éléments de traductions mais avec le infos que je viens de te donner, je pense que tu n'auras aucun mal à en réaliser une...d'ailleurs, n'hésite pas à publier ton code... wink

++

Offline

 

#3 2010-09-20 17:13:31

theclimber
Membres
Registered: 2010-08-27
Posts: 6

Re: Extraire les chaines de caractères pour traduction

Merci pour ta réponse rapide.

Effectivement, pour le code php associé j'avais bien vu où ça se trouvait ... mais mon problème est surtout de générer le fichier .po qui va me permettre de travailler sur les traductions de mes strings.

Je vais voir ce que je peux faire avec xgettext ... mais effectivement, si je n'y parviens pas je vais devoir me pencher sur la réalisation d'un script perso ...

On va voir ! Mais de toute façon je publierais ma solution sur mon blog

++

Offline

 

#4 2010-09-20 20:28:44

hugo
Administrateur
Registered: 2007-04-10
Posts: 807

Re: Extraire les chaines de caractères pour traduction

Hyla tpl reste neutre vis a vis des outils de traduction, c'est pour cela que je n'utilise pas gettext au sein de hyla tpl.

Chacun utilise ainsi sans souci ce qu'il souhaite comme outils.

Offline

 

#5 2010-12-21 09:14:40

theclimber
Membres
Registered: 2010-08-27
Posts: 6

Re: Extraire les chaines de caractères pour traduction

Bon, ben j'ai fini par le développer moi-même, ce script d'extraction des chaines de caractères.

Si ça peut servir à d'autres personnes, il est disponible ici :
http://theclimber.fritalk.com/post/2010 … ur-PHP-Lib

Je suis pas fort rentré dans les détails et le code est un peu brut ... mais au moins vous voyez comment ça marche. Avec un terminal ipython ça marche tout seul.

Offline

 

#6 2010-12-21 11:46:59

hugo
Administrateur
Registered: 2007-04-10
Posts: 807

Re: Extraire les chaines de caractères pour traduction

Merci de partager.

Offline

 
  • Index
  •  » Aide
  •  » Extraire les chaines de caractères pour traduction

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson