[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

zmiana jezyka strony ze wzgledu na jezyk przegladarki

Bartek

6/19/2007 1:29:00 PM

Witam,

Jak mo?na zmienia jezyk strony www, która domy?lnie jest polsko jezyczna
na strone np niemieck?, je?eli osoba przegladaj?ca jest z niemiec?

pozdr
3 Answers

mina86

6/19/2007 8:20:00 PM

0

Bartek <bartekhr@poczta.onet.pl> writes:

> Jak można zmieniÄ? jÄ?zyk strony www, która domyÅ?lnie jest polsko jÄ?zyczna
> na stronÄ? np niemieckÄ?, jeżeli osoba przegladajÄ?ca jest z niemiec?

Zdefiniuj "zmieniÄ? jÄ?zyk strony www". Zasadniczo, jeżeli chcesz żeby
byÅ?y różne wersje strony zależnie od ustawieÅ? przeglÄ?ðarki to stosujesz
"Content Negotiating", tak jak to ja mam na swojej stronie
(mina86.com) -- zależnie od tego jaki jÄ?zyk jest ustawiony
w Accept-Language w przeglÄ?darce sÄ? różne wersje strony.

--
Pozdrawiam _ _
.o. | Wasal Jasnie Oswieconej Pani Informatyki o' \,=./ `o
..o | Michal "mina86" Nazarewicz <mina86*tlen.pl> (o o)
ooo +---<jid:mina86*chrome.pl>---<tlen:mina86>----ooO--(_)--Ooo--

Grzegorz Niemirowski

6/20/2007 2:39:00 PM

0

Bartek <bartekhr@poczta.onet.pl> napisa3(a):
> Witam,
> Jak mo?na zmienia jezyk strony www, która domy?lnie jest polsko jezyczna
> na strone np niemieck?, je?eli osoba przegladaj?ca jest z niemiec?
> pozdr

Ja zrobi3em tak:
if (IsSet($_GET['lang'])) {
$lang=$_GET['lang'];
} else {
$langs = split ('[,;]',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$lang=$langs[0];
}
switch ($lang) {
case "pl" : include "inc/oept.pl.php"; break;
case "de" : include "inc/oept.de.php"; break;
default: include "inc/oept.en.php";
}

--
Grzegorz Niemirowski
http://www.grz...
OE PowerTool i aktualno?ci ze ?wiata Outlook Express: grzegorz.net/oe
Uptime: 7 days, 17 hours, 16 minutes and 34 seconds

mina86

6/23/2007 10:31:00 AM

0

> Bartek <bartekhr@poczta.onet.pl> napisa3(a):
>> Witam,
>> Jak mo?na zmienia jezyk strony www, która domy?lnie jest polsko jezyczna
>> na strone np niemieck?, je?eli osoba przegladaj?ca jest z niemiec?
>> pozdr

"Grzegorz Niemirowski" <gnthexfiles@poczta.onet.pl> writes:
> Ja zrobi3em tak:
> if (IsSet($_GET['lang'])) {
> $lang=$_GET['lang'];
> } else {
> $langs = split ('[,;]',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
> $lang=$langs[0];
> }
> switch ($lang) {
> case "pl" : include "inc/oept.pl.php"; break;
> case "de" : include "inc/oept.de.php"; break;
> default: include "inc/oept.en.php";
> }

Nie zadzia3a, je?eli HTTP_ACCEPT_LANGUAGE ma warto?a:
"fr,pl;q=0.9,en;q=0.1". Raczej powinno sie zastosowaa co? w stylu:

#v+
$lang = 'en';
$langs = array('pl' => 1, 'de' => 1, 'en' => 1);
foreach (explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $l) {
$l = substr(trim($l), 0, 2); /* converts en-gb into en */
$l = strtolower($l); /* just in case */
if (isset($langs[$l])) {
$lang = $l;
break;
}
}
unset($langs, $l);
#v-

--
Pozdrawiam _ _
.o. | Wasal Jasnie Oswieconej Pani Informatyki o' \,=./ `o
..o | Michal "mina86" Nazarewicz <mina86*tlen.pl> (o o)
ooo +---<jid:mina86*chrome.pl>---<tlen:mina86>----ooO--(_)--Ooo--