-
Notifications
You must be signed in to change notification settings - Fork 864
I18n
As of will_paginate v2.3.16 and v3.0, some output of will_paginate
view helper and the complete output of page_entries_info
helper can be translated by means of the i18n library.
In Rails, this usually means adding your translations in YAML or ruby format in the "config/locale/" directory.
Translation keys and default values for the will_paginate
helper can be seen here:
en:
will_paginate:
previous_label: "← Previous"
next_label: "Next →"
page_gap: "…"
The HTML entities you see here are left arrow, right arrow and horizontal ellipsis for the gap between page numbers.
You can copy these over to your own application and change the values as you see fit, or translate them to other languages that you want to support.
Translations for page_entries_info
helper are much more complex. Here are the defaults:
en:
will_paginate:
page_entries_info:
single_page:
zero: "No %{model} found"
one: "Displaying 1 %{model}"
other: "Displaying all %{count} %{model}"
single_page_html:
zero: "No %{model} found"
one: "Displaying <b>1</b> %{model}"
other: "Displaying <b>all %{count}</b> %{model}"
multi_page: "Displaying %{model} %{from} - %{to} of %{count} in total"
multi_page_html: "Displaying %{model} <b>%{from} - %{to}</b> of <b>%{count}</b> in total"
First of all, you'll notice the values are duplicated twice: one for plain text and one containing HTML tags. The keys for HTML variants end in "_html".
"single_page" and "multi_page" are referring to whether the paginated collection has only one page or more. In case there are more pages, the message is a little more verbose, stating the range of records displayed (e.g. "records 6 - 12 of 32 in total").
The %{model}
value is the name of the paginated items in correct plural form. For instance, if you passed a collection of LineItem records, the "model" value would be "line item" or "line items". You can translate this value separately:
en:
will_paginate:
models:
line_item:
zero: line items
one: line item
few: line items
other: line items
However, you don't need to do this if you've translated your Active Record models using the official method:
en:
activerecord:
models:
line_item:
zero: line items
one: line item
# ...
You should translate your models using the latter method so that all helpers of your application could benefit from these translations, not just will_paginate.
- Installation instructions
- API documentation
- Differences between v2.3 - v3.0
- Troubleshooting or Report bugs
- Simple search functionality
- Translating output (i18n)
- Browse the source code
- See the recent commits