Ответ 1
Я думаю, что ты просто забыл "эхо"
<?php echo __('o que fazemos'); ?>
Я пытаюсь реализовать перевод в Cakephp, но не работает и не показываю мне никаких ошибок.
У меня есть HTML
в element
<a href="/sites/pages/servicos" target="_blank">
<span class="title">Serviços</span>
<div class="description"><?php __('o que fazemos') ?></div>
</a>
В App Controller внутри beforeFilter()
:
Configure::write('Config.language', 'eng');
В моей папке locale/eng/LC_MESSAGES/default.po
у меня есть следующее:
msgid "o que fazemos"
msgstr "What we do"
Но не работает... Благодаря
Я думаю, что ты просто забыл "эхо"
<?php echo __('o que fazemos'); ?>
Вы правильно сгенерировали файлы i18n с помощью команды ./cake i18n
?
Используйте PoEdit для редактирования ваших файлов перевода, вместо того, чтобы делать это вручную, если вы это сделали.
app\console\cake
, а затем i18n extract
после полного файла в формате _()?Configure::write('Config.language',
'eng');
в App Controller вместо app\Config\core.php
(рекомендация).
И как сказал JazzCat, поскольку это файл .po, настоятельно рекомендуется использовать poedit.PS: вы можете установить язык в AppController с помощью сеанса:
$this->Session->write('Config.language', 'en');