Figyelem! A fordítás elavult, olvasd az eredetit.

Többnyelvű oldalak


Nyilvánvaló, hogy nem egy nyelvet beszél mindenki a világon. A web növekedésével egyre természetesebb lesz, ha több nyelvű oldalakra lelünk. Ezért ismertetjük a szabványos tartalomegyeztetést (content negotiation), amely lehetővé teszi, hogy a felhasználó beállítsa, milyen nyelv(ek)en szeretné olvasni a dokumentumokat. A ténylegesen lehívott oldal a böngésző és a szerver közötti egyeztetés eredménye: a böngésző elküldi a preferenciákat, a szerver pedig ezen preferenciák és a saját beállításai alapján, illetve attól függően, hogy milyen verziók állnak a rendelkezésére, eldönti, hogy a dokumentum melyik verzióját küldje vissza.

Ha az oldal alján található menüből választod ki a nyelvet, az csak az aktuális oldalra fog vonatkozni, az alapértelmezett nyelvet nem változtatja meg. Ha továbbugrasz egy másik oldalra, az ismét az alapértelmezett nyelven fog megjelenni. Az alapértelmezett nyelvet a böngésződ nyelvi beállításaiban tudod megadni, az alább részletezett módon.


Mit csinálj, ha nem a kívánt nyelven jelenik meg az oldal?

Az első és leggyakoribb oka annak, hogy egy oldal nem a kívánt nyelven töltődik le a Debian webhelyéről, a félrekonfigurált böngésző. Lásd a Hogyan állítható be az alapértelmezett nyelv? részt.

Másodszor okozhatja a problémát egy leállt vagy félrekonfigurált webcache. Egyre növekszik ez a probléma, ahogy egyre több internetszolgáltató választja a hálózati forgalom csökkentésének eme módját. Olvasd el a webcache-szerverekhez fűzött megjegyzést, akkor is, ha úgy gondolod, hogy nem használsz webcache-t.

A harmadik ok lehet a www.debian.org hibája. Csupán néhány probléma volt visszavezethető a mi oldalunkon előforduló hibára a nem megfelelő nyelvvel kapcsolatban az elmúlt pár évben. Ezért azt javasoljuk, hogy alaposan vizsgáld meg az első két problémaforrást, mielőtt felvennéd velünk a kapcsolatot. Ha úgy találod, hogy a www.debian.org működik, az egyik tükörszervere azonban nem, jelentsd nekünk, és mi értesítjük a szerver fenntartóját.

Miután minden problémát megoldottál, javasoljuk, hogy ürítsd ki a helyi géped cache-ét (a lemez- és memóriacache-t egyaránt) a böngésződben, mielőtt újra megnéznéd az oldalakat. Javasoljuk továbbá lynx használatát a teszteléshez. Úgy találtuk, hogy ez az egyetlen böngésző, amely teljesen megfelel a tartalomegyeztetés HTTP-specifikációjának.

A proxyszerverek lehetséges problémái

A proxyszerverek alapvetően webszerverek, amelyek nem rendelkeznek saját tartalommal, csupán a felhasználó és a valódi webszerver között ülnek. Megkapják az oldallekérésed, és letöltik az oldalt. Ezután továbbítják neked, de készítenek róla maguknak egy másolatot a további lekérésekhez. Ez valóban csökkenti a hálózati forgalmat, amennyiben sokan kérik le ugyanazt az oldalt.

Ez legtöbbször jó ötletnek bizonyul, azonban hibás cache esetén nem működik. Sok proxyszerver nem ismeri a tartalomegyeztetést. Ez azt eredményezi, hogy eltárolja az oldalt egy adott nyelven, és a későbbiekben akkor is továbbítja, ha másik nyelven kérték le. Az egyetlen megoldás a cache-elő szoftver frissítése vagy cseréje.

