Migrando do ruby gettext para o ruby i18n

Bráulio Bhavamitra brauliobhavamitra at gmail.com
Sun May 5 22:56:51 BRT 2013


Olá comunidade,

Desde o rails 2.2 foi incorporado o ruby i18n como sistema padrão de
traduções. O sistema traz inúmeras vantagens em relação ao ruby gettext,
antigo sistema usado em aplicações rails e ainda hoje no noosfero:
- Texto em inglês separado do código, permitindo um olhar centralizado e
cuidadoso de um redator para melhorar a comunicação da interface
- Muito mais fácil de manter: o rake updatepo cria conflitos muito difíceis
de se resolver no git
- Melhor internacionalização de moedas, datas, etc
- Melhor integração com formulários
- Melhor performance

Por conta dos conflitos no git no desenvolvimento do plugin de coletivos de
consumo, que chegaram a tomar uma quantidade de tempo muito grande,
decidimos investir (eu e hugo) na migração do ruby gettext para o ruby i18n.

Tentamos fazer de maneira mais automática possível, através do seguinte
script:
https://gist.github.com/brauliobo/5512890

Este script cria as chaves no config/locales/en.yml e nas respectivas
traduções usando as traduções já existentes nos arquivos .po, alterando os
arquivos de código fonte com as chamadas t() ao invés de _() com as chaves
criadas.

Há algumas limitações, mas no caso do plugin dos coletivos quase 100% do
código foi convertido automaticamente sem problemas. A conversão manual
deve ser feita para strings multinhas, tradução com plural e traduções no
contexto de classe.

abraços,
bráulio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-br/attachments/20130505/63eb00f1/attachment.html>


More information about the Noosfero-br mailing list