如何从.pot文件获取.po文件

MUY*_*ium 4 cakephp po cakephp-2.0

我使用cakePHP 2.0并使用控制台工具创建一个.../app/locale/default.pot.现在,我想将我的网站翻译成多种语言.我在cakephp烹饪书中阅读了关于国际化的段落(http://book.cakephp.org/1.2/en/view/162/Internationalizing-Your-Application).

我将default.pot文件复制到

  • ... /应用/区域/英/ LC_MESSAGES/default.pot
  • ... /应用/区域/ FRE/LC_MESSAGES/default.pot
  • ... /应用/区域/ POL/LC_MESSAGES/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');
}
Run Code Online (Sandbox Code Playgroud)

为什么翻译函数总是返回它的参数而不是.pot文件中的翻译字符串(在视图中,__('Something')-answers->'Something')?

我发现没有.pot文件被翻译成.po.如何使用REHL或CentOS获取那些.po文件(在名称中无法获得带po或poeditor的任何合适数据包)?

感谢您的回答.

dec*_*eze 9

.pot和.po文件是相同的文件格式..pot代表"PO 模板 ".不同之处在于您应该使用此模板文件并将其提供给翻译人员,翻译人员将生成翻译的.po文件..pot文件是几个本地化.po文件的模板.请参见http://www.gnu.org/software/gettext/manual/gettext.html#Files.

换句话说,只需将.pot重命名为.po即可.
在正确的gettext工作流中,有msginit用于执行此操作的工具,该工具还将为所选语言环境设置正确值的标题数.