Search Documentation

Много-язычные сайты

Cobalt предоставляет широкий спектр выбора возможностей для создания многоязычных сайтов. Он поддерживает 2 метода создания мультиязычной структуры сайта.

1. Метод параллельного перевода

Метод параллельного перевода используется в ядре Joomla. Его суть заключается в создании отдельного пункта меню для каждого языка контента. Таким образом, переводы являются параллельными и могут быть не идентичными (каждый перевод может иметь различный набор или количество статей).

Рассмотрим использование этого метода на примере сайта с двумя языками контента. Вам необходимо совершить следующие действия:

В Cobalt:

  1. Создать 2 типа контента (каждый для своего языка).
  2. В параметрах каждого типа контента установить необходимый язык.
  3. Создать 2 раздела (каждый для своего языка).
  4. В параметрах каждого раздела:
    • выбрать соответствующий тип контента;
    • установить соответствующий язык.

В Joomla:

  1. Создать два пункта меню (каждый для своего языка).
  2. Назначить каждому пункту меню соответствующий раздел Cobalt.
  3. Настроить систему перевода Joomla:

Для каждого языка Вы создаете свой раздел и свой тип контента. А для каждого раздела, соответственно, создается свой пункт меню.

Таким образом, Вы получаете два параллельных раздела, каждый для своего языка контента. Если Вам необходимо иметь статью на двух языках, Вы должны опубликовать ее в обоих разделах. Если необходима статья только на одном языке, Вы публикуете ее в соответствующем разделе.

2. Метод зеркального перевода

При использовании этого метода один язык является зеркальной копией другого языка. Это значит, что при добавлении статьи в один язык, она немедленно появляется в другом языке, но без перевода. Другими словами, Вы имеете один раздел и один тип контента для всех языков.

Это метод несколько сложнее и менее естественен для Joomla. Для его реализации необходимы сторонние расширения типа JoomFish или Falang.

Перевод всех разделов и типов контента Cobalt осуществляется в этих расширениях в административной панели сайта. На картинке ниже приведен пример использования компонента Falang:

  1. Войти в раздел Translation
  2. Выбрать необходимый язык и тип контента.
  3. Создать перевод необходимых элементов.

falang

Перевод текстовых значений

Одной из важных возможностей Cobalt является перевод значений полей. На самом деле Cobalt должен хранить одинаковое для всех языков значение поля для правильной фильтрации по этому полю, но показывать это значение различно для каждого языка.

Cobalt позволяет это делать без проблем. Значения всех полей обрабатываются через класс JText Joomla, поэтому существует возможность их перевода через языковые константы.

На картинке ниже показано поле типа Multiple Select, которое имеет три значения- F1_VALUE1, F1_VALUE2 и F1_VALUE3.

values

Затем в панели Joomla Менеджер языков->Переопределение констант Вы можете создать перевод значений этого поля для любого языка контента.

manager

Таким же способом этот метод можно использовать для перевода других элементов сайта.

Например, для перевода значений в параметрах шаблонов.

labels

3. Смешанный перевод

Cobalt поддерживает совмещение обоих способов перевода. Например, один раздел сайта может использовать параллельный метод, а другой раздел- зеркальный.

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

langmode