Аватар пользователя userok


Создание мультиязычного сайта на Drupal 7

Доброго времени суток, читатели сайта it-cat. У нас имеется свежеустановленная (на локальную машину, но здесь это несущественно) система управления содержимым Drupal 7. Задача — сделать с её помощью многоязычный сайт. В данной статье под многоязычным сайтом мы понимаем сайт с полностью переведённым интерфейсом и содержимым. Так как автор статьи свободно владеет читает и переводит со словарем только по-английски - мы будем использовать на нашем тестовом сайте два языка: русский и английский.

Рисунок 1.

Новый сайт

Мы предполагаем, что Вы являетесь администратором сайта и Вам доступно меню администрирования вверху страницы(Dashboard, Content, Structure...). В дальнейшем, упоминая это меню будем говорить просто «Администрирование».

Шаг первый. Русификация.

Мы сделали «чистую установку» Drupal, без дополнительных модулей, соответственно наш свежий сайт имеет только англоязычный интерфейс. Первым делом нам необходимо перевести на русский язык административный интерфейс сайта.
На странице http://drupal.org/project/l10n_update загружаем модуль Localization Update и сохраняем файл на жёсткий диск. Подробнее об установке новых модулей.
Далее идём в Администрирование->Modules->Install new module, на появившейся странице нажимаем кнопку «Выбрать файл» и выбираем скачанный нами архив.

Рисунок 2.

Установка модуля

Нажимаем «Install», после установки нам необходимо активировать данный модуль, для этого идём в Администрирование->Modules и в списке имеющихся модулей в разделе Multilingual находим модуль Localization update. Ставим возле него галочку и жмём «Save configuration».

Рисунок 3.

Далее появляется предложение включить модуль Locale требующийся для работы Localization update. Нажимаем «Continue»

Рисунок 4.

Дополнительные модули

После установки снова попадаем на страницу Администрирование->Modules и видим, что наш модуль Localization update активирован:

Рисунок 5.

Модуль успешно установлен

Мы только что установили модуль Localization update, установка других модулей происходит по точно такому же алгоритму, поэтому далее мы не будем на этом останавливаться столь подробно.

Далее, на странице Администрирование->Configuration->Regional and Languages->Languages
Жмём «Add language», выбираем из списка Russian(Русский) и нажимаем кнопку «Add language». Друпал начинает автоматически загружать файлы переводов.

Рисунок 6.

Автоматическая загрузка переводов

После загрузки и установки переводов появляется страница, на которой можно выбрать язык по умолчанию. Для удобства выбираем «Русский».

Рисунок 7.

Выбор языка


Рисунок 8.

Выбор языка

Обновлять переводы можно на странице: Администрирование->Конфигурация->Регион и язык->Перевод интерфейса:

Рисунок 9.

Перевод интерфейса

Здесь так же можно настроить автоматическое обновление переводов.

Шаг второй. Установка и активация необходимых модулей.

Следующие дополнительные модули необходимо скачать:
Internationalization (i18n)
Variable
Language Icons
Подробнее об установке новых модулей. Загружаем модули на сайт через Администрирование->Модули->Установить новый модуль.
Включаем(если выключены) системные модули Locale и Content translation
Включаем модуль Variable в группе Variable, затем в группе Multilingual-Internalization следующие модули:
Block languages
Internationalization
Language icons
Menu translation
Multilingual content
String translation
Taxonomy translation
Всё необходимое для создания многоязычного сайта мы установили и настроили, теперь пора переходить к переводу.

Шаг третий. Language icons.

Этот модуль нам понадобится для того чтобы добавить на сайт блок переключения языка.
Модуль мы включили выше, теперь нам понадобится его настроить.
Настраиваем отображение на странице. Идём в Администрирование->Структура->Блоки.
Внизу среди отключённых блоков находим «Переключатель языка(Текст пользовательского интерфейса)» и выбираем для него регион(область). Для нашего примера (стандартная тема Bartik) мы выбрали регион «Вторая боковая панель» для наглядности.

Рисунок 10.

Language icons

Нажимаем «Сохранить блоки» и видим следующую страницу:

Рисунок 11.

Настройка автоматического определения языка


Здесь мы видим предупреждение о том, что переключатель языка будет отображаться только после настройки метода автоматического определения языка либо «URL» либо «сессия».
Идём по предложенной ссылке и попадаем на страницу Администрирование->Конфигурация->Регион и язык->Языки->Определение и выбор:
Рисунок 12.

Автоматическое определение языка URL

Перетаскиваем метод URL в начало списка и нажимаем ссылку Настроить:

