2012-01-27 169 views
1

我正在Kohana 3.2開發一個web應用程序。 我在消息文件,視圖等中使用了__()函數,因爲我想讓我的應用程序以多種語言提供。Kohana翻譯文件

是否有一種快速簡便的方法來收集我必須翻譯的所有字符串?例如一個代碼編輯器可以爲我做(在Windows上)?

所以我想要一個包含所有文件中所有字符串的列表,用於調用__()函數。 你如何處理這個問題,或者你的建議?

謝謝!

+1

前一段時間我有一個類似的問題,這是我的解決方案:http://stackoverflow.com/questions/6245944/translating-kohana-modules-in-a-convenient-way – jannej 2012-01-28 08:46:48

回答

4

有一個簡單的插入式模塊(Kohana的-i18nget,kohana-i18nget on github),讓你收集模塊或應用程序文件夾所有__()封閉的字符串,並輸出相應的語言陣列(指定所有需要的語言配置文件)到您的i18n文件夾。

任何已經存在的翻譯鍵都保持不變。它是從你的項目根通過命令行調用:

php index.php --uri=i18nget/generate/mymodule/mymodule 
or 
php index.php --uri=i18nget/generate/application/application 

第一個命令生成的語言文件在MyModule中找到字符串Mymodule中/ i18n中/,第二生成應用程序/國際化/

應用程序文件夾中的文件

它還指出了在源文件中沒有使用的孤立翻譯鍵。

1

Kohana使用自己的系統來處理翻譯,你可以找到更多關於它here。不幸的是,他們沒有提供任何工具從PHP文件中提取字符串,因此您必須手動完成。

如果你想自動提取字符串,你應該考慮一個更完整的解決方案,如gettext,並使用Poedit來提取字符串。

0

您也可以使用一些shell腳本來提取這些字符串:

grep -or "__\((.*)\)" .

從您的應用程序文件夾中。