Многоязычный сайт в Zend Framework

Я работаю над сайтом, чтобы включить поддержку многоязычия. Я могу переводить строки с помощью Zend_Translate, но как насчет контента? Например, мне нужно добавить несколько записей для одного и того же продукта для каждого языка? Или есть другой способ? Я новичок в многоязычном, пожалуйста, помогите. Заранее спасибо.

— Дополнение —————————–

Хорошо, я решил использовать смешанное решение для использования google translation api и хранения его в базе данных для дальнейшего редактирования. Итак, что может быть структурой базы данных для хранения переводов ???

  1. Должен ли я сохранять переводы другого языка в той же таблице, что и родительская запись. т.е. для продукта в таблице продуктов с дополнительной колонкой к языку идентификации.
  2. Обобщенная отдельная таблица для хранения всех переводов всех таблиц. например, переводы (id bigint, table_name vc (50), table_id bigint, langugae, column_name vc (50), перевод)

следует сохранять записи в связанных таблицах

    Немногие возможные подходы:

    1. Использование gettext (или программного обеспечения, такого как Poedit ) для извлечения данных из содержимого. Возможно с переменной интерполяцией.
    2. Создание фильтра представления, как описано в: Zend Framework и Translation
    3. Разделяйте содержимое данных в базе данных.
      Если вы храните контент в формате разметки (например, Markdown ), любой может легко его перевести. Легко создать поисковую систему на разных языках.

    Кажется, что третий подход требует больших усилий, но он того стоит.

    Обновление после комментария

    Я предполагаю, что вы храните данные о продуктах в базе данных в таких полях, как:

     - product_data -- id -- price -- name -- description -- etc… 

    Поэтому вы должны изменить его, чтобы добавить поля для переведенных строк на каждом языке:

     - product_data -- id -- price - product_data_translations -- product_id -- language (eg en) -- name -- description -- etc 

    Затем вы можете легко создавать SQL-запросы для извлечения переведенных данных, where product_id=x and language="fr" .

    Вы можете использовать также Doctrine I18N, чтобы сделать это для вас автоматически.

    Вам нужно перевести содержимое вручную (или автоматизировать перевод с использованием Google API), но затем вы можете легко проиндексировать его, например, Zend_Search_Lucene .