[SP-pm] I18N na base de dados

Luis Motta Campos luismottacampos at yahoo.co.uk
Thu Mar 11 04:59:19 PST 2010


eutsiv :: Geovanny Junio wrote:
> Olá Companheiros, tudo bem?

[com a voz do Lula] Olá companheiro! A Luta continua!

> Estou desenvolvendo uma aplicação em Catalyst, é desejável suporte 
> multilingual, então usei o Catalyst::Plugin::I18N, e tudo funcionou 
> perfeitamente. Mas também preciso de suporte multilingual na base de
> dados, por exemplo, no cadastro de um carro, a descrição em
> português, inglês, espanhol, etc...
> 
> Estou fazendo a pergunta na hora errada, pois já criei todo o Schema
> SQL das 70 tabelas (até o momento), mas enfim, antes tarde do que
> nunca.

Eu concordo com você - você está fazendo a pergunta tarde demais. :)

> Na experiência de vocês, qual a melhor solução na estruturação do
> banco? Eu optei por uma estrutura mais normalizada ( 
> http://scratchpad.wikia.com/wiki/Multilingual_Data_Structure#Core_-_Language),
>  sei que vou evitar duplicidade de dados, mas tenho que pagar em
> perfomance, e também terei um pouco mais de complexidade na hora de
> selecionar o idioma de acordo com as preferências ou localização do
> usuário logado.

Performance é balanço: é preciso escolher entre performance e economia
de recursos (espaço em disco, por exemplo), entre outras coisas. Eu acho
que a sua escolha é boa, contanto que a sua base de dados seja escalável
horizontalmente (com replicação, por exemplo).

Qual é a sua estimativa de utilização? Qual é a estimativa de trabalho
(em milhares de queries por segundo, possivelmente) da sua Base de Dados?

> Enfim, na hora das consultas complica um pouco, pesquisei na CPAN e
> não encontrei nada. Estava querendo escrever um módulo para esse caso
> e fazer upload.

Por que complica? Qual é a sua dificuldade?

> Enfim, gostaria de opiniões de quem já trabalhou com
> internacionalização a nível de banco de dados. Se essa estrutura que
> optei é um bom caminho, ou não. Ainda está em tempo de eu voltar
> atrás.

Internacionalização é sempre um saco. A gente faz por que quer ganhar
dinheiro falando mais de uma língua, mas é difícil fazer negócios com
intermédio de tradutores. A minha opinião é que o seu website não vai
virar mais grana por que tem anúncios em 10 línguas diferentes - você
está apenas criando sarna para se coçar.

Por exemplo, aqui no eBay a gente faz força para internacionalizar o
conteúdo "estático": menus e links podem ser exibidos em uma língua
escolhida pelo usuário. Para o conteúdo, não fazemos força nenhuma. Se
você publicar o seu anúncio classificado em mandarim antigo, ele vai
sempre aparecer em mandarim antigo.

Do ponto de vista legal, os advogados do eBay não cansam de repetir:
"Tradutore, Traditore" - se você traduzir os anúncios ou permitir que
alguém traduza os anúncios para você, como você pode saber se está
vendendo a mesma coisa em idiomas que você não conhece? E, do ponto de
vista de retorno pelo seu esforço, qual é a vantagem de ter anúncios em
línguas que você não fala? A gente vai se contatar em inglês para a
transação, na melhor das hipóteses...

> As vezes penso que faço umas perguntas meio vagas aqui, mas
> sinceramente, gosto muito de escutar a opinião de vocês. O nível de
> conhecimento dos participantes dessa lista impressiona.

Às vezes eu tenho a impressão de a direção comercial por trás de certos
empreendimentos é meio vaga, e eu fico muito irônico e pedante com isso,
mas isso é apenas um resmungo de um troll velho... eu gosto de responder
e criticar, faço isso pelo esporte. Espero que as minhas considerações
te faça pensar e te levem de volta para o seu departamento comercial,
para eles explicarem por que é que querem conteúdo internacionalizado
desta forma...

Putamplexos.
-- 
Luis Motta Campos is a DBA,
Perl Programmer, foodie and photographer.


More information about the SaoPaulo-pm mailing list