pagy 7.0.11 → 8.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/gem/apps/calendar.ru +2196 -0
- data/gem/apps/demo.ru +452 -0
- data/gem/apps/rails.ru +205 -0
- data/gem/apps/repro.ru +168 -0
- data/gem/bin/pagy +83 -0
- data/{lib → gem}/config/pagy.rb +6 -17
- data/{lib → gem}/javascripts/pagy-dev.js +10 -10
- data/{lib → gem}/javascripts/pagy-module.js +9 -9
- data/gem/javascripts/pagy.js +1 -0
- data/gem/lib/optimist.rb +1022 -0
- data/gem/lib/pagy/extras/bootstrap.rb +97 -0
- data/gem/lib/pagy/extras/bulma.rb +89 -0
- data/gem/lib/pagy/extras/foundation.rb +93 -0
- data/{lib → gem/lib}/pagy/extras/items.rb +21 -18
- data/{lib/pagy/extras/frontend_helpers.rb → gem/lib/pagy/extras/js_tools.rb} +1 -1
- data/gem/lib/pagy/extras/materialize.rb +97 -0
- data/gem/lib/pagy/extras/pagy.rb +82 -0
- data/gem/lib/pagy/extras/semantic.rb +91 -0
- data/gem/lib/pagy/extras/trim.rb +29 -0
- data/gem/lib/pagy/extras/uikit.rb +96 -0
- data/gem/lib/pagy/frontend.rb +97 -0
- data/{lib → gem/lib}/pagy/url_helpers.rb +1 -2
- data/{lib → gem/lib}/pagy.rb +12 -11
- data/{lib → gem}/locales/ar.yml +2 -2
- data/{lib → gem}/locales/be.yml +4 -4
- data/{lib → gem}/locales/bg.yml +4 -4
- data/{lib → gem}/locales/bs.yml +4 -4
- data/{lib → gem}/locales/ca.yml +4 -4
- data/gem/locales/ckb.yml +18 -0
- data/{lib → gem}/locales/cs.yml +4 -4
- data/{lib → gem}/locales/da.yml +4 -4
- data/{lib → gem}/locales/de.yml +4 -4
- data/{lib → gem}/locales/en.yml +4 -4
- data/{lib → gem}/locales/es.yml +2 -2
- data/{lib → gem}/locales/fr.yml +4 -4
- data/{lib → gem}/locales/hr.yml +4 -4
- data/{lib → gem}/locales/id.yml +4 -4
- data/{lib → gem}/locales/it.yml +4 -4
- data/{lib → gem}/locales/ja.yml +4 -4
- data/{lib → gem}/locales/km.yml +4 -4
- data/{lib → gem}/locales/ko.yml +4 -4
- data/{lib → gem}/locales/nb.yml +4 -4
- data/{lib → gem}/locales/nl.yml +4 -4
- data/{lib → gem}/locales/nn.yml +4 -4
- data/{lib → gem}/locales/pl.yml +4 -4
- data/{lib → gem}/locales/pt-BR.yml +2 -2
- data/{lib → gem}/locales/pt.yml +2 -2
- data/{lib → gem}/locales/ru.yml +4 -4
- data/{lib → gem}/locales/sr.yml +4 -4
- data/{lib → gem}/locales/sv-SE.yml +4 -4
- data/{lib → gem}/locales/sv.yml +4 -4
- data/{lib → gem}/locales/sw.yml +4 -4
- data/{lib → gem}/locales/ta.yml +4 -4
- data/{lib → gem}/locales/tr.yml +4 -4
- data/{lib → gem}/locales/uk.yml +4 -4
- data/{lib → gem}/locales/vi.yml +4 -4
- data/{lib → gem}/locales/zh-CN.yml +4 -4
- data/{lib → gem}/locales/zh-HK.yml +4 -4
- data/{lib → gem}/locales/zh-TW.yml +4 -4
- data/{lib → gem}/stylesheets/pagy.css +19 -34
- data/{lib → gem}/stylesheets/pagy.scss +17 -19
- data/gem/stylesheets/pagy.tailwind.css +21 -0
- metadata +103 -90
- data/lib/javascripts/pagy.js +0 -1
- data/lib/locales/ckb.yml +0 -18
- data/lib/pagy/extras/bootstrap.rb +0 -108
- data/lib/pagy/extras/bulma.rb +0 -105
- data/lib/pagy/extras/foundation.rb +0 -105
- data/lib/pagy/extras/materialize.rb +0 -96
- data/lib/pagy/extras/navs.rb +0 -51
- data/lib/pagy/extras/semantic.rb +0 -95
- data/lib/pagy/extras/support.rb +0 -40
- data/lib/pagy/extras/trim.rb +0 -29
- data/lib/pagy/extras/uikit.rb +0 -97
- data/lib/pagy/frontend.rb +0 -114
- data/lib/stylesheets/pagy.tailwind.scss +0 -24
- /data/{lib → gem}/javascripts/pagy-module.d.ts +0 -0
- /data/{lib → gem/lib}/pagy/backend.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar/day.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar/helper.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar/month.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar/quarter.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar/week.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar/year.rb +0 -0
- /data/{lib → gem/lib}/pagy/calendar.rb +0 -0
- /data/{lib → gem/lib}/pagy/console.rb +0 -0
- /data/{lib → gem/lib}/pagy/countless.rb +0 -0
- /data/{lib → gem/lib}/pagy/exceptions.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/arel.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/array.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/calendar.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/countless.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/elasticsearch_rails.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/gearbox.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/headers.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/i18n.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/jsonapi.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/meilisearch.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/metadata.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/overflow.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/searchkick.rb +0 -0
- /data/{lib → gem/lib}/pagy/extras/standalone.rb +0 -0
- /data/{lib → gem/lib}/pagy/i18n.rb +0 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
# See the Pagy documentation: https://ddnexus.github.io/pagy/docs/extras/uikit
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'pagy/extras/js_tools'
|
5
|
+
|
6
|
+
class Pagy # :nodoc:
|
7
|
+
# Frontend modules are specially optimized for performance.
|
8
|
+
# The resulting code may not look very elegant, but produces the best benchmarks
|
9
|
+
module UikitExtra
|
10
|
+
# Pagination for uikit: it returns the html with the series of links to the pages
|
11
|
+
def pagy_uikit_nav(pagy, id: nil, aria_label: nil, **vars)
|
12
|
+
id = %( id="#{id}") if id
|
13
|
+
a = pagy_anchor(pagy)
|
14
|
+
|
15
|
+
html = %(<ul#{id} class="pagy-uikit nav uk-pagination uk-flex-center" role="navigation" #{
|
16
|
+
nav_aria_label(pagy, aria_label:)}>#{
|
17
|
+
uikit_prev_html(pagy, a)})
|
18
|
+
pagy.series(**vars).each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
19
|
+
html << case item
|
20
|
+
when Integer
|
21
|
+
%(<li>#{a.(item)}</li>)
|
22
|
+
when String
|
23
|
+
%(<li class="uk-active"><span role="link" aria-current="page" aria-disabled="true">#{
|
24
|
+
pagy.label_for(item)}</span></li>)
|
25
|
+
when :gap
|
26
|
+
%(<li class="uk-disabled"><span>#{pagy_t 'pagy.gap'}</span></li>)
|
27
|
+
else
|
28
|
+
raise InternalError, "expected item types in series to be Integer, String or :gap; got #{item.inspect}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
html << %(#{uikit_next_html(pagy, a)}</ul>)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Javascript pagination for uikit: it returns a nav with a data-pagy attribute used by the pagy.js file
|
35
|
+
def pagy_uikit_nav_js(pagy, id: nil, aria_label: nil, **vars)
|
36
|
+
sequels = pagy.sequels(**vars)
|
37
|
+
id = %( id="#{id}") if id
|
38
|
+
a = pagy_anchor(pagy)
|
39
|
+
tokens = { 'before' => uikit_prev_html(pagy, a),
|
40
|
+
'a' => %(<li>#{a.(PAGE_TOKEN, LABEL_TOKEN)}</li>),
|
41
|
+
'current' => %(<li class="uk-active"><span role="link" aria-current="page" aria-disabled="true">#{
|
42
|
+
LABEL_TOKEN}</span></li>),
|
43
|
+
'gap' => %(<li class="uk-disabled"><span>#{pagy_t 'pagy.gap'}</span></li>),
|
44
|
+
'after' => uikit_next_html(pagy, a) }
|
45
|
+
|
46
|
+
%(<ul#{id} class="#{'pagy-rjs ' if sequels.size > 1}pagy-uikit nav-js uk-pagination uk-flex-center" role="navigation" #{
|
47
|
+
nav_aria_label(pagy, aria_label:)} #{
|
48
|
+
pagy_data(pagy, :nav, tokens, sequels, pagy.label_sequels(sequels))
|
49
|
+
}></ul>)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Javascript combo pagination for uikit: it returns a nav with a data-pagy attribute used by the pagy.js file
|
53
|
+
def pagy_uikit_combo_nav_js(pagy, id: nil, aria_label: nil)
|
54
|
+
id = %( id="#{id}") if id
|
55
|
+
a = pagy_anchor(pagy)
|
56
|
+
pages = pagy.pages
|
57
|
+
|
58
|
+
page_input = %(<input name="page" type="number" min="1" max="#{pages}" value="#{pagy.page}" aria-current="page" ) <<
|
59
|
+
%(style="text-align: center; width: #{pages.to_s.length + 1}rem;">)
|
60
|
+
|
61
|
+
%(<ul#{id} class="pagy-uikit combo-nav-js uk-button-group uk-pagination uk-flex-center" role="navigation" #{
|
62
|
+
nav_aria_label(pagy, aria_label:)} #{
|
63
|
+
pagy_data(pagy, :combo, pagy_url_for(pagy, PAGE_TOKEN))
|
64
|
+
}>#{
|
65
|
+
uikit_prev_html(pagy, a)
|
66
|
+
}<li><label>#{
|
67
|
+
pagy_t('pagy.combo_nav_js', page_input:, pages:)
|
68
|
+
}</label></li>#{
|
69
|
+
uikit_next_html(pagy, a)
|
70
|
+
}</ul>)
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
def uikit_prev_html(pagy, a)
|
76
|
+
span = %(<span uk-pagination-previous></span>)
|
77
|
+
if (p_prev = pagy.prev)
|
78
|
+
%(<li>#{a.(p_prev, span, aria_label: pagy_t('pagy.aria_label.prev'))}</li>)
|
79
|
+
else
|
80
|
+
%(<li class="uk-disabled"><a role="link" aria-disabled="true" aria-label="#{
|
81
|
+
pagy_t('pagy.aria_label.prev')}">#{span}</a></li>)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def uikit_next_html(pagy, a)
|
86
|
+
span = %(<span uk-pagination-next></span>)
|
87
|
+
if (p_next = pagy.next)
|
88
|
+
%(<li>#{a.(p_next, span, aria_label: pagy_t('pagy.aria_label.prev'))}</li>)
|
89
|
+
else
|
90
|
+
%(<li class="uk-disabled"><a role="link" aria-disabled="true" aria-label="#{
|
91
|
+
pagy_t('pagy.aria_label.next')}">#{span}</a></li>)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
Frontend.include UikitExtra
|
96
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# See Pagy::Frontend API documentation: https://ddnexus.github.io/pagy/docs/api/frontend
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'pagy/url_helpers'
|
5
|
+
require 'pagy/i18n'
|
6
|
+
|
7
|
+
class Pagy
|
8
|
+
# Used for search and replace, hardcoded also in the pagy.js file
|
9
|
+
PAGE_TOKEN = '__pagy_page__'
|
10
|
+
LABEL_TOKEN = '__pagy_label__'
|
11
|
+
|
12
|
+
# Frontend modules are specially optimized for performance.
|
13
|
+
# The resulting code may not look very elegant, but produces the best benchmarks
|
14
|
+
module Frontend
|
15
|
+
include UrlHelpers
|
16
|
+
|
17
|
+
# Generic pagination: it returns the html with the series of links to the pages
|
18
|
+
def pagy_nav(pagy, id: nil, aria_label: nil, **vars)
|
19
|
+
id = %( id="#{id}") if id
|
20
|
+
a = pagy_anchor(pagy)
|
21
|
+
|
22
|
+
html = %(<nav#{id} class="pagy nav" #{nav_aria_label(pagy, aria_label:)}>#{
|
23
|
+
prev_a(pagy, a)})
|
24
|
+
pagy.series(**vars).each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
25
|
+
html << case item
|
26
|
+
when Integer
|
27
|
+
a.(item)
|
28
|
+
when String
|
29
|
+
%(<a role="link" aria-disabled="true" aria-current="page" class="current">#{pagy.label_for(item)}</a>)
|
30
|
+
when :gap
|
31
|
+
%(<a role="link" aria-disabled="true" class="gap">#{pagy_t('pagy.gap')}</a>)
|
32
|
+
else
|
33
|
+
raise InternalError, "expected item types in series to be Integer, String or :gap; got #{item.inspect}"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
html << %(#{next_a(pagy, a)}</nav>)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Return examples: "Displaying items 41-60 of 324 in total" or "Displaying Products 41-60 of 324 in total"
|
40
|
+
def pagy_info(pagy, id: nil, item_name: nil)
|
41
|
+
id = %( id="#{id}") if id
|
42
|
+
p_count = pagy.count
|
43
|
+
key = if p_count.zero? then 'pagy.info.no_items'
|
44
|
+
elsif pagy.pages == 1 then 'pagy.info.single_page'
|
45
|
+
else 'pagy.info.multiple_pages' # rubocop:disable Lint/ElseLayout
|
46
|
+
end
|
47
|
+
|
48
|
+
%(<span#{id} class="pagy info">#{
|
49
|
+
pagy_t key, item_name: item_name || pagy_t('pagy.item_name', count: p_count),
|
50
|
+
count: p_count, from: pagy.from, to: pagy.to
|
51
|
+
}</span>)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Return a performance optimized lambda to generate the HtML anchor element (a tag)
|
55
|
+
# Benchmarked on a 20 link nav: it is ~22x faster and uses ~18x less memory than rails' link_to
|
56
|
+
def pagy_anchor(pagy)
|
57
|
+
a_string = pagy.vars[:anchor_string]
|
58
|
+
a_string = %( #{a_string}) if a_string
|
59
|
+
left, right = %(<a#{a_string} href="#{pagy_url_for(pagy, PAGE_TOKEN)}").split(PAGE_TOKEN, 2)
|
60
|
+
# lambda used by all the helpers
|
61
|
+
lambda do |page, text = pagy.label_for(page), classes: nil, aria_label: nil|
|
62
|
+
classes = %( class="#{classes}") if classes
|
63
|
+
aria_label = %( aria-label="#{aria_label}") if aria_label
|
64
|
+
%(#{left}#{page}#{right}#{classes}#{aria_label}>#{text}</a>)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# Similar to I18n.t: just ~18x faster using ~10x less memory
|
69
|
+
# (@pagy_locale explicitly initialized in order to avoid warning)
|
70
|
+
def pagy_t(key, opts = {})
|
71
|
+
Pagy::I18n.translate(@pagy_locale ||= nil, key, opts)
|
72
|
+
end
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def nav_aria_label(pagy, aria_label: nil)
|
77
|
+
aria_label ||= pagy_t('pagy.aria_label.nav', count: pagy.pages)
|
78
|
+
%(aria-label="#{aria_label}")
|
79
|
+
end
|
80
|
+
|
81
|
+
def prev_a(pagy, a, text: pagy_t('pagy.prev'), aria_label: pagy_t('pagy.aria_label.prev'))
|
82
|
+
if (p_prev = pagy.prev)
|
83
|
+
a.(p_prev, text, aria_label:)
|
84
|
+
else
|
85
|
+
%(<a role="link" aria-disabled="true" aria-label="#{aria_label}">#{text}</a>)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def next_a(pagy, a, text: pagy_t('pagy.next'), aria_label: pagy_t('pagy.aria_label.next'))
|
90
|
+
if (p_next = pagy.next)
|
91
|
+
a.(p_next, text, aria_label:)
|
92
|
+
else
|
93
|
+
%(<a role="link" aria-disabled="true" aria-label=#{aria_label}>#{text}</a>)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -8,13 +8,12 @@ class Pagy
|
|
8
8
|
# For non-rack environments you can use the standalone extra
|
9
9
|
def pagy_url_for(pagy, page, absolute: false, **_)
|
10
10
|
vars = pagy.vars
|
11
|
-
request_path = vars[:request_path].to_s.empty? ? request.path : vars[:request_path]
|
12
11
|
pagy_params = pagy.params.is_a?(Hash) ? pagy.params.transform_keys(&:to_s) : {}
|
13
12
|
params = request.GET.merge(pagy_params)
|
14
13
|
pagy_set_query_params(page, vars, params)
|
15
14
|
params = pagy.params.call(params) if pagy.params.is_a?(Proc)
|
16
15
|
query_string = "?#{Rack::Utils.build_nested_query(params)}"
|
17
|
-
"#{request.base_url if absolute}#{request_path}#{query_string}#{vars[:fragment]}"
|
16
|
+
"#{request.base_url if absolute}#{vars[:request_path] || request.path}#{query_string}#{vars[:fragment]}"
|
18
17
|
end
|
19
18
|
|
20
19
|
# Add the page and items params
|
data/{lib → gem/lib}/pagy.rb
RENAMED
@@ -5,27 +5,28 @@ require 'pathname'
|
|
5
5
|
|
6
6
|
# Core class
|
7
7
|
class Pagy
|
8
|
-
VERSION = '
|
8
|
+
VERSION = '8.0.1'
|
9
9
|
|
10
|
-
#
|
10
|
+
# Gem root pathname to get the path of Pagy files stylesheets, javascripts, apps, locales, etc.
|
11
11
|
def self.root
|
12
|
-
@root ||= Pathname.new(__dir__).freeze
|
12
|
+
@root ||= Pathname.new(__dir__).parent.freeze
|
13
13
|
end
|
14
14
|
|
15
|
-
#
|
15
|
+
# Core defult: constant for easy access, but mutable for customizable defaults
|
16
16
|
DEFAULT = { page: 1, # rubocop:disable Style/MutableConstant
|
17
17
|
items: 20,
|
18
18
|
outset: 0,
|
19
19
|
size: 7,
|
20
|
-
|
20
|
+
cycle: false,
|
21
|
+
# backend/collection
|
22
|
+
count_args: [:all], # AR friendly
|
23
|
+
# backend/url
|
21
24
|
params: {},
|
25
|
+
page_param: :page,
|
22
26
|
fragment: '',
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
cycle: false,
|
27
|
-
request_path: '',
|
28
|
-
count_args: [:all] } # AR friendly
|
27
|
+
request_path: nil,
|
28
|
+
# frontend/helpers
|
29
|
+
anchor_string: nil }
|
29
30
|
|
30
31
|
attr_reader :count, :page, :items, :vars, :pages, :last, :offset, :in, :from, :to, :prev, :next, :params, :request_path
|
31
32
|
|
data/{lib → gem}/locales/ar.yml
RENAMED
@@ -24,7 +24,7 @@ ar:
|
|
24
24
|
other: "عناصر"
|
25
25
|
info:
|
26
26
|
no_items: "لا يوجد %{item_name}"
|
27
|
-
single_page: "عرض
|
28
|
-
multiple_pages: "عرض %{item_name}
|
27
|
+
single_page: "عرض %{count} %{item_name}"
|
28
|
+
multiple_pages: "عرض %{item_name} %{from}-%{to} من اجمالي %{count}"
|
29
29
|
combo_nav_js: "الصفحة %{page_input} من %{pages}"
|
30
30
|
items_selector_js: "عرض %{items_input} %{item_name} لكل صفحة"
|
data/{lib → gem}/locales/be.yml
RENAMED
@@ -19,7 +19,7 @@ be:
|
|
19
19
|
other: "запісаў"
|
20
20
|
info:
|
21
21
|
no_items: "Пакуль %{item_name} няма"
|
22
|
-
single_page: "
|
23
|
-
multiple_pages: "Усяго
|
24
|
-
combo_nav_js: "
|
25
|
-
items_selector_js: "
|
22
|
+
single_page: "%{count} %{item_name}"
|
23
|
+
multiple_pages: "Усяго %{count} %{item_name}, паказаны з %{from} па %{to}"
|
24
|
+
combo_nav_js: "Старонка %{page_input} з %{pages}"
|
25
|
+
items_selector_js: "Паказаць %{items_input} %{item_name} на старонцы"
|
data/{lib → gem}/locales/bg.yml
RENAMED
@@ -15,7 +15,7 @@ bg:
|
|
15
15
|
other: "резултати"
|
16
16
|
info:
|
17
17
|
no_items: "Няма намерени %{item_name}"
|
18
|
-
single_page: "Показани са
|
19
|
-
multiple_pages: "Показани са %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Показани са %{count} %{item_name}"
|
19
|
+
multiple_pages: "Показани са %{item_name} %{from}-%{to} от %{count} общо"
|
20
|
+
combo_nav_js: "Страница %{page_input} от %{pages}"
|
21
|
+
items_selector_js: "Покажи %{items_input} %{item_name} на страница"
|
data/{lib → gem}/locales/bs.yml
RENAMED
@@ -19,7 +19,7 @@ bs:
|
|
19
19
|
other: "stavki"
|
20
20
|
info:
|
21
21
|
no_items: "Nije pronađena %{item_name}"
|
22
|
-
single_page: "Prikazuje se
|
23
|
-
multiple_pages: "Prikaz %{item_name}
|
24
|
-
combo_nav_js: "
|
25
|
-
items_selector_js: "
|
22
|
+
single_page: "Prikazuje se %{count} %{item_name}"
|
23
|
+
multiple_pages: "Prikaz %{item_name} %{from}-%{to} od %{count} ukupno"
|
24
|
+
combo_nav_js: "Stranica %{page_input} od %{pages}"
|
25
|
+
items_selector_js: "Prikaži %{items_input} %{item_name} po stranici"
|
data/{lib → gem}/locales/ca.yml
RENAMED
@@ -17,7 +17,7 @@ ca:
|
|
17
17
|
other: "elements"
|
18
18
|
info:
|
19
19
|
no_items: "No s'ha trobat cap resultat"
|
20
|
-
single_page: "Mostrant
|
21
|
-
multiple_pages: "Mostrant %{item_name}
|
22
|
-
combo_nav_js: "
|
23
|
-
items_selector_js: "
|
20
|
+
single_page: "Mostrant %{count} %{item_name}"
|
21
|
+
multiple_pages: "Mostrant %{item_name} %{from}-%{to} de %{count} en total"
|
22
|
+
combo_nav_js: "Pàgina %{page_input} de %{pages}"
|
23
|
+
items_selector_js: "Mostra %{items_input} %{item_name} per pàgina"
|
data/gem/locales/ckb.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# :other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
2
|
+
|
3
|
+
ckb:
|
4
|
+
pagy:
|
5
|
+
item_name: "بابەت"
|
6
|
+
aria_label:
|
7
|
+
nav: "پەڕەکان"
|
8
|
+
prev: "پاش"
|
9
|
+
next: "پێش"
|
10
|
+
prev: "<"
|
11
|
+
next: ">"
|
12
|
+
gap: "…"
|
13
|
+
info:
|
14
|
+
no_items: "هیچ %{item_name}ێک نەدۆزرایەوە"
|
15
|
+
single_page: "پیشاندانی %{count} %{item_name}"
|
16
|
+
multiple_pages: "پشاندانی %{item_name}ی %{from}-%{to} لە کۆی %{count} بە گشتی"
|
17
|
+
combo_nav_js: "پەڕی %{page_input} لە %{pages}"
|
18
|
+
items_selector_js: "نیشاندانی %{items_input} %{item_name} لە هەر پەڕێک"
|
data/{lib → gem}/locales/cs.yml
RENAMED
@@ -17,7 +17,7 @@ cs:
|
|
17
17
|
other: "položek"
|
18
18
|
info:
|
19
19
|
no_items: "Nic nebylo nalezeno"
|
20
|
-
single_page: "Zobrazeno
|
21
|
-
multiple_pages: "Zobrazeny položky
|
22
|
-
combo_nav_js: "
|
23
|
-
items_selector_js: "
|
20
|
+
single_page: "Zobrazeno %{count} %{item_name}"
|
21
|
+
multiple_pages: "Zobrazeny položky %{from}-%{to} z %{count} celkem"
|
22
|
+
combo_nav_js: "Strana %{page_input} z %{pages}"
|
23
|
+
items_selector_js: "Zobrazit %{items_input} %{item_name} na stránce"
|
data/{lib → gem}/locales/da.yml
RENAMED
@@ -17,7 +17,7 @@ da:
|
|
17
17
|
other: "resultater"
|
18
18
|
info:
|
19
19
|
no_items: "Ingen %{item_name} fundet"
|
20
|
-
single_page: "Viser
|
21
|
-
multiple_pages: "Viser %{item_name}
|
22
|
-
combo_nav_js: "
|
23
|
-
items_selector_js: "
|
20
|
+
single_page: "Viser %{count} %{item_name}"
|
21
|
+
multiple_pages: "Viser %{item_name} %{from}-%{to} af %{count} totalt"
|
22
|
+
combo_nav_js: "Side %{page_input} af %{pages}"
|
23
|
+
items_selector_js: "Antal %{items_input} %{item_name} per side"
|
data/{lib → gem}/locales/de.yml
RENAMED
@@ -15,7 +15,7 @@ de:
|
|
15
15
|
other: "Einträge"
|
16
16
|
info:
|
17
17
|
no_items: "Keine %{item_name} gefunden"
|
18
|
-
single_page: "Zeige
|
19
|
-
multiple_pages: "Zeige %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Zeige %{count} %{item_name}"
|
19
|
+
multiple_pages: "Zeige %{item_name} %{from}-%{to} von %{count} gesamt"
|
20
|
+
combo_nav_js: "Seite %{page_input} von %{pages}"
|
21
|
+
items_selector_js: "Zeige %{items_input} %{item_name} pro Seite"
|
data/{lib → gem}/locales/en.yml
RENAMED
@@ -15,7 +15,7 @@ en:
|
|
15
15
|
other: "items"
|
16
16
|
info:
|
17
17
|
no_items: "No %{item_name} found"
|
18
|
-
single_page: "Displaying
|
19
|
-
multiple_pages: "Displaying %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Displaying %{count} %{item_name}"
|
19
|
+
multiple_pages: "Displaying %{item_name} %{from}-%{to} of %{count} in total"
|
20
|
+
combo_nav_js: "Page %{page_input} of %{pages}"
|
21
|
+
items_selector_js: "Show %{items_input} %{item_name} per page"
|
data/{lib → gem}/locales/es.yml
RENAMED
@@ -17,5 +17,5 @@ es:
|
|
17
17
|
no_items: "Sin resultados"
|
18
18
|
single_page: "Mostrando %{count} %{item_name}"
|
19
19
|
multiple_pages: "Mostrando %{item_name} %{from}-%{to} de %{count} en total"
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
20
|
+
combo_nav_js: "Página %{page_input} de %{pages}"
|
21
|
+
items_selector_js: "Mostrar %{items_input} %{item_name} por página"
|
data/{lib → gem}/locales/fr.yml
RENAMED
@@ -15,7 +15,7 @@ fr:
|
|
15
15
|
other: "éléments"
|
16
16
|
info:
|
17
17
|
no_items: "Aucun %{item_name} trouvé"
|
18
|
-
single_page: "Affichage de
|
19
|
-
multiple_pages: "Affichage des %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Affichage de %{count} %{item_name}"
|
19
|
+
multiple_pages: "Affichage des %{item_name} %{from} à %{to} sur %{count} au total"
|
20
|
+
combo_nav_js: "Page %{page_input} sur %{pages}"
|
21
|
+
items_selector_js: "Afficher %{items_input} %{item_name} par page"
|
data/{lib → gem}/locales/hr.yml
RENAMED
@@ -19,7 +19,7 @@ hr:
|
|
19
19
|
other: "stavki"
|
20
20
|
info:
|
21
21
|
no_items: "Nije pronađena %{item_name}"
|
22
|
-
single_page: "Prikazuje se
|
23
|
-
multiple_pages: "Prikaz %{item_name}
|
24
|
-
combo_nav_js: "
|
25
|
-
items_selector_js: "
|
22
|
+
single_page: "Prikazuje se %{count} %{item_name}"
|
23
|
+
multiple_pages: "Prikaz %{item_name} %{from}-%{to} od %{count} ukupno"
|
24
|
+
combo_nav_js: "Stranica %{page_input} od %{pages}"
|
25
|
+
items_selector_js: "Prikaži %{items_input} %{item_name} po stranici"
|
data/{lib → gem}/locales/id.yml
RENAMED
@@ -13,7 +13,7 @@ id:
|
|
13
13
|
item_name: "item"
|
14
14
|
info:
|
15
15
|
no_items: "Tidak ditemukan %{item_name}"
|
16
|
-
single_page: "Menampilkan
|
17
|
-
multiple_pages: "Menampilkan %{item_name}
|
18
|
-
combo_nav_js: "
|
19
|
-
items_selector_js: "
|
16
|
+
single_page: "Menampilkan %{count} %{item_name}"
|
17
|
+
multiple_pages: "Menampilkan %{item_name} %{from}-%{to} dari total %{count}"
|
18
|
+
combo_nav_js: "Halaman %{page_input} dari %{pages}"
|
19
|
+
items_selector_js: "Tampilkan %{items_input} %{item_name} per halaman"
|
data/{lib → gem}/locales/it.yml
RENAMED
@@ -15,7 +15,7 @@ it:
|
|
15
15
|
other: "elementi"
|
16
16
|
info:
|
17
17
|
no_items: "Nessun %{item_name} trovato"
|
18
|
-
single_page: "Visualizzazione di
|
19
|
-
multiple_pages: "Visualizzazione %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Visualizzazione di %{count} %{item_name}"
|
19
|
+
multiple_pages: "Visualizzazione %{item_name} %{from}-%{to} di %{count} in totale"
|
20
|
+
combo_nav_js: "Pagina %{page_input} di %{pages}"
|
21
|
+
items_selector_js: "Mostra %{items_input} %{item_name} per pagina"
|
data/{lib → gem}/locales/ja.yml
RENAMED
@@ -13,7 +13,7 @@ ja:
|
|
13
13
|
item_name: "結果"
|
14
14
|
info:
|
15
15
|
no_items: "見つかりませんでした"
|
16
|
-
single_page: "
|
17
|
-
multiple_pages: "
|
18
|
-
combo_nav_js: "
|
19
|
-
items_selector_js: "
|
16
|
+
single_page: "%{count} 件の%{item_name}"
|
17
|
+
multiple_pages: "%{count} 件中 %{from}-%{to} 件目の%{item_name}を表示中"
|
18
|
+
combo_nav_js: "%{page_input} / %{pages} ページ"
|
19
|
+
items_selector_js: "%{items_input} 件ずつ表示"
|
data/{lib → gem}/locales/km.yml
RENAMED
@@ -13,7 +13,7 @@ km:
|
|
13
13
|
item_name: "ធាតុ"
|
14
14
|
info:
|
15
15
|
no_items: "មិនមាន %{item_name} ទេ"
|
16
|
-
single_page: "បង្ហាញ
|
17
|
-
multiple_pages: "បង្ហាញ %{item_name}
|
18
|
-
combo_nav_js: "
|
19
|
-
items_selector_js: "
|
16
|
+
single_page: "បង្ហាញ %{count} %{item_name}"
|
17
|
+
multiple_pages: "បង្ហាញ %{item_name} %{from}-%{to} នៃ %{count} ជាចំនួនសរុប"
|
18
|
+
combo_nav_js: "ទំព័រ %{page_input} នៃ %{pages}"
|
19
|
+
items_selector_js: "បង្ហាញ %{items_input} %{item_name} ក្នុង ១ ទំព័រ"
|
data/{lib → gem}/locales/ko.yml
RENAMED
@@ -13,7 +13,7 @@ ko:
|
|
13
13
|
item_name: "항목"
|
14
14
|
info:
|
15
15
|
no_items: "%{item_name} 없음"
|
16
|
-
single_page: "
|
17
|
-
multiple_pages: "총
|
18
|
-
combo_nav_js: "
|
19
|
-
items_selector_js: "
|
16
|
+
single_page: "%{count}개의 %{item_name} 표시됨"
|
17
|
+
multiple_pages: "총 %{count}개의 %{item_name} 중 %{from}-%{to}"
|
18
|
+
combo_nav_js: "총 %{pages} 중 %{page_input} 페이지"
|
19
|
+
items_selector_js: "페이지 당 %{items_input}개 표시%"
|
data/{lib → gem}/locales/nb.yml
RENAMED
@@ -15,7 +15,7 @@ nb:
|
|
15
15
|
other: "resultater"
|
16
16
|
info:
|
17
17
|
no_items: "Ingen %{item_name} funnet"
|
18
|
-
single_page: "Viser
|
19
|
-
multiple_pages: "Viser %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Viser %{count} %{item_name}"
|
19
|
+
multiple_pages: "Viser %{item_name} %{from}-%{to} av totalt %{count}"
|
20
|
+
combo_nav_js: "Side %{page_input} av %{pages}"
|
21
|
+
items_selector_js: "Vis %{items_input} %{item_name} per side"
|
data/{lib → gem}/locales/nl.yml
RENAMED
@@ -15,7 +15,7 @@ nl:
|
|
15
15
|
other: "stuks"
|
16
16
|
info:
|
17
17
|
no_items: "Geen %{item_name} gevonden"
|
18
|
-
single_page: "Toont
|
19
|
-
multiple_pages: "Toont
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Toont %{count} %{item_name}"
|
19
|
+
multiple_pages: "Toont %{from}-%{to} %{item_name} van %{count} in totaal"
|
20
|
+
combo_nav_js: "Pagina %{page_input} van %{pages}"
|
21
|
+
items_selector_js: "Toont %{items_input} %{item_name} per pagina"
|
data/{lib → gem}/locales/nn.yml
RENAMED
@@ -15,7 +15,7 @@ nn:
|
|
15
15
|
other: "resultat"
|
16
16
|
info:
|
17
17
|
no_items: "Ingen %{item_name} funne"
|
18
|
-
single_page: "Viser
|
19
|
-
multiple_pages: "Viser %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Viser %{count} %{item_name}"
|
19
|
+
multiple_pages: "Viser %{item_name} %{from}-%{to} av totalt %{count}"
|
20
|
+
combo_nav_js: "Side %{page_input} av %{pages}"
|
21
|
+
items_selector_js: "Vis %{items_input} %{item_name} per side"
|
data/{lib → gem}/locales/pl.yml
RENAMED
@@ -19,7 +19,7 @@ pl:
|
|
19
19
|
other: "elementów"
|
20
20
|
info:
|
21
21
|
no_items: "Nie znaleziono %{item_name}"
|
22
|
-
single_page: "Wyświetlono
|
23
|
-
multiple_pages: "Wyświetlono %{item_name}
|
24
|
-
combo_nav_js: "
|
25
|
-
items_selector_js: "
|
22
|
+
single_page: "Wyświetlono %{count} %{item_name}"
|
23
|
+
multiple_pages: "Wyświetlono %{item_name} %{from}-%{to} z wszystkich %{count}"
|
24
|
+
combo_nav_js: "Strona %{page_input} z %{pages}"
|
25
|
+
items_selector_js: "Pokaż %{items_input} %{item_name} na stronie"
|
@@ -17,5 +17,5 @@ pt-BR:
|
|
17
17
|
no_items: "Sem resultados"
|
18
18
|
single_page: "Mostrando %{count} %{item_name}"
|
19
19
|
multiple_pages: "Mostrando %{item_name} %{from}-%{to} do total de %{count}"
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
20
|
+
combo_nav_js: "Página %{page_input} de %{pages}"
|
21
|
+
items_selector_js: "Mostrar %{items_input} %{item_name} por página"
|
data/{lib → gem}/locales/pt.yml
RENAMED
@@ -17,5 +17,5 @@ pt:
|
|
17
17
|
no_items: "Sem resultados"
|
18
18
|
single_page: "Mostrando %{count} %{item_name}"
|
19
19
|
multiple_pages: "Mostrando %{item_name} %{from}-%{to} de um total de %{count}"
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
20
|
+
combo_nav_js: "Página %{page_input} de %{pages}"
|
21
|
+
items_selector_js: "Mostrar %{items_input} %{item_name} por página"
|
data/{lib → gem}/locales/ru.yml
RENAMED
@@ -21,7 +21,7 @@ ru:
|
|
21
21
|
other: "записей"
|
22
22
|
info:
|
23
23
|
no_items: "Пока %{item_name} нет"
|
24
|
-
single_page: "
|
25
|
-
multiple_pages: "Всего
|
26
|
-
combo_nav_js: "
|
27
|
-
items_selector_js: "
|
24
|
+
single_page: "%{count} %{item_name}"
|
25
|
+
multiple_pages: "Всего %{count} %{item_name}, показаны с %{from} по %{to}"
|
26
|
+
combo_nav_js: "Страница %{page_input} из %{pages}"
|
27
|
+
items_selector_js: "Показать %{items_input} %{item_name} на странице"
|
data/{lib → gem}/locales/sr.yml
RENAMED
@@ -19,7 +19,7 @@ sr:
|
|
19
19
|
other: "ставки"
|
20
20
|
info:
|
21
21
|
no_items: "Нema пронађених %{item_name}"
|
22
|
-
single_page: "Приказује се
|
23
|
-
multiple_pages: "Приказ %{item_name}
|
24
|
-
combo_nav_js: "
|
25
|
-
items_selector_js: "
|
22
|
+
single_page: "Приказује се %{count} %{item_name}"
|
23
|
+
multiple_pages: "Приказ %{item_name} %{from}-%{to} од %{count} укупно"
|
24
|
+
combo_nav_js: "Страниca %{page_input} од %{pages}"
|
25
|
+
items_selector_js: "Прикажи %{items_input} %{item_name} по страниcи"
|
@@ -15,7 +15,7 @@ sv-SE:
|
|
15
15
|
other: "resultat"
|
16
16
|
info:
|
17
17
|
no_items: "Inga %{item_name} hittade"
|
18
|
-
single_page: "Visar
|
19
|
-
multiple_pages: "Visar %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Visar %{count} %{item_name}"
|
19
|
+
multiple_pages: "Visar %{item_name} %{from}-%{to} av %{count} totalt"
|
20
|
+
combo_nav_js: "Sida %{page_input} av %{pages}"
|
21
|
+
items_selector_js: "Visa %{items_input} %{item_name} per sida"
|
data/{lib → gem}/locales/sv.yml
RENAMED
@@ -15,7 +15,7 @@ sv:
|
|
15
15
|
other: "resultat"
|
16
16
|
info:
|
17
17
|
no_items: "Inga %{item_name} hittade"
|
18
|
-
single_page: "Visar
|
19
|
-
multiple_pages: "Visar %{item_name}
|
20
|
-
combo_nav_js: "
|
21
|
-
items_selector_js: "
|
18
|
+
single_page: "Visar %{count} %{item_name}"
|
19
|
+
multiple_pages: "Visar %{item_name} %{from}-%{to} av %{count} totalt"
|
20
|
+
combo_nav_js: "Sida %{page_input} av %{pages}"
|
21
|
+
items_selector_js: "Visa %{items_input} %{item_name} per sida"
|