• Главная
  • Карта сайта
Не найдено

Багатомовність Drupal 7

Щоб зробити сайт більш дружнім до користувачів іноді виникає завдання додавання на сайт декількох мов, на яких буде представлений контент. Можна звичайно створювати статті просто з різним вмістом, але як бути з іншими частинами сайту як меню, блоки і т.д.? У цьому нам допоможе лише кілька модулів, які повністю переведуть весь сайт на будь-який потрібну мову.

Модулі, які нам знадобляться:

  • Internationalization - набір модулів для розширення можливостей багатомовності.
  • Variable - модуль для редагування змінних реєстру Drupal. Потрібен якщо вам необхідно перевести на іншу мову системні змінні.

Перше що необхідно зробити - це активувати модуль ядра Drupal під назвою Locale. Після чого за адресою admin / config / regional / language необхідно додати потрібний нам мову, крім англійської, який встановлений за замовчуванням. У моєму випадку це буде російська мова. Далі потрібно вибрати мову, який буде встановлений для сайту за замовчуванням. Я вибрав російську мову і встановив відповідні переклади для Drupal. Встановити переклади можна вручну, скачавши з сайту drupal.org або drupaler.ru . Так само переклади можна встановити за допомогою корисного модуля Localization update , Який в подальшому дуже стане в нагоді для установки або оновлення перекладів.

Після зробленого потрібно встановити і активувати модулі Internationalization і Variable (не обов'язково).

Список модулів, які необхідно активувати:

  • Internationalization
  • Field translation - переклад полів.
  • Menu translation - переклад меню.
  • Block languages ​​- переклад блоків.
  • Multilingual content - розширення базових можливостей перекладу контенту.
  • Taxonomy translation - переклад таксономії.
  • String translation - переклад певних користувачем рядків. Необхідний для перерахованих вище модулів.
  • Variable translation (не обов'язково) - переклад системних змінних.
  • Variable (не обов'язково) - модуль для доступу до системних змінних.
  • Variable admin (не обов'язково) - UI для редагування змінних.

Поле установки і активації модулів необхідно перейти за адресою admin / structure / types і для типів контенту, для яких потрібен переклад, включити підтримку багатомовності. Спочатку включаємо в розділі Налаштування публікації, вибравши варіант Включити і дозволити переклад, а потім після збереження в розділі мультимовну настройки включаємо опцію Вимагати мову, що б на сайті не виявилося контенту нейтрального по відношенню до мови.

Створимо ноду типу Basic page російською мовою, помістивши посилання на неї в меню. Ось так виглядає наша додана сторінка:

Далі нам необхідно додати переклад сторінки, натиснувши на кнопку Переклад в списку локальних задач. Аналогічно заповнюємо даними, тільки на англійській мові і додаємо посилання в меню.

Тепер належить найважливіший момент, нам необхідно вибрати параметр, за яким буде визначатися мову для всього сайту. Для цього переходимо за адресою admin / config / regional / language / configure і бачимо форму параметрів визначення мови сайту.

Для цього переходимо за адресою admin / config / regional / language / configure і бачимо форму параметрів визначення мови сайту

Власне з опису методів все зрозуміло. Методи визначення будуть спрацьовувати в залежності від ваги і послідовності, в якій вони розташовані. Зупинимося на методі визначення мови по URL. Поставимо галочку і активуємо його, а також переходимо в настройки.

Поставимо галочку і активуємо його, а також переходимо в настройки

Префікс шляху - код мови сайту буде розташовуватися відразу після базового URL. Наприклад: http: //multi.local/ en / node / 1, http: //multi.local/ ua / node / 1, http: //multi.local/ ru / node / 1.

Домен - код мови сайту буде розташовуватися в вигляді поддомена. Наприклад: http: // en .multi.local / node / 1, http: // ua .multi.local / node / 1, http: // ru. multi.localnode / 1.

Спочатку зупинимося на варіанті з префіксом шляху. Щоб при використанні сайту російською мовою в адресі не було ru, перейдемо admin / config / regional / language / edit / ru і залишимо порожнім поле Префікс мови. Так само раджу включити блок для зміни мови.

Ось так виглядає сторінка російською http: //multilan.local/page:

Ось так англійською http: //multilan.local/en/page:

Тепер підемо іншим шляхом, і виберемо визначення мови по Домену.

За адресою admin / config / regional / language налаштуємо мови наступним чином.

Русский:

англійська:

Тепер російська версія доступна за звичайним адресою http: //multilan.local, а англійська за адресою http: //en.multilan.local.

Після цього можна користуватися сайтом на декількох мови. Якщо з якихось причин сторінка з піддоменів en недоступна, то необхідно перевірити настройки сервера і роботу директиви htaccess.

Ще один важливий момент багатомовності при використанні доменів - це авторизація на різних версіях сайту. Для того що б авторизація зберігалася всюди, необхідно в файлі конфігурації settings.php встановити параметр $ cookie_domain = '. multilan.local; ось з таким значенням.

Це лише мала частина функціональності набору цих модулів. Завдяки модулю Variable ми можемо перекладати всі доступні змінні, встановлені в Drupal за допомогою set_variable. Наприклад, слоган сайту для англійської та російської версій сайту, назва і багато іншого. Так само можна переводити меню, блоки, словники, терміни таксономії і т.д.

У підсумку ми отримали повноцінний багатомовний сайт з можливістю перекладу всіх його складових частин, за допомогою всього декількох модулів.

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью