2010-07-03 3 views
1

Je suis tout à fait conscient que la tâche d'extraction accepte l'application en tant que paramètre, et donc on ne peut pas s'attendre à ce qu'elle regarde aussi dans le dossier des formulaires. Cependant, j'ai référé le lien (ci-dessous) et essayé de plusieurs façons: 1. définition de mon proxy __() méthode 2. y compris l'assistant I18n dans App Configuration Cependant, les deux ne fonctionnent pas.Comment extraire des étiquettes à partir des formulaires Symfony I18n Extraction Tâche

Quelqu'un peut-il me dire comment les extraire des classes de formulaire? Merci

http://groups.google.com/group/symfony-devs/browse_thread/thread/1d034f5f7367fe0c

Répondre

2

Vous devez utiliser l'aide i18n et ajoutez les chaînes traduites manuellement à vos fichiers XML/XLIFF. Les traductions elles-mêmes fonctionnent, c'est juste la tâche i18n: extract qui ne regarde pas à l'intérieur des classes de formulaire, donc cela doit être fait manuellement. J'espère qu'ils ajoutent cette fonctionnalité dans Symfony 2.0.

Voir les premiers paragraphes ici: http://www.symfony-project.org/forms/1_4/en/08-Internationalisation-and-Localisation

2

Il y a un moyen d'extraire barbante il n'est pas recommandé par les développeurs:

Dans lib/i18n/extrait/sfI18nApplicationExtract.class.php ajouter:

$this->extractFromPhpFiles(sfConfig::get('sf_lib_dir').'/form');  

pour fonctionner extrait()

Dans votre méthode sous forme de configuration de la classe Ajouter: sfLoader :: loadHelpers ('I18N'); De cette façon, vous pouvez utiliser la fonction __() dans votre classe de formulaire.

Je suis en train de le tester. Partage mes conclusions.

+0

est-ce que cela a fonctionné? – dsomnus

Questions connexes