Autor Tópico: Tradutor Pitês/Portugues  (Lida 68938 vezes)

Offline skin

  • hacking my mind
  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 4884
  • Free Knowledge
    • João Pedro Pereira - WebDevelopment
Re: Tradutor Pitês/Portugues
« Responder #15 em: 22 de Julho de 2006, 14:22 »
Concordo com o MySQL
Sim foi o que eu ja propus que fossem colunas com pitês e a tradução.
A parte complexa vai ser mesmo arranjar esses termos todos, mas eu ja tenho aqui uns colaboradores prontos para ajudar :D.
« Última modificação: 27 de Outubro de 2006, 09:01 por skin »
http://joaopedropereira.com/

Our lives begin to end the day we become silent about things that matter - Martin Luther King


Offline QuickFire

  • aka. Pedro Diogo
  • Unsigned User
  • *****
  • Mensagens: 2270
  • Olhóóóó peixe fresquinho!
Re: Tradutor Pitês/Portugues
« Responder #16 em: 22 de Julho de 2006, 14:35 »
Lol skin venham dai os colaboradores :P

Eu fiz isto em 5 minutos espero que ajude:
Código (PHP): [Seleccione]
<?
$pitez = array("NoX","XoMuX","MuItU","PiTaX");
$pitez_no = (strlen($pitez)) -1;
$portugues = array("nós","somos","muito","pitas");
$texto = "NoX XoMuX MuItU PiTaX !!!!!!";

echo "<b>Texto Inicial:</b>".$texto."<br/>";

$texto = explode(" ",$texto);

$no_palavras = (strlen($texto)) - 1;

for ($i=0 ; $i<=$no_palavras ; $i++) {
for ($p=0; $p<=$pitez_no ; $p++) {
if ($texto[$i] == $pitez[$p]) { $final .= " ".$portugues[$p]; break;}
if (($texto[$i] != $pitez[$p]) && ($p == $pitez_no)) { $final .= " ".$texto[$i]; }
}
}
echo "<b>Texto Final:</b>".$final;
?>
Não está comentádo nem nada mas acho que está bastante perceptivel :)

Offline HecKel

  • The drunk oboist
  • Stack Overflow
  • ******
  • Mensagens: 8194
    • Finja, finja, até que atinja!
Re: Tradutor Pitês/Portugues
« Responder #17 em: 22 de Julho de 2006, 14:57 »
Para isso rullava era um wiki :P PiTaSwIkI :eek:

Tinha a mesma funcionalidade..., fácil de actualizar, iteractivo e divertido :p

Claro que o desafio de fazer algo de raiz dá bastante mais gozo :w00t2:

abraços, HecKel

Offline skin

  • hacking my mind
  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 4884
  • Free Knowledge
    • João Pedro Pereira - WebDevelopment
Re: Tradutor Pitês/Portugues
« Responder #18 em: 22 de Julho de 2006, 15:06 »
@QuickFire

Está muito bom, mas olha n era suposto irmos buscar os dados a uma BD :confused:?? E vou colocar uma área para colocar o texto encriptado.

@HecKel
Mas assim com esta forma é tipo o desencrptador, pois tens o texto texto "codificado" em pitês e o programa vai "descodifica-lo" para português.

Um wiki??não sei, ...eu cá prefiro como estamos a fazer :)

EDIT
Eu no código estou a por a primeira página com estrutura HTML. e que tenha um formulário com um campo de texto, para introduzir o texto em pitez depois o resto é alterado do script do QuickFire.
« Última modificação: 22 de Julho de 2006, 16:17 por skin »
http://joaopedropereira.com/

Our lives begin to end the day we become silent about things that matter - Martin Luther King


Offline _JR_

  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 1808
  • 'Cos I just wanna fly...
Re: Tradutor Pitês/Portugues
« Responder #19 em: 22 de Julho de 2006, 16:20 »

Grande projecto! :D

Offline CR_

  • LinTeam Golden Era
  • Unsigned User
  • *****
  • Mensagens: 1361
  • .
    • http://celsor.wordpress.com/
Re: Tradutor Pitês/Portugues
« Responder #20 em: 22 de Julho de 2006, 16:27 »


EDIT
Eu no código estou a por a primeira página com estrutura HTML. e que tenha um formulário com um campo de texto, para introduzir o texto em pitez depois o resto é alterado do script do QuickFire.

Isso é que era fixe. alterava as palavras (do tipo eh - é / tmb -tambem / "q" (apenas q) - que/ etc) e as maúsculas através de uma tabela do tipo dicionário de sinónimos

Outra cena era um addon do firefox em que selecionavamos e alterava as palavras, por exemplo num forum, para Português decente, isso também era muito fixe  :)

Bom projecto.

Offline QuickFire

  • aka. Pedro Diogo
  • Unsigned User
  • *****
  • Mensagens: 2270
  • Olhóóóó peixe fresquinho!