Рисунок 13.

Настраиваем префикс пути

Здесь выбираем префикс пути или домен, мы выберем префикс пути. Сохраняем настройки.
Ещё раз идём по адресу: Администрирование->Конфигурация->Регион и язык->Языки->Определение и выбор, чтобы убедиться, что метод URL задействован и находится вверху списка.

Шаг четвёртый. Перевод интерфейса и содержимого.

Теперь надо настроить мультиязычность для типа материала «статья». Переходим в Администрирование->Структура->Типы материалов. Для типа материала «Статья(Article)» нажимаем ссылку «Изменить». На странице редактирования типа материала «статья» в пункте «Настройка публикации», «Поддержка многоязычности» выбираем «Включить и разрешить перевод», в пункте «Мультиязычные настройки», «Расширенные языковые настройки» ставим «Требовать язык», «Расширенная поддержка языка» - «Стандартная».

Рисунок 14.

Включаем мультиязычность для типа материала


Рисунок 15.

Включаем мультиязычность для типа материала

Сохраняем тип материала. Теперь проверим что у нас получилось. Зайдём на стартовую страницу нашего сайта и увидим следующую картинку:

Рисунок 16.

Интерфейс переведён

Переключив язык, увидим уже переведённый интерфейс:

Рисунок 17.

Интерфейс переведён

Как видно из снимков экрана, интерфейс стандартных блоков Drupal уже переведён, что избавит нас от лишней работы, нам останется переводить только созданные нами материалы которые мы в дальнейшем будем добавлять на сайт. Не переведенным осталось только название сайта и главное меню. Название сайта мы перевести не сможем, да и смысла в этом нет, а меню, естественно, переведём. Идём в Администрирование->Структура->Меню->Main menu->Изменить меню, выбираем в «Настройках многоязычности» «Переводится и локализуется», сохраняем изменения.

Рисунок 18.

Настройка мультиязычного меню

После сохранения попадаем на страницу Администрирование->Структура->Меню_>Main menu->Список ссылок:

Рисунок 19.

Перевод пункта меню

Нажимаем ссылку «Изменить» напротив того пункта меню, который собираемся переводить, у нас он пока единственный. На появившейся странице в разделе язык выбираем Английский т. к. пункт главного меню Home на английском, а на русский будем переводить.

Рисунок 20.

Перевод ссылки меню

Сохраняем изменения и снова попадаем на страницу Администрирование->Структура->Меню_>Main menu->Список ссылок. Если мы всё сделали правильно, справа вверху должна появиться вкладка «Перевести»; переходим на неё:

Рисунок 21.

Перевод ссылки меню

Нажимаем «Добавить перевод» и на открывшейся странице вписываем русское название ссылки меню. Язык, соответственно нужно было-бы выбрать «русский», однако т. к. у нас всего два языка и английский установлен по-умолчанию, система сама подставила необходимый нам язык.

Рисунок 22.

Перевод ссылки меню

Сохраняем изменения. Переходим на главную и видим, что пункт меню Home переведён на русский.

Рисунок 23.

Переведённое меню

Теперь добавим на наш сайт пробную статью. Администрирование->Содержимое->Добавить содержимое->Article(Статья)
В поле title введем название статьи, в поле body текст статьи, язык - «русский». Поставим галочку «Создать ссылку меню».

Рисунок 24.

Добавление первой статьи


Рисунок 25.

Добавление первой статьи

Родителем сделаем главную страницу,и нажмём «Сохранить».
Статья создана, теперь переведём её на английский. Переходим в Администрирование->Содержимое, находим нашу статью и жмём «Изменить». Переходим на вкладку «Перевести» и добавляем английский перевод:

Рисунок 26.

Перевод статьи Drupal7


Рисунок 27.

Перевод статьи Drupal7

Переводим title и body:

Рисунок 28.

Перевод статьи Drupal7

Создаём ссылку меню и назначаем родителя Home:

Рисунок 29.

Перевод статьи Drupal7

Сохраняем. Переходим на главную страницу:

Рисунок 30.

Мультиязычный сайт Drupal7

Переключаем язык:

Рисунок 31.

Мультиязычный сайт Drupal7

Всё работает!

Скачать статью Создание мультиязычного сайта на Drupal в формате PDF.

См. также: Установка на хостинг и базовая настройка
См. также: Установка Drupal7 на локальный компьютер с ОС Linux
См. также: Установка модулей Drupal7

Эта статья опубликована под Creative Commons Attribution ShareAlike лицензией.

Добавить комментарий