Bem pessoal é o seguinte, fiz um sistema pra Multi-Linguagem, tipo pro site poder ser em várias linguagens, sem dar muito trabalho pra editar.
E eu queria saber de quem já fez algo do tipo, como que vocês fazem e se o meu tah no caminho certo ;)
Boa cara!
Gostei desse sistema!
Havia analisado o sistema do phpbb mas ele é um pouco mais complexo...
Porém acredito que a idéia seja a mesma!
Vou começar a usar nos meus scripts!
hehe
Um abraço
nunca tentei nada do tipo Eclipse, mas o parabenizo pela iniciativa de compartilhar e pedir a opniao ^^
have fun
Só uma pergunta, é o usuário que usa de-de(Alemão/Alemanha), en-GB(Inglês/UK) ou afins, terá que se contentar com o acesso ao teu site só em pt-BR?
Uma dica para resolver esse problema, sempre coloque o idioma default como en-US, e algumas flags para o usuário modificar o idioma do site ao bel-prazer.

P.s:
O correto não seria
while (false !== ($files = readdir($pon))) {
$langs[] = $files;
}
?
Eu me baseei na saída de 4 navegadores (Firefox, Internet Explorer, Safari, Netscape) usando o windows xp em português.
Firefox em português, resultado:
pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3 (ok)
Internet Explorer em português, resultado:
pt-br (ok)
Safari em inglês, resultado:
pt-BR (ok)
Netscape em inglês, resultado:
en-us,en;q=0.5 (no)
Acho que todos com exceção do Netscape pegaram com base no sistema, o Netscape com base nele mesmo :)
[/quote]
Sim sim, eu só quis demonstrar como exemplo, pois é nossa língua certo? mais na verdade eu invés de colocar o inglês(ou português) direto, eu iria exibir um combo (ou flags) com os idiomas disponíveis para o usuário escolher, e então pegar o idioma por $_GET e pular todo esse procedimento.
Quote from: "Magrinho Loko"P.s:
O correto não seria
while (false !== ($files = readdir($pon))) {
$langs[] = $files;
}
?
Pode ser, mais se não tiver nada na pasta não ia funcionar porque estaria sem tradução do mesmo jeito :P vlw...
Já já posto ele com as modificações que citei...
lang.php - Agora com as modificações
<?php
###########[rod MultiLanguage v1.1]###########
#
# Rodrigo Aparecido - rod.apd@gmail.com
# Rodweb / Eclipse - msn.rod@hotmail.com
# Críticas e sugestões mande um e-mail ;)
#
################################02-12-2007]##
# Pega o idioma suportado
$accept = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
# Pega a pasta atual e entra
$dir = getcwd();
$dir .= '/langs';
$pon = opendir($dir);
# Joga os arquivos no array
while (false != ($files = readdir($pon))) {
$langs[] = $files;
}
# Pega idioma selecionado pelo combo
if(isset($_GET['lang'])){
$name = $_GET['lang'].'.php';
if(file_exists($dir.'/'.$name)){
require($dir.'/'.$name);
} else {
echo "Language not suported!";
}
} else {
# Faz a verificação, se a liguagem padrão existem no sistema
foreach ($langs as $name) {
if ($name != "." && $name != ".."){
$lang = explode('.', $name);
$_langs[] = $lang[0];
if(ereg("^".$lang[0]."[-a-z]*", $accept)){
require($dir.'/'.$name);
$ok = $lang[0];
break;
}
}
}
# Caso o idioma não for compatível mostra os disponíveis
if(!isset($ok)) {
require($dir.'/en2.php');
?>
<form name="lang_select" method="get" action="?">
<select name="lang" id="lang" onchange="lang_select.submit()">
<option value="en" selected="selected">English (default)<option>
<?
foreach($_langs as $lang){
if(!isset($w[$lang])){
$a = $lang;
} else {
$a = $w[$lang];
}
echo "<option value=\"$lang\">$a</option>";
}
?>
</select>
</form><br>
<?
}
} #Fecha get
?>
Download: Arquivo Atualizado (//http://www.4shared.com/file/33518007/d8e09a44/rod-multilanguage.html)
o meu eu fiz com XML, e o simplexml, usando PHP template com a função extract(), não poderia funcionar melhor.
Poste um exemplo de como funciona ai