Пошаговое руководство для организации сайта на нескольких языках
В данном разделе описаны настройки плгина `i18n` (идет в базовой поставке), для обеспечения следующих возможностей:
Итак, давайте разберемся что нам для этого потребуется:
en|English nl|Nederlands de|Deutsch
<!-- Меню выбора перевода --> <!-- BEGIN: I18N_LANG --> {PHP.L.Language}: <ul> <!-- BEGIN: I18N_LANG_ROW --> <li><a href="{I18N_LANG_ROW_URL}">{I18N_LANG_ROW_TITLE}</a></li> <!-- END: I18N_LANG_ROW --> </ul> <!-- END: I18N_LANG --> <!-- Кнопки управления --> {PAGE_I18N_TRANSLATE} {PAGE_I18N_DELETE}
<!-- BEGIN: I18N_LANG --> <ul> <!-- BEGIN: I18N_LANG_ROW --> <li> <a href="{I18N_LANG_ROW_URL}" title="{I18N_LANG_ROW_TITLE}"><img src="images/flags/{I18N_LANG_ROW_FLAG}.png" alt="{I18N_LANG_ROW_CODE}" /></a> </li> <!-- END: I18N_LANG_ROW --> </ul> <!-- END: I18N_LANG -->
Вот и все.
Добавление:
8. Если на вашем сайте используется плагин `urlreditor`, то стоит проверить наличие следующей строки в файле `.htaccess`:
# Language selector RewriteRule ^(ru|ua|en|de|nl)/(.*) $2?l=$1 [QSA,NC,NE,DPI]
Если вы его устанавливали по инструкции, то строка скорее всего в вашем файле имеется, т.к. она есть в шаблоне `sef-urls.htaccess`.
Если вы добавляете язык отличный от указанных в списке (ru|ua|en|de|nl), то просто добавьте его туда через разделитель `|`.
Плагин i18n не имеет настройки для задания отдельных заголовка и описания сайта (meta description, title) для каждого из языков. Но это можно исправить в 2 счета:
$cfg['maintitle']='maintitle-en'; $cfg['subtitle']='subtitle-en';
Для единообразия отображения заголовков переведенных страниц в категории system
добавляем в языковые файлы темы следующую строку:
if (strtolower($_GET['c']) == 'system') $cfg['page']['title_page'] = '{TITLE}';
# Language selector
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(ru|ua|en|de|nl)/(.*) index.php?rwr=$2&l=$1 [QSA,NC,NE]
Так лушче
Финальный вариант:
# Language selector
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]{2})/(.*)$ $2?l=$1 [L,QSA]
RewriteRule ^([a-z]{2})$ index.php?l=$1 [L,QSA]
1.Далее надо сделать перевод названий категорий, для этого идем в раздел «Управление сайтом» → «Структура» и жмем кнопку «Интернационализация структуры». Тут вы увидите таблицу выбранных категорий и их описаний. Заполняем поля в колонках, соответствующих каждому из указанных ранее дополнительных языков.
-------------------------------------------------------------
Зайдя в раздел «Управление сайтом» → «Структура», вижу только перечень модулей Folio, Pages, User Categories, Project.
Кнопки «Интернационализация структуры» - нет!
Если зайти в любой модуль, например в Project, то вижу кнопку «Интернационализация структуры», нажав на неё открывается страница (index.php?e=i18n&m=structure), где написано "Интернационализация структуры" под ней English, Russian
Нету таблицы выбранных категорий и их описаний, вообще пусто
В чём может быть проблема ?
Cotonti SIENA(самая последня на сег. день), тема Masters, Админки разные пробовал ставить, сейчас Yukon
Всего: 5, на странице: 5
Поблагодарили: 7 раз
thanks