我使用cakePHP 2.0并使用控制台工具创建一个... / app / locale / default.pot。现在,我想将我的网站翻译成多种语言。我在cakephp烹饪书中阅读了关于国际化的段落(http://book.cakephp.org/1.2/en/view/162/Internationalizing-Your-Application)。
我将default.pot文件复制到
使用utf-8文本编辑器(作为gedit)输入tranalations字符串。并且...我的网站根本没有翻译。
我注意到AppController可能会实现一些代码来更改Configure :: write('Config.language',some_three_letters_language),因为配置没有改变,我已经实现了一些非常简单的代码。
// in AppController
public function beforeFilter() {
Configure::write('Config.language', 'fre');
}
为什么翻译函数总是返回它的参数而不是.pot文件中的翻译字符串(在视图中,__('Something')-answers->'Something')?
我发现没有.pot文件被翻译成.po。如何使用REHL或CentOS获取那些.po文件(在名称中无法获得带po或poeditor的任何合适数据包)?
感谢您的回答。
答案 0 :(得分:9)
.pot和.po文件是相同的文件格式。 .pot代表“PO 模板”。不同之处在于您应该使用此模板文件并将其提供给翻译人员,翻译人员将生成翻译的.po文件。 .pot文件是几个本地化.po文件的模板。请参阅http://www.gnu.org/software/gettext/manual/gettext.html#Files。
换句话说,只需将.pot重命名为.po即可
在正确的gettext工作流程中,有msginit
工具用于执行此操作,该工具还会将多个标头设置为所选区域设置的正确值。