
Artigo 57 / 58
Criar um site multi língua com PHP
create a multi language web site, site com opção de linguas
Muitos de nós gostariam de possuir um site multi língua, pois alé de alargarmos o domínio ao número de visitantes ao site, confere uma aparência mais profissional.
Para construção desta funcionalidade vamos utilizar a opão de tradução para duas línguas.
O primeiro passo é criar o ficheiro pt.php e este deve ser nomeado exactamente como o nome acima. Nesse ficheiro vamos armazenar o texto que queremos mostrar na página onde a tradução é invocada. No meu exemplo eu recorri ao uso de constantes
<?php
// constante que contem o texto a ser invocado para tradução
define("HELLO","Bemvindo ao site da Revista PHP");
/***********************************************************
Ou por opção poder-se-ia utilizar variáveis
$texto ="Bemvindo ao site da Revista PHP";
***********************************************************/
?>
Salve como "pt.php" e proceda da mesma forma para o ficheiro "en.php" adicionando o seguinte código.
<?php
define("HELLO","Welcome to the Revista PHP website");
?>
Agora vamos criar o ficheiro teste.php, onde vamos construir o procedimento para fazer a alteração na opção de linguagem.
Aí vamos criar os links e o mecanismo como as os ficheiros são carregados.
Segue o código comentado
<?php
/**********************************************
José Franco
16 de Junho de 2008
Revista PHP :: www.revista-php.net
Under Creative Commons
*********************************************/
// não existe variável via url , a ligua é pt
if(!isset($_GET["lang"])){
$lingua = "pt";
}else{
// senão a ligua é aquela selecionada pelo utilizador1
$lingua = $_GET["lang"];
}
// impede que sejam carregados ficheiros diferentes
if($lingua=="pt" || $lingua=="en"){
// utiliza o valor da variável $lingua para carregar o ficheiro
include( $lingua.".php");
}
// cria os links para selecção das línguas
echo "<a href=\"". basename(__FILE__)."?lang=pt\" target=\"_self\">
Português </a>";
echo " ";
echo "<a href=\"". basename(__FILE__)."?lang=en\" target=\"_self\">
English </a>";
//imprime o texto de acordo com a liguagem escolhida
echo "<br><hr><b>";
echo HELLO;
echo "</b>";
?>
Existem 3 comentários para este artigo
Estão online 5 utilizadores !