i18n Мультиязычный сайт - вводим multilingual variable (слоган, подвал, форма контактов и т.п.)

19 мая 2008 в 15:57
Аватар пользователя relogger relogger 0 17

Переменные не переведённые модулем локализации можно всё-таки сделать мультиязычными.
Для локализации я использую i18n.
Мне нужно было перевести такие переменные как site_name, site_slogan, site_mission, site_footer,contact_form_information.

Для этого необходимо отредактировать файл /sites/default/settings.php

Дополняем его:

/**
 * Multilingual settings
 *
 * This is a collection of variables that can be set up for each language when i18n enabled.
 * These are the basic ones for Drupal core, but you can add your own here.
 */

$conf['i18n_variables'] = array(
  'site_name',
  'site_slogan',
  'site_mission',
  'site_footer',
  'anonymous',
  'menu_primary_menu',
  'menu_secondary_menu',
  'contact_form_information',
);

Сохраняем, переходим в нужный раздел админки.
Например, admin/build/contact/settings для редактирования текста контактной формы.
Под полем, которое мы хотим сделать доступным на нескольких языках должна появиться надпись:
This is a multilingual variable.
Есть? Значит мы правильно внесли переменные и они теперь многоязычные.

Переключаемся на нужной странице на желаемый язык и вводим значение для поля. И так для каждого языка.

Комментарии

Похоже с шестерке это не работает. Т.е. надпись This is a multilingual variable. появляется. Но если вводишь надпись на другом языке, то она и сохраняется для всех. В Translate interface новых записей не появилось.

20 мая 2008 в 7:14

kodo: Похоже с шестерке это не работает..... надпись на другом языке, то она и сохраняется для всех.
Работает (6.3). Нужно пройтись по ВСЕМ языкам, и всюду изменить значение полей multilingual variable.
Значения записываются в таблицу i18n_variable .

30 июля 2008 в 4:07

Работает и под шестерку инфо почитаете. Я делал сайт и на 3 языках и отлично работает только надо правильно сконфигурировать модуль

2 сентября 2008 в 10:44

"meta" wrote:
Работает (6.3). Нужно пройтись по ВСЕМ языкам, и всюду изменить значение полей multilingual variable.
Значения записываются в таблицу i18n_variable .

Да, был не прав, действительно все работает! Большущее спасибо! Видно тогда не прошелся по ВСЕМ языкам... Smile

17 января 2009 в 13:48

Названия полей я перевел через поиск (admin/build/translate/search), искал нужные строки в нужных языках и добавлял переводы

25 марта 2009 в 15:15

А есть ли модуль позволяющий разместить форму контактов в блок?
Тогда я бы мог показать блок на странице /contact, а заголовки полей сгенерировать.
Пробовал делать через Webform, но в нем мультиязычности нет, и в блок его не вставишь (или можно? просветите).

25 марта 2009 в 15:22

"Dark_kz" wrote:
А есть ли модуль позволяющий разместить форму контактов в блок?

поищи, где то либо на Setegnom или тут была ссылка на такое.

25 марта 2009 в 15:53

У меня данный способ в drupal 6.20 не работает, название сайта не переводится. Перепробовал все.

Пардон.Все работает. Вы только забыли указать, что для названия сайта, миссии и т.д. - разные варианты вписываются в поля "Информация о сайте" для разных языков, а я то вписал одно название сайта и пытался его перевести с помощью поиска, что конечно же не работало и повлекло написание этого коммента. Но до меня дошло как я ошибался, через несколько часов но дошло...

2 мая 2011 в 19:40

Подскажите, вставлял код и так и по-другому и всяко разно, но все равно надпись This is a multilingual variable не появляется, перевод не работает Sad Что я делаю не так? Какие могут быть проблемы при вставке кода?

29 мая 2012 в 10:04