2012-03-02 74 views
0

我刚开始使用聪明,但我有一些问题找到多语言脚本的正确方法。聪明的多语言最佳实践

这个问题有一些解决方案,我发现到现在为止。

  1. smarty-gettext这似乎是一个不错的解决方案,因为翻译者可以很容易地poEdit的工作,但没有更新插件自2005年以来,似乎已经过时。
  2. 针对每种语言的不同模板似乎不是最佳实践,因为语言和内容不再分裂,添加新语言和更新模板可能成为a **中的真正痛苦。
  3. 定制阵列解决方案有一堆这样的解决方案,他们都听起来像一个快速'肮脏的解决方法,绝对不是最佳实践,我认为。

我希望你有一些好的解决方案的想法。

+0

你有多聪明的代码?如果你只是开始使用id建议切换到[Twig](http://twig.sensiolabs.org/),它也有[i18n extension](http://twig.sensiolabs.org/doc/extensions/i18n.html) ,并且由于它由Twig核心团队管理,所以它应该是过时的,除非[Twig](http://twig.sensiolabs.org/)的开发全部停止,这是不可能的,因为它是Symfony2的默认模板系统,不太可能发生I – prodigitalson 2012-03-02 20:53:37

+0

I也这样觉得。但这真的很主观。此外,我应该discolose,一般来说,我仍然是“PHP是模板语言”的人群的一部分:-)但是,Twig并没有在这对夫妇[Silex](http://silex.sensiolabs.org/)的基础项目我用过它。如果你想坚持Smarty的话,也可以将我的评论移到一个有一些推荐的回答。 – prodigitalson 2012-03-02 21:01:59

回答

1

gettext绝对是这里走的路,除非你想使用xliff或其他东西(如果这是案例id建议使用Zend_Translate并创建一个smarty扩展与它作为引擎)。我会使用现有的smarty插件,但分叉它,这样如果你需要更新它,你可以然后贡献给社区。

这就是说,你有多聪明的代码?

如果你只是起步ID建议切换到Twig其中也有i18n extension,并且因为其由Twig核心团队它不应该是过时的,除非嫩枝的发展不再一起这是因为它的默认模板系统不大可能管理对于Symfony2

+0

是否有任何地方的树枝样本脚本?要了解如何制定第一步及其一些可能性? – 2012-03-02 21:07:34

+0

我想我是盲人,无法找到i18n扩展的下载链接 – 2012-03-02 21:21:34

+1

[扩展](https://github.com/fabpot/Twig-extensions),[文档](http://twig.sensiolabs .ORG /文档)。我通常使用[Composer](http://packagist.org/),它有[Twig repositories](http://packagist.org/packages/twig/) – prodigitalson 2012-03-02 21:32:42