Мультиязычный сайт, i18n.module

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

Аватар пользователя arsart arsart 6 июня 2005 в 22:27

Клиент хочет английскую версию, чтобы на заглавной была кнопка перехода туда.
Как реализовать скачок на англ. версию? Причем версия подразумевает под собой кастрированный вариант основного сайта, т.е. порядка 30% от его инфы.
Отдельная база? Или можно проще?

Установка по порядку:

  • Качаем модуль i18n;
  • Патчим как написано в Install.txt;
  • Правим settings.php как написано в Install.txt (комментарий подробнее);
  • Патчим вручную битые ссылки на переводы в нодах(todo:патч на перевод ссылки в админ-секции);
  • Патчим i18.inc для переводных заглавных страниц (именно одна нода, к-рую вы сами определили как заглавную в admin/settings "Default front page");
  • Стандартная заглавная страница (node, т.е. лента по-умолчанию) настраивается на перевод в настройках самого модуля и без предыдущего хака.

p.s.
Следите за новыми версиями, там по-тихонечку вносятся изменения.
Все что описано выше относится к версии i18n v1.18 2005/04/11.

Комментарии

Аватар пользователя arsart arsart 7 июня 2005 в 14:35

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

Аватар пользователя Nick Nick 7 июня 2005 в 15:03

Мда? А ты не путаешь i18n.module и translation.module?

http://drupal.org/project/i18n :
Fully configurable module for internationalization (i18n) of Drupal sites. [b]Provides content translation -nodes-, interface translation for anonymous users -with the locale module- and browser language detection[/b]. Includes a block for language selection.

Также, смотри демонстрацию по ссылке выше...

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 8 июня 2005 в 0:10

Ник:) Ну и дурак я:) Спасибо.

Кстати, еще вопрос: а стоит разрабатывать сайт изначально со включенным модулем i18 или его можно потом установить и перевести определенные ноды?

Аватар пользователя arsart arsart 8 июня 2005 в 2:12

Нихрена не понятно как работает i18n.
Поставил, пропатчил, включил локаль (en,ru).
Установил по дефолту настройки i18n: в итоге
получил следующее:

Создал ноду сразу в русском переводе, опубликовал, перевел.
Снизу ссылка на en-перевод, но такая ru/node/2 вместо en/node/2...
Нажимаю - ничего нет. Выхожу на корень сайта и через урл site.ru/en попадаю в англ. версию - нода лежит переведенная, но у нее урл обратного перевода опять битое - теперь en/node/1

Глупость какая-то.

А с alias`ами конечно работает...

Опять же не понятно как переводить свое меню, название сайта и слоган...в readme.txt какая-то вода налита по этому поводу.

Кто юзал этот модуль? Помогите!

Аватар пользователя Nick Nick 8 июня 2005 в 2:24

Я не не юзал.
Но, опять же, если внимательно почитать описание ...

Quote:
interface translation for anonymous users [b]-with the locale module-[/b]

Что imho логично...
Кстати, могу предположить, что кэш для анононимов надо отключить...

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 8 июня 2005 в 2:29

Дык в readme написано:

Some site-wide variables, like 'site_name', 'site_slogan', user e-mail contents... have language dependent content.
Since I don't like the solution of runing them through the localization system, because this means when you change the 'master' text, you have to re-translate it for every language, I've added this new feature which makes possible to have a list of variables -defined in the config file- which will be kept separated for each language.
This part is an add-on, and you can use it or not.

Но как юзать-то?

Аватар пользователя Nick Nick 8 июня 2005 в 2:46

В install.txt прочитай
"Language dependent variables"

Только все равно не понятно. Может быть после того, как добавишь это в конфиг в web интерфейсе появится возможность переводить? ..

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 8 июня 2005 в 20:15

Добавил из install.txt - $i18n_variables в settings.php плюс туда же добавил $i18n_languages.
Все предыдущие настройки названий и слоганов обнулились и появилась возможность из-под каждой языковой версии вносить информацию на 2 языках.
Включил фирменный блок заодно с флажками - русский флажок.

НО остался один баг надо понимать. Короче когда я создал ноду в русском и перевел ее на английский, ссылки на переводы внизу этих нод неправильные. Т.е. не туда ведут:(( В блоке (когда стоим в ноде) правильные, а в самих нодах нет. Оч. странный баг.

Аватар пользователя arsart arsart 8 июня 2005 в 20:18

И вообще я эти ссылки в каждой ноде на перевод постараюсь вырезать с корнем, ибо какой резон от них? Юзабилити нулевое. Надо просто кнопарь на сайт - English version и хватит.

Аватар пользователя Nick Nick 8 июня 2005 в 20:41

Quote:
НО остался [b]один[/b] баг

Хех... Все программеры оптимисты....

Если это действительно единственный баг, то надо порадоваться, найти строчку кода, котора его выводит (не думаю, что это составит проблему) и поправить/закомментировать ее...

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 8 июня 2005 в 23:56

Нашел, но проблема решилась на 50% только, т.к. как кривые перевод-ссылки распостраняются и дальше в админ-части.

Аватар пользователя arsart arsart 9 июня 2005 в 0:36

Хрен-то там, я уже это видел, и сейчас написал туда. Там баг распространяется на админ-часть, что не есть гуд.

Аватар пользователя Nick Nick 9 июня 2005 в 0:52

Ты же сам в bugreport`е указал, в каких строках ошибка...

