2012-01-27 128 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 "__\((.*)\)" .

从您的应用程序文件夹中。