will_paginate 国际化 i18n

在做i18n的时候遇到will_paginate插件的问题,google一下发现这个解决方法: http://lawrencesong.net/2009/01/enable-i18n-in-will_paginate-plugin/

不过这个方法只能指定一个locale,无法根据用户选择locale,显示不同的翻译.

通过查看will_paginate源代码,发现了一个简单方法,记录一下:
module WillPaginate
  class I18nRender < LinkRenderer
    def prepare(collection, options, template)
      options[:previous_label] = I18n.translate("will_paginate.previous_label")
      options[:next_label] = I18n.translate("will_paginate.next_label")
      super
    end
  end
end

WillPaginate::ViewHelpers.pagination_options[:renderer] = "WillPaginate::I18nRender"


将这个代码放入任意的initializers中即可

你可能感兴趣的:(.net,Google,Ruby)