Hay algoritmos de traducción bien complejos, que no lo compartiria por aca debido a su complejidad, tambien hay empresas dedicadas a eso. Pero podrias usar get e ir aplicando mensajes con arrays algo asi
Código PHP:
Ver originalfunction getLang($lang,$langs){
if(!in_array($lang, $langs)){ return 0; } // spanish default?? return $langs[$lang];
}
function completeUrl($langs){
for($k=0;$k<sizeof($langs);$k++){ $nlangs["&lang=".key($langs)] = ""; }
$url = str_ireplace($keys, $values, $_SERVER["REQUEST_URI"]); return $_SERVER["REQUEST_SCHEME"].'://'.$_SERVER["HTTP_HOST"].$url;
}
if(empty($_GET["lang"])){ $lang = "esp"; }else{ $lang = strtolower($_GET["lang"]); } $langs = array("esp"=>0,"eng"=>1,"ger"=>2,"fra"=>3, etc
..);
echo '<div>'.array("Hola", "Hello", "Hallo", "bonjour")[getLang
($lang,$langs)].'</div>'; echo '<div>'.array("Adios", "Bye", "Tschüss", "Au revoir")[getLang
($lang,$langs)].'</div>';
Entonces en los botoncitos cambiar lenguajes, haces esto:
<a href="lang=esp">Español</a>
<a href="lang=fra">Français</a>
<a href="lang=eng">English</a>
<a href="lang=ger">Deutsch</a>
Ahora, lo unico que falta, es que el enlace te enviaría a "lang=fra", para eso lo arreglas asi:
<a href="<?=completeUrl($langs);?">&lang=fra">Françai s</a>
Y listo.
Es algo poco ortodoxo, pero son maneras de mostrarte como se pueden ir resolviendo problemas.
Saludos.
Edito, tube que modificar para resetear la url