Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde gente, estou fazendo um novo site, mas o cliente quer que ele seja em 3 linguas pt-br, es e en.
Tenho o script que detecta a linguagem do browser e já fica na linguagem correta, mas quando o usuario for do usa e este estiver aki no brasil ele queira mudar a linguagem, fiz com que ele mude.
Só que quando ele pede para mudar está voltando para o index e só "traduz" quando clico no link que estava. :blink:
index.php
<div id="linguagens">
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>" name="idioma">
<input type="image" src="images/Brazil.png" value="br" name="trocaIdioma" title="Br" />
<input type="image" src="images/Spain.png" value="es" name="trocaIdioma" title="Es" />
<input type="image" src="images/usa.png" value="en" name="trocaIdioma" title="En" />
</form>
</div>setidioma.php
<?php
/***************************** BY MRS 05/06/2004 **************************************************************************\
esse arquivo verifica se o usuario marcou um idioma, caso seja verdadeiro ele seta esse idioma e grava um cookei com duração de
um mes, para que na próxima vez ele já venha com o idioma setado...
caso contrário ele verifica se existe um cookie com o idioma, caso não tenha ele pega o idioma do navegador e seta esse
* +++ **/
ob_start();
$default = "br"; // padrão será o portugues...
if( isset( $_POST['trocaIdioma'] ) )
{
require $_POST['trocaIdioma'] . ".php";
setcookie("guardaIdioma", $_POST['trocaIdioma'], time()+3600*24*30, '/'); // cookie com tempo de expiração de 1 mes
}
else
if( isset($_COOKIE["guardaIdioma"]) )
{
require $_COOKIE["guardaIdioma"] . ".php";
}
else
if (!isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
require $default .".php";
}
else
{
$idioma = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$idioma = substr($idioma,0,2); // separando o idioma....
if( ( $idioma == "br") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>Carregando comentários...