Студия разработки сайтов и приложений

Netspark.ru

Заметки и разработки

Drupal

Drupal и i18n

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

Перевод полей-списков
Вот сделал я поле чекбоксов, состоящее из вариантов «Вариант А», «Вариант Б», «Вариант В». Перевел на другие языки — в настройках поля есть такая возможность. Насоздавал материалов, и эти материалы тоже перевел на другие языки. Захожу теперь посмотреть переводы, и что бы вы думали — все перевелось? Да фиг там. Во всех языках так и будет — «Вариант А», «Вариант Б» и «Вариант В». Почему? А оказывается потому что нужно было в настройках отображения ноды (manage display которые) в колонке формата для этого поля вместо Default указать Default translated! Почему? Почему, [censored]?! Я, [censored], специально перевел все варианты — ну конечно же я хочу, чтобы выводился перевод. Для чего эта настройка? Есть масса желающих перевести опции списка, но выводить их непереведенными?

Перевод exposed-фильтра Views
А теперь я хочу пофильтровать представление по этому же полю. Добавляю exposed-фильтр, и разумеется все варианты в селекте выводятся без переводов. Уже не удивляемся, идем разбираться. Оказывается, во вьюзах при выборе фильтра нужно выбирать то же самое поле, но с припиской translated. Зачем, почему? Что, есть люди, которые специально хотят выводить селект-бокс с непереведенными вариантами? Ну, пускай они даже есть. Их что, очень много, больше чем всех остальных? Может быть, надо наоборот — для этих людей сделать отдельное поле с припиской untranslated?

Перевод перезаписанного вывода Views
Оказывается, перезаписанный вывод поля (тот который rewrite results) — тоже подлежит переводу. В отличие от предыдущих пунктов, это полностью логично: мы могли напихать туда текста для связи полей, вполне резонно, что этот текст надо перевести.
Но, блин, когда в поле есть только несколько токенов для объединенного вывода полей, да может еще пара дивов — не сразу и допрешь, почему во вьюхе на русском отображаются все 15 полей, а на английском — только три.

Комментарии