Ir para conteúdo

POWERED BY:

Arquivado

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

sfonseca45

[Resolvido] Script Tradutor

Recommended Posts

Bom Dia

 

TEnho um script em PHP que serve para voce colocar outras linguas (ingles/espanhol/frances...) porém tem alguma errada não consigo de maneira alguma faze-lo funcionar.

 

Vejam como funciona :

 

Arquivo - tradutor.php

este arquivo é incluido em todas as paginas do site.

 

<?
session_start();
$strFullLang = $HTTP_ACCEPT_LANGUAGE;
function detectaLiguagem(){
  global $strFullLang;
  $sigla = split($strFullLang, "-");
  if ($sigla[0] = "br"){
	return "portugues";
  }elseif ($sigla[0] = "en"){
	return "ingles";
  }else{
	return false;
  }
}
$padrao = "portugues";
if (isset($idioma)){
  $id = $idioma;
  $_SESSION["IDIOMA"] = $id;
}elseif (isset($_SESSION["IDIOMA"])){
  $id = $_SESSION["IDIOMA"];
}elseif (detectaLiguagem()){
  $id = detectaLiguagem();
  $_SESSION["IDIOMA"] = $id;
}else{
  $id = $padrao;
  $_SESSION["IDIOMA"] = $id;
}
function tradutor($cod){
  global $id;
  $nome = $id.".txt";
  if (!file_exists($nome)){
	$nome = $padrao.".txt";
  }
  $fp = fopen($nome, "r");
  for($i = 0; $i < $cod; $i++){
	$buffer = fgets($fp, 4096);
  }
  return $buffer;
  fclose($fp);
}
?>

arquivo index.php

como podem notar no local onde deve estar os textos existe uma referencia a um Tradutor() que esta num arquivo txt - dependendo da lingua escolhida ele deve buscar no txt correspondente

 

<?php include("tradutor.php"); ?>
<html>
<head>
<title>[{<?=Tradutor(12)?>}]</title>
</head>

<body bgcolor="#ffffff" text="#000000" link="#3661a1" vlink="#6f6c81" alink="#d5aa83">
<br><center><font color="#3661a1" size="+6">W W W . C O M . B R</font></center><br>
<h4><center>
( <b><?=Tradutor(1)?></b> ) ( <a href=index.php><?= Tradutor(2) ?></a> . <a href="index.php"><?= Tradutor(3) ?></a> . <a href="index.php"><?= Tradutor(4) ?></a> . <a href="index.php"><?= Tradutor(5) ?></a> ) ( <a href="mailto:foob@r.com"><?= Tradutor(6) ?></a> )
</center></h4>
<br><table width=570 border=0 cellspacing=0 cellpadding=0 align=center><tr> <td align=center bgcolor=#adccff>   <b><font color=white><?=Tradutor(8)?></font></b>  </td></tr><tr>  <td align=left>	<br>
<div align=left>
 <b><?=Tradutor(7)?></b>
</div>

<!-- Start of news -->
<small>
<br>
<br>21/09/07 - <?=Tradutor(13)?>
</small>
<!-- End of news -->

<br><br>

</td></tr></table>
<table width=570 border=0 cellspacing=0 cellpadding=0 align=center> <tr>  <td align=center bgcolor=#adccff>   <small>[<a href="mailto:sdg2k@mail.com">@</a>]</small>  </td> </tr></table><br>

<br><br><center><?=Tradutor(11)?>:<br>
<a href="index.php?idioma=ingles"><?=Tradutor(9)?></a> |
<a href="index.php?idioma=portugues"><?=Tradutor(10)?></a></center>
</body>
</html>

E por ultimo o arquivo portugues.txt

 

inicial
sobre
arquivos
capturas
links
email
notícias
Benvindo!
Inglês
Português
Selecione o idioma
Revista www.com.br
Era um agradável e ensolarado dia de agosto em um vilarejo na costa de New Bruswick, Canadá. Damian e Danny, ambos com dezesseis anos, resolveram dar uma caminhada em uma das trilhas da floresta próxima à aldeia. Nunca lhes passou pela cabeça que pudesse existir qualquer perigo em andar por aquelas trilhas, mas não demorou para que se achassem envolvidos nas mais aterradoras três horas de suas vidas.

O problema é que na página index.php ele não trás o que esta nos txt - apenas <?=tradutor(1)?>

 

Será que poderiam me ajudar?

 

Utilizei um script parecido no ASP e funcionou beleza...

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido,vou postar o codigo agora com todas as alterações caso alguem necessite ...

 

tradutor.php

 

 

<?php
session_start();
$strFullLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'] ,0,2);
function detectaLiguagem(){
  global $strFullLang;
  $sigla = $strFullLang;
  if ($sigla[0] = "pt"){
	return "portugues";
  }elseif ($sigla[0] = "en"){
	return "ingles";
  }else{
	return false;
  }
}
$idioma = $_GET['idioma'];
$padrao= "portugues";
if (strlen($idioma)>0){
$id = $idioma;
$_SESSION['IDIOMA'] = $id;
}
elseif (isset($_SESSION['IDIOMA'])){
$id = $_SESSION['IDIOMA'];
}elseif (detectaLiguagem()){
$id = detectaLiguagem();
$_SESSION['IDIOMA'] = $id;
}else{
$id = $idioma;
$_SESSION['IDIOMA'] = $id;
}

function tradutor($cod){
  global $id;
  $nome = $id.".txt";
  if (!file_exists($nome)){
	$nome = $idioma.".txt";
  }
  $fp = fopen($nome, "r");
  for($i = 0; $i < $cod; $i++){
	$buffer = fgets($fp, 4096);
  }
  return $buffer;
  fclose($fp);
}
?>

 

pagina index.php

 

 

<? include ("tradutor.php"); ?>
<html>
<head>
<title><?= Tradutor(12) ?></title>
</head>

<body bgcolor="#ffffff" text="#000000" link="#3661a1" vlink="#6f6c81" alink="#d5aa83">
<br><center><font color="#3661a1" size="+6"><?= $_SESSION["IDIOMA"] ?>W W W . C O M . B R</font></center><br><h4><center>
( <b><?= Tradutor(1) ?></b> ) ( <a href=index.php><?= Tradutor(2) ?></a> . <a href="index.php"><?= Tradutor(3) ?></a> . <a href="index.php"><?= Tradutor(4) ?></a> . <a href="index.php"><?= Tradutor(5) ?></a> ) ( <a href="mailto:foob@r.com"><?= Tradutor(6) ?></a> )
</center></h4>
<br><table width=570 border=0 cellspacing=0 cellpadding=0 align=center><tr> <td align=center bgcolor=#adccff>   <b><font color=white><?=Tradutor(8)?></font></b>  </td></tr><tr>  <td align=left>	<br>
<div align=left>
 <b><?=Tradutor(7)?></b>
</div>

<!-- Start of news -->
<small>
<br>
<br>21/09/07 - <?=Tradutor(13)?>
</small>
<!-- End of news -->

<br><br>

</td></tr></table>
<table width=570 border=0 cellspacing=0 cellpadding=0 align=center> <tr>  <td align=center bgcolor=#adccff>   <small>[<a href="mailto:sdg2k@mail.com">@</a>]</small>  </td> </tr></table><br>

<br><br><center><?=Tradutor(11)?>:<br>
<a href="index.php?idioma=ingles"><?=Tradutor(9)?></a> |
<a href="index.php?idioma=portugues"><?=Tradutor(10)?></a></center>
</body>
</html>

Para cada lingua deve ter um arquivo txt ( ingles -> ingles.txt // portugues -> portugues.txt ) com o conteudo do site ...

 

 

 

Boa Tarde

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi amigo,

não entendi como isso funciona http://forum.imasters.com.br/public/style_emoticons/default/blush.gif , e estou muuuito interessado, pois tenho um site e quero a possibilidade dos usuários internacionais poderem ler, peço que me explique como devo proceder para fazer funcionar a sua idéia no meu site.

Grande abraço...

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Bita

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.