ugrás a tartalomhoz

többnyelvű oldalon ország szerinti automatikus nyelvválasztás

Efrud · 2007. Aug. 13. (H), 10.28
csináltam egy weboldalt ami több nyelvű. Az adott nyelvek közötti váltást ugy oldottam meg hogy ha valaki egy másik nyelvet választ akkor egyszerűen egy másik sablonra vált át ahol mondjuk már minden angol. De lehetséges az mondjuk hogy ha mondjuk egy látogatóm van Németországból akkor rögtön németre váltson az oldal? Mert igy alapból bejön magyarul és csak utána lehet váltani. Már az url-eket is az adott nyelven jelennek meg, meg külön vannak meta tagok is.

Köszi előre a segítséget.
 
1

Automata nyelvváltás

Max Logan · 2007. Aug. 13. (H), 10.40
Ajánlom figyelmedbe a tutorial.hu-n publikált automatikus nyelvváltás cikkemet, amit BlackY kiegészített egy kicsit.

A script-nek hamarosan lesz egy újabb változata, de jelenleg krónikus időhiányban szenvedek ...
8

ACCEPT_LANGUAGE

Heilig Szabolcs · 2007. Aug. 13. (H), 16.33
Helló!

Az a megoldás, amit a fenti hozzászólás linkje is takar. A böngészők pontosan megmondják minden kérés alkalmával, milyen nyelvet preferálnak. Ezt a böngésző telepítésekor az oprendszertől kapják alapértelmezésben. Tehát egy magyar oprendszeren a böngésző is azt fogja mondani, hogy elsősorban magyar tartalmat kér. És ez persze felül is bírálható. Ez az Accept-language header. És ez a szabványos megoldás a problémára.

Egy phpinfo()-val megkapod, pontosan mit ad át a böngésződ az apache blokkban. Itt amúgy több nyelv is fel lehet sorolva, prioritási sorrendben. A nyelveket, illetve azok sorrendjét a böngésződben testre tudod szabni.

A szerver innentől a kliens gép nyelvi beállításaihoz tud alkalmazkodni, ami sokkla jobb, mint bármi geo adatbázisos megoldás.
2

karbantarthatóság

Hodicska Gergely · 2007. Aug. 13. (H), 10.45
ha valaki egy másik nyelvet választ akkor egyszerűen egy másik sablonra vált át
Ha a különböző nyelekhez külön template tartozik, akkor hosszabb távon elég komoly gondjaid lesznek a template-ek karbantarthatóságával. Érdemes lehet valami jobb megoldáson elgondolkoznod.


Üdv,
Felhő
3

min?

Efrud · 2007. Aug. 13. (H), 10.48
tudnál valami ötletet mondani nekem? amugy miért lennének gondok a karbantarhatosággal? Lényegében nem egy tartalmas oldal. Csak néhány gomb neve változna meg.
4

más megoldások

Dualon · 2007. Aug. 13. (H), 11.18
Nem Felhő helyett, inkább kiegészítésként válaszolok.
Karbantarthatóság: sok template + kis változás = sok (felesleges) munka. Ez az út szerintem hibás tervezés.
Más megoldás pl.: a stringek külön állományban, tömbben tárolása. Lehet adatbázisra is gyúrni, de szvsz nem érdemes.
5

az gáz

Efrud · 2007. Aug. 13. (H), 11.21
én meg már megcsináltam öt nyelven a sablonokat. Akkor kárbaveszett a munkám.:-( Megpróbálok kitalálni valami új dolgot.
6

Miért kellene automatizálni?

Wabbitseason · 2007. Aug. 13. (H), 11.42
ha mondjuk egy látogatóm van Németországból akkor rögtön németre váltson az oldal?

És ha az illető magyar, csak épp német proxyn keresztül jött? Vagy csak szeretne NEM németül olvasgatni?

Amíg nem gondolatolvasó a weblap, addig nem érdemes ennyire automatizálni. Lehessen könnyen nyelvet váltani, de ne erőltesd rá a tipped az olvasóra -- szerintem.
7

Geoip

vbence · 2007. Aug. 13. (H), 14.32
Ez megmondja a látogató országát, és egy 302 (átmeneti) átirányítás oda dobhatja, ahova kell.
http://www.maxmind.com/app/geolitecountry

Én azt mondanám, hogy külön URL-en legyen az oldalak külön nyelvű változata, mivel ezek különböző dokumentumok. Kereső szempontjából is jobb úgy.

Az automatizmusra: a google is ezt csinálja, csak sokkal aggresszívebben. (Ember legyen a talpán, aki egy magyar böngészőből eléri az igazi google-t).
9

off

gex · 2007. Aug. 14. (K), 11.06
Ember legyen a talpán, aki egy magyar böngészőből eléri az igazi google-t

beírod, hogy google.hu (vagy google.com, de az is először visszairányít a .hu-ra), és alul rákattintasz a linkre: google.com in english. ;]
10

