4 replies [Posljednji unos]
danko
User offline. Last seen 15 tjedana 2 dana ago. Offline
Član od: 27.01.2009
Unos: 13

Kako napraviti multijezični meni? U smislu da kada je sajt u EN modu da su itemi u meniju na ENGLESKOM i da linkaju na ENGLESKE nodove, a kada je u HR modu da su itemi na HRVATSKOM i da linkaju na HRVATSKE nodove.

Ljudi predlažu 2 rješenja, od kojih mi se više sviđa drugo rješenje sa 2 menija (jedan HR drugi EN) koje stavim u isti block, i onda prikazujem one at the time (s tim da nisam još otkrio kako sakriti meni u block opcijama).

???

Thx

bas
User offline. Last seen 3 tjedna 21 minuta ago. Offline
Član od: 01.09.2007
Unos: 331

Ja koristim za višejezične menije http://drupal.org/project/i18n

S obzirom da kad sam počeo koristiti i18n nije postojala većina funkcionalnosti složio sam si hack :)

U page.tpl.php u djelu gdje mi se treba ispisati izbornik imam:



<?php print theme('links'menu_navigation_links('menu-'.$language->language,0), array('class' => 'main_menu')); ?>

I imam 2 izbornika: hr i en

Dakle kod renderiranja stranice, renderira se izbornik menu-[hr|en]

Dosta jednostavno riješenje a radi uvijek :)

danko
User offline. Last seen 15 tjedana 2 dana ago. Offline
Član od: 27.01.2009
Unos: 13

Hvala ti na sugestiji. Da li tvoje rješenje podrazumijeva da se u bazi u tablici "menu_custom" nalaze meniji s imenima "menu-hr" i "menu-en"?

Probat ću... ali vjerujem da se može i s opcijama Drupala... možda previše vjerujem samom Drupalu (?) i uporno hoću preko njega riješiti probleme s menijem. :) Mislim da ću uskoro "zaroniti" u editiranje tpl fajlova..

Do tada... nekako sam se pomirio s time da se meni prikazuje uvijek kad egzistira neki od njegovih targeta (npr. ako je cijeli meni referencira same stranice na HR jeziku, i JEDNU na EN jeziku) onda će se prikazat cijeli meni iako sam u HR modu. Onda sam napravio jedan meni HR i jedan meni EN. I ovisi u kojem sam jeziku se fino prikazuje odgovarajući meni. OK..

Međutim ako neki node u meniju linka ne na Page, nego na nešto kompleksnije - recimo View, npr. "taxonomy/term/1", onda se taj item UVIJEK prikazuje (iako sam u view-u definirao pod filterom "current language"). Ne znam kako da to riješim...

bas
User offline. Last seen 3 tjedna 21 minuta ago. Offline
Član od: 01.09.2007
Unos: 331

Da riješenje podrazumijeva da se meniji zovu menu-[lang]

Iako i18n modul podržava višejezične iteme u meniju, dakle recimo na primjeru izbornika: Primary links

Imamo iteme: About, Onama, Proizvodi

Sva 3 itema su tipa page s time da je jezik prvog engleski a ostala 2 su na hrvatskom. Oboje imaju postavljenu opciju da generiraju item u Primary links meniju.

Na engleskoj stranici će se vidjeti samo About dok će se na hrvatskoj vidjeti samo: Onama i Prozivodi.

Ovdje možeš pročitat slikovne upute: http://drupal-translation.com/node/40

Predpostavljam da si ovo savladao. A muči te kada imaš u izborniku menu item kojeg si zadao u nekom viewu. Recimo nek je menu item naslova: List 1 (ili Lista 1 ukoliko ti je hrvatski defaultni jezik na siteu)

Odeš u Translate interface i potražiš riječ: List 1 i prevedeš je na ostale jezike koje imaš instalirane, recimo hrvatski. I to je to. Imaš prevedenu stvaku u meniju za svaki jezik.

E sad dolazimo do tvojeg slučaja, da taj item (koji je views generirao) ne želiš prikazati u hrvatskom izborniku.

Onda možeš napraviti slijedeće:

  1. Instaliraj modul: http://drupal.org/project/insert_view - on ti omogućava da ubaciš view u neku stranicu.
  2. Napravi novu stranicu kojoj stavi da je jezik english i koja će generirati english stvaku u Primary links izborniku.
  3. U body nove stranice ubaci: [view:nazivViewa=default]

Ovime si dobio i potpunu kontrolu nad URLovima svih itema u izborniku. Nadam se da nisam previše zakomplicirao :)

Ako nešto nije jasno viči! ;)

danko
User offline. Last seen 15 tjedana 2 dana ago. Offline
Član od: 27.01.2009
Unos: 13

Insert View je zakon! :-)