2009-04-06 2 views
2

Я только начинаю процесс изучения i18n в CakePHP, и я не могу найти правильную комбинацию файлов и функций, которые позволят мне использовать несколько po-файлов. Если я хочу использовать один файл po (default.po) для каждого бита переводимого текста, это отлично работает, но я вижу, что очень быстро и быстро становится незаменимым шарик. Я прочитал документы и несколько статей, которые могу найти, но никто не погружается в i18n за тривиальное использование одного файла .po.Как использовать несколько файлов po в CakePHP?

Вот где я сейчас:

  • Я «запеченные» мои шаблоны Ро (.pot файлов) и скопировать эти в приложение/локаль/Eng/LC_MESSAGES (я не собираюсь быть используя текст по умолчанию в качестве ключа, чтобы я мог легко обнаружить отсутствующие ключи). На данный момент у меня есть -views-layouts-default.po и -views-pages-index.po.
  • В этих файлах .po я ввел текст, который я хочу использовать для каждого ключа.
  • На моей домашней странице (views/pages/index.ctp) и макете по умолчанию (views/layouts/default.ctp) Я завернул текстовый ключ, который я хочу перевести с помощью функции __().

Когда я загружаю домашнюю страницу, все, что я вижу, это ключи. Текст не переведен. Если я вытащил файл default.po, тем не менее, все ключи, которые я туда заселяю, заполнены просто отлично. Мне явно не хватает части головоломки, но я не могу ее найти. Любая помощь приветствуется.

Спасибо.

ответ

6

Я нашел кусок, который мне не хватало благодаря группе Google CakePHP. Я играл с функцией удобства __d(), но не имел четкой картины о том, как связать ее вместе с моими файлами .po. Ответ прост, как только вы это знаете:

Доменное перевод:

__d ('login', 'PLEASE_LOGIN');

будет искать ключ «PLEASE_LOGIN» в файле с именем login.po. Я не знал (и нигде не читал), что имя домена == po (без расширения). Изучение, которое имело значение.