content kontra felület

Hodicska Gergely · 2007. Aug. 15. (Sze), 11.14
Én azt mondanám, hogy külön URL-en legyen az oldalak külön nyelvű változata, mivel ezek különböző dokumentumok.
Szerintem ez nem teljesen ennyire egyértelmű. Én szétbontanám két részre a dolgot: felület illetve tartalom nyelve. Ha a tartalom ugyanaz, és csak a felület nyelvét választod, akkor nem biztos, hogy annyira jó ötlet a nyelvet az URL-ben tárolni.

Plusz egyéb szempontok is lehetnek pl. keresőoptimalizálás szempontjából is. Ahogy én tudom, az URL elejé szereplő szavak hangsúlyosabbak, ezért az URL elejére tenni a /hu/ részt nem biztos, hogy szerencsés, viszont hátul meg már elég hülyén mutathat: /oldalak/1/hu/, ha meg query stringben van, akkor meg nem szép, meg nem illeszkedik a szép URL sémába.

Ha mondjuk TLD szinten akarod tárolni, akkor szintén Googleban elszóródva lesznek az oldalaid. Ha subdomainben, akkor az is macerás lehet, ha vannak amúgy is subdomainjeid (foo.hu.domian.com).

Kíváncsi vagyok, hogy kinek milyen szempontok számítanak.


Üdv,
Felhő
12

Csak a fejlesztőnek

Joó Ádám · 2007. Aug. 26. (V), 10.37
Én szétbontanám két részre a dolgot: felület illetve tartalom nyelve. Ha a tartalom ugyanaz, és csak a felület nyelvét választod, akkor nem biztos, hogy annyira jó ötlet a nyelvet az URL-ben tárolni


Szerintem egy effajta csoportosítás csak fejlesztési szempontból létezik, amint egy oldalt kiszolgáltunk, az egyetlen bonthatatlan egész, egyetlen dokumentum, függetlenül attól, hogy a <h1> tartalma a sablonból, egy cikk szövege pedig az adatbázisból jön.

ha meg query stringben van, akkor meg nem szép, meg nem illeszkedik a szép URL sémába.


A szép URL sémába eleve sok dolog nem illeszkedik logikusan, de én simán betenném a végére, hogy /language/hu, vagy hasonlót.

Egyébként is, ha a <head>-ben alternatív tartalomként megadunk egy másik nyelvű változatot, akkor is szükségünk van egy önálló címre hozzá.
13

a felhasználók szemszögéből sem midegy

Hodicska Gergely · 2007. Aug. 26. (V), 17.38
Szerintem egy effajta csoportosítás csak fejlesztési szempontból létezik, amint egy oldalt kiszolgáltunk, az egyetlen bonthatatlan egész, egyetlen dokumentum, függetlenül attól, hogy a <h1> tartalma a sablonból, egy cikk szövege pedig az adatbázisból jön.
Én pont felhasználói szemszögből közelítve írtam a fentebbit. Ha a tartalomnak nincs nyelve, akkor szvsz nincs értelme az URL-t "terhelni" a nyelv megadásával. Ennek az is előnye, hogy ha elküldesz mondjuk egy galéria linket a külföldi barátodnak, akkor neki nem magyarul fog bejönni az oldal. Kb. mint egy admin oldal esetében, ott sem logikus az URL-ben tárolni a felület nyelvét. Ha viszont maga a tartalom létezik többféle nyelven, akkor ott már simán indokolt lehet az URL-ben jelölni, hogy most melyik nyelvről is van szó (ilan pl. amin dolgoztam a mol.hu).

