Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vebersol

$_server['http_accept_language']

Recommended Posts

O comando $_SERVER['HTTP_ACCEPT_LANGUAGE'] pega qual idioma?

 

Achei uma dica para selecionar o idioma, e fiz um script pra selecionar o idioma do usuário:

 

<?php //Verificar se existe cookie//Se o cookie existir, pegar o idioma do cookieif(isset($_COOKIE['site_lang'])) {$idioma = $_COOKIE['site_lang'];}//Se não, verificar o idiomaelse {//Qual é a sua língua?$idioma = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);//Se não houver nenhuma lingua pre-definida, definir inglês como padrão.if($idioma <> "pt" || $idioma <> "en" || $idioma <> "es") { $idioma = "en";}//Incluir arquivo do idioma.include("idiomas/".$idioma.".php");//Setar cookie com a linguagem escolhida ou padrão.setcookie("site_lang", $idioma, time()+31536000);}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pressa acabei nao sendo claro, eu estava preocupado que ele estivesse pegando a língua do servidor. Pois não tenho um SO em inglês para testar.

 

Mas resolveu minha dúvida! Valeu Fabyo!!!

 

Abraço!

 

A quem interessar possa, o código corrigido está abaixo:

 

Consultar Idioma do Navegador do Usuário

 

<?php //Verificar se existe cookie//Se o cookie existir, pegar o idioma do cookieif(isset($_COOKIE['site_lang'])) {$idioma = $_COOKIE['site_lang'];}//Se não, verificar o idiomaelse {//Qual é a sua língua?$idioma = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);//Se não houver nenhuma lingua pre-definida, definir inglês como padrãoif($idioma != "pt" && $idioma != "en" && $idioma != "es") { $idioma = "en";}setcookie("site_lang", $idioma, time()+31536000);}//Inclui o idiomainclude("idiomas/".$idioma.".php");?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pressa acabei nao sendo claro, eu estava preocupado que ele estivesse pegando a língua do servidor. Pois não tenho um SO em inglês para testar.

 

Mas resolveu minha dúvida! Valeu Fabyo!!!

 

Abraço!

 

A quem interessar possa, o código corrigido está abaixo:

 

Consultar Idioma do Navegador do Usuário

 

<?php //Verificar se existe cookie

//Se o cookie existir, pegar o idioma do cookie
if(isset($_COOKIE['site_lang'])) {

$idioma = $_COOKIE['site_lang'];

}
//Se não, verificar o idioma
else {
//Qual é a sua língua?
$idioma = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
//Se não houver nenhuma lingua pre-definida, definir inglês como padrão
if($idioma != "pt" && $idioma != "en" && $idioma != "es") { 

$idioma = "en";

}

setcookie("site_lang", $idioma, time()+31536000);
}
//Inclui o idioma
include("idiomas/".$idioma.".php");
?>

ótima dica!!!!!! era exatamente o q eu estava precisando.

 

no caso se você quiser testar em ingles (ou qualquer idioma), usando o Internet Explorer:

Ferramentas -> Opções da Internet

botão Idiomas

dai você adiciona qualquer um e deleta o portugues...ou deixa ele por segundo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho este, muito bom

<?php
	$client = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
	
	$http_lang = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
      switch ($http_lang) {
        case 'en':
          $SESSION->conf['language'] = 'english';
		  echo $client;
          break;
        case 'pt':
          $SESSION->conf['language'] = 'pt';
		  echo $client;
          break;
        case 'th':
          $SESSION->conf['language'] = 'th';
		  echo $client;
          break;
        default:
			echo "Language noy define!";
          //$SESSION->conf['language'] = $PREFS->conf['languages'][$SESSION->conf['language_id']];
      }
	
	echo "<br>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.