• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

David Pintassilgo

Tradutor Pitês/Portugues

924 mensagens neste tópico

Descontinuado


Titulo do Projecto: Tradutor de Pitez para Portugues (P2P)

Líder do Projecto: ---

Ideia Original: D_pintassilgo

Membros Actuais do Projecto:

- Skin

- QuickFire

- Drone

- Ridelight

- NuGuN

- Ariops

Derretem os vossos neurónios a tentar decifrar o pitez ?

Codename: Decipitez

Versão: Alpha 0.0.1

Género: Quebra-Cabeças

Objectivo:

- Formar a palavra em pitez

- Colocar significado em português (não implementado ainda)

- Drag-and-Drop, arrastar as letras e colocá-las por ordem !

Boas,.. com base em muitas coisas estranhas que tenho visto pela net, (principalmente Hi5's e companhia) propunha que alguem (com MUUUUUUIIITA coragem) se dedica-se  a construir um software (de preferencia com actualizações ao minuto) para a tradução de Pitês/Português.

Como é? alguem com tomates para isso? :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hum...isso era uma ideia muito fixe mesmo...e eu podia treinar o meu PHP B)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lol eu sei como fazer (não é dificil tendo uma grande variedade de palavras numa BD actualizada) mas o maior problema é mesmo o tempo...

Tenho estado a trabalhar com computadores o dia todo, tenho 2 (o terceiro deve estar ai a rebentar) projectos importantes em PHP para fazer e começo a ficar farto de computadores o dia inteiro B)

De qualquer forma o modo de fazer isso deve ser mais ou menos do género:

Cria-se um array com as palavras e as respectivas conversões noutro.

Em seguida vai-se procurar no texto as palavras do primeiro array que serão substituidas pelas do segundo :D

Nada de muito complicado, só tinha de ter um design assim muito cor de rosínha :P

EDIT:

O array era criado por palavras existentes numa BD :P Não queriamos mudar isso à unha :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu posso tentar fazer isso B). Claro que vai ser necessário colaboradores porque isto não é trabalho só para dois tomates :P.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu posso tentar fazer isso B). Claro que vai ser necessário colaboradores porque isto não é trabalho só para dois tomates :P.

Isso fazes sem problemas sozinho :D Podes precisar de ajuda para o design ou outra coisa do género mas para o código é perfeitamente possivel fazeres isso sozinho :P Qualquer duvida posta :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem entao comecemos por lógica de script.

tenho de ter uma BD com dois colunas. uma que diga a palavra em pitês, e a outra que diga o significado em português certo?

Depois o script lê a palavra em pitês e procura a equivalente em português, e escreve no documento. certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yap... basicamente:

Texto enviado por cliente -> Base de Dados        -> Guarda as palavras em pitêz num array -> Substitui pitez do texto por português!

                                            (pitêz e português)                  (só para ser mais fácil trabalhar)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E que tal utilizarem uma teoria semelhante à da encriptação, ou seja terem um conjunto de letras para substituir as originais, é claro que é mais provável que tenha falhas, mas visto que o pitês cada vez está a evoluir mais acho que era uma boa opção...

B)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu acho que o que da mais trabalho é preencher a base de dados com todos os termos pitês e as suas devidas traduções...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu acho que o que da mais trabalho é preencher a base de dados com todos os termos pitês e as suas devidas traduções...

Pois,.. é a tal actualização de minuto a minuto LOL,... mas se for do tipo que as pititas possam ir actualizando,... é a loucura! B)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu acho que o que da mais trabalho é preencher a base de dados com todos os termos pitês e as suas devidas traduções...

Pois,.. é a tal actualização de minuto a minuto LOL,... mas se for do tipo que as pititas possam ir actualizando,... é a loucura! :P

Isso se for open source não ha problema, ha sempre forma de corrigir os Bugs  B)... Tou a ver as pitas todas a aprender a programar e a dizer assim "não é assim, epah estupido pah não vez que não percebes nada disto"  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho uma óptima ideia...

E acho que isto vai para os projectos programação  B)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nah, elas diziam mais tipo:

NaO e aXIm, XTuPiDO paH nAO x K NAo pErXebeS nD dIXto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Entao vamos e começar ja com isto B). Acho que começavamos com apenas uma BD e depois o código faz-se, porque a BD é que vai ser mais complicada e trabalhosa penso eu de que.

Que BD utilizamos?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

MySQL claro B) E a base de dados não precisa de ser tão complexa como isso... bastava 2 colunas uma com o Pitêz e outra com o Português :D

Depois podia-mos organizar as coisas por ordem alfabética por exemplo :P

Mas ai está a parte mais fácil :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 B).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lol skin venham dai os colaboradores B)

Eu fiz isto em 5 minutos espero que ajude:

<?
$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 :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para isso rullava era um wiki B) 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 :cheesygrin:

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@QuickFire

Está muito bom, mas olha n era suposto irmos buscar os dados a uma BD B)?? 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 :P

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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  :D

Bom projecto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

skin, claro que sim... mas não esperavas que fizesse um script inteiro em 5 minutos :D 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

<!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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lol skin venham dai os colaboradores :D

Eu fiz isto em 5 minutos espero que ajude:

<?
$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 :P

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

$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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@Rui Carlos

Já foi criado um novo código :P

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora