Autor | Zpráva | ||
---|---|---|---|
dhead Profil * |
#1 · Zasláno: 7. 8. 2013, 15:23:54
Zdravím, nejsem programátor, jenom kodér - brigádník, čili amatér...
Právě řeším takový menší problém, potřebuju na webu, který je ve více jazykových variantách zobrazovat krátký úsek textu ve více jazycích - podle toho, v jaké mutaci se návštěvník nachází. Napadlo mě řešení, které by nejprve otestovalo, zda li v url existuje řetězec (nazývám to vůbec správně řetězcem? :-) ) "/en/" nebo "/de/" a podle toho bych věděl, jestli mám ten krátký úsek textu vypsat česky nebo německy nebo anglicky apod. Problém je, že neumím php ani trochu, vůbec nevím, jak to poskládat. Byl by někdo ochotný mi s tímhle pomoci? Pokud bych to měl nějak připraven/ukázaný, určitě bych si pak už poradil a dosadil tam to, co potřebuju... ještě bych měl doplňující dotaz, jestli to třeba nemůže nějak zpomalovat chod webu, jestli to nemůže být třeba příliš náročné.. Díky moc za jakoukoliv pomoc. |
||
Enko Profil * |
#2 · Zasláno: 7. 8. 2013, 18:55:14
Pro url adresu například:
http://www.adresa.cz/index.php?lang=en platí toto
<?php if($_GET["lang"] == "en"){ //presmerujes na anglickou veryi } ?> |
||
dhead Profil * |
#3 · Zasláno: 7. 8. 2013, 20:54:41 · Upravil/a: dhead
jasny jasny, to bych pochopil... a co když mám adresu fakt v pěkny tvaru abc.cz/en/cokoliv ... lze to udělat jinak než přes nějaký cykly testovací? :)
A díky za reakci mimochodem ;) |
||
Enko Profil * |
#4 · Zasláno: 8. 8. 2013, 10:17:04
Pokud máš "hezkou" URL, tak pak to je stejné, jen vycházíš z nastavení ModRewrite, podle způsobu, kterým generuje hezkou URL. Dej sem konkrétní příklad. Stačí konkrétní kus z .htaccessu, který generuje hezké adresy. Ale je to pořád stejný princip, většinou se jen schovávají GET proměnné a veškeré ostatní znaky s výjimkou lomítek. Bavím se v obecné rovině, možností je víc.
|
||
Kubo2 Profil |
#5 · Zasláno: 8. 8. 2013, 14:09:23
Trošku konkrétnejšie:
<?php /** * Zobrazí určený text podľa jazykovej skratky obsiahnutej v URL. * * @author Kubo2 */ $cur_uri = isset ($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : ''; $lang = false; if (strlen(trim($cur_uri, '/')) === 0) $lang = 'cs'; // východzí jazyk je čeština if (!$lang && (preg_match("/^\/(en|cs|sk|de|bhg)\/[^\/]+\/$/i", $cur_uri, $m)) === 0) // máš k dispozícii 5 jazykov $lang = $m[1]; switch ($lang) { case 'sk': echo "slovenský text"; break; case 'en': echo "the english text"; break; case 'de': echo "deutsch text"; break; case 'bhg': echo "bulgarsky text"; break; default: case 'cs': echo "český text"; break; } ?> // ) sa v tom zorientuješ.
|
||
Časová prodleva: 11 let
|
0