解决 will_paginate 中文本地化

will_paginateRuby on Rails 里面一个非常好用的分页控件,用它就可以很方便的生成翻页的代码,但是不知道为什么这个插件没有提供直接基于 Ruby on Rails I18N 的翻译设置。

在 Google 上面搜索也没有找到比较好的解决方法,于是我就看了一下它的源代码,发现有个 @@paginate_options 类变量,于是在 environment.rb 加入:

1
2
3
4
require 'will_paginate'
# will_paginate custom label
WillPaginate::ViewHelpers.pagination_options[:previous_label] = '« 上一页'
WillPaginate::ViewHelpers.pagination_options[:next_label] = '下一页 »'

重启 server,翻译完成,当然,还可以把上一页一下页换成图片的…

另可参见 will_paginate API doc