Модуль Drupal Translation management

В модуле Drupal Translation management при переводе одного материала кнопка перевода недоступна(использую переводчик google translate).
Правим файл дира_вашего_сайта\sites\all\modules\translation_management\icl_content\icl_content.dashboard.inc:
в функции

function icl_content_dashboard_action_form(&$form_in, $translation_options_only = false) {

меняем (строка 796):

        $form['operations']['translate_request'] = array(
          '#type' => 'submit',
        

Читать

Drupal и переводы. Модуль Internationalization (I18n). Алиасы и меню. Hierarchical Select

Это как бы продолжение поста Модули Path, Pathauto и i18n Drupal.
На мультиязычном сайте, при добавлении перевода в тип материала, который имеет иерархию в меню и берет алиасы из меню (например, /menu1/menu1_1/material1) портятся алиасы, так как при добавлении перевода мы не можем выбрать в меню пункт меню на нужном языке (языке добавляемого перевода), потому что модуль подставляет наш, текущий язык. Для иерархического выбора меню используется модуль Hierarchical Select.
Не знаю, может быть, решение неверно, но мне оно помогло:
Правим модуль Internationalization (I18n):
Идем в директория_вашего_сайта\www\sites\all\modules\i18n\, открываем файл i18n.pages.inc
Находим там строчку 53:

      if (node_access('create', $node)) {

И правим:

      if (node_access('create', $node)) {
/* ^patch^  Меняем пути для переводов. При добавлении нового перевода портятся алиасы,
 * если алиасы настроены именно на путь меню
 * (из-за того, что не дает выбрать нужный пункт меню для языка, на каоторый переводим, так
 *  как текущий язык - не тот, на который  мы переводим). Меняем текущий язык в пути на 

Читать

Импорт перевода из .po файлов или редактирование перевода при использовании HTML-тэгов.

Как известно, Drupal позволят импортировать перевод с помощью загрузки специальных .po файлов.

При импорте перевода с тэгами мы получаем такую ошибку:

"One translation string was skipped because it contains disallowed HTML." (Одна строка с переводом была пропущена, потому что она содержит неразрешённый HTML).

При редактировании перевода (admin/build/translate/search - забиваем нужную нам фразу и редактируем перевод через кнопку "изменить")  Drupal также ругается.

Первую часть (импорт перевода) лечим по статье, найденной мною тут:

http://drupalist.org.ru/docs/bugs/2.html

Подробно описывать не буду, только добавлю патч:

--- includes/locale.inc	2010-03-04 03:15:00.000000000 +0300
+++ includes/locale.

Читать

Drupal. Модуль GuestBook и переводы

На мультиязычном сайте модуль GuestBook отказывался переводить title, хоть убей, хотя в переводах перевод присутствовал. Подправила модуль.

Топаем в ваш_сайт\sites\all\modules\guestbook\guestbook.module

Находим функцию

function guestbook_page($account, $op = NULL, $op_id = NULL) {
global $user;

// Prepare site guestbook.
if ($account == 0) {
$account = new stdClass;
$account->uid = 0;
drupal_set_title(variable_get('guestbook_site_title', t('Site guestbook')));
}
}

Правим:

function guestbook_page($account, $op = NULL, $op_id = NULL) {
global $user;

// Prepare site guestbook.
if ($account =

Читать

Модули Path, Pathauto и i18n Drupal

Столкнулась с ситуацией на мультиязычном сайте. Например, у нас есть 2 ноды:

русскоязычная нода /node/1  (имеет алиас /ru/razdel1/about)

англоязычная  нода /node/2  (имеет алиас /en/razdel1/about)

Так вот, при редактировании одной из нод безобразно портятся алиасы другой ноды.

Лечим:

патчим модули path и pathauto:

В файле ваш_сайт\modules\path\path.module меняем:

else if ($path && $alias) {

// Check for existing aliases.

if ($alias == drupal_get_path_alias($path, $language)) {

Читать

Перевод самих cck-полей в Drupal

Недавно писала про то, как перевести значения cck-полей в Drupal. Но не написала про перевод самих полей.

Исправляюсь.

Например, у нас мультиязычный сайт. Мы добавили в него свои поля, добавили к ним переводы, но тут нечаянная радость: при редактировании нод в разных языках, поля у нас - на одном и том же языке, хотя вроде мы и переводы добавили и все у нас вроде как правильно. Непорядок! Будем исправлять.

Испавляем на примере радиокнопок и выпадающего списка(select) .

Идем в дира_вашего_сайта\www\includes\form.inc

находим строку(1453)
$options .= '<option value="'. check_plain($key) .'">'. check_plain($choice).'</option>';

и меняем ее на:

<pre lang="php">$options .= '<option val
Читать

Перевод вывода views в Drupal

Столкнулась с ситуацией на мультиязычном сайте, когда  при отображении материалов в представлении (views) данные выводятся без переводов.  Лечим.

Считаем, что переводы у нас все добавлены. Правим только модуль   views.

топаем в дира_вашего_сайта\www\sites\all\modules\views\theme. Тут нужно подправить 2 файлика:

во views-view-table.tpl.php:

Находим строчки print $label; - заменяем на print t($label);

и строчку print $content; - заменяем на print t($content);

А в  views-view-field.tpl.php - те же 2 переменные, плюс
Читать

Перевод значений cck-поля в Drupal

Озадачилась переводом значений cck-поля. Напрмер, добавляем поле Class(Класс) с чекбоксами или выпадающим списком на нескольких языках, нужно, чтобы при выбранном чекбоксе в материале отображалось поле на нужном языке.

Добавляем поле как обычно, все значения и ключи - на английском, переводы добавим потом, например, у нас такие ключи:

key1|show
key2|breed
key3|pet
key4|not defined

Идем в  Директория_сайта\www\sites\all\modules\cck\theme\content-field.tpl.php

И меняем там строчку 42:

<?php print $item['view'] ?>

на :

<?php print t($item['view'] )?>

Теперь то
Читать

Свежий перевод drupal и модулей — Live Translation

Есть такой замечательный модуль для drupal — Live Translation. Проверяет наличие свежих переводов, что очень удобно.

Модуль ставится стандартно, настравается очень просто.  В настройках самого Live Translation необходимо установить сервер. Для русского языка это drupaler.ru. Затем идем в Отчеты->Доступные переводы (или admin/reports/live-translation) и обновляемся 🙂

Чтобы избежать замены перевода строк, сделанных вручную, можно, «хакнув» модуль:
отрываем файл live_translation.update.inc
ищем строку 71:

$mode = LOCALE_IMPORT_OVERWRITE;

заменяем ее на:

$mode = LOCALE_IMPO

Читать

Настройка языка для Drupal

Для нормального отображения русских переводов в друпал необходимо установить вес для языка по умолчанию в админке (admin/settings/language/overview) :

Настройка языка Drupal

Нажимаем Сохранить изменения и радуемся)