Egy érdekes problémába botlottam a menük több nyelvűsítése kapcsán.
https://drupal.org/node/1268692 alapján szépen halad.
Maga a multilingual sztori teljesen okénak látszik (magyar, angol kell); működnek az URL-ek, a főoldal, a tartalom szelektálása nyelv szerint (views-ben language filter, ettől tartottam kissé, de teljesen simán ment.) Többnyelvű változók (még) nincsenek, azok nem kavarhatnak be.
Amitől nem tartottam, de probléma a nyelvenként változó menü. A 'Főoldal' link a < front >, URL alapján van meghatározva a nyelv. A .hu/ és a .hu/hu szépen hozza a magyar főoldalt, a .hu/en szépen hozza az angol oldalt, a page.tpl.php-ban a $front_page változó szépen a /{nyelv}/ -re mutat, ha egy tartalomnál beállítom hogy x nyelvű, akkor csak ott jelenik meg (ahogy látom a node-nak ezt nem kell külön megadni, mint a views-nál, automatikusan az adott nyelvre szűri). Eddig remek!
Főmenüre megadom, hogy többnyelvű legyen ( Translate and Localize. Menu items with language will allow translations. Menu items without language will be localized.). Azután a menüpont szerkesztésnél beállítom hogy a 'Főoldal' az magyar, megjelenik a Translate fül ahogy kell, English-hez klikk Add translation, átírom a title-t mondjuk 'Home'-ra. Szépen létre is jön a 'Home' menüpont, az ő Translate fülén ott a 'Főoldal', a 'Főoldal' translate fülén ott a 'Home'. Hurrá!.. és nem történik semmi változás az angol oldalon (/en/ alatt). Ugyanúgy megjelenik a magyar 'Főoldal' menü, de helyesen a /en/fooldal linkre mutat, holott elvileg a 'Főoldal' helyén már a 'Home' kellene legyen. Cache törlés volt.
Mit hagytam ki?
A hu/admin/config/regional/i18n_translation oldalon szépen ott a Főoldal / Home, elvileg ez teljesen jó.
Az egyetlen furcsaság amit látok, hogy mikor a 'Főoldal'-nál megadom, hogy a 'Home' legyen az angol verzió, akkor a legördülő menüben rendesen a '-- Home' felirfat látszódik, de 'Home'-t nézem, akkor a magyar fordításhoz tartozó legördülő menüben '-- Főoldal (disabled)' felirat van. Disabled? Ezt nem értem..
A főmenü kinyomtatásánál
A főmenü kinyomtatásánál próbálkoztam a
és a
A többnyelvű menüt én egy
A többnyelvű menüt én egy hasznos leírás alapján úgy oldottam meg, hogy minden nyelvhez külön menüket készítettem, így pl. magyar főmenü, angol főmenü, német főmenü stb.
Utána ezeket mint blokkokat rendeltem az adott nyelvhez. Végül a tartalmak fordításakor a lefordított tartalmat az adott nyelv menüjében helyeztem el.
http://drupal.hu/kezikonyv/tippektrukkok/tobbnyelvu
Ez ugyan a 6-osra készült, de az elv használható 7-esre.
Csökönyi Ferenc
Köszi, ezt olvastam én is
de ez sajnos nem megy, mert a megrendelő úgy kérte, hogy ő maga tudjon nyelvet hozzáadni, és a régiók/tpl-ek átírása részéről nem megoldható.Mindenképpen drupal adminon belül kell megoldani a nyelv hozzáadást, és hogy a felület lekövesse a változásokat; ezzel együtt persze a menük nyelvi mutációit. :-/Vagy lehet, hogy mégis? Csak félreértelmeztem a megoldást :]
Ennél a megoldásnál régiót
Ennél a megoldásnál régiót/tpl-t nem kell átírni, a blokkok adminisztrációjával oldható meg.
Csökönyi Ferenc
Igen, köszönöm a tippet, kipróbálom.
<!-- dev/null -->
Működik! Szuper!
Nagyon köszi a tippet, minden oké. Alapból nem jelent meg a menü beállításoknál, hogy éppen melyik nyelvre vonatkoztatva kell kiválasztani az elsődleges menüt és a másodlagos menüt, de aztán rájöttem, hogy kihagytam a settings.php szerkesztését, amibe a az i18n változókat be kell vezetni.
Ezt tulajdonképpen nem is kell, mert az admin/config/regional/i18n/variable elérésen a 'Menu settings' fülön be lehet pippantani mindkettőre, hogy így legyenek kezelve.
Lehet, hogy ez Drupal 6-hoz tartozó i18n-ben még nem volt rá lehetőség, mindenesetre szépen működik.