Többnyelvűség kialakítása

Nyilván már mindenki készített többnyelvű weboldalakat. Többnyelvű weboldal esetén számos kérdés felmerülhet, ami befolyásolhatja, a nyelvesítés kivitelezését. Elsősorban arra lennék kíváncsi, hogy Ti milyen megoldást szoktatok használni a felhasználói felület és a tartalom többnyelvű megjelenítésére és miért? Számít-e hogy az URL-ek is lokalizálva legyenek (mondjuk keresőoptimalizálás és indexelés szempontjából), és ha volt tapasztalatotok, a Yii által felkínált lehetőségek közül melyik a leggyorsabb, melyiket a legkönnyebb bővíteni, frissíteni?

Várom a véleményeket!

Több féle metódus van több-nyelvű honlapok készítésére. Elsősorban a rendszer mértetét figyelembe véve érdemes meghatározni a komplexitást.

Az én implementációm és igényem a következő volt: többnyelvű, dinamikusan növelhető egyszerű statikus tartalmat kellett létrehoznom, dinamikus fotó feltöltési lehetőséggel. A fotókat is további kommentekkel láthatják el a honlap karbantartói.

Rendszer felépítése:

  • be/kijelentkező felület
  • többnyelvű statikus oldalak
  • odalakhoz fotók csatolása (mint galéria)
  • fotókhoz kommentek csatolása (összes nyelven)

A megvalósításhoz a a yii i18n-t és a Yii:t() metódust használtam. /protected/messages/hu/app.php fájlba tettem a nyelvi cimkéket egybe.

MySQL-t használtam az adatok tárolásához. Külön nyelvi táblában tároltam a nyelvekhez kötődő szövegeket, így dinamikus nyelvekkel bővíthető lett a honlap.

Dióhéjban az adatbázis felépítése:

languages

pages

pages_lang (id, pgcontent, pgtext, …)

photos (id_page, …)

photos_lang (id_page, id_lang, id_photo, title, …)

URL-ek lokalizálásáról:

három főbb lehetőségünk van a nyelvek URL-ben való kezelésére

[list=1][] http://en.honlapom.h…ntroller/action[] http://honlapom.hu/e...ntroller/action[*] http://honlapom.hu/c.../action?lang=hu[/list]

SEO szempontból az első példa csak nagy forgalmu rendszerknél használatos (10.000 felhasználó / nap), szóval ez számomra nem érdekes.

A második példa szebb megoldás, de az is tagolja az url-ek kinézetét.

A harmadik módszerben a csak egyszer állítjuk be GET-el, majd SESSION-ben tároljuk le a kiválasztott nyelvet.

URL action részének fépéítéséről:

Még egyenlőre hírek jellegű tartalmat nem készítettem, de valami hasonló url képzést valósítanék meg.

http://honlapom.hu/e...he_little_mouse

http://honlapom.hu/ge/news/a_kiseger