翻译FormHelper月份CakePHP

时间:2012-02-14 03:08:30

标签: php cakephp cakephp-2.0


CakePHP 2.0.6 的FormHelper(1.3中的完美无缺),不接受app / Locale / pt_br / LC_MESSAGES / default.po。
当我打开文件进行检查时,我看到了:

__d('cake', 'January');

如何覆盖“__d”和/或“蛋糕”插件 因为,当我将_ d()更改为_ ()时,工作正常,但我认为这不是一个完美的解决方案。

__('January');

感谢。
对不起我的英文,我是巴西人

2 个答案:

答案 0 :(得分:5)

我搜索了一个小时的解决方案,因为我遇到了同样的问题。我是这样做的:

  1. cake.po

  2. 中创建/app/Locale/[your language key]/LC_MESSAGES/翻译文件
  3. 在此文件中复制以下内容并将msgstr条目翻译为您的语言:

    msgid "January"
    msgstr "Januar"
    
    msgid "February"
    msgstr "Februar"
    
    msgid "March"
    msgstr "März"
    
    msgid "April"
    msgstr "April"
    
    msgid "May"
    msgstr "Mai"
    
    msgid "June"
    msgstr "Juni"
    
    msgid "July"
    msgstr "Juli"
    
    msgid "August"
    msgstr "August"
    
    msgid "September"
    msgstr "September"
    
    msgid "October"
    msgstr "Oktober"
    
    msgid "November"
    msgstr "November"
    
    msgid "December"
    msgstr "Dezember"
    
  4. Configure::write('Config.language', '[your language key (same as the folder created above)]');添加到您的引导程序或将其设置在其他位置。

  5. 多田!

  6. 说明:CakePHP助手中的月份名称通过cake域名进行翻译:{{1​​}}(see file on github),以便{{1}中的正常翻译文件无效。

答案 1 :(得分:3)

将所有这些翻译移至app/Locale/pt_br/LC_MESSAGES/cake.pod中的__d切换到另一个,这些域只是LC_MESSAGES目录中的不同文件。