2012-03-02 69 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