pagy 7.0.11 → 8.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/apps/calendar.ru +2196 -0
- data/apps/demo.ru +452 -0
- data/apps/rails.ru +205 -0
- data/apps/repro.ru +168 -0
- data/bin/pagy +83 -0
- data/{lib/config → config}/pagy.rb +6 -17
- data/javascripts/pagy-dev.js +114 -0
- data/{lib/javascripts → javascripts}/pagy-module.js +12 -10
- data/javascripts/pagy.js +1 -0
- data/lib/optimist.rb +1022 -0
- data/lib/pagy/calendar.rb +1 -1
- data/lib/pagy/console.rb +2 -2
- data/lib/pagy/countless.rb +1 -1
- data/lib/pagy/extras/bootstrap.rb +52 -63
- data/lib/pagy/extras/bulma.rb +49 -64
- data/lib/pagy/extras/calendar.rb +2 -2
- data/lib/pagy/extras/countless.rb +1 -1
- data/lib/pagy/extras/foundation.rb +49 -61
- data/lib/pagy/extras/headers.rb +1 -1
- data/lib/pagy/extras/items.rb +21 -18
- data/lib/pagy/extras/{frontend_helpers.rb → js_tools.rb} +4 -1
- data/lib/pagy/extras/jsonapi.rb +1 -1
- data/lib/pagy/extras/materialize.rb +53 -51
- data/lib/pagy/extras/metadata.rb +1 -1
- data/lib/pagy/extras/pagy.rb +82 -0
- data/lib/pagy/extras/semantic.rb +47 -50
- data/lib/pagy/extras/trim.rb +12 -12
- data/lib/pagy/extras/uikit.rb +48 -49
- data/lib/pagy/frontend.rb +33 -50
- data/lib/pagy/url_helpers.rb +1 -2
- data/lib/pagy.rb +15 -14
- data/{lib/locales → locales}/ar.yml +2 -2
- data/{lib/locales → locales}/be.yml +4 -4
- data/{lib/locales → locales}/bg.yml +4 -4
- data/{lib/locales → locales}/bs.yml +4 -4
- data/{lib/locales → locales}/ca.yml +4 -4
- data/locales/ckb.yml +18 -0
- data/{lib/locales → locales}/cs.yml +4 -4
- data/{lib/locales → locales}/da.yml +4 -4
- data/{lib/locales → locales}/de.yml +4 -4
- data/{lib/locales → locales}/en.yml +4 -4
- data/{lib/locales → locales}/es.yml +2 -2
- data/{lib/locales → locales}/fr.yml +4 -4
- data/{lib/locales → locales}/hr.yml +4 -4
- data/{lib/locales → locales}/id.yml +4 -4
- data/{lib/locales → locales}/it.yml +4 -4
- data/{lib/locales → locales}/ja.yml +4 -4
- data/{lib/locales → locales}/km.yml +4 -4
- data/{lib/locales → locales}/ko.yml +4 -4
- data/{lib/locales → locales}/nb.yml +4 -4
- data/{lib/locales → locales}/nl.yml +4 -4
- data/{lib/locales → locales}/nn.yml +4 -4
- data/{lib/locales → locales}/pl.yml +4 -4
- data/{lib/locales → locales}/pt-BR.yml +2 -2
- data/{lib/locales → locales}/pt.yml +2 -2
- data/locales/ru.yml +25 -0
- data/{lib/locales → locales}/sr.yml +4 -4
- data/{lib/locales → locales}/sv-SE.yml +4 -4
- data/{lib/locales → locales}/sv.yml +4 -4
- data/{lib/locales → locales}/sw.yml +4 -4
- data/{lib/locales → locales}/ta.yml +4 -4
- data/{lib/locales → locales}/tr.yml +4 -4
- data/{lib/locales → locales}/uk.yml +4 -4
- data/{lib/locales → locales}/vi.yml +4 -4
- data/{lib/locales → locales}/zh-CN.yml +4 -4
- data/{lib/locales → locales}/zh-HK.yml +4 -4
- data/{lib/locales → locales}/zh-TW.yml +4 -4
- data/pkg/pagy-8.0.1.gem +0 -0
- data/{lib/stylesheets → stylesheets}/pagy.css +19 -34
- data/{lib/stylesheets → stylesheets}/pagy.scss +17 -19
- data/stylesheets/pagy.tailwind.css +21 -0
- metadata +65 -51
- data/lib/javascripts/pagy-dev.js +0 -112
- data/lib/javascripts/pagy.js +0 -1
- data/lib/locales/ckb.yml +0 -18
- data/lib/locales/ru.yml +0 -27
- data/lib/pagy/extras/navs.rb +0 -51
- data/lib/pagy/extras/support.rb +0 -40
- data/lib/stylesheets/pagy.tailwind.scss +0 -24
- /data/{lib/javascripts → javascripts}/pagy-module.d.ts +0 -0
data/lib/pagy/frontend.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# See Pagy::Frontend API documentation: https://ddnexus.github.io/pagy/docs/api/frontend
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
require_relative 'url_helpers'
|
5
|
+
require_relative 'i18n'
|
6
6
|
|
7
7
|
class Pagy
|
8
8
|
# Used for search and replace, hardcoded also in the pagy.js file
|
@@ -15,60 +15,53 @@ class Pagy
|
|
15
15
|
include UrlHelpers
|
16
16
|
|
17
17
|
# Generic pagination: it returns the html with the series of links to the pages
|
18
|
-
def pagy_nav(pagy,
|
19
|
-
|
20
|
-
|
21
|
-
link = pagy_link_proc(pagy, link_extra:)
|
18
|
+
def pagy_nav(pagy, id: nil, aria_label: nil, **vars)
|
19
|
+
id = %( id="#{id}") if id
|
20
|
+
a = pagy_anchor(pagy)
|
22
21
|
|
23
|
-
html =
|
24
|
-
|
22
|
+
html = %(<nav#{id} class="pagy nav" #{nav_aria_label(pagy, aria_label:)}>#{
|
23
|
+
prev_a(pagy, a)})
|
25
24
|
pagy.series(**vars).each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
26
25
|
html << case item
|
27
26
|
when Integer
|
28
|
-
|
27
|
+
a.(item)
|
29
28
|
when String
|
30
|
-
%(<
|
31
|
-
%(<a role="link" aria-disabled="true" aria-current="page">#{pagy.label_for(item)}</a></span>)
|
29
|
+
%(<a role="link" aria-disabled="true" aria-current="page" class="current">#{pagy.label_for(item)}</a>)
|
32
30
|
when :gap
|
33
|
-
%(<
|
31
|
+
%(<a role="link" aria-disabled="true" class="gap">#{pagy_t('pagy.gap')}</a>)
|
34
32
|
else
|
35
33
|
raise InternalError, "expected item types in series to be Integer, String or :gap; got #{item.inspect}"
|
36
34
|
end
|
37
35
|
end
|
38
|
-
html << %(#{
|
36
|
+
html << %(#{next_a(pagy, a)}</nav>)
|
39
37
|
end
|
40
38
|
|
41
39
|
# Return examples: "Displaying items 41-60 of 324 in total" or "Displaying Products 41-60 of 324 in total"
|
42
|
-
def pagy_info(pagy,
|
43
|
-
|
40
|
+
def pagy_info(pagy, id: nil, item_name: nil)
|
41
|
+
id = %( id="#{id}") if id
|
44
42
|
p_count = pagy.count
|
45
43
|
key = if p_count.zero? then 'pagy.info.no_items'
|
46
44
|
elsif pagy.pages == 1 then 'pagy.info.single_page'
|
47
45
|
else 'pagy.info.multiple_pages' # rubocop:disable Lint/ElseLayout
|
48
46
|
end
|
49
47
|
|
50
|
-
%(<span#{
|
51
|
-
pagy_t key, item_name: item_name || pagy_t(
|
48
|
+
%(<span#{id} class="pagy info">#{
|
49
|
+
pagy_t key, item_name: item_name || pagy_t('pagy.item_name', count: p_count),
|
52
50
|
count: p_count, from: pagy.from, to: pagy.to
|
53
51
|
}</span>)
|
54
52
|
end
|
55
53
|
|
56
|
-
# Return a performance optimized lambda to generate the
|
54
|
+
# Return a performance optimized lambda to generate the HtML anchor element (a tag)
|
57
55
|
# Benchmarked on a 20 link nav: it is ~22x faster and uses ~18x less memory than rails' link_to
|
58
|
-
def
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
left, right = %(<a href="#{pagy_url_for(pagy, PAGE_TOKEN)}" #{
|
63
|
-
pagy.vars[:link_extra]} #{link_extra}).split(PAGE_TOKEN, 2)
|
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)
|
64
60
|
# lambda used by all the helpers
|
65
|
-
lambda do |page, text = pagy.label_for(page),
|
66
|
-
%(#{
|
67
|
-
|
68
|
-
|
69
|
-
when p_page then ' aria-disabled="true" aria-current="page"'
|
70
|
-
else ''
|
71
|
-
end } #{extra_attrs}>#{text}</a>)
|
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>)
|
72
65
|
end
|
73
66
|
end
|
74
67
|
|
@@ -80,34 +73,24 @@ class Pagy
|
|
80
73
|
|
81
74
|
private
|
82
75
|
|
83
|
-
def
|
84
|
-
|
85
|
-
%(aria-label="#{
|
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}")
|
86
79
|
end
|
87
80
|
|
88
|
-
def
|
89
|
-
%(aria-label="#{pagy_t('pagy.aria_label.prev')}")
|
90
|
-
end
|
91
|
-
|
92
|
-
def next_aria_label_attr
|
93
|
-
%(aria-label="#{pagy_t('pagy.aria_label.next')}")
|
94
|
-
end
|
95
|
-
|
96
|
-
def prev_html(pagy, link, text: pagy_t('pagy.prev'))
|
81
|
+
def prev_a(pagy, a, text: pagy_t('pagy.prev'), aria_label: pagy_t('pagy.aria_label.prev'))
|
97
82
|
if (p_prev = pagy.prev)
|
98
|
-
|
83
|
+
a.(p_prev, text, aria_label:)
|
99
84
|
else
|
100
|
-
%(<
|
101
|
-
prev_aria_label_attr}>#{text}</a></span>)
|
85
|
+
%(<a role="link" aria-disabled="true" aria-label="#{aria_label}">#{text}</a>)
|
102
86
|
end
|
103
87
|
end
|
104
88
|
|
105
|
-
def
|
89
|
+
def next_a(pagy, a, text: pagy_t('pagy.next'), aria_label: pagy_t('pagy.aria_label.next'))
|
106
90
|
if (p_next = pagy.next)
|
107
|
-
|
91
|
+
a.(p_next, text, aria_label:)
|
108
92
|
else
|
109
|
-
%(<
|
110
|
-
next_aria_label_attr}>#{text}</a></span>)
|
93
|
+
%(<a role="link" aria-disabled="true" aria-label=#{aria_label}>#{text}</a>)
|
111
94
|
end
|
112
95
|
end
|
113
96
|
end
|
data/lib/pagy/url_helpers.rb
CHANGED
@@ -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/pagy.rb
CHANGED
@@ -5,27 +5,28 @@ require 'pathname'
|
|
5
5
|
|
6
6
|
# Core class
|
7
7
|
class Pagy
|
8
|
-
VERSION = '
|
8
|
+
VERSION = '8.0.2'
|
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
|
|
@@ -146,6 +147,6 @@ class Pagy
|
|
146
147
|
end
|
147
148
|
end
|
148
149
|
|
149
|
-
|
150
|
-
|
151
|
-
|
150
|
+
require_relative 'pagy/backend'
|
151
|
+
require_relative 'pagy/frontend'
|
152
|
+
require_relative 'pagy/exceptions'
|
@@ -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} لكل صفحة"
|
@@ -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} на старонцы"
|
@@ -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} на страница"
|
@@ -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"
|
@@ -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/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} لە هەر پەڕێک"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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} 件ずつ表示"
|
@@ -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} ក្នុង ១ ទំព័រ"
|
@@ -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}개 표시%"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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"
|
@@ -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/locales/ru.yml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# :east_slavic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
2
|
+
ru:
|
3
|
+
pagy:
|
4
|
+
aria_label:
|
5
|
+
nav:
|
6
|
+
one: "Страница"
|
7
|
+
few: "Страницы"
|
8
|
+
many: "Страниц"
|
9
|
+
other: "Страниц"
|
10
|
+
prev: "Назад"
|
11
|
+
next: "Вперёд"
|
12
|
+
prev: "<"
|
13
|
+
next: ">"
|
14
|
+
gap: "…"
|
15
|
+
item_name:
|
16
|
+
one: "запись"
|
17
|
+
few: "записи"
|
18
|
+
many: "записей"
|
19
|
+
other: "записей"
|
20
|
+
info:
|
21
|
+
no_items: "Пока %{item_name} нет"
|
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} на странице"
|
@@ -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"
|
@@ -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"
|
@@ -17,7 +17,7 @@ sw:
|
|
17
17
|
other: "vifaa"
|
18
18
|
info:
|
19
19
|
no_items: "Hamna %{item_name} vilivyopatikana"
|
20
|
-
single_page: "Inaonyesha %{item_name}
|
21
|
-
multiple_pages: "Inaonyesha %{item_name}
|
22
|
-
combo_nav_js: "
|
23
|
-
items_selector_js: "
|
20
|
+
single_page: "Inaonyesha %{item_name} %{count}"
|
21
|
+
multiple_pages: "Inaonyesha %{item_name} %{from}-%{to} ya %{count} kwa jumla"
|
22
|
+
combo_nav_js: "Kurasa %{page_input} ya %{pages}"
|
23
|
+
items_selector_js: "Onyesha %{items_input} %{item_name} kwa kila ukurasa"
|