Código fonte ? Eu sei escrever! Introdução Como parte da campanha que estamos promovendo para melhorar a escrita em sites abertos na internet, reduzindo o uso do incompreensível “internetês” em sites de muita visitação, como fóruns, blogs, e outras comunidades do gênero, estamos disponibilizando a primeira versão, ainda em fase experimental, do tradutor online de […]
Código fonte ? Eu sei escrever!
Como parte da campanha que estamos promovendo para melhorar a escrita em sites abertos na internet, reduzindo o uso do incompreensível “internetês” em sites de muita visitação, como fóruns, blogs, e outras comunidades do gênero, estamos disponibilizando a primeira versão, ainda em fase experimental, do tradutor online de “internetês” para o nosso português.
O funcionamento é baseado na simples troca de palavras baseado em um dicionário (uma tabela com os termos conhecidos e suas respectivas traduções) que pretendemos ir melhorando com a colaboração de todos.
O código fonte do sistema de tradução que usamos no Fórum PCs para a campanha “Eu sei escrever” é composto de algumas partes distintas. Vou detalhar cada uma delas:
A maior parte dos sites usa o conceito de CSS (Cascade Style Sheet- maiores informações em http://www.w3.org/Style/CSS/ ) que é um arquivo com as definições de aparência (estilo) de todas as classes atribuídas à tags HTML usadas na página que é vista pelo usuário. No Fórum PCs utilizamos a seguinte definição (classes) para que as palavras “traduzidas” apareçam com destaque no meio do texto, mostrando que foram efetivamente alteradas pelo programa:
.euseiescrever {color: #990000; font-style: italic;}
Essa “classe” será incluída no html dinamicamente, durante a execução do código que fará a substituição das palavras. A cor #990000 é um vermelho tipo “telha” e decidimos marcar a palavra em itálico, mas as duas atribuições podem ser alteradas de acordo com o layout do site.
Para aqueles que não usam CSS, pode-se incluir o código abaixo no cabeçalho da(s) página(s) HTML do site em questão, em qualquer posição antes da tag
…..
?.
No Fórum PCs as palavras dos textos são armazenadas no banco de dados tal como foram escritas, porém são traduzidas para o nosso idioma compreensível durante a montagem das páginas. No nosso caso, usamos a linguagem PHP nativa do programa phpBB, um código Open Source para “bulletin boards” ao qual nosso site é derivado.
No caso do phpBB, utilizamos uma ferramenta já existente que faz a substituição de “palavrões” por outros termos mais adequados a um site público. A tabela com a lista de palavras é acessível pelo painel do controle do administrador e há um arquivo function.php que fica no diretório /includes/ que precisa ser alterado para que a função passe a fazer também a correção com base no dicionário de “internetês”. A função que nos interessa é encontrada por volta da linha 550 desse programa:
/*****************************************************************************/
function obtain_word_list(&$orig_word, &$replacement_word)
{
global $db;
//
// Define censored word matches
//
$sql = “SELECT word, replacement FROM
” . WORDS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, “Could not get censored words from database”, “”, __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$orig_word[] = “#(?])#i”;
$replacement_word[] = “” . $row[“replacement”] . ““;
}
while ( $row = $db->sql_fetchrow($result) );
}
return true;
}
/*****************************************************************************/
Para quem usa o código fonte do phpBB, as linhas marcadas em vermelho são as únicas que precisam ser alteradas.
A linha que define o array $orig_word é a que ainda está dando um pouco de trabalho, pois definições (caracteres após o sinal #) que determinam quando as palavras devem ser substituídas, baseadas na proximidade de outros caracteres, ainda pode melhorar um pouco. Na forma atual, as palavras que constam na tabela não serão substituídas se estiverem:
Como a decisão de trocar ou não a palavra envolve a remoção para análise do caractere anterior e posterior a tal palavra, as indicações “1” e “3” repõe os respectivos caracteres nos seus lugares, inserindo a tag palavra traduzida
O código acima não inviabiliza o uso de palavras comuns (nós usamos *****) para substituir palavrões e ainda melhora a aplicação correta da substituição nesses casos, que é um pouco falha na versão original do phpBB.
Para aqueles administradores que não usam o phpBB o processo é bastante similar, porém será preciso escrever uma função que lê uma tabela de palavras a ser substituída, monta dois arrays de variáveis (um com as palavras que devem ser substituídas e outro com as respectivas traduções) e buscar a ocorrência desses casos dentro do texto, fazendo a substituição sempre que necessário. Não é difícil programar essa correção em sites dinâmicos, ou seja, aqueles que usam programas para ler bancos de dados e gerar as páginas em HTML que serão vistas pelo usuário. Geralmente esses sites usam PHP, ASP, Coldfusion ou outras linguagens de construção onde o código a ser escrito é bastante semelhante ao que apresentamos aqui.
Pedimos àqueles administradores de outros sites que por ventura desenvolvam códigos próprios que divulguem os mesmos para nossa comunidade no site www.euseiescrever.com.br permitindo que outros obtenham o mesmo beneficio.
O próximo passo é definir a lista de palavras que serão traduzidas/substituídas durante a apresentação para o usuário.
A lista de palavras que usamos é dinâmica e será alterada sempre que necessário, de acordo com a contribuição de vocês, participantes da campanha. No caso do phpBB essa lista é armazenada na tabela “phpbb_words” e inclui palavrões diversos e algumas palavras geralmente escritas com a grafia errada. Removemos dessa lista todos os palavrões já mapeados para evitar que alguns usuários usem outros ainda não filtrados em nosso site.
Para aqueles que quiserem colaborar acrescentando palavras em “internetês” e suas respectivas traduções nessa lista, basta fazer uso dos comentários desse artigo ou enviar um e-mail para paulocouto@forumpcs.com.br ou preuss@forumpcs.com.br
Nesse momento a lista que utilizamos é a seguinte:
| Original | Substituição |
| ascender | acender |
| axa | acha |
| axandu | achando |
| achu | acho |
| axo | acho |
| axu | acho |
| adapitador | adaptador |
| adimiro | admiro |
| ae | aí |
| alguem | alguém |
| alteraçao | alteração |
| anaum | anão |
| akele | aquele |
| akeles | aqueles |
| aki | aqui |
| aki | aqui |
| arkivo | arquivo |
| belesa | beleza |
| blz | beleza |
| benvinda | bem-vinda |
| benvindo | bem-vindo |
| kbca | cabeça |
| kbça | cabeça |
| kra | cara |
| ksa | casa |
| serto | certo |
| colokei | coloquei |
| cmg | comigo |
| comcorrer | concorrer |
| concerto | conserto |
| correçoes | correções |
| dah | dá |
| dum | de um |
| descente | decente |
| dedita | dedica |
| dejando | deixando |
| dependencia | dependência |
| desipador | dissipador |
| dessipador | dissipador |
| dicipador | dissipador |
| dis | diz |
| eh | é |
| embassada | embaçada |
| embassado | embaçado |
| engrassado | engraçado |
| ingraçado | engraçado |
| entao | então |
| intaum | então |
| ekilibrar | equilibrar |
| ekipamento | equipamento |
| skema | esquema |
| skema | esquema |
| skeminha | esqueminha |
| ta | está |
| tá | está |
| tah | está |
| taum | estão |
| estarah | estará |
| tô | estou |
| ew | eu |
| excessão | exceção |
| exelente | excelente |
| esplicar | explicar |
| fasso | faço |
| fassu | faço |
| falandu | falando |
| flw | falou |
| flz | falou! |
| faze | fazer |
| faze | fazer |
| fika | fica |
| ficano | ficando |
| fikaram | ficaram |
| fikou | ficou |
| fikei | fiquei |
| fmz | firmeza |
| funfa | funciona |
| funfar | funcionar |
| funfava | funcionava |
| funfava | funcionava |
| gforce | GeForce |
| graficos | gráficos |
| ha | há |
| abilita | habilita |
| abilite | habilite |
| hardaware | hardware |
| averá | haverá |
| impessora | impressora |
| impresora | impressora |
| infelis | infeliz |
| infelismente | infelizmente |
| inves | invés |
| issu | isso |
| ja | já |
| jah | já |
| geito | jeito |
| lah | lá |
| lancados | lançados |
| lancar | lançar |
| Legau | legal |
| licensa | licença |
| mo | maior |
| memorias | memórias |
| mes | mês |
| memso | mesmo |
| msm | mesmo |
| mew | meu |
| mt | muito |
| mto | muito |
| nda | nada |
| nda | nada |
| n | não |
| ñ | não |
| nao | não |
| naum | não |
| naun | não |
| neh | não é? |
| naqules | naqueles |
| ninguem | ninguém |
| NVIADIA | nVidia |
| oq | o que |
| padrao | padrão |
| peskisas | pesquisas |
| pikos | picos |
| pq | porque |
| poko | pouco |
| pa | pra |
| preco | preço |
| profissaum | profissão |
| promossaum | promoção |
| qualquer | |
| qqr | qualquer |
| qquer | qualquer |
| qdo | quando |
| qnd | quando |
| qndo | quando |
| qnto | quanto |
| qto | quanto |
| ke | que |
| ki | que |
| q | que |
| kebrar | quebrar |
| keimadas | queimadas |
| keimadora | queimadora |
| keimou | queimou |
| keimou, | queimou |
| ker | quer |
| kero | quero |
| kiz | quis |
| raidinho | radinho |
| rapidissimo | rapidíssimo |
| Realment | realmente |
| ridiculo | ridículo |
| sao | são |
| seh | se |
| sinau | sinal |
| soh | só |
| talz | tal |
| taw | tal |
| tamber | também |
| tb | também |
| tbem | também |
| tbm | também |
| tao | tão |
| tenque | tem que |
| tenhu | tenho |
| tiversse | tivesse |
| tds | todos |
| topico | tópico |
| trankilo | tranqüilo |
| trokar | trocar |
| trokei | troquei |
| td | tudo |
| vae | vai |
| valew | valeu |
| VALEWWW | valeu |
| vaum | vão |
| ve | vê |
| vc | você |
| vc. | você. |
| vc… | você… |
| ceis | vocês |
| vcs | vocês |
| vcs. | vocês. |
| vcs… | vocês… |