A szép URL sémába eleve sok dolog nem illeszkedik logikusan, de én simán betenném a végére, hogy /language/hu, vagy hasonlót.
Hát ez szerintem eléggé elrondítaná az URL-t, nem tűnik túl felhasználó barátnak.

Egyébként is, ha a <head>-ben alternatív tartalomként megadunk egy másik nyelvű változatot, akkor is szükségünk van egy önálló címre hozzá.
Itt mire gondolsz?


Üdv,
Felhő
14

Link

Joó Ádám · 2007. Aug. 26. (V), 17.55
Itt mire gondolsz?
<link title="The manual in Dutch" 
      type="text/html" 
      rel="alternate" 
      hreflang="nl" 
      href="http://someplace.com/manual/dutch">
16

Szvsz

inf · 2007. Aug. 27. (H), 02.40
Én simán GETbe raknám, mondjuk úgy, hogy lang=hu, aztán el van intézve. A másik lehetőség, hogy SESSIONbe pakolom, viszont akkor URLben nem lehet módosítani a nyelvet, csak klikkolással, szóval ha linket adnak az adott cikkről mondjuk, akkor az megintcsak automatán másik nyelven jelenhet meg. (ami persze lehet, hogy előny, meg lehet hátrány is, kinek mire van szüksége..)
Én még nem láttam sehol URLbe pakolva a nyelvválasztást. (mondjuk nem biztos, hogy jó megfigyelő vagyok ezen a téren.)

Tervezésben nem tudom mi a szokás sajnos. Én adatbázisban tárolnám a nyelveket, és új nyelv hozzáadásánál új tábla kerülne mindenhova egy adott sablon alapján, viszont a gondok mondjuk ott kezdődnek, hogy nem feltétlen van meg egy cikk minden nyelven, szóval már alapból azt is bele kell vinni az oldalba, hogy nézzen utána, hogy megvan e a cikk, vagy mondjuk angolul kell megjelenítenie stb.. Bonyolult.

Szövegfájlos megoldásokat én alapból nem támogatom sehol, mert a csapból is az folyik, hogy az lassú, másrészt meg nagyobb oldalnál megnézem, hogy ki fog többszáz/ezer fájl között bogarászni. A másik meg, hogy mondjuk a kereshetőséget szerintem a szövegfájlozás nagyon lerontja.
18

Szerintem.

Wabbitseason · 2007. Aug. 27. (H), 10.37
Ahogy én tudom, az URL elejé szereplő szavak hangsúlyosabbak

Erről még nem hallottam. Biztos ez?

hátul meg már elég hülyén mutathat: /oldalak/1/hu/, ha meg query stringben van, akkor meg nem szép, meg nem illeszkedik a szép URL sémába.

oldal.hu/cikk-cime-hu
oldal.hu/cikk-cime-en
és természetesen megértjük az
oldal.hu/cikk-cime
URL-t is, ami egy default nyelvet jelent.
11

többnyelvű oldalak

kriszta · 2007. Aug. 26. (V), 01.10
hogyan lehet egy adott mondjuk magyar nyelvű oldalról ugyanennek az angol változatára váltani, vagy pontosabban hogy tudnék csak könyvtárat cserélni, ha valaki nyelvet vált. Ugy gondolkoztam, hogy lenne egy HU és egy EN könyvtár, de benne azonos elnevezésű lapok csak egyikben magyarul, másikban angolul.
Remélem érthetően kérdeztem.
köszi, Kriszta
15

JS

vbence · 2007. Aug. 26. (V), 20.12
Én javascriptel csinálnám. Ha feltételezzük, hogy minden nyelv-kód 2 betüs, akkor:
<a href="#" onclick="location.href = '/en/' + location.pathname.substring(3);">in English</a>
<a href="#" onclick="location.href = '/hu/' + location.pathname.substring(3);">magyarul</a>
Statikus dokumentumoknál csak a JS jöhet szóba, vagy hogy kézzel létrehozod a linkeket minden dokumentumban.
17

Az attól függ

inf · 2007. Aug. 27. (H), 02.52
Az attól függ, hogy mik a lehetőségek, statikus/php/ajax/anyámkínja?
19

phpben

kriszta · 2007. Aug. 28. (K), 00.30
én kinlódom vele :)
phpben probálkozok.

köszi ,kriszta