Üdv!
Adott egy többnyelvű oldal.
http://domain.tld/en
http://domain.tld/hu
http://domain.tld/de
...stb.
Megoldható, hogy a Drupal automatikusan meghatározza az országot (sütivel, IP-ről v. bárhogyan), hogy honnan jött a user és automatikusan az adott nyelvi változatra irányítja a usert?
Pl. a user magyar, akkor automatikusan a /hu-ra irányítsa.
G.
Drupal verzió:
Fórum:
Miért nem jó a böngésző beállítás?
Az alap rendszer része az, hogy a böngésző nyelvi beállításának megfelelő oldalt jelenítse meg. Ez kb. milliárdszor praktikusabb, mint ip alapján próbálkozni. Már csak azért is mert az ip max a lokalizált szolgáltatások kínálására jó, a nyelvre semmi esetre sem mert:
- vannak országok ahol több nyelvet beszélnek
- vannak nyelvek amiket több országban beszélnek
- vannak emberek akik külföldön vannak
- vannak akik nincsenek külföldön, de mégis valamiért más nyelvet preferálnak.
- és vannak azok, akik átkergetik a forgalmukat külföldre, hogy nézhessék a hulu-t, na ők itthon vannak, csak épp az ipéjük nem magyar
pp
ui.: Ha okosabb rendszert akarsz mint a látogatóid, akkor okosabb is lesz... mert az okosabb látogatók nem fogják használni. Egy ilyen buta módszernél pedig jó sokan el fognak pártolni tőled. :)
Palócz István
https://palocz.hu | https://tanarurkerem.hu
ország != nyelv
pp megelőzött, de azért beküldöm, ne vesszen kárba, szenvedős kánikulában izzadó ujjakkal tableten pötyögni :)
Sokan, akár még a legnagyobbak közül is gyakran elkövetik az 1 ország = 1 nyelv általánosítás hibáját, de te ne tedd. Kérdésedben ismét két fogalom keveredését érzem: a fizikai tartózkodási geopozíció és a használt nyelv tehát két, egymástól akár véletlenszerűen is eltérő érték, ezért egymásra következtetni belőlük nem lehet.
Az IP-cím használható a geopozíció hozzávetőleges megtippelésére, a ccTLD pedig a nyelv kitalálására. Ezeknél a megközelítőleges becsléseknél mindig jobb, ha magát a usert megkérdezed, hogy hol van (írja be a címét, vagy annak egy részét) és milyen nyelvet szeretne.
De visszatérve kérdésedre: igen, a D7 tud ilyet:
admin/config/regional/language
oldalon vedd fel a támogatni kívánt nyelveketadmin/config/regional/language/configure
oldalon pedig végül sorbaállíthatod a döntési feltételeket. Ha tiszteled a felhasználóidat,akkor user preference a legelső.Erre gondoltam, köszönöm!
Erre gondoltam, köszönöm! Azért is irtam, hogy "süti, IP v. bármivel...". :)
A szép, elegáns megoldást kerestem. De akkor csak megfeledkeztem róla.
Nem volt jól beállítva.
Köszönöm!
/admin/config/regional/language/configure
"A felhasználó nyelvi beállításainak átvétele."
"A nyelv megállapítása a böngésző nyelvi beállításaiból."
"A nyelv megállapítása a webcímből (útvonal előtag vagy hosztnév alapján)."
másik nyelv is
Azt hogyan lehet beállítani, hogy alapból pl. a magyar nyelvű töltödik be, de ha a user az angolt szeretné megnézni /en
akkor azt is engedje?
Mert így mindig pl. a magyar töltődik be.
Ha elsőnek beállítom be:
Akkor http://domain.tld/?language=en lesz az url. Ez csak így megy?
Paraméter?
Minden nyelvednél a prefixes opciót választottad, begépelted a tetszőleges kódjaikat, üresen hagytad a doménes mezőt, igaz? Akkor hogy jelenik meg paraméter az URL-ben?
Rövid URL-ek be vannak kapcsolva?
igen, prefix
Igen, prefixes van mindenhol (/en /hu ...stb.), domaines mező üres.
Rövid url van beállítva.
admin/config/regional/language/configure/session
Ha kitörlöm a "language" beállítást, akkor nyilván az url ez (a nyelvválasztó blokkban):
http://domain.tld/?=en
Csak ilyenkor nem vált nyelvet.
Német
"mindenhol (/en /hu ...stb.), domaines" – per jelet ugye nem írtál a mezőbe? A mező súgóleírása alatta példát is mutat.
Egyébként pedig:
"kitörlöm a language beállítást, akkor [...] http://domain.tld/?=en" – szerintem ez nem is működhet, mert tudtommal a GET-paramétereknek mindig név=érték párban kell járniuk.
languagae változó
A lényeg, hogy ebben az esetben így működik, pl.:
http://domain.tld/?language=de
A http://domain.tld/de ilyenkor nem működik (nem vált németre).