Как лучше реализовать поддержку нескольких языков при разработке своей CMS?

Здравствуйте! Нужна помощь.

Решил написать свою CMS.

Хочу сделать с поддержкой двух языков (English и Русский).
Подскажите, в какую сторону копать. Система на стадии разработке (на бумаге) и не хотелось бы потом все переделывать.
  • Вопрос задан
  • 2929 просмотров
Решения вопроса 1
alekciy
@alekciy
Вёбных дел мастер
Конечно же использовать gettext.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Kerman
@Kerman
Ну, например, как в Wiki, выделять под каждый язык свой файл локализации. И весь текст держать именно в этом файле.

Выглядит он так:
$namespaceNames = array(
	NS_MEDIA            => 'Медиа',
	NS_SPECIAL          => 'Служебная',
	NS_TALK             => 'Обсуждение',
	NS_USER             => 'Участник',
	NS_USER_TALK        => 'Обсуждение_участника',
	NS_PROJECT_TALK     => 'Обсуждение_{{GRAMMAR:genitive|$1}}',
	NS_FILE             => 'Файл',
	NS_FILE_TALK        => 'Обсуждение_файла',
	NS_MEDIAWIKI        => 'MediaWiki',
	NS_MEDIAWIKI_TALK   => 'Обсуждение_MediaWiki',
	NS_TEMPLATE         => 'Шаблон',
	NS_TEMPLATE_TALK    => 'Обсуждение_шаблона',
	NS_HELP             => 'Справка',
	NS_HELP_TALK        => 'Обсуждение_справки',
	NS_CATEGORY         => 'Категория',
	NS_CATEGORY_TALK    => 'Обсуждение_категории',
);
Ответ написан
silentvick
@silentvick
Есть готовый компонент для PHP: Translation . Переводы можно хранить в YAML или XML файлах.
Ответ написан
afiskon
@afiskon
Лучше не писать свою CMS. Но если прям очень хочется, посмотрите, как сделано в Yesod, там все очень очень правильно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы