Script de idioma para site... pt, es, en...
#1
Postou 10 março 2005 - 08:41
é simples e funcional de e serve muito bem para projetos pequenos e de médio porte, tvz projetos grandes se tornem um pouco mais dificeis de gerenciar...
bom esse é o script que seta o idioma...
dei o nome de setidioma.php
| 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 = "pt"; // 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 == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido { require $idioma . ".php"; } else { require $default . ".php"; } } ob_end_flush(); ?> |
Arquivo onde será guardado o idioma pt...
nome desse arquivo é pt.php
| PHP |
<? $texto['titulo'] = "Informações do sistema"; $texto['usada'] = "Usado"; $texto['livre'] = "Livre"; $texto['espacoTotal'] = "Tamanho"; $texto['dataHora'] = "Data/Hora"; $texto['nomeDaMaquina'] = "None do servidor"; $texto['dominio'] = "Dominio"; $texto['host'] = "Host"; $texto['uptime'] = "Tempo de vida"; $texto['numeroProcessos'] = "Numero de Processos"; $texto['sistemaOperacional'] = "Sistema operacional"; $texto['vKernel'] = "Versão do Kernel"; $texto['usuarios'] = "Usuários"; ?> |
arquivo com espanhol...
nome desse arquivo é es.php
| PHP |
<?php $texto['titulo'] = "System Information"; $texto['usada'] = "Usage"; $texto['livre'] = "Free"; $texto['espacoTotal'] = "Space total"; $texto['dataHora'] = "Date/time"; $texto['nomeDaMaquina'] = "Computer Name"; $texto['dominio'] = "Domain"; $texto['host'] = "Host address"; $texto['uptime'] = "Server time life"; $texto['numeroProcessos'] = "Processors number"; $texto['sistemaOperacional'] = "Operational System"; $texto['vKernel'] = "Kernel Version"; $texto['usuarios'] = "Users"; $texto['totalUsuarios'] = "Current Users"; ?> |
arquivo com idioma em inglês...
nome desse arquivo é en.php
| PHP |
<?php $texto['titulo'] = "System Information"; $texto['usada'] = "Usage"; $texto['livre'] = "Free"; $texto['espacoTotal'] = "Space total"; $texto['dataHora'] = "Date/time"; $texto['nomeDaMaquina'] = "Computer Name"; $texto['dominio'] = "Domain"; $texto['host'] = "Host address"; $texto['uptime'] = "Server time life"; $texto['numeroProcessos'] = "Processors number"; $texto['sistemaOperacional'] = "Operational System"; $texto['vKernel'] = "Kernel Version"; $texto['usuarios'] = "Users"; ?> |
bom galera agora tem apenas a parte de trocar o script...
| PHP |
// seria algo assim... require "setidioma.php"; // chama as configurações de idioma... // troca o idioma... <table align=right> <td class=textoUsoGeral><?php echo $texto['fraseIdioma']; ?><form method="post" action="informacoes.php"> <select name="trocaIdioma" class=forms> <option value="pt"><?php echo $texto['portugues']; ?></option> <option value="es"><?php echo $texto['espanhol']; ?></option> <option value="en"><?php echo $texto['ingles']; ?></option> </select> <input type=submit name=ok value=ok> </form> </td> </table> |
bom galera é isso...
claro que pode ser usado banco de dados, mas nesse caso, por questões internas não usamos, pois muitos clientes não queriam dispor de um banco...
vai saber prque...
e ficaria mais facil a implementação dessa maneira...
abraços a todos
Marcio
#2
Postou 10 março 2005 - 14:26
Tipo assim:
tenho um site normal todo em português, ai eu teria que ter uns arquivos nas outras línguas, para substituir os textos? Chamando os mesmo por include?
#3
Postou 10 março 2005 - 14:53
ficaria algo assim...
tipo você tem seu site onde você teria a frase "Seja bem vindo"
bom no site na verdade você teria algo parecido com isso
include "setIdioma.php"; // esse seria o arquivo que verifica o idioma,
ele ve o idioma do navegador e seta o idioma entre pt, es, en se não for nenhum desses, por default será pt...
$texto['saudacao'];
em resumo tudo que você queira que fique em outro idioma você não irá colocar o texto puro e sim uma referencia para os arquivos...
note que os arquivos pt, en, es devem ter o mesmo conteudo, na sua devida lingua claro...
caso ainda tenha duvida me de um grito que tento explicar melhor ok...
abraços
Marcio
obs:
dei uma melhorada na explicação do scriupt acima...
da uma olhada acho que agora tá mais claro...
#6
Postou 11 março 2005 - 00:42
Cerrito, em Mar 10 2005, 05:10 PM, disse:
e só fazer ele buscar no banco ao invés dos arquivos, pois fica mais facil de gerenciar...
abraços
Marcio
qualquer coisa vai gritando ai...
desulpe o incômodo heehe, mas tipo assim:
suponhamos que seja um portal de notícia, então precisaria escrever a notícia 3 vezes, e ter 3 tabelas né?
#9
Postou 11 março 2005 - 09:02
Leandro Vieira Pinho, em Mar 11 2005, 12:42 AM, disse:
Cerrito, em Mar 10 2005, 05:10 PM, disse:
e só fazer ele buscar no banco ao invés dos arquivos, pois fica mais facil de gerenciar...
abraços
Marcio
qualquer coisa vai gritando ai...
desulpe o incômodo heehe, mas tipo assim:
suponhamos que seja um portal de notícia, então precisaria escrever a notícia 3 vezes, e ter 3 tabelas né?
Bom poderia ser em 03 tabelas ou em uma tab. com dois campos que seriam os diferenciais...
1 - identifica o idioma...
2 - identifica o texto...
alem de um id claro...
abraços
Marcio
#10
Postou 11 março 2005 - 13:13
tipo: o usuario quer em ingles, vai no google e pede para retornar o texto em ingles, so que ai precisaria estudar como funciona o google e talz, ate ai é o de menos, o mais complicado é que esses sistemas de traducao nao sao 100%...
mais ta ai uma ideia
abracos
#11
Postou 02 novembro 2006 - 12:58
para melhor compreenção.
Para funcionar tenho que criar script nos 3 idomas?
Teria tambem ter uma bd para cada indioma?
Se tenho um menu com bd.
tabMenu_pt
tabMenu_esp
tabMenu_en
Acho que estou voando no assunto.
obrigado
#12
Postou 30 novembro 2006 - 10:27
Estou efetuando um levantamento através da net sobre as práticas de desenvolvimento de sites multi-idiomas. Para uma questão ainda consegui respostas. Como é o design-time (em tempo de desenvolvimento) deste tipo de desenvolvimento, onde você não possui os textos, pois, os mesmos estão em arquivos xml ou banco de dados, você perde a referência para a definição do lay-out. A pergunta agora é, existe alguma forma, por exemplo utilizando o Dreamwaver de setar variáveis com conteúdos advindos de arquivos xml ou banco de dados para utilizar como referências em tempo de desenvolvimento?
Desde já agradeço a atenção,
#13
Postou 22 fevereiro 2008 - 16:36
obrigado por disponibilizares aki para o pessoal.
tipo, no codigo, a escolha do idioma é feita através de uma listbox.
o k keria era seleccionar o idioma atraves de imagens.
como é k faço isso
as imagens k tenho são:~
#18
Postou 29 fevereiro 2008 - 15:37
Caso queiram ter um exemplo prático como um site funciona com isso, é o primeiro site da minha assinatura. Lá são imagens das bandeiras que mudam, do jeito que mapb queria e o Beraldo explicou.
Como voces podem ver, é possível fazer as imagens do site inteiro serem dinamicas também, ou seja, fazer algo do tipo: (exemplo com o logo do meu site)
as imagens são en_logo ou pt_logo
<img src="./images/
<?php
$default = "en";
if( isset( $_GET['lang'] ) )
{
echo $_GET['lang'] . "_logo";
}
else
if (!isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
echo $default;
}
else
{
$idioma = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$idioma = substr($idioma,0,2); // separando o idioma....
if( ( $idioma == "pt") or ( $idioma == "en") ) // verificando se é um idioma válido
{
echo $idioma . "_logo";
}
else
{
echo $default;
}
}
?>.jpg" border="0">Ou por exemplo, usando as bandeirinhas dos países... SE colocar igual ao Beraldo disse, a pessoa que estiver já navegando no site, na hora que clicar no link, vai voltar a página inicial..
portanto eu fiz um codigo que detecta. Se estiver alguma variável na URL (meu include é ?ddl= entao o $_GET tem valor ddl), ele pega a variável e adiciona a chamada da lingua, assim ele muda de texto sem sair da pagina que estava. Se não achar nenhum valor no DDL, ele só imprime o ?lang=
<a href="<?php $_SERVER['PHP_SELF'] ?> <?php
$default = "?";
if( isset( $_GET['ddl'] ) )
{
echo "?ddl=" . $_GET['ddl'] . "&";
}
else
{
echo $default;
}
?>lang=pt"><img src="images/flag_br.png" border="0" style="width: 32px; height: 32px;"></a> <a href="<?php $_SERVER['PHP_SELF'] ?> <?php
$default = "?";
if( isset( $_GET['ddl'] ) )
{
echo "?ddl=" . $_GET['ddl'] ."&";
}
else
{
echo $default;
}
?>lang=en"><img src="images/flag_us.png" border="0" style="width: 32px; height: 32px;"></a>Ah, só um lembrete. Usem os códigos de caracteres nos arquivos de língua (ou seja, não ao invés de escrever não direto). No meu site, isso dá mó pal, vou ter que reescrever tudo com os codigos...
o $texto['pt_services'] = "Serviços Disponíveis Para Você" ; virou Serviços DisponÃveis Para Você
AGRADEÇO bastante o cerrito.
Graças ao codigo dele, além do sistema multi-lingua, eu aprendi um pouco de php lendo e tentando entender o código.
#19
Postou 29 julho 2008 - 11:26
1° [resolvido]
2° Sobre os scripts do DarkDragonLord, consegui trocar as imagens perfeitamente, mas minha dúvida é como trocar o texto
Por formulário funciona corretamente, igual ao exemplo no 1° post deste tópico.
Com as bandeiras como posso trocar o idioma do texto também, exatamente igual ao site http://raphaelddl.com ?
#23
Postou 31 julho 2008 - 14:19
Deives, em 29/07/2008 - 11:26, disse:
1° [resolvido]
2° Sobre os scripts do DarkDragonLord, consegui trocar as imagens perfeitamente, mas minha dúvida é como trocar o texto
Por formulário funciona corretamente, igual ao exemplo no 1° post deste tópico.
Com as bandeiras como posso trocar o idioma do texto também, exatamente igual ao site http://raphaelddl.com ?
Uai, trocar texto é muito mais simples
se você ker escrever por exemplo, um texto introdutório na pagina de seu portfolio (como fiz no meu), você faz o seguinte:
Abre o pt.php e adicione:
$texto['introducao_portfolio'] = "Aqui você encontrará tudo que já fiz ou estou fazendo no momento. Tenha em mente que algumas seções possuem algumas coisas para download, como a "Web Sites", que possui alguns Templates Grátis para você";
Agora Abra o en.php e adicione: (MESMO NOME DE VARIAVEL QUE COLOCOU NO OUTRO)
$texto['introducao_portfolio'] = "Here you will find everything i made or currently making. Keep in mind that some sections have some downloads, as "Web Sites", with some Free Templates for you.";
Pronto.
Agora, para que o texto apareça, simplesmente, no lugar que você quer adicioná-lo, escreva o php para chama-lo:
<?php echo $texto['introducao_portfolio']; ?>
Ai qdo você abrir o site, ele ja vai catar esse $texto do pt ou en e adicionar, de acordo com a liguagem do browser ou escolha do usuario.
para adicionar outros textos, repita o processo adicionando mais uma linha nos en/pt.php mudando o nome dentro dos $texto['XXXXXXX']
btw, tendi nada q o sadboar falou pq eu nao sei usar constant aShausahSuhaSH
#24
Postou 31 julho 2008 - 14:47
http://www.locatoron.../files/lang.zip
Na realidade, quero que quando clicar na bandeira ele mude, além da imagem que já está mudando, o texto, utilizando ?lang=pt-br...
No script inicial do post ele muda através de um select, pegando o valor por $_POST
Se você baixar o arquivo acima irá entender melhor...
obrigado pela atenção !
#25
Postou 31 julho 2008 - 16:47
Deives, em 31/07/2008 - 14:47, disse:
http://www.locatoron.../files/lang.zip
Na realidade, quero que quando clicar na bandeira ele mude, além da imagem que já está mudando, o texto, utilizando ?lang=pt-br...
No script inicial do post ele muda através de um select, pegando o valor por $_POST
Se você baixar o arquivo acima irá entender melhor...
obrigado pela atenção !
Ahmmm..
Agora entendi.
Bom, eu tinha até respondido aqui: http://forum.imaster...p...st&p=986177 no segundo quote.
Mas ok, vamos por partes usando seu arquivo
Aqui é como você está fazendo:
<!-- MUDANDO LINGUAGEM POR IMAGEMS --> <!-- LINGUAGEM PORTUGUÊS --> <a href="<?php $_SERVER['PHP_SELF'] ?> <?php $default = "?"; echo $default; ?>lang=pt-br"><img src="images/bandeira_Brasil.jpg" width="16" height="16" border="0"></a>
O PHP que você colocou ai foi meio inútil pq era só escrever ? assim
<a href="?lang=pt-br"><img src="images/bandeira_Brasil.jpg" width="16" height="16" border="0"></a>
Mas de qualquer forma, bora lá fazer do jeito que clicando ele muda de linguagem E continua na página que voce está (Assim nao muda para a inicial toda hora que clicar)
O codigo é o seguinte: (na qual ddl dentro do $_GET é apenas o nome que dei para usar com o include (poderia ser pag ou p ou qualquer coisa)
<a href="<?php $default = "?"; if( isset( $_GET['ddl'] ) ){echo "?ddl=" . $_GET['ddl'] . "&";}else{echo $default;}?>lang=pt-br"><img src="images/bandeira_Brasil.jpg" width="16" height="16" border="0"></a>Agora destrinchando
<?php
$default = "?";
if( isset( $_GET['ddl'] ) ) {
echo "?ddl=" . $_GET['ddl'] . "&";
} else {
echo $default; }
?>Se estiver setado o ddl, vai echo ?ddl=OQtiverSETADO& assim, o link ficaria href="?ddl=OQtiverSETADO&lang=pt-br".
Se nao estiver setado o ddl, vai echo ? assim, o link ficaria href="?lang=pt-br".
Acho que agora deu pra entender, embora eu tenha explicado superficialmente
Edit no Post v2:
Acho que nem precisa do default agora que to relendo esse codigo véio meu
pode ficar só assim pra reduzir alguns bytes no arquivo (sem o else, antigamente eu achava que todo if deveria ter um else AHaahAhaahH viva a epoca que começei a aprender PHP usando esse codigo de language como base xD)
<?php
if( isset( $_GET['ddl'] ) ) {
echo "ddl=" . $_GET['ddl'] . "&";
}
?>ai o codigo todo ficaria assim, tendo o ? antes do inicio do PHP
<a href="?<?php if( isset( $_GET['ddl'] ) ) {echo "ddl=" . $_GET['ddl'] . "&";} ?>lang=pt-br"><img src="images/bandeira_Brasil.jpg" width="16" height="16" border="0"></a>
#27
Postou 08 outubro 2008 - 21:14
<form action="" method="post">
<input type="hidden" name="lang" value="pt">
<input type="image" src="paises/br-t.jpg" name="submit">
</form>
<form action="" method="post">
<input type="hidden" name="lang" value="es">
<input type="image" src="paises/es-t.jpg" name="submit">
</form>
o problema foi no navegador... no Mozila ele não detecta a linguagem ´padrão o PT então ele abre e não exibe nenhum texto agoar se clciar na bandeira ele passa a exibir, que co´digo devo adicionar pra que ele exiba a linguagem padrão caso o usuário não a selecione no Mozila?
<?php
$default = "pt"; // padrão será o portugues...
if( isset( $_POST['lang'] ) )
{
require $_POST['lang'] . ".php";
setcookie("guardaIdioma", $_POST['lang'], 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 == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>
aqui o teste: www.plugmania.com.br/idioma.php
#28
Postou 20 dezembro 2008 - 19:53
Aqui eu não consigo mudar o idioma... ele só fica no portugues...
<?php
require "setidioma.php";
?>
<a href='?lang=' ><img src="../img/portugues.png" alt="Portugues" width="30" height="30" style="border-width: 0px;"></a>
<a href='?lang=es' ><img src="../img/spanol.png" alt="Espanhol" width="30" height="30" style="border-width: 0px;"></a>
<a href='?lang=en'><img src="../img/english.png" alt="Ingles" width="30" height="30" style="border-width: 0px;"></a>
<a href='?lang=fr'><img src="../img/france.png" alt="Frances" width="30" height="30" style="border-width: 0px;"></a>
<a href='?lang=ale'><img src="../img/alemanha.png" alt="Alemao" width="30" height="30" style="border-width: 0px;"></a>
<?php echo $texto['titulo']; ?>
e no setidioma.php
<?php
ob_start();
$default = "pt"; // 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 == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>
#29
Postou 30 dezembro 2008 - 14:00
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
#30
Postou 30 dezembro 2008 - 15:59
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
#31
Postou 30 dezembro 2008 - 16:02
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
#32
Postou 30 dezembro 2008 - 16:02
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
#33
Postou 30 dezembro 2008 - 16:03
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
#34
Postou 30 dezembro 2008 - 16:03
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
Sera que está errado a maneira como mudo o idioma?
#35
Postou 30 dezembro 2008 - 16:07
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
Sera que está errado a maneira como mudo o idioma?
#36
Postou 30 dezembro 2008 - 16:07
DarkDragonLord, em 30/12/2008 - 15:00, disse:
Outra coisa.
Com o setidioma.php que você tá, você só vai conseguir chamar pt, es e en.
olhe a seguinte parte
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
nesse caso, você tem que adicionar os outros
if( ( $idioma == "pt") or ( $idioma == "es") or ( $idioma == "en") or ( $idioma == "outra") or ( $idioma == "outra") or ( $idioma == "outra") ) // verificando se é um idioma válido
Entendeu?
E mais uma vez, agradeço ao Cerrito, pois sem esse codigo eu nao teria aprendido PHP, pq ese codigo que eu estudei como exemplo e até hoje o uso, atualizo e melhoro
Entendi mas mesmo com esses 3 idiomas eu nao consigo chamar o em ingles e espanhol
eu coloquei $texto['titulo'] = "textoqualquer" esse textoqualquer diferentes em todos os idiomas mas ele só mostra o em portugues... o em ingles e espanhol ele nao mostra.
Sera que está errado a maneira como mudo o idioma?
#37
Postou 30 dezembro 2008 - 17:04
posta pra mim ae o codigo da pagina que você tem o menu e o en.php/pt.php?
coloca dentro da tag code, assim ó
[ code ]html aqui[ / code ]
sem os espaços, coloquei senao da pal no forum
by the way, ele dá alguma msg de erro ou algo assim?
#38
Postou 30 dezembro 2008 - 19:12
DarkDragonLord, em 30/12/2008 - 18:04, disse:
posta pra mim ae o codigo da pagina que você tem o menu e o en.php/pt.php?
coloca dentro da tag code, assim ó
[ code ]html aqui[ / code ]
sem os espaços, coloquei senao da pal no forum
by the way, ele dá alguma msg de erro ou algo assim?
Nenhuma mensagem de erro
igualzinho la em cima.. soh que eu estou usando assim para mudar de lingua
<a href='?lang=' ><img src="../img/portugues.png" alt="Portugues" width="30" height="30" style="border-width: 0px;"></a> <a href='?lang=es' ><img src="../img/spanol.png" alt="Espanhol" width="30" height="30" style="border-width: 0px;"></a> <a href='?lang=en'><img src="../img/english.png" alt="Ingles" width="30" height="30" style="border-width: 0px;"></a> <a href='?lang=fr'><img src="../img/france.png" alt="Frances" width="30" height="30" style="border-width: 0px;"></a> a href='?lang=ale'><img src="../img/alemanha.png" alt="Alemao" width="30" height="30" style="border-width: 0px;"></a>
<?php echo $texto['titulo']; ?>
Ele aparece a mensagem em portugues perfeita ...mas quando eu clico no link de espanhol ou ingles para mudar ele continua com o texto em portugues.
Acho que o erro ta no setidioma.php. Porque eu nao estou usando o post para mudar o idioma.
<?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 = "pt"; // 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 == "pt") or ( $idioma == "es") or ( $idioma == "en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>
#39
Postou 30 dezembro 2008 - 20:52
Eu modifiquei o setidioma.php e esqueci de mostrar o novo (olhei o meu aqui)
Tirei o post, to usando get hahaha
comentei o original, o meu tá embaixo.
<?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 = "en"; // padrão será o ingles...
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 == "pt") or ( $idioma == "en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
*/
/*********************** BY RaphaelDDL...uma data aew, muito tempo..sei nao.. vamos considerar 30/12/2008 hahaaha ****************\
* *** *
* modificado pra get e ficar mais prático, chamando-o opor variavel na URL *
* +++ *
/*************************************************************** */
ob_start();
$default = "en"; // padrão será o ingles...
if( isset( $_GET['lang'] ) )
{
@require $_GET['lang'] . ".php";
setcookie("guardaIdioma", $_GET['lang'], 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 == "pt") or ( $idioma == "en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>
#41
Postou 01 janeiro 2009 - 20:14
juliodiz, em 31/12/2008 - 15:14, disse:
Eu cheguei a mandar um email para voce pedindo uma pagina de login, sucesso e senha. E tb tem a administrativa... gostaria de um layout bonito para apresentacao no login. Como podemos negociar?
Entendi
Bom, eu viajei e só tava aqui respondendo a ti pq vi que tu tava interessado
Voltei hoje, vou fazer aqui o orçamento e te mando, beleza
#43
Postou 06 maio 2009 - 20:02
fiz assim:
<?php
ob_start();
$default = "lang/pt-br"; // padrão será o ingles...
if( isset( $_GET['lang'] ) )
{
@require $_GET['lang'] . ".php";
setcookie("guardaIdioma", $_GET['lang'], 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 == "lang/pt-br") or ( $idioma == "lang/es") or ( $idioma == "lang/fr") or ( $idioma == "lang/en") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>na verdade eu testei de outras formas para ajustar o caminho e nada funcionou e, a princípio, essa seria a mais lógica
#44
Postou 01 julho 2009 - 15:07
Esta funcionando, trocando o idioma , no entanto estou tendo este erro :
Warning: Cannot modify header information - headers already sent by (output started at c:\windows\serv-n\www\hid\index.php:1) in c:\windows\serv-n\www\hid\setidioma.php on line 8
Meu setidioma.php
<?
ob_start();
$default = "pt";
if( isset( $_GET['lang'] ) )
{
@require $_GET['lang'] . ".php";
setcookie("guardaIdioma", $_GET['lang'], time()+3600*24*30, '/'); // ---- LINHA 8
}
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 == "pt") or ( $idioma == "en") or ( $idioma == "es") ) // verificando se é um idioma válido
{
require $idioma . ".php";
}
else
{
require $default . ".php";
}
}
ob_end_flush();
?>minhas bandeiras ....
<a href="?<?php if( isset( $_GET['ddl'] ) ) {echo "ddl=" . $_GET['ddl'] . "&";} ?>lang=pt"><img src="images/bandeira_Brasil.jpg" width="16" height="16" border="0"></a>
<a href="?<?php if( isset( $_GET['ddl'] ) ) {echo "ddl=" . $_GET['ddl'] . "&";} ?>lang=es"><img src="images/bandeira_Espanha.jpg" width="16" height="16" border="0"></a>
<a href="?<?php if( isset( $_GET['ddl'] ) ) {echo "ddl=" . $_GET['ddl'] . "&";} ?>lang=en"><img src="images/bandeira_USA.jpg" width="16" height="16" border="0"></a>onde as páginas entram ...
<?php
if(isset($_GET['ddl'])) {
include "./".$_GET['ddl'].".php";
} else {
include "./principal.php";
}
?>Ja tentei varias opções e nada ainda ... O que poderia ser ?


Entrar
Cadastre-se
Ajuda

Fechado

Quote