Я точно не уверен - проверить негде.
Но, по аналогии, как они исправили 1й баг, то надо во всех строках, что ты указал $node->nid заменить на $trnode->nid

Проверь плз.

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 9 июня 2005 в 2:07

Те строки, к-рые указал, я там исправил, да. Но то, что происходит в "содержании" сайта не лечится в этом модуле, ковырять core не особо хочется.

Аватар пользователя searcher searcher 9 июня 2005 в 13:23

Я не совсем понял какие строки править вместо $node->nid на $trnode->nid ???
Если 142 строку, т.е. вот эту:
$links[]= theme('i18n_link_name_flag', $lang, 'node/'. $trnode->nid);
то там и так стоит $trnode->nid.
Потом iang, в своем патче указывает 876 строку, но такой вообще нет :-(, в 875 стоит последний тег. Поясните please подробней что на что вручную павить?

Аватар пользователя arsart arsart 9 июня 2005 в 14:19

Файл - i18n.inc.
Помимо патча приложенного на друпалорге, исправить следующее:

  • В function i18n_node_translation_status
    Исправить (~331 строка) $rows=[] на
    $rows[] = array($name, l($node->title, $lang.'/node/'.$node->nid), l(t('edit'), $lang.'/node/'.$node->nid.'/edit'));
  • В function i18n_nodeapi
    Опять же (~401 строка) $rows=[]
    $rows[] = array($langname, l($trans->title, $lang.'/node/'.$trans->nid.'/edit'));

Т.е. вместо
'node/'.$node->nid
$lang.'/node/'.$node->nid

На счет замены на $lang.'/node/'.$trnode->nid
Не пробовал, может тоже работает...

НО опять же в "администрировании содержания" (admin/node) остаются эти баг-ссылки.

Аватар пользователя searcher searcher 9 июня 2005 в 16:43

С этим понятно. Спасибо!
А вот с патчем от iang не совсем. В таком виде как он его дал:
http://drupal.org/files/issues/i18n.inc.patch
если его сохранить, и применить используя в консоли patch, то файл i18n.inc не патчится. В родных патчах, которые идут с модулем, синтаксис совсем другой. Что изменить руками?

Аватар пользователя Nick Nick 9 июня 2005 в 18:01

Вы i18n.module давно скачивали?
Я скачивал пару дней назад, файл i18n.inc уже был пропатчен.
Другое дело, что он исправляет не все баги. В этой теме об этом уже писали.

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 9 июня 2005 в 23:10

само собой там кривой патч - забыл сказать.
Я патчу руками всегда, так хоть отслеживаешь логику изменений.
Пропатч сам, там добавить то одну строчку всего и изменить следующую.

Еще раз вопрошаю: в админке у вас тоже ссылки кривые остались? да??
admin/node
типа если стою в ru/admin/node все ссылки на редактирование и на сами ноды начинаются с ru/ - без разбору:((
Хотя это уже не так страшно, т.к. не в юзер-интерфейсе находится.

Аватар пользователя searcher searcher 10 июня 2005 в 13:56

Да, правильно, кривые. Вот только то, что они кривые, вот это не правильно. А как исправить посоветовать некому :-(.

Аватар пользователя arsart arsart 10 июня 2005 в 0:42

UPDATE 2:
Не работает хак.
Он влияет на сайдбар в целом, а не на блок в частности, да и сайдбар ведет себя странно после хака.
НЕ ИСПОЛЬЗОВАТЬ ХАК.
(по ссылке что ниже, тема определена как "отложеная".)
---------------------
Хак для block.module, для того чтобы назначать блокам пути (path) для их показа на страницах с урл начинающимся с ru/ или с en/ :
Это:

if (function_exists('i18n_get_lang')) {
        $lang = i18n_get_lang($name);
        if (strlen($lang) > 0) {
          $path = $lang . '/' . $path;
        }
    }

Вставить в block.module после вот этого "ифа" (~470 строка)

if ($block['pages']) {
        $path = drupal_get_path_alias($_GET['q']);
...
...

ОСТОРОЖНО!
Все блоки после этого исчезнут, т.к. path для них пустой по-умолчанию.
Лучше перед хаком добавьте для блока "Навигация" path: ru/* и en/*
Либо самостоятельно потом доберитесь до ru/admin/block и проставьте всем блокам новые пути с учетом языка. Код языка идет перед путем.
---------------
Вопрос показа блока только на заглавной русской, и того же переведенного блока на заглавной английской ОСТАЛСЯ ОТКРЫТЫМ:(
Да и заглавных русских то блин две получается - такая site.ru/ и такая site.ru/ru ... фигня блин.
---------------
UPDATE:
Что-то нихрена этот хак толком работать не хочет, ставлю блоку показывать на ru/* en/*, исчезает. Ставлю НЕ показывать на ru/* en/* появляется, это с одним блоком, а остальные ведут себя как хотят - то исчезают, то показываеются.

Аватар пользователя Nick Nick 10 июня 2005 в 0:59

Вообще, на странице проекта, есть ссылка на его demo.
Дак вот я обратил внимание, что когда заходишь в корень сайта, тебя тут же перекидывает на /en/ (там это дефолтный язык).
Это, конечно, не красиво, но работает.

Могу предложить расширить эту идею. Переадрисовывать пользователя на дефолтный язык, только внутри сервера Wink Вообщем mod_rewrite "спасет отца русской демократии" Smile

В .htaccess:

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] - эту строчку комментируем.

И пишем:
RewriteRule ^(ru|en)(.*)$ index.php?q=$1$2 [L,QSA]
RewriteRule ^(.*)$ index.php?q=ru/$1 [L,QSA]

Работоспособность не проверял (модуля i18n нет, а ставит некогда т.к. сессия).

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя Nick Nick 10 июня 2005 в 1:15

А.. ну правильно. Забыл про это ...
Сделай симлинк ru, который ведет на уровень выше.
Т.е.
Перейди в корень Друпала и
ln -s ../ ru
ln -s ../ en

$base_url верни на место!

В .htaccess проверь, что разрешено ходить по симлинкам. Т.е. есть строка.
Options FollowSymLinks

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя Nick Nick 10 июня 2005 в 1:29

Это символическая ссылка. Т.е. например
у тебя есть каталог
/a/b/d/g/d/h/f/h
А тебе по каким-то причинам надо, чтобы его содержимое было видно по пути
/ab/
Создаешь симлинк /ab -> /a/b/d/g/d/h/f/h т.е.
ln -s /a/b/d/g/d/h/f/h /ab
Точно также, можно поступать с файлами.
.
Если у тебя win на ntfs, то симлинки можно создавать farом. НО! Аккуратно! Удалять их надо тоже фаром, т.к. стандартный проводник почитает симлинк обычным каталогом и удалит все рекурсивно.
fat симлинки не поддерживает.
.
Если уж создать симлинк никак, то в корне Друпала создай каталог ru и скопируй в него весь корень Друпала. Правда, в таком случае будет 2й расход места и проблема слежения за тем, чтобы ru всегда был актуален.
Вообщем, гораздо лучше использовать симлинки. Копирование может быть временным решением на win, а на хостинге (он же Юниксовый?) сделать симлинки, коммандами, которые я привел выше

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 10 июня 2005 в 1:37

Блин:(( Ни хрена не понимаю, извини уж меня:)))
Да и хак с block.module окончательно меня запутал, там что-то все блоки то исчезают, то показываются...херня в общем какая-то.

Аватар пользователя Nick Nick 10 июня 2005 в 1:41

Вообщем простой вариант.
Пусть у тебя сайт лежит в каталоге
drupal
создай
drupal/ru/
и _скопируй_ все из каталога drupal в каталог /drupal/ru/ (за исключением самого drupal/ru).

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя Nick Nick 10 июня 2005 в 2:04

Чтобы было более понятно, обрисую зачем это:

Дело в том, что mod_rewrite уж так устроен, что он переписывает _все_ urlы, которые попадают под regexp.
Поэтому вместо файла site.ru/themes/aaa/style.css апач пытается отдать site.ru/ru/themes/aaa/style.css
Естественно, такого нет.
Выхода 2:
1. Сделать, чтобы такой путь был
2. Измеить regex.
imho 1й проще и более правильный. Потому, что:
- можно, конечно, добавить самое первое правило
RewriteRule ^(.*\\.css)$ index.php?q=$1 [L,QSA]
Но, кроме cssок надо еще прописывать пути для картинок т.е. на самом деле
RewriteRule ^(.*\\.(?:css|jpg|png))$ index.php?q=$1 [L,QSA] и так далее.
А может быть какой-то модуль захочет какой-нибудь свой файл... Его тоже придется сюда прописывать.
Вообщем, слишком много факторов, которые надо учитывать.
С симлинком же, мы просто будем видеть по адресу
site.ru/ru/ теже самые файлы что и site.ru/
т.е.
site.ru/dir1/file и site.ru/ru/dir1/file будет одно и тоже.

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя Nick Nick 10 июня 2005 в 1:51

Пример.
Пусть есть 2 каталога:
1 и 2
$ ll
итого 8
drwxr-xr-x 2 nick nick 4096 2005-06-10 03:41 1
drwxr-xr-x 2 nick nick 4096 2005-06-10 03:41 2
_
Теперь мы хотим видеть каталог 2 по адресу 1/a
$ cd 1
$ ln ../2 a
$ ll
итого 0
lrwxrwxrwx 1 nick nick 4 2005-06-10 03:44 a -> ../2
_
Положим в каталог 2 какой-нибудь файл
$ cd ../2
Каталог пустой
$ ls
$ echo "blah-blah-blah" > file_in_dir_2
Появился файл:
$ ls
file_in_dir_2
_
Смотрим в 1/a
$ cd ../1/a
$ ls
file_in_dir_2
Теперь удалим файл
$ rm file_in_dir_2
Вернемся в каталог 2
$cd ../../2
Файла не стало:
$ ls
$
_
_
Символическая ссылка — зто файл особого вида, который содержит в качестве данных путевое имя. Когда зтот файл открывается, операционная система рассматривает его содержимое как заменяющие символы для дан-ного путевого имени и заставляет ядро еще немного порыскать по дереву каталогов, используя новое имя.

"Например, если символическая ссылка fred содержит имя barney, то указание открыть файл fred — зто, на самом деле, указание открыть файл barney. Если barney — каталог, то fred/wilma обозначает Ьатеу/wilma."
http://perl.trawkin.ru/g13.html
_
_
Нечно похожее на симлинки - это ярлыки в win. Только симлинки гораздо более продвинуты.

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя arsart arsart 12 июня 2005 в 22:23

Новый и проверенный хак для настройки frontpage(заглавных страниц) на разных языках.
Если вы выводите в качестве заглавной страницы определенную ноду
(если у вас идет просто стандартная лента, не хакайте!!),
то хочется конечно и на переведенной версии сайта имет заглавную с той же, НО переведенной нодой! ("Приветствие" и "Welcome" для корпоративных сайтов например.)

Этот хак для файла i18n.module, как раз к такому случаю. Замена нескольких строк в функции function i18n_init().

elseif ($lang == $path) { // When path is only language code
    $front_page = variable_get('i18n_frontpage',0);
  }
  elseif ($i18n_langpath) {
    //search alias with and without lang and remove lang
    $_GET['q'] = i18n_get_normal_path($path);
  }
  // Multi table, for backwards compatibility and experimentation
  if (variable_get('i18n_multi' , 0)) {
    _i18n_set_db_prefix(_i18n_get_lang());
  }
  // If not in bootstrap, include hooks
  if(!_i18n_is_bootstrap()){
    include 'modules/i18n/i18n.inc';
  }
    if (isset($front_page)) {
        $_GET['q'] =  $front_page ? i18n_frontpage() : variable_get('site_frontpage','node');
    }

Да! И не забудьте в settings.php добавить в уже определенный раннее функционал $i18n_variables новую опцию для поддержки перевода заглавных - site_frontpage, после хака он обнулит значения заглавных страниц в admin/settings и вы напишите свое для каждой из языковых версий.

К примеру у меня заглавная нода node/1 и ее перевод node/2. Соответственно в ru/admin/settings ставлю в качестве заглавной node/1, а в en/admin/settings - node/2

p.s. Если после хака полезут предупреждения, значит один из блоков настроен для показа на гипотетической теперь заглавной, т.е. в качестве path стоит <front> - не забудьте убрать это!

Аватар пользователя arsart arsart 16 июня 2005 в 14:56

После предыдущего хака, у вас получились две заглавные страницы для разных версий. Но работают они как обычно по вызову ссылок site.ru/ru и site.ru/en. А что делать с корневым site.ru/ - там по-прежнему остается стандартная лента нодов?
Заходим в нашу БД, выбираем таблицу variable и в ряду site_frontpage (не трогаем ru_site_frontpage и en_site_frontpage) редактируем дефолтный путь (node) на новую заглавную которая должна выводится для русской версии (к примеру node/1 у меня). Чистим кэш, и загружаемся. Теперь все работает аккуратно.

Аватар пользователя searcher searcher 14 июня 2005 в 15:02

Arsart, раз ты зарубил на корню мой вопрос http://www.drupal.ru/node/1088 и отправил сюда, значит буду приставать с вопросами тут :-). Как добиться следующего:

1. При переключении языков должны переключаться в соответствующий язык пункты меню (имеются ввиду добавленные дополнительно).
2. Любой контент на русском и английском должен в пути отображаться так (допустим для одной статьи): ru/node/10 и en/node/10, а не так: ru/node/10 и en/node/11. Думаю imho по логической структуре должно быть именно так.

Прошу просветить незнающего :-).

Аватар пользователя arsart arsart 14 июня 2005 в 21:43

1. Менюхи настраиваются на русском в ru/admin/themes/settings
На английском в en/admin/themes/settings если ты правильно добавил в settings.php все переменные для

$i18n_variables = array(
        // Site configuration
        'site_name',
        'site_slogan',
        'site_mission',
        'site_footer',
        'anonymous',
        'site_frontpage',
        // Node help
        'blog_help',
        'story_help',
        // User configuration
        'user_registration_help',
        'user_mail_welcome_subject',
        'user_mail_welcome_body',
        'user_mail_approval_subject',
        'user_mail_approval_body',
        'user_mail_pass_subject',
        'user_mail_pass_body',
        // Theme settings: primary and secondary links, logo, etc..
                'theme_settings',
        // These are for PHPtemplate
        'phptemplate_primary_links',
        'phptemplate_primary_links_more',
        'phptemplate_secondary_links',
        'phptemplate_secondary_links_more',        
    );

p.s. site_frontpage - в том случае если заглавной служит определенная нода. Иначе - убрать.

1а. Если движок темы - phptemplate то ссылки настраиваются тем же макаром только в настройках своих тем.

2. Это по логике вещей, а по-существу - как ты будешь делить стандартный node на две части??? И чтобы одна выводилась этак, а другая так... Это новый движок не иначе:) А здесь все культурненько - каждому переводу своя нода. И не забывай про path, им можно разрулить визуальное оформление ссылок и для себя и для людей. Я еще не тестировал "поиск" в мультиязычном сайте, вот здесь то наши разные ноды и пригодятся.

Аватар пользователя Евгений Евгений (не проверено) 29 сентября 2005 в 20:56

Ребят, я пользуюсь модулем menu для создания собственной менюшки слева. А как разрулить ситуацию, чтобы для ссылок ./en/* показывалась английская менюшка, а для ссылок ./ru/* - русская. Я сделал две менюшки на разных языках и попытался при помощи настроек блоков задать такие правила.
Английская менюшка: показывать только на страницах en*
Русская менюшка: показывать только на страницах ru*
Не работает. Судя по всему друпал не хавает эти префиксы в путях, которые генерирует i18n. Кто как выходил из ситуации?

Аватар пользователя rezus rezus 29 сентября 2005 в 22:58

Покопался на Друпал.орг и нашёл решение своей проблемы.
Вот ссылка на инглиш-версию решения: http://drupal.org/node/17829
Ну и на русском опишу. Wink
Моё решение работает только для php-template. Для начала нужно создать при помощи модуля menu два меню. Одно на русском, другое на английском. Временно включить оба меню и просмотрев страницу в виде HTML запомнить id этих менюшек. Предположим, у русской менюшки id=100, а у английской - 200. Теперь нужно отключить обе менюшки (в настройках блоков).
В то место файла page.tpl.php, где должна располагаться менюшка нужно вставить следующий код:

&lt;?php
$MenuLanguage1 = theme_menu_tree(100);
$MenuLanguage2 = theme_menu_tree(200);
if (i18n_get_lang() == 'ru') { print $MenuLanguage1; } else {
print $MenuLanguage2;
}
?&gt;

100 и 200 - это id соответствующих менюшек. Всё. Smile Думаю, это можно включить в FAQ.

Аватар пользователя Анатолий Анатолий 8 мая 2006 в 11:48

Опять по переводу меню!!!
Есть i18n + меню на Ru необходимо перевести это меню на En. Вариант перевода описанный в предыдущем коментарии вряд ли подходит (как в этом случае привязать страницы к пунктам меню?!!!).

Аватар пользователя slaffkas slaffkas 23 февраля 2007 в 20:05

У меня такой вот [url=http://drupal.org/node/121483]баг[/url] на http://houseofgodthelivingstone.org (Drupal 5.1, i18n 5.1-1.0):

Я изменил settings.php добавив i18n_variables как описано в README.txt

Когда я переключился на русский, зашёл на страницу "Информация о сайте" и стал добавлять имя, слоган и так далее я заметил, что то, что я пишу кириллицей не сохраняется и не добавляется. Если я в те же поля впишу что-то латинскими буквами - оно сохраняется и работает.

Я поэкспериментировал с другими языками: польским и вьетнамским. С польским всё работало, с вьетнамским - нет. Я подозреваю, что система не понимает знаков в расширенном диапазоне (далее, чем ANSI), то есть она грохается на нелатинских знаках.

Сама тема работает, без i18n переменных (если отключить их в settings.php), я могу добавлять имена и слоганы по русски. Но они не меняются при переключении языка.

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

Аватар пользователя slaffkas slaffkas 23 февраля 2007 в 21:14

Проблема решена.

По какой-то причине i18n создал свои таблицы в латинской кодировке.
i18n_node
i18n_profile_fields
i18n_variable

Я поменял кодировку всех полей и этих таблиц через phpMyAdmin на utf8_general_ci

Всё заработало.

Аватар пользователя s_IP@drupal.org s_IP@drupal.org 6 февраля 2009 в 20:47

Не могу разобратся с линками в translate. i18.inc вообще я так понял нет в последних версиях модуля для 5го друпала. Подскажите плиз как реализвать нормальный перевод нодов.