MouseOver Studio

MouseOver Studio header image 2

Rails i18n: interpolação, pluralização e valores default

October 12th, 2008 por Diego Carrion · Sem comenários

Interpolação

Quando chamamos o método translate podemos passar algumas opções como parâmetro e elas serão interpoladas com a mensagem correspondente. Supondo que temos o arquivo de mensagens:

pt-BR:
  welcome: "Bem vindo {{name}}!"

quando executemos:

I18n.translate(:welcome, :name => "Diego Carrion")

o resultado ira ser:

Bem vindo Diego Carrion!

Pluralização

Algumas vezes quando interpolamos uma mensagem com um número queremos que o comportamento seja distinto quando o número representar uma ou varias unidades. Nesses casos podemos utilizar a opção count e definir uma mensagem para one (count == 1) e other (count > 1). Caso tenhamos as seguintes mensagens:

pt-BR:
  shoutt_received:
    one: "1 mensagem recebida"
    other: "Foram recebidas {{count}} mensagens

ao executar:

I18n.translate(:shoutt_received, :count => 1)
I18n.translate(:shoutt_received, :count => 10)

obteremos como resultado:

1 mensagem recebida
Foram recebidas 10 mensagens

Valores default

Ao chamar o método translate podemos especificar um valor a ser utilizado caso a mensagem para a chave passada como parâmetro não seja encontrada:

I18n.translate(:hello_world, :default => "Hola mundo loco!")

Tags: rails

0 respostas ate agora ↓

  • Todavia não existem comentários... Arrasa preenchendo o formulário embaixo.

Deixar um comentário