A felhasználók régebben csak akkor használtak proxyt, ha azt beállították a böngészőjükben. Ma már nem ez a helyzet. Az internetszolgáltatód az összes HTTP-lekérést átirányíthatja egy transzparens proxyhoz. Ha nem kezeli megfelelően a proxy a tartalomegyeztetést, előfordulhat, hogy a felhasználók nem a megfelelő nyelven kapják meg az oldalt. Az egyenlet módja a kijavításának, hogy reklamálj az ISP-dnél, hogy frissítsék vagy cseréljék le a szoftverüket.


Hogyan állítsuk be a nyelvi beállításokat

Célszerű preferált nyelvnek minden nyelvet beállítani, amit beszélsz, olyan sorrendben, ahogy neked a legjobban megfelel. Érdemes az angolt is megadni (a listában utolsóként), mivel a Debian oldalak eredeti nyelve angol, és nem biztos, hogy minden oldalt lefordítottak az általad preferált nyelv(ek)re.

Például, ha az anyanyelved magyar, akkor úgy érdemes a nyelvi változót beállítani, hogy elsőként a magyar nyelv szerepeljen benne (ennek kódja a 'hu').

Azt, hogy pontosan hogyan is teheted ezt meg az általad használt böngészőben, lásd alább.

Amint láthatod, a legtöbb böngészőben egy grafikus felület rejti el az alapértelmezés részleteit. Ahol nem így van, ott vedd figyelembe, hogy előzőleg egy lényeges egyszerűsítést követtünk el: ha csak nyelvek listáját adod meg, mint pl. 'hu, en', ez még nem adja meg a preferenciasorrendet, hanem mindegyik nyelv egyenrangú lesz, és a szerver figyelmen kívül hagyhatja a sorrendet. Ha valódi preferenciát akarsz beállítani, akkor használj 0 és 1 közötti „quality” értékeket, ahol a magasabb érték erősebb preferenciát jelent. A fenti példában valahogy így: 'hu; q=1.0, en; q=0.5'.

Vigyázni kell a nyelvek alkategóriáinak használatával. Például az 'en-GB, fr' használata nem azt az eredményt adja, amit az ember elvárna (ha nem olvasta a HTTP specifikációt).

Erősen ajánljuk, hogy ne adj ország kiterjesztéseket a nyelvekhez, ha nincs rá jó okod! Ha mégis megtennéd, mindenképpen vedd fel a nyelvet kiterjesztés nélkül is.

Magyarázat: ha a szerver 'en-GN, fr' preferált nyelvvel kap lekérést, akkor nem feltétlenül az angol ('en') oldalt küldi el. Csak akkor küldi az angol változatot a francia helyett, ha a dokumentumnak van 'en-gb' nyelvkiterjesztésű verziója is.

Ezért úgy kell konfigurálni a böngészőt, hogy 'en-GB, en, fr'-et vagy egyszerűen 'en, fr'-et küldjön. Viszont a szerver akkor is tud pl. 'en-us'-t küldeni, ha 'en'-t kértek.

A preferált nyelv változójának beállításáról egyéb információk az Apache documentation on content negotioation oldalon találhatók.

A preferált nyelv beállítása a böngészőben

Az alapértelmezett nyelv beállításához azt a változót kell beállítani, amit a böngésző átad a szervernek. Hogy ez hogyan történik, az böngészőfüggő.

Mozilla / Netscape 4.x és későbbi verziók
   Edit -> Preferences -> Navigartor -> Languages
Megjegyzés: Netscape 4.x esetén csak a felkínált nyelvek közül lehet választani. Néhányan jeleztek, hogy problémák merültek fel, amikor kézzel gépelték be a nyelvet.
Mozilla Firefox
3.0-ás verzió és annál újabb:
Linux:
	Edit -> Preferences -> General -> Languages -> Choose
Windows:
	Tools -> Options -> Content -> Languages -> Choose

0.9-ás verzió és annál újabb:
Linux:
	Edit -> Preferences -> General -> Languages
Windows:
	Tools -> Options -> General -> Languages
Mac OS:
 Firefox -> Preferences -> Content -> Languages -> Choose...

