Мультиязычность. Мои вопросы

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

Аватар пользователя tlito tlito 15 января 2015 в 17:34

доброго времени, уважаемые специалисты друпал!
сайт фотографий - это еще и возможность попробовать на простом примере сделать мультиязычность.
и у меня возникли вопросы:

1. как сделать код языка 34-ru просто ru? в частности например ссылка Подробнее Русский имеет класс 34-ru что конечно не нравится. Да и в сессии тоже это видно, если включать. В общем хотелось бы перфекта.
2. как удобнее добавлять материал сразу на двух языках? термины таксономии Категории уже переведены, нужно на одной странице добавления сразу добавлять 4 поля на двух языках: Заголовок, Текст, Теги, Ключевые слова.
3. есть ли бесплатные методы определения языка по ip? в друпале есть возможность отметить галкой определение языка по языку браузера - но у меня в хроме почему-то сайт тогда работает на английском, даже когда опустить это ниже чем определения по Юзеру.

Комментарии

Аватар пользователя tlito tlito 15 января 2015 в 18:03

вопрос решен.: изначально пробовалось в таблице language заменить - все перестало работать - исчезли записи,
потом просто скачать базу и заменить строку 34-ru на ru - но потом не вставилось в базу ошибка запроса.
Заменить код языка 34-ru на ru можно так:
тогда я очистил все кеш-таблицы, опять скачал дб и вручную заменял строку 34-ru на ru по кускам (по таблицам, выделяя и заменяя в выделении),
и вроде бы все также и заменил как и просто заменить все, но с проверками - и все заработало. теперь 34- не появляется нигде,то есть просто код язка: ru

Аватар пользователя tlito tlito 17 января 2015 в 3:05

4. блок переключения языка имеет перечеркнутые языки, если материал не переведен. как сделать чтобы в этом случае ссылки на языки просто вели на главную страницу и были ссылками а не просто перечеркнутым текстом?
и вообще идея ведь языка - не перевод контента - а попасть на нужную версию сайта. странно что в друпал так это работает по умолчанию. подскажите как исправить?

Аватар пользователя tlito tlito 17 января 2015 в 10:36

4й вопрос решен хуком
Кнопки языков в блоке-переключателе языка активными на главную, если нода не переведена и на перевод ноды, если переведена:
добавить хук в template.php

/**
 * Implements hook_language_switch_links_alter().
 */

function MYTHEME_language_switch_links_alter(&$links, $type, $path) {
  global $language;
  if ($type == LANGUAGE_TYPE_INTERFACE && isset($links[$language->language])) {
    foreach ($links as $langcode => &$link) {
      if (!isset($link['href'])) {
        $link['href'] = '<front>';
      }
    }
  }
}

а также в стилях добавить:
.locale-untranslated {text-decoration:none;}

и еще есть вопрос
5. как сделать после добавления записи под названием среди Редактировать и Переводы еще и кнопки перевести на Английский Перевести на Немецкий или если переведена то без этих кнопок или пусть они превратятся в Английский, Немецкий ?

Аватар пользователя tlito tlito 8 февраля 2015 в 18:12

Еще вопросы:
1. где в бд указать для существующих нод язык не ундефинед а русский?
2. как переводить вьюс блоги и вьюс видео - то есть выбирать записи в зависимости от открытого языка?
3. как в меню задать ссылки на вьюс-страницы, если по-русски адрес [site:url]/юзеры а по-английски [site:url]/users как мне задать перевод пути?

Аватар пользователя tlito tlito 8 февраля 2015 в 20:09

1. так было уже. но где это написано - помоему в таблице node
2. в Фильтре добавить фильтр Содержимое: Язык - Текущий язык юзера или Current user's language
3. еще не нашел, потому что этот токен у меня не работает: http://drupal.stackexchange.com/questions/72859/curent-language-token-on...
<?php
global $language;

return ($language->language === 'ru' ? '/' : '/'.$language->language.'/');
?>

из-за такого php кода в самописном токене, используя модуль custom token у меня пропадает ссылка для всех языков кроме ru

4. также был вопрос: как переводить заголовки и пути views. я еще не решил, но говорят надо i18nviews, i18_page_views

Аватар пользователя tlito tlito 20 февраля 2015 в 1:57

5. при установке сайта друпал с русским переводом, взятым с drupaler.ru загруженным в /profiles/standardtranslations при выборе языка установки есть 34-ru
и потом код языка 34-ru, что неудобно, потому что это проявляется в стилях и в урд иногда.
Эта проблема решается так:
надо переименовывать файл переводов с drupal-7.34-ru.po на drupal-7.ru.po
и тогда код языка будет ru а не 34-ru