Re: Tradutor Pitês/Portugues
« Responder #21 em: 22 de Julho de 2006, 16:27 »
skin, claro que sim... mas não esperavas que fizesse um script inteiro em 5 minutos :P Já tens ai o núcleo podes ir buscando o resto :P
Mas já agora tava entretido e lá foi disto :P
http://depassagem.info/pitez.php
Código (PHP): [Seleccione]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?
if (isset($_POST["texto"])) {
require("config.php");
$query = mysql_query("SELECT * from palavras");
$x = 0;
$pitez = array();
$portugues = array();

while($row = mysql_fetch_array($query)) {
$pitez[$x] = $row["pitez"];
$portugues[$x] = $row["portugues"];
$x = $x + 1;
}

$pitez_no = (strlen($pitez)) -1;

$texto = strtolower($_POST["texto"]);

echo "<b>Texto Inicial:</b>".$_POST["texto"]."<br/>";

$texto = explode(" ",$texto);

$no_palavras = (strlen($texto)) - 1;

for ($i=0 ; $i<=$no_palavras ; $i++) {
for ($p=0; $p<=$pitez_no ; $p++) {
if ($texto[$i] == $pitez[$p]) { $final .= " ".$portugues[$p]; break;}
if (($texto[$i] != $pitez[$p]) && ($p == $pitez_no)) { $final .= " ".$texto[$i]; }
}
}
echo "<b>Texto Final:</b>".$final;
}
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
Texto:<textarea name="texto" cols="100" rows="5"></textarea><br/>
<input type="submit" name="submit" value="DeXpItAxAr" />
</form>
</body>
</html>

O require("config.php"); é apenas para connectar à BD.

Offline Rui Carlos

  • Administrador
  • Stack Overflow
  • ******
  • Mensagens: 7017
  • @Braga
    • rcg.pt
Re: Tradutor Pitês/Portugues
« Responder #22 em: 22 de Julho de 2006, 16:50 »
Lol skin venham dai os colaboradores :P

Eu fiz isto em 5 minutos espero que ajude:
Código (PHP): [Seleccione]
<?
$pitez = array("NoX","XoMuX","MuItU","PiTaX");
$pitez_no = (strlen($pitez)) -1;
$portugues = array("nós","somos","muito","pitas");
$texto = "NoX XoMuX MuItU PiTaX !!!!!!";

echo "<b>Texto Inicial:</b>".$texto."<br/>";

$texto = explode(" ",$texto);

$no_palavras = (strlen($texto)) - 1;

for ($i=0 ; $i<=$no_palavras ; $i++) {
for ($p=0; $p<=$pitez_no ; $p++) {
if ($texto[$i] == $pitez[$p]) { $final .= " ".$portugues[$p]; break;}
if (($texto[$i] != $pitez[$p]) && ($p == $pitez_no)) { $final .= " ".$texto[$i]; }
}
}
echo "<b>Texto Final:</b>".$final;
?>
Não está comentádo nem nada mas acho que está bastante perceptivel :)

não é por nada, mas isso não é lá muito eficiente...
se tiveres uma base de dados com 2.000 palavras, para traduzir um texto, vamos, em média, fazer 1.000 comparações com os elementos do array, por cada palavra do texto.

fazendo desta forma
Código (PHP): [Seleccione]
$pitez=array("NoX"=>"nós","XoMuX"=>"somos","MuItU"=>"muito","PiTaX"=>"pitas");

...

for($i=0;$i<$no_palavras;$i++)
if (array_key_exists($texto[$i],$pitez)) {
$final .= " ".$pitez[$texto[$]];
}
não seria mais eficiente?

eu não sei muito de PHP, mas penso que os array seja implementados como tabelas de Hash (visto que os indices podem ser de qualquer tipo). se assim for, desta forma teriamos um programa bem mais eficiente, pois o acesso a elementos de uma tabela de Hash é feito em tempo (mais ou menos) constante. caso contrário, a solução poderia ser implementar uma tabela de Hash à unha.

Offline skin

  • hacking my mind
  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 4884
  • Free Knowledge
    • João Pedro Pereira - WebDevelopment
Re: Tradutor Pitês/Portugues
« Responder #23 em: 22 de Julho de 2006, 17:00 »
@Rui Carlos
Já foi criado um novo código ;)
http://joaopedropereira.com/

Our lives begin to end the day we become silent about things that matter - Martin Luther King


Offline Rui Carlos

  • Administrador
  • Stack Overflow
  • ******
  • Mensagens: 7017
  • @Braga
    • rcg.pt
Re: Tradutor Pitês/Portugues
« Responder #24 em: 22 de Julho de 2006, 17:05 »
@Rui Carlos
Já foi criado um novo código ;)

mas aparentemente continuam a usar dois ciclos  :confused:, ou seja, continua ineficiente.

Offline skin

  • hacking my mind
  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 4884
  • Free Knowledge
    • João Pedro Pereira - WebDevelopment
Re: Tradutor Pitês/Portugues
« Responder #25 em: 22 de Julho de 2006, 17:10 »
incluimos o lol na BD?

