Ruby on Rails Paperclip com I18n

O plugin paperclip não tem suporte para i18n por padrão.

Então vamos implementar isso no braço, talvez não seja a forma mais elegante do mundo, mas funciona.

No seu model:

class Ong < ActiveRecord::Base
  # Paperclip
  has_attached_file :logo, :styles => { :thumb => "100x100>" }
  validates_attachment_size :logo, :less_than => 50.kilobytes, :message => I18n.t('activerecord.errors.messages.attachment_size', :min => 0, :max => 50.kilobytes)
end

Agora você precisar criar a diretiva activerecord.errors.messages.attachment_size no seu config/locales/pt-BR.yml:

pt-BR:
  # Active Record
  activerecord:
    errors:
      template:
        header:
          one: "Não foi possível gravar: 1 erro"
          other: "Não foi possível gravar: {{count}} erros."
        body: "Por favor, verifique o(s) seguinte(s) campo(s):"
      messages:
        attachment_size: "tamanho do arquivo deve estar entre {{min}} e {{max}} bytes"

Pronto! Seja feliz!
Se o plugin não faz, a gente faz.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby on Rails by patrickespake at novembro 18th, 2009.

2 Responses to “Ruby on Rails Paperclip com I18n”

  1. Adriano Bacha disse:

    e pra traduzir o atributo que tem o paperclip?

    • patrickespake disse:

      Adriano,

      Você pode traduzir o atributo do model direto no arquivo de tradução do Rails, o pt-BR.yml.

Leave a Reply

 Assinar RSS Feed