Ir para conteúdo

POWERED BY:

Arquivado

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

P. Dayvson

[Resolvido] Criar site em outros idiomas

Recommended Posts

Olá galera do fórum gostaria de saber como faço para quando clicar no link para mudar de idioma a página mude o idioma dos links e dos menus, o conteúdo não precisa ser traduzido só as outras coisas.

 

Deve usar cookies? Variáveis?

Preciso da ajuda de vocês!

 

Um exemplo sempre é bem vindo!

 

Explicando melhor o funcionamento do script:

Haverá uma bandeira simbolizando o idioma, ao clicar ele muda o idioma das partes selecionadas pelo webmaster, no caso seria tipo assim:

As categorias estão em português ao clicar na bandeira vão para inglês ficando de Carros -> Cars, Noticias -> News, Imagens -> Images, Mais -> More. Uma coisa assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma dica que posso lhe dar é o uso de um conjunto de arquivos em forato .INI like

 

vou tentar montar um exemplo de 3 links: Inicial, Sobre a Empresa e Registre-se

 

em português, temos:

Inicial, Sobre a Empresa, e Registre-se

 

 

em inglês:

Home, About us e Signup

 

 

em espanhol:

Inicio, Compañía, Registro

 

 

teríamos dentro do diretório /lang, os arquivos:

 

pt-br.lng

inicio = 'Inicial'
sobre = 'Sobre a Empresa'
registro = 'Registre-se'

en-us.lng

inicio = 'Home'
sobre = 'About us'
registro = 'Signup'

es-es.lng

inicio = 'Inicio'
sobre = 'Compañìa',
registro = 'Signup'

 

<?php
$lang =  (!isset($_COOKIE['lang']))? 'pt-br' : $_COOKIE['lang'];

$captions = parse_ini_file('/lang/'.$lang.'.lng');

echo <<<MENU
<ul class="menu">
   <li><a href="home.php">$lang['inicio']</a></li>
   <li><a href="sobre.php">$lang['sobre']</a></li>
   <li><a href="registro.php">$lang['registro']</a></li>
</ul>
MENU;

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Evandro Oliveira,

 

Apenas uma correção ao seu código:

 

 

<?php
$lang = (!isset($_COOKIE['lang']))? 'pt-br' : $_COOKIE['lang'];
$captions = parse_ini_file('/lang/'.$lang.'.lng');

echo <<<MENU
<ul class="menu">
<li><a href="home.php">{$captions['inicio']}</a></li>
<li><a href="sobre.php">{$captions['sobre']}</a></li>
<li><a href="registro.php">{$captions['registro']}</a></li>
</ul>
MENU;

 

Perceba os {} nas variáveis dentro do HEREDOC e também a troca da variável $lang para $captions que é onde estarão os valores interpretados do .INI

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

modo de interação humano<->máquina

 

note que, apesar de levar a estrutura .ini, nada mais são que arquivos de texto puro que podem ser lidos com facilidade (tanto por nós quanto pelo PHP)

 

este tipo de estrutura já é adotado em muitos sistemas OpenSource que vêm pela internet e dispõem de um arquivo do tipo config.cfg. Os dados estão todos dispostos em formato INI_LIKE

 

Se ele quiser distribuir a aplicação dele para o mundo, basta identificar as variáveis com um nome padrão em inglês, e os voluntários apenas traduzem o conteúdo entre aspas sem o menor conhecimento de linguagem de programação alguma

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.