如何从Symfony表单中提取标签I18n Extract Task

时间:2010-07-03 18:05:34

标签: forms symfony1 internationalization

我非常清楚提取任务接受应用程序作为参数,因此人们不能指望它也会查看表单文件夹。 但是,我引用了链接(下面)并尝试了几种方法: 1.定义我的代理__()方法 2.在App Configuration中包含I18n帮助程序 但是,两者都不起作用。

有谁能告诉我如何从表单类中提取这些内容? 感谢

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

2 个答案:

答案 0 :(得分:2)

您需要使用i18n帮助程序并手动将已翻译的字符串添加到XML / XLIFF文件中。翻译本身有效,它只是i18n:提取任务,它不会查看表单类,因此必须手动完成。我希望他们在Symfony 2.0中添加此功能。

请参阅此处的前几段:http://www.symfony-project.org/forms/1_4/en/08-Internationalisation-and-Localisation

答案 1 :(得分:2)

有一种方法可以提取它,尽管开发人员不推荐这样做:

在lib / i18n / extract / sfI18nApplicationExtract.class.php中添加:

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

功能extract()

在表单类的configure方法中添加:         sfLoader :: loadHelpers( 'I18N');

这样您就可以在表单类中使用__()函数。

我正在测试它。将分享我的发现。