2008-10-01 100 views
3

我一直在尋找一些選項來實現動態php應用程序的本地化和國際化。似乎有許多工具可用,比如gettext和雅虎的R3,我有興趣從開發人員和翻譯人員那裏聽說哪些工具可以使用,哪些功能對於緩解實施和翻譯任務很重要。什麼是i18n的php代碼庫的好工具/框架?

回答

3

PHP gettext實現工作非常順利。有po編輯和gettext的po文件是一種很好的方式,因爲你可以處理本地化的方法,因爲這種解決方案不能完全處理各種語言的複雜性。例如,gettext方法在複數形式上是非常好的,但是我沒有看到可以處理諸如共軛的東西。

欲瞭解更多的信息在這裏看到我的帖子:How do you build a multi-language web site?

2

我們一直在修改Zend_Translate,因爲我們仍然使用Zend Framework。這是非常有據可查的,迄今爲止極其穩固。

在過去,我幾乎用我自己的本土解決方案主要。其中涉及具有常量或變量的語言文件,這些文件包含所有文本部分,並稍後在視圖/模板中進行回顯。

至於gettext,在過去我聽說過有關PHP的gettext實現有錯誤的參考資料,但我不能真正支持它,現在也沒有任何參考。

1

數據庫驅動的解決方案,以顯示這些消息並不總是好的,我在一個網站曾與超過15種語言和翻譯是一個問題。

所以我們的設計是:在PHP MySQL的

  • 翻譯應用程序(翻譯接入等)
  • 然後翻譯都是用PHP編寫的arrrays
  • 這些陣列還緩存在APC加快在網站上。

所以本地化你只需要做不同語言的包括

<?php 
include('lang/en.php'); 
include('lang/en_us.php'); // this file overrides few keys from the last one. 
?> 
+2

似乎是一個非常聰明的主意! – Mike 2010-09-13 11:24:48