[РЕШЕНО] Мультиязычный логотип

Главные вкладки

Комментарии

Аватар пользователя Antoniy Antoniy 22 января 2013 в 9:53

Использовать модуль Variable.
В частности его подмодуль Variable translation (Requires: Internationalization, Locale, Variable, Variable store, Variable realm).

Включаем модули и идем на admin/config/regional/i18n/variable
Переходим на вкладку Theme settig, ставим галочки на Theme settings, можно и на Global theme settings, чтобы уж для любых тем лого и другие настройки темы менять в зависимости от языка сайта.

Затем идем на страницу настроек нашей темы и там должны появиться ссылки с названиями языков. Жмем ссылку например English и заказчиваем английский вариант лого, жмем на ссылку Russian и закачиваем русский вариант лого.

И обязательно жмем Сохранить каждый раз.

Аватар пользователя Antoniy Antoniy 22 января 2013 в 9:57

С помощью Variable также можно менять название и слоган сайта в зависимости от языка. И много чего еще. Некоторые модули с ним дружат. Например Colorbox, если нужно переводить интерфейс модального окна, с помощью Variable это можно сделать прямо в настройках Colorbox, меняя языки.

Аватар пользователя Antoniy Antoniy 22 января 2013 в 11:15

Вот еще полезный код для template.php, если в функцию засунуть:

global $language;
$lang_name = $language->language;
if ( $lang_name == "en" ) { return TRUE; } else { return FALSE; }

Отсюда http://drupal.org/node/1019616

Надо было заменить заголовок формы обратной связи на английском, а на русском для перевода эта строка не стала выводиться:

function yourthemename_form_contact_site_form_alter(&$form, &$form_state) {
global $language;
$lang_name = $language->language;
if  ($lang_name == 'en') {
  drupal_set_title('Contact Us');
  } else {
  drupal_set_title('Форма обратной связи');}
}

Но это случай, когда на сайте только два языка.
В этом случае файл template.php должен быть кодирован в UTF-8 без BOM, так как русский присутствует.

Аватар пользователя Antoniy Antoniy 22 января 2013 в 11:22

Немного оффтоп, но все же в тему:

А ноды как переводили? Случайно не полями через Entity Translations? Я так переводил. Только проблема - не смог настроить поиск по обоим языкам с помощью Search API Entity Translation. Получилось настраивать индекс либо по одному, либо по другому языку (на сайте English и Русский), а по обоим никак. Сталкивались с этим?

Аватар пользователя xSPiRiTx xSPiRiTx 23 января 2013 в 8:08

"Kremenetskiy" wrote:
А ноды как переводили? Случайно не полями через Entity Translations?

не знаю. еще не дошел до переводов нод. первый раз с мультиязычностью работаю

Кстати делал блок внизу в подвале переводимый. после того как сделал мультиязычный логотип так перестал переводиться блок....везде русский. Блок с фильтром PHP code.

Аватар пользователя xSPiRiTx xSPiRiTx 23 января 2013 в 8:16

"xSPiRiTx" wrote:
Кстати делал блок внизу в подвале переводимый. после того как сделал мультиязычный логотип так перестал переводиться блок....везде русский. Блок с фильтром PHP code.

магия! пересоздал блок заново и сработало все отлично Smile

Аватар пользователя Antoniy Antoniy 23 января 2013 в 9:17

"xSPiRiTx" wrote:
не знаю. еще не дошел до переводов нод.

Если будете через Entity делать, расскажите. У меня потом разные сложности: то вот поиск не получается для всех языков настроить, то XML Site Map выдает дубли - одна страница с префиксом en, а другая, что с русским должна быть - тоже с префиксом en (алиасы одинаковые для языковых вариантов, только префиксы разные. С выводом множественных значений image вроде решил, а то однажды выводились оба языка и никак не получалось фильтровать.