Dica - traduzindo will_paginate


Will_paginate é o plugin default que todo mundo usa para paginação no Rails. Existem algumas formas de traduzir os links previous e next ( como esta solução ) . Mas se você estiver usando o suporte a I18n no rails basta fazer o seguinte:

Adicione isto no locale ( no meu caso config/locale/pt-BR.yml )

    pagination:
      next: "próximo" 
      prev: "anterior" 
Então em seu enviroment.rb, adicione o trecho abaixo no final:
WillPaginate::ViewHelpers.pagination_options[:prev_label]=I18n.t("pagination.prev")
WillPaginate::ViewHelpers.pagination_options[:next_label]=I18n.t("pagination.next")

Desta forma, no iniciar do seu aplicativo, você está passando a string do locale corrente ( no caso o arquivo pt-BR.yml ) que conrresponde a “pagination” para os valores padrão do hash pagination_options que o will_paginate usa.


9 Comentários to “Dica - traduzindo will_paginate”

Mislav diz:

Excellent! I think you’re the first who wrote about this :)


Daniel Lopes diz:

Thanks for the comment and will_paginate plugin Mislav. I will translate this tip to english… probably will help more people in english and automatic translation is really poor.


Junio Vitorino diz:

D+ isso, e isso pode ser utilizado com qualquer outro plugin, correto?


Daniel Lopes diz:

Pode, na verdade vc pode chamar o método translate em qualquer lugar que receba um String… contando que seu locale já tenha sido carregado.


Mislav diz:

Oh, don’t be worried about automatic translation, it’s in fact excellent. But it’s nice that you’ve made a post in English, too.


Sylvestre Mergulhão diz:

Boa Daniel! Eu ainda não tive como migrar para o rails 2.2 a aplicação onde tive que fazer aquilo, mas a dica está anotada. Devo migrar até o começo do mês que vem.

Um abraço!


Silva Developer diz:

Ótima dica Daniel!!! :)

Abraço,

Silva Developer


dookie diz:

Animal!

Agora só falta modificar o plugin e fazer um patch =)


Leonardo Faria diz:

bacana. em um caso específico, preferi localizá-lo na chamado do will_paginate, assim:

<%= will_paginate @posts, :prev_label => t(‘pagination.prev’), :next_label => t(‘pagination.next’) %>


Comentário