U
U
unbelieverbull2012-02-08 11:49:30
Drupal
unbelieverbull, 2012-02-08 11:49:30

D7: Creating menus in different languages ​​via the Drupal/i18n API?

Hello!
There is a task: to create a small two-level menu for a site in six languages ​​(the menu structure is the same in all languages).
I thought that I would do it through the Drupal API using a pack of the following pieces of code:

$item = array (<br/>
'menu_name' =&gt; 'menu-custom-main-menu', <br/>
'mlid' =&gt; 0, <br/>
'plid' =&gt; 0, <br/>
'link_path' =&gt; drupal_get_normal_path(''), <br/>
'link_title' =&gt; 'Home', <br/>
'hidden' =&gt; 0, <br/>
'external' =&gt; 0, <br/>
'expanded' =&gt; 0, <br/>
'has_children' =&gt; 0, <br/>
'weight' =&gt; 0, <br/>
'depth' =&gt; 1, <br/>
'language' =&gt; 'en', <br/>
'i18n_tsid' =&gt; 0);<br/>
<br/>
menu_link_save($item);<br/>
<br/>
... и всё работает, элементы меню добавляются, НО отображаются на всех шести языках несмотря на заданный в поле 'language' код языка.<br/>
<br/>
Если такой импортированный пункт меню открыть и сохранить через административный интерфейс Drupal, пункт начинает вести себя нормально и отображается только на версии сайта своего языка.<br/>
<br/>
ВОПРОС: может есть какой-либо другой <i>безболезненный</i> способ импортировать меню с учетом языка? Есть ли какая-нибудь функция из какого-нибудь API, которой я должен отдать импортированный элемент меню, чтобы в него прописались все необходимые языковые параметры/параметры доступа?<br/>
<br/>
Заранее спасибо! Очень надеюсь на помощь, тянется данная история третий день и никаких результатов :-|

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexander Alexandrov, 2012-06-03
@BraveHeart

Is the ability to translate the menu in the i18n settings enabled?
In d7 it is possible to manage menu blocks; in the block itself, it is possible to specify in which language locale it will be shown. Those. the simplest and fastest is to create a menu for each language; turn on the block with the menu in the desired language, with the desired output settings; darken the block with the menu.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question