Skip to content

[outdated] Redu i18n

guiocavalcanti edited this page Nov 7, 2011 · 1 revision

Funcionamento:

A lingua do Redu é utilizada pela opcao de "lingua padrao" que o usuario definiu em seu perfil. Se usuário nao setou opcao de lingua padrao no seu perfil, a lingua utilizada pelo Redu sera a mesma do navegador que o usuario mesmo utiliza. Caso a lingua do navegador nao esteja disponivel entre as linguas oferecidas pelo redu, a lingua padrao será utilizada (portugues do Brasil).

Todas as strings da interface devem ser substituidas como no exemplo: "início" por t(:home) e traducao nos arquivos de lingua correspondentes (pt-BR.yml e en-US.yml).

Atencao por que o yml é sensivel à indentacao.

Atencao2 por que os caracteres podem dar erro se a string nao estiver entre aspas, ex: page_title: Redu: potentializing your talent. (pau por conta do : apos Redu) = page_title: "Redu: potentializing your talent." OK

Após mudar o arquivo de traducao basta apenas dar refresh no navegador.

Linguas suportadas: pt-BR, en-US

Referencias:

Guia: http://guides.rubyonrails.org/i18n.html

TODO:

Configuracao e rotas user-friendly: ao inves de "en-US" substituir interface pra "American English" . O mesmo para rotas, ao inves de redu.com.br/en-US/.. por redu.com.br/en

Mudancas:

  • plugin localized_routes

adicionar opcao de mudar de locale no perfil do usuario (adicionado coluna "locale")

substituicao do codigo usado pelo community engine pelo do plugin em base_controller.rb atraves de um metodo customizado:

#include LocalizedApplication #around_filter :set_locale

before_filter :set_locale

implementado metodo set_locale em base_controller.rb com hierarquia de prioridades: 1) current_user.locale; 2) header do http, linguagem do browser, 3) default_locale (pt-BR)

comentada a linha 206 de translate_routes.rb: #I18n.locale = params[ActionController::Routing::Translator.locale_param_key] para que nosso metodo use o locale de acordo com o perfil do usuario e nao pelo params[:locale]