Я нахожу Yii большой платформой, и веб-сайт в качестве примера, созданный с оболочкой yiic, является положительной стороной для запуска... однако это не затрагивает тему многоязычных веб-сайтов, к сожалению. Документы затрагивают тему перевода коротких сообщений, но не хранения многоязычного содержания...
Я собираюсь начать работать над веб-сайтом, который должен быть по крайней мере на двух языках, и я задаюсь вопросом, что лучший способ состоит в том, чтобы сохранить довольным для этого... Проблема состоит в том, что содержание смешано экстенсивно с общими элементами (как файлы встроенного видео).
Я должен постараться не копировать то свободное городское население... до сих пор я раньше имел массив массивов, содержащих тексты (обычно не больше, чем 1-2 коротких абзаца), затем файл представления просто представлял текст от массива.
Теперь я хотел бы постараться не сохранять его в массивах (который требует некоторого внимания при помещении двойных цитат "" и неудобен в общем...).
Так, что лучший способ состоит в том, чтобы сохранить теми короткими абзацами? Я должен сохранить их в DB как (идентификатор | message_id | язык | содержание) и затем выбрать их message_id и языком? Это все еще требует, чтобы я создал некоторый message_id и встроил их в файл представления...
Там кому-либо рекомендуют парадигму, для которой Yii имеет некоторые решения?
Спасибо, m.
Приложение Yii по умолчанию использует метод yii :: t () для перевода текста сообщений и существует 3 различных типа источников сообщений:
Если я правильно понял, вы используете классические массивы для переводов. Я рекомендую вам использовать GetText и PO файлы с Yii для операций перевода.
Вы можете найти много информации о переводе и i18n с yii на этой странице официальной документации .
Ну я думаю, что здесь речь идет о том, как перевести статический текст/сообщения на странице и Yii решает это довольно хорошо, используя Yii:t() и ответ Edigu.
Я просмотрел пост на FlexicaCMS о переводе динамического контента в базе данных, что ж, в конечном счете, это будет следующим после решения проблемы статического текста/сообщения, и это действительно хороший подход, использующий поведение Yii. Не уверен, что авторы FlexicaCMS слишком амбициозны в поддержке перевода таким образом, ведь это сделает перевод контента без проблем - действительно здорово.
Одна вещь, о которой они не упоминают, - это url переведенной страницы. Например, your.site.com/fr/translated_article_title.html. Я имею в виду, что в url должна быть часть /language_id/, чтобы это могло помочь в SEO.