我正在Kohana 3.2开发一个web应用程序。 我在消息文件,视图等中使用了__()函数,因为我想让我的应用程序以多种语言提供。Kohana翻译文件
是否有一种快速简便的方法来收集我必须翻译的所有字符串?例如一个代码编辑器可以为我做(在Windows上)?
所以我想要一个包含所有文件中所有字符串的列表,用于调用__()函数。 你如何处理这个问题,或者你的建议?
谢谢!
我正在Kohana 3.2开发一个web应用程序。 我在消息文件,视图等中使用了__()函数,因为我想让我的应用程序以多种语言提供。Kohana翻译文件
是否有一种快速简便的方法来收集我必须翻译的所有字符串?例如一个代码编辑器可以为我做(在Windows上)?
所以我想要一个包含所有文件中所有字符串的列表,用于调用__()函数。 你如何处理这个问题,或者你的建议?
谢谢!
有一个简单的插入式模块(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中/,第二生成应用程序/国际化/
应用程序文件夹中的文件它还指出了在源文件中没有使用的孤立翻译键。
Kohana使用自己的系统来处理翻译,你可以找到更多关于它here。不幸的是,他们没有提供任何工具从PHP文件中提取字符串,因此您必须手动完成。
如果你想自动提取字符串,你应该考虑一个更完整的解决方案,如gettext,并使用Poedit来提取字符串。
您也可以使用一些shell脚本来提取这些字符串:
grep -or "__\((.*)\)" .
从您的应用程序文件夹中。
前一段时间我有一个类似的问题,这是我的解决方案:http://stackoverflow.com/questions/6245944/translating-kohana-modules-in-a-convenient-way – jannej 2012-01-28 08:46:48