[SP-pm] I18N na base de dados

eutsiv :: Geovanny Junio geovanny at eutsiv.com.br
Thu Mar 11 03:25:07 PST 2010


Olá Companheiros, tudo bem?

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.

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.

Para quem não leu o link, a estrutura é a seguinte:

Car ( tabela principal - nessa tabela estão todos os dados neutros com
relação a idioma )
id - primary key
year
size

Car_translation ( nessa tabela estão as traduções - nem sempre um item terá
as traduções para todos os idiomas )
car_id - foreign key
language_iso_code -  por exemplo: en, pt-br, jp
primary_language - define se é a linguagem de origem (Y|N), ou seja, o
idioma do primeiro cadastro, nem sempre um item terá as traduções para todos
os idiomas
name -> demais campos traduzidos
description


Com base nisso, na hora das pesquisas, a ordem de preferência seria:
1 - Informações do idioma de preferência do usuário
2 - Informações em inglês - idioma universal
3 - Informações no idioma de origem (primary_language)

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.

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.

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.

Grato,

--
Geovanny Junio
Consultor de Tecnologia
geovanny (at) eutsiv.com.br
+55 31 9422-8885
+55 31 3393-9132
www.eutsiv.com.br

Este e-mail pode conter informação privilegiada e confidencial. Se você não
é destinatário da
mensagem, por favor apague a mensagem e comunique-nos o fato de imediato.

This e-mail contains information that may be
privileged and confidential. If you are not the intended recipient, please
delete the e-mail and notify us immediately.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100311/b2b007ba/attachment.html>


More information about the SaoPaulo-pm mailing list