Strict Standards: Non-static method themeGluedIdeas_Subtle::initOptions() should not be called statically in /home/riopro/www/blog.riopro.com.br/wp-content/themes/gluedideas_subtle/header.php on line 19
Riopro Blog - » Plugin para localização em Rails

Plugin para localização em Rails



Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Recentemente, precisamos adicionar suporte à múltiplas linguagens à uma aplicação que estamos desenvolvendo aqui na Riopro, criada em Ruby, a partir do excelente framework Ruby on Rails. Como nunca fui muito fã de re-inventar a roda, saí pela rede procurando o que já havia sido feito em matérias de localização e/ou internacionalização em Rails. Para minha surpresa, a resposta foi: muito pouco.

Ou melhor, foi feito bastante coisa, mas nada que me agradasse o suficiente. A maioria das soluções encontradas ou eram muito simples para nossas necessicadas, ou muito complexas (este último, o caso do plugin Globalize). Porém havia luz no fim do túnel multi-linguagem.

O plugin Localization parecia bastante promissor. É simples (até no nome!), inspirado no já mais do que conhecido padrão gettext (apesar de não usá-lo), e mantém seus arquivos de tradução em disco, ao contrário de várias outras alternativas que temem em usar o banco de dados para isso, o que não queríamos. Porém, o plugin é restrito à “tradução” de strings contidas nos arquivos do sistema. E no nosso caso, nossos modelos possuiam alguns campos que precisariam receber diferentes traduções também.

Assim, inspirado neste post catado pelo Oráculo, criamos um outro plugin, habilmente chamado de Model Localization, que extende o plugin Localization permitindo facilmente o uso do mesmo sistema de tradução para os modelos da sua aplicação! Porém, ter que instalar dois plugins diferentes para executar uma só tarefa nos pareceu… feio. Além disso, estávamos espalhando tarefas Rake para auxiliar a criação e manutenção dos arquivos de tradução por todas as nossa aplicações… Uma bagunça.

A solução para apaziguar as coisas foi o novíssimo plugin LocalizationRP, que nada mais é do que um amálgama dos dois plugins em um só, adicionado das belíssimas tarefas Rake mencionadas. Tudo liberado sob a licença original do plugin Localization, MIT License, para manter a liberdade fluindo.

Para usar o plugin, instale-o em sua aplicação Rails normalmente, e dê uma lida nos readme’s (aqui e aqui). Está tudo bem explicado, mas qualquer dúvida avise-nos aí nos comentários. E se encontrar algum erro ou tiver alguma melhoria a fazer, não hesite em entrar em contato! :)

Informações e Links

Junte-se comentando, lendo o que os outros dizem ou colocando um link a partir do seu blog.


Outros Artigos

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Instalando o VMware Server no Ubuntu 7.10

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
O seu cliente trabalha de graça pra você e ainda fica mais feliz por isso?

Comente

Tire um tempo para comentar e nos dizer o que você acha. Alguns códigos HTML são permitidos para formatação.

Comentários dos Leitores

Seja o primeiro a comentar!