Többnyelvű oldalak (Joomla! 1.0.x)

[English version]
Többnyelvű oldalak készítése elég összetett kérdés tud lenni. Ha megrendelődnek és publikálandó taralmainak egyedi igényei vannak e tekintetben, hamar rá fogsz jönni, hogy nincs minden esetre felkészített kulcsrakész megoldás. Ebben a kis cikkben megpróbálom az alapeseteket röviden számba venni és megoldást kínálni.

Mi kell hozzá?

Site Languages alatt legyenek nyelvek. Ez azt jelenti, hogy le kell tölteni a kívánt nyelvi állományokat és telepíteni az Installers / Languages admin funkcióval. (Érdemes figyelni arra, hogy az adott nyelvi csomag milyen Joomla! verzióhoz készült, tegező vagy magázó formulákat használ, mennyire teljeskörű és hiteles a fordítás.)

Joom!Fish installálása komponensként.

Joom!Fish konfigurálása

Components /JoomlalFish /Languages alatt legyenek aktívak a nyelvek és az “ISO”, “Joomla filename” legyen kitöltve.

Modules /Site Modules /Joom!Fish language selection. Minden fontosabb beállítást itt lehet megadni:

  • Position: a template melyik területén jelenjel meg a nyelvválasztó
  • Appearance of language selector: listbox vagy ikonok

Tükör tartalmak

Ha az egyes nyelvi verziókban megegyeznek a menü szerkezetek és tartalmak, akkor Joom!Fish Translation segítségével el kell végezni a fordításokat és mindennek működnie kell.

Ez a vegytiszta eset, a Joom!Fish erre lett kitalálva. Minden speciális esethez már trükközni kell.

Nyelvenként eltérő menü és tartalom

Abban az esetben, ha más szerkezetű tartalom kell nyelvi verziónként, akkor a következő lépéseket javaslom. Tételezzük fel, hogy egy magyar és egy angol verziónk lesz:

  1. Hozzuk létre a tartalmakat (cikkek, statikus oldalak, stb.),
  2. Egyedi menük létrehozása (Az egyes menük modulként jönnek létre),
  3. Tartalmak bekötögetése a menük alá,
  4. Site /Template Manager /Module Positions /modul pozíciók felvétele (pl: umenu_en,umenu_hu),
  5. Modules /Site Modules alatt az új menükhöz hozzá kell rendelni a pozíciókat (a modulok betöltésekor a pozíciókon lévő modulok kerülnek beolvasásra),
  6. A használatban lévő template index.php-ban így lehet aktiválni a modulokat a Joom!Fish nyelvválasztásától függően:


<!-- BEGIN custom language switch to load language-specific modules -->
<?php if ($mosConfig_lang== english )
{mosLoadModules ('umenu_en', -2 );} ?>
<?php if ($mosConfig_lang== hungarian)
{mosLoadModules ('umenu_hu', -2 );} ?>
<!-- END language switch -->

Ha kint van már az oldalon a nyelvválasztó, szépen cserélődni fognak a menük nyelvváltáskor.

Vegyes megoldás

Természetesen lehet olyan site, ahol van közös és nyelvenként eltérő tartalom. A fenti két megoldás működik egymás mellett, csak alaposan tervezzük meg a tartalmakat és a menüszerkezetet.

Saját nyelvváltás eltérő kezdőoldallal

Tételezzük fel, hogy olyannyira eltérnek a nyelvi tartalmak, hogy a kezdő oldalak sem egyeznek meg. Az egyik nyelvnél használnánk a Front Page komponenst, de a másik nyelvi verziónak teljesen önálló menüje van, mondjuk egy statikus oldallal. A nyelvválasztáskor elegendő számunkra, ha az adott nyelv kezdő oldalára navigáljuk a látogatót.
Nos, a megoldás egyszerűen a következő: egészítsük ki a az index.php állományunkat saját nyelvválasztó linkekkel úgy, hogy az egyes nyelvek a kívánt nyelvi kezdő oldalakra mutatnak. Az URL-ek végéhez csapjuk hozzá az “lang=..” paramétert. (Index.php után közvetlenül “?”-el, paraméterek után pedig “&” jellel)

Példa:

|
<a href="http://.../index.php?lang=hu">Magyar</a>
|
<a href="http://.../index.php?option=com_content&task=view&id=60&Itemid=81&lang=en">English</a>
|
<a href="http://.../index.php?option=com_content&task=view&id=52&Itemid=85&lang=fr">Français</a>
|

Joomla! menüt is készíthetünk a nyelvválasztásra, melynek az elemei “Link – URL”-ek. Ebben az esetben nem kell az index.php-ban turkálnunk, a létrehozást, pozícionálást elvégezhetjük az admin felületen keresztül.

Oszd meg ezt a bejegyzést:
  • email
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MSN Reporter
  • MySpace
  • RSS
  • Technorati
  • Twitter
  • Yahoo! Bookmarks
  • StumbleUpon
  • Reddit

Címke: , ,

 

Ide kérjük a választ!

Biztonsági kód: