Перевести FormHelper месяцы CakePHP - PullRequest
1 голос
/ 14 февраля 2012

FormHelper CakePHP 2.0.6 ( в 1.3 отлично работает ), не принимать app / Locale / pt_br / LC_MESSAGES / default.po.Когда я открываю файл для проверки, я вижу это:

__d('cake', 'January');

Как я могу переопределить плагин "__d" и / или "торт".Потому что, когда я изменяю _ d () на _ (), работает нормально, но я думаю, что это не идеальное решение.

__('January');

Спасибо. Извините за мой английский, я бразилец

Ответы [ 2 ]

5 голосов
/ 30 июля 2012

Я искал решение, как час, потому что у меня та же проблема. Вот как я это сделал:

  1. Создать cake.po файл перевода в /app/Locale/[your language key]/LC_MESSAGES/

  2. Скопируйте следующее в этот файл и переведите записи 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"
    
  3. Добавьте Configure::write('Config.language', '[your language key (same as the folder created above)]'); к вашей начальной загрузке или установите его в другом месте.

  4. Тад!

Объяснение: Названия месяцев в помощнике CakePHP транслируются через домен cake: __d('cake', 'January') ( см. Файл на github ), поэтому обычный перевод в default.po файл не будет работать.

3 голосов
/ 14 февраля 2012

Переместите все эти переводы в app/Locale/pt_br/LC_MESSAGES/cake.po.d в __d переключается на другой домен , и эти домены - просто разные файлы в каталоге LC_MESSAGES.

...