NAzdarek lidi.
Potreboval nejak elegantne udelat zmenu jazyka napr. z cestiny na anglictinu a naopak.ZAtim jsem jsem to delal tak ze s kazdym odkazem se prenasi promena lang ve ktere se urcuje jazyk.Ale to se da udelat pouze u mensich webu nedokazu si predstavit delat to u velikeho webu.Muze mi nekdi poradit jak to udelat.Diky moc Peta
myslel jsem na session cookie je moc nebezpecny v tom ze se hladce vypnout.Ale jak to udelat aby se po kliknuti na okaz napr. english zobrazila ta sama stranka na ktere se uzivatel nachazel.
A pokud cbych to delal pomoci session tak to bych po kazdym kliknuti na odkaz musel vyvolat fukci unset()?
Diky Peta
trochu vic to rozved.
zalezi na tom jak sou ty stranky udelany, jestli se tam includujou stranky,...
a taky jakym zpusobem jsou udelany ruzny jazykovy verze.
jestli je kazda jazykova verze ve svym adresari, tak by stacilo nadefinovat promenou lang (pomoci session nbo cookis, to je jedno) a podle ni udelat presmerovani do spravnyho adresare
>> odkaz napr. english zobrazila ta sama stranka na ktere se uzivatel nachazel
<a href="?<?php echo $_SERVER['QUERY_STRING'] ?>&lang=english">odkaz</a>
.. napr. tak nejak, jsou-li pred tim jeste nejake parametry. Jinak zalezi na provedeni webu, existuje spousta zpusobu
Muzes si do DB ukladat IP kazdyho cloveka, kterej se tam koukne + jazyk, kterej si vybere.
Nebo budes mit defaultne nastavenej jeden jazyk a pokud lidi budou chtit nakej jinej, tak at si zapnout cookies.
pripadne detekovat jazyk uživatele z http hlavičky, ale není to spolehlivé. nejlepší je nabídnout verzi v jazyce na který ti chodí nejvíce lidí a umožnit přepnout na jiný jazyk. záznam o jazyce potom zapsat do cookie.
Ne puvodne jsem to delal tak ze texty byly ve dvou souborech jeden byl anglicky a druhy cesky a podle promenne lang jsem urcoval ktery se nahraje.Ale to mi prislo dost neprakticky protoze za zazdy odkaz jsem musel psat ?lang=$promenna_jazyka.
Tak jsem myslel ze to jde jednoduseji.Jinak stranka je delana tak ze index je tvorem include hlavicka include leva_cast include stred a include paticka.
A tak jsoiu tvoreny csechny stranky.Diky
este by sa dala testovat domena klienta (.cz,.sk,...) ale tiez to nie je velmi spolahlive.
Vůbec se s tim neštvi.
- Člověk vstoupí na web poprvé a vidí ho v defaultním jazyku (nejspíš čj). Pošleš mu cookie lang s hodnotou, kterou používáš pro češtinu (cz,cs,cj - prostě to, co máš v hodnotě té proměnné lang)
- když si jazyk změní, pošleš mu novou cookie s jinou hodnotou
- můžeš s tím pracovat vlastně stejně jako dosud, protože hodnotu cookie lang máš v php přístupnou v proměnné lang
- když někdo nemá cookies, má trošku smůlu - já bych na úvodní stránku dal javascript, který testuje podporu cookies, a když není, vyhodí alert
takže asi takhle: každý soubor bude mít úplně na začátku (!) kousek php-kódu:
<?
if(!(isset($lang))){
lang="cz";
}
SetCookie("lang",$lang,"63072000");
?>
Změna jazyka - <a href="?lang=aj">anglicky</a>
Ten javascript:
<script type="text/javascript">
if(navigator.cookieEnabled==false){
alert('Prosím zapněte si cookies!')
}
</script>