Cobalt предоставляет широкий спектр выбора возможностей для создания многоязычных сайтов. Он поддерживает 2 метода создания мультиязычной структуры сайта.
Метод параллельного перевода используется в ядре Joomla. Его суть заключается в создании отдельного пункта меню для каждого языка контента. Таким образом, переводы являются параллельными и могут быть не идентичными (каждый перевод может иметь различный набор или количество статей).
Рассмотрим использование этого метода на примере сайта с двумя языками контента. Вам необходимо совершить следующие действия:
В Cobalt:
В Joomla:
Для каждого языка Вы создаете свой раздел и свой тип контента. А для каждого раздела, соответственно, создается свой пункт меню.
Таким образом, Вы получаете два параллельных раздела, каждый для своего языка контента. Если Вам необходимо иметь статью на двух языках, Вы должны опубликовать ее в обоих разделах. Если необходима статья только на одном языке, Вы публикуете ее в соответствующем разделе.
При использовании этого метода один язык является зеркальной копией другого языка. Это значит, что при добавлении статьи в один язык, она немедленно появляется в другом языке, но без перевода. Другими словами, Вы имеете один раздел и один тип контента для всех языков.
Это метод несколько сложнее и менее естественен для Joomla. Для его реализации необходимы сторонние расширения типа JoomFish или Falang.
Перевод всех разделов и типов контента Cobalt осуществляется в этих расширениях в административной панели сайта. На картинке ниже приведен пример использования компонента Falang:
Одной из важных возможностей Cobalt является перевод значений полей. На самом деле Cobalt должен хранить одинаковое для всех языков значение поля для правильной фильтрации по этому полю, но показывать это значение различно для каждого языка.
Cobalt позволяет это делать без проблем. Значения всех полей обрабатываются через класс JText
Joomla, поэтому существует возможность их перевода через языковые константы.
На картинке ниже показано поле типа Multiple Select, которое имеет три значения- F1_VALUE1, F1_VALUE2 и F1_VALUE3.
Затем в панели Joomla Менеджер языков->Переопределение констант
Вы можете создать перевод значений этого поля для любого языка контента.
Таким же способом этот метод можно использовать для перевода других элементов сайта.
Например, для перевода значений в параметрах шаблонов.
Cobalt поддерживает совмещение обоих способов перевода. Например, один раздел сайта может использовать параллельный метод, а другой раздел- зеркальный.
И более того. Внутри раздела с зеркальным методом Вы можете использовать параллельный метод, переключая значение параметра раздела Режим языка
.