1

У меня возникла эта проблема в течение нескольких дней после того, как я повторно нашел, я не нашел решения.
Я нахожусь в проекте cakePHP 2.5.6, и сейчас я на интернационализации, все, казалось, работает нормально, но я столкнулся с этой проблемой:
В моей БД я храню несколько тегов для своих статей, проблема в том, что имя тега дается мне по запросу непосредственно из БД и печатается с использованием foreach.
Вот мое сомнение, есть ли способ перевести эти поля, используя мой файл .po?
Я думал о некоторых решениях, но я стараюсь их избегать, потому что я думаю, что они просто хромые, например, создать новый столбец в моей таблице тегов с переводом имени в нем.Перевод текста прямо из БД с использованием файла .po

ответ

1

Файлы горшка CakePHP создаются для жестко закодированных строк в файлах шаблонов и в других местах вашего приложения. В принципе что-то вроде __('Hello'), оно не работает, если вы используете переменные типа __($var), так как ему нужно знать строку для генерации файлов перевода.

Если контент поступает из базы данных, вам необходимо посмотреть на перевод содержимого базы данных в базу данных, как вы предлагали. Вместо того, чтобы создавать новый набор столбцов в таблице тэгов, вы должны изучить использование CakePHP's Translate behaviour. Cake's Translate поведение должно делать то, что вы ищете, если вам не нужно изобретать колесо.

+1

Спасибо, я не знал о классе TranslateBehaviour, он выглядит точно, что мне нужно! :) – Asur