e tipo a abreviaturas que podem ser utilizadas correctamente em português, essas n sei se devemos incluir... alguém sabe de um site que tenha essas abreviaturas?

waiting for sugestions


EDIT
e existe sempre o problema daquelas palavras tipo. EsTa aSsIm cOm LEtrAS MaIoRES e MAIS PEqueNAs.
« Última modificação: 22 de Julho de 2006, 17:12 por skin »
http://joaopedropereira.com/

Our lives begin to end the day we become silent about things that matter - Martin Luther King


Offline QuickFire

  • aka. Pedro Diogo
  • Unsigned User
  • *****
  • Mensagens: 2270
  • Olhóóóó peixe fresquinho!
Re: Tradutor Pitês/Portugues
« Responder #26 em: 22 de Julho de 2006, 17:13 »
o lol parece-me que é uma abreviatura... não é bem pitez :P

Rui Carlos, este código é muito primitivo ainda... como vez aquilo foi criado em 5 minutos... nem deu tempo para pensar muito :)
De qualquer forma logo talvez actualize o código e corrijo isso para o tornar mais eficiente :)

Offline skin

  • hacking my mind
  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 4884
  • Free Knowledge
    • João Pedro Pereira - WebDevelopment
Re: Tradutor Pitês/Portugues
« Responder #27 em: 22 de Julho de 2006, 17:17 »
bem isto é um tradutor e como quem utilizar isto utilizara para traduzir para português tudo o que seja de palavras como o mt e essas abreviaturas possiveis de utilizar em português serão incluidas porque torna tudo mais simples apesar de mais trabalhoso, expressões inglesas como o caso do lol n serão incluidas.

OK?
http://joaopedropereira.com/

Our lives begin to end the day we become silent about things that matter - Martin Luther King


Offline skin

  • hacking my mind
  • Staff Revista Programar
  • Unsigned User
  • ******
  • Mensagens: 4884
  • Free Knowledge
    • João Pedro Pereira - WebDevelopment
Re: Tradutor Pitês/Portugues
« Responder #28 em: 22 de Julho de 2006, 17:21 »

Grande projecto! :D

Obrigado _JR_. Vamos esforçar-nos (penso que posso falar pelo QuickFire tb) para fazer deste um bom trabalho.



EDIT
Eu no código estou a por a primeira página com estrutura HTML. e que tenha um formulário com um campo de texto, para introduzir o texto em pitez depois o resto é alterado do script do QuickFire.

Isso é que era fixe. alterava as palavras (do tipo eh - é / tmb -tambem / "q" (apenas q) - que/ etc) e as maúsculas através de uma tabela do tipo dicionário de sinónimos

Outra cena era um addon do firefox em que selecionavamos e alterava as palavras, por exemplo num forum, para Português decente, isso também era muito fixe  :)

Bom projecto.

Sim CR_ mas tem calma, para já estámos a trabalhar na construção de uma BD base e de um bom código, o QuickFire é que está a tratar mais do código porque ele é que é o pro, mt melhor que eu :P.


Tudo a seu tempo.
http://joaopedropereira.com/

Our lives begin to end the day we become silent about things that matter - Martin Luther King


Offline vaurdan

  • CRLF
  • ****
  • Mensagens: 723
  • Ser Henrique, é ser eu.
Re: Tradutor Pitês/Portugues
« Responder #29 em: 22 de Julho de 2006, 19:13 »
meus amigos, voçes nao presiam de uma db. Eu tenho um script desse tipo de mIRC. VOu postalo para voçes se basearem nele.
Código: [Seleccione]
alias pita {
  var %texto = $1-
  var %x = 1, %y = $numtok(%texto,32)
  while (%x <= %y) {
    if (($right($gettok(%texto,%x,32),1) == a) && ($len($gettok(%texto,%x,32)) > 1)) { var %texto2 = %texto2 $gettok(%texto,%x,32) $+ h }
    elseif (($right($gettok(%texto,%x,32),1) == e) && ($len($gettok(%texto,%x,32)) > 1)) { var %texto2 = %texto2 $gettok(%texto,%x,32) $+ h }
    elseif (($right($gettok(%texto,%x,32),1) == i) && ($len($gettok(%texto,%x,32)) > 1)) { var %texto2 = %texto2 $gettok(%texto,%x,32) $+ h }
    elseif (($right($gettok(%texto,%x,32),1) == o) && ($len($gettok(%texto,%x,32)) > 1)) { var %texto2 = %texto2 $gettok(%texto,%x,32) $+ h }
    elseif (($right($gettok(%texto,%x,32),1) == u) && ($len($gettok(%texto,%x,32)) > 1)) { var %texto2 = %texto2 $gettok(%texto,%x,32) $+ h }
    else { var %texto2 = %texto2 $gettok(%texto,%x,32) }
    inc %x
  }
  msg $active $replace(%texto2,qu,k,s,x,l,w,oh,uh,wow,lol,wh,lh,nãuh,naum,nauh,naum)
}

http://www.neopt.org <- O meu blog xD