1.5-ös verzió és annál újabb:
Linux:
     Edit -> Preferences -> Advanced -> General -> Edit Languages
Windows:
     Tools -> Options -> Advanced -> General -> Edit Languages
A régebbi verziókban az about:config oldalon kell megváltoztatni a intl.accept_languages értékét.
Iceweasel
   Edit -> Preferences -> Content -> Languages -> Choose
  
Internet Explorer
Windowson:
     Tools vagy View vagy Extras -> Internet Options -> (General) Languages
Mac OS-en:
   Edit -> Preferences -> Web Browser -> Language/Fonts
Pocket Internet Explorer
 Hozd létre az AcceptLanguage registry kulcsot a
 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\
 kulcs alatt hu; q=1.0, en; q=0.5 értékkel (az idézőjelek nélkül).
Opera
A legtöbb verzióban:
     File -> Preferences -> Languages
Linux/*BSD 5.x és 6.x verziók:
     File -> Preferences -> Document -> Languages
A Nokia 770 böngészője: A /home/user/.opera/opera.ini fájl [Adv User Prefs] szekciójához add hozzá a következő sort:
 HTTP Accept Language=hu;q=1.0,en;q=0.5
Galeon
     Settings -> Preferences -> Rendering -> Languages
Epiphany
 Edit -> Preferences -> Language -> Languages
Konqueror
Ha csak egy nyelvet akarsz beállítani, azt elegendő a KDE Control Centerben kiválasztani (amint a #358459 számú hibát kijavítják).
Ha több nyelvet akarsz beállítani, vagy a fenti hibát akarod megkerülni, jelenleg a ~/.kde/share/config/kio_httprc fájlba kell az alábbihoz hasonló sort beírni:
     Language=hu;q=1.0, en;q=0.5
lynx
Állítsd be a preferred_language változót a .lynxrc fájlban, vagy nyomd le az 'O' billentyűt a lynxben.

Például a következő sor kerülhet a .lynxrc-be:

preferred_language=hu; q=1.0, en; q=0.5
W3 (emacs alapú böngésző)
(setq url-mime-language-string "preferred_language=hu; q=1.0, en;
q=0.5")
vagy a testreszabó csomag használatával (URL p4.0pre.14 verziót feltételezve):
Hypermedia -> URL -> Mime -> Mime Language String...
iCab
     Edit -> Preferences -> Browser -> Fonts,Languages
W3M
     Options (o) -> Other Behavior -> Accept-Language
Safari
A Safari a Mac OS X rendszerbeállításaiból állapítja meg a preferált nyelvet:
    System preferences -> International -> Language
ELinks
A felület nyelvét a
    Setup -> Language
menüpontban állíthatod be. Ezzel együtt beállítódik a weboldalak kívánt nyelve is. Megváltoztathatod ezt az alapbeállítást az accepted languages HTTP-változó kézi beállításával a
    Setup -> Options manager -> Protocols -> HTTP
menüpontban.
Netscape 3.x
Add hozzá a
     *httpAcceptLanguage: [a nyelv kódja]
sort a Netscape app-defaults fájljához vagy a ~/.Xresources-hez.
IBrowse
Menj a Preferences-be, aztán Settings, azután Network. Az "Accept language" alatt valószínűleg egy "*" látszik alapból. Ha a "Locale" gombra kattintasz, a kívánt nyelv állítódik be. Ha mégsem így lenne, gépeld be. Azután nyomj "OK"-t.
Voyager
Menj a Settings-be, aztán a Languages-be. Megadhatod kézzel, vagy kattints a "Get from locale"-ra. Nyomj "OK"-t, ha kész.
Chromium
Chromium személyre szabása és beállításai -> Beállítások -> A motorháztető alatt -> Betűtípus és nyelv beállításainak módosítása -> Nyelvek

Ha van ötleted a fenti listából kimaradt böngészők konfigurálásához, küldd el a debian-www@lists.debian.org címre.