ab_admin 0.4.0 → 0.5.0
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/app/assets/javascripts/ab_admin/components/in_place_edit.js.coffee +27 -12
- data/app/assets/javascripts/ab_admin/components/select2_bridge.js.coffee +39 -20
- data/app/assets/javascripts/ab_admin/core/columns_hider.js.coffee +4 -5
- data/app/assets/javascripts/ab_admin/inputs/datetime_input.js.coffee +3 -3
- data/app/assets/stylesheets/ab_admin/bootstrap_and_overrides.css.scss +5 -1
- data/app/assets/stylesheets/ab_admin/components/_columns_hider.css.scss +1 -1
- data/app/assets/stylesheets/ab_admin/components/_form.css.scss +1 -1
- data/app/controllers/admin/assets_controller.rb +4 -1
- data/app/controllers/admin/base_controller.rb +28 -10
- data/app/controllers/admin/locators_controller.rb +1 -1
- data/app/controllers/admin/manager_controller.rb +7 -2
- data/app/controllers/admin/static_pages_controller.rb +4 -5
- data/app/controllers/admin/structures_controller.rb +1 -1
- data/app/views/admin/base/create.js.erb +1 -1
- data/app/views/admin/base/edit.js.erb +16 -10
- data/app/views/admin/base/index.html.slim +2 -2
- data/app/views/admin/base/show.js.erb +2 -2
- data/app/views/admin/base/update.js.erb +12 -8
- data/app/views/admin/manager/_form.html.slim +4 -1
- data/app/views/admin/manager/_table.html.slim +2 -2
- data/app/views/admin/shared/_flash.html.slim +1 -1
- data/app/views/admin/structures/_form.html.slim +1 -1
- data/app/views/admin/users/_table.html.slim +1 -1
- data/config/locales/de.yml +18 -36
- data/config/locales/en.yml +20 -36
- data/config/locales/it.yml +12 -30
- data/config/locales/ru.yml +4 -17
- data/config/locales/uk.yml +301 -0
- data/lib/ab_admin.rb +1 -2
- data/lib/ab_admin/concerns/admin_addition.rb +1 -1
- data/lib/ab_admin/concerns/asset_human_names.rb +9 -1
- data/lib/ab_admin/concerns/utilities.rb +2 -6
- data/lib/ab_admin/controllers/tree.rb +2 -2
- data/lib/ab_admin/core_ext/array.rb +6 -5
- data/lib/ab_admin/hooks.rb +7 -32
- data/lib/ab_admin/hooks/{active_model_hooks.rb → active_model_attr_accessible_few_roles.rb} +12 -4
- data/lib/ab_admin/hooks/{globalize_hooks.rb → globalize_locale_suffix_accessors.rb} +1 -9
- data/lib/ab_admin/hooks/globalize_valid_locale.rb +9 -0
- data/lib/ab_admin/hooks/{paginate_hooks.rb → will_paginate_id_prefetch.rb} +7 -22
- data/lib/ab_admin/hooks/will_paginate_no_uri.rb +19 -0
- data/lib/ab_admin/i18n_tools/model_translator.rb +3 -2
- data/lib/ab_admin/menu/base_group.rb +3 -3
- data/lib/ab_admin/menu/item.rb +15 -4
- data/lib/ab_admin/models/asset.rb +6 -0
- data/lib/ab_admin/models/settings.rb +6 -6
- data/lib/ab_admin/models/user.rb +4 -0
- data/lib/ab_admin/utils.rb +16 -7
- data/lib/ab_admin/utils/xls_document.rb +9 -1
- data/lib/ab_admin/version.rb +1 -1
- data/lib/ab_admin/views/admin_helpers.rb +15 -11
- data/lib/ab_admin/views/admin_navigation_helpers.rb +11 -6
- data/lib/ab_admin/views/form_builder.rb +5 -1
- data/lib/ab_admin/views/search_form_builder.rb +1 -1
- data/lib/generators/ab_admin/glob/glob_generator.rb +6 -3
- data/lib/generators/ab_admin/install/install_generator.rb +1 -1
- data/lib/generators/ab_admin/install/templates/config/{unicorn_config.rb → unicorn/production.rb} +6 -9
- data/lib/generators/ab_admin/install/templates/script/unicorn.sh +7 -6
- data/lib/generators/template.rb +0 -1
- data/lib/tasks/assets.rake +7 -1
- metadata +34 -61
- data/app/assets/stylesheets/ab_admin/components/_text_styles.css.scss +0 -47
- data/lib/ab_admin/views/inputs/capture_block_input.rb +0 -16
@@ -5,8 +5,8 @@
|
|
5
5
|
%>
|
6
6
|
$('#<%= form_wrap_id %>').remove();
|
7
7
|
$('#list tbody').prepend('<%= j html %>');
|
8
|
-
$('#<%= dom_id(resource, 'list') %>').addClass('success').scrollToEl();
|
9
8
|
$(document).trigger('admin:list_init');
|
9
|
+
$('#<%= dom_id(resource, 'list') %>').addClass('success').scrollToEl();
|
10
10
|
<% end %>
|
11
11
|
|
12
12
|
|
@@ -1,12 +1,18 @@
|
|
1
|
-
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
%>
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
<% if params[:modal] %>
|
2
|
+
var $form = $('#modal_form');
|
3
|
+
$form.html("<%= j render 'modal_form_layout' %>");
|
4
|
+
$form.find('form').trigger('admin:form_init');
|
5
|
+
<% else %>
|
6
|
+
<%
|
7
|
+
el_id = dom_id(resource, 'list')
|
8
|
+
form_wrap_id = dom_id(resource, 'list_edit')
|
9
|
+
html = %[<tr id="#{form_wrap_id}" class="list_edit warning"><td>#{render('form')}</td></tr>].html_safe
|
10
|
+
%>
|
11
|
+
$('#<%= form_wrap_id %>').remove();
|
12
|
+
$('#<%= el_id %>').after('<%= j html %>');
|
13
|
+
$('#<%= form_wrap_id %> td:first').attr('colspan', $('#list tr:first th').length);
|
14
|
+
$('#<%= form_wrap_id %> form').trigger('admin:form_init');
|
15
|
+
$('#<%= el_id %>').scrollToEl();
|
16
|
+
<% end %>
|
11
17
|
|
12
18
|
<%= render 'admin/shared/flash', flash: flash %>
|
@@ -13,6 +13,6 @@
|
|
13
13
|
a.btn.per_page data-val=c href=url_for(params.merge(per_page: c)) class=('active' if c == collection.per_page) = c
|
14
14
|
|
15
15
|
- if pjax? && flash.present?
|
16
|
-
- flash.each do |
|
17
|
-
= javascript_tag %[flash("#{j
|
16
|
+
- flash.each do |type, message|
|
17
|
+
= javascript_tag %[flash("#{j message}", "#{type}")]
|
18
18
|
|
@@ -1,8 +1,12 @@
|
|
1
|
-
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
$('#<%=
|
7
|
-
$('#<%= dom_id(resource, 'list') %>').
|
8
|
-
$(document).trigger('admin:list_init');
|
1
|
+
<% unless params[:modal] %>
|
2
|
+
<%
|
3
|
+
form_wrap_id = dom_id(resource, 'list_edit')
|
4
|
+
html = render('table', collection: [resource]).match(/<tbody>(.*)<\/tbody>/m)[1].html_safe
|
5
|
+
%>
|
6
|
+
$('#<%= form_wrap_id %>').remove();
|
7
|
+
$('#<%= dom_id(resource, 'list') %>').replaceWith('<%= j html %>');
|
8
|
+
$(document).trigger('admin:list_init');
|
9
|
+
$('#<%= dom_id(resource, 'list') %>').addClass('success').scrollToEl();
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
window.ab_admin_last_updated = <%= raw resource.for_input_token.to_json %>;
|
@@ -12,7 +12,10 @@
|
|
12
12
|
- else
|
13
13
|
= input_set node.title, node.options do
|
14
14
|
- node.fields.each do |field|
|
15
|
-
|
15
|
+
- if field.block && field.options[:as] == :capture_block
|
16
|
+
= instance_exec(f, &field.block)
|
17
|
+
- else
|
18
|
+
= f.render_dsl_node field
|
16
19
|
- else
|
17
20
|
= f.render_dsl_node node
|
18
21
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
= batch_action_toggle
|
8
8
|
th= list_sort_link(:id)
|
9
9
|
- table_builder.fields.each do |field|
|
10
|
-
th
|
10
|
+
th class=('hide_cell' if field.options[:hidden])
|
11
11
|
- if field.options[:sortable] && !field.options[:image]
|
12
12
|
- if field.options[:sortable].is_a?(TrueClass)
|
13
13
|
= list_sort_link field.name
|
@@ -22,7 +22,7 @@
|
|
22
22
|
- collection.each do |item|
|
23
23
|
tr id=dom_id(item, 'list')
|
24
24
|
= batch_action_item(item)
|
25
|
-
td= id_link(item, is_edit_link)
|
25
|
+
td= id_link(item, edit: is_edit_link)
|
26
26
|
- table_builder.fields.each do |field|
|
27
27
|
td
|
28
28
|
- if field.options[:editable] && field.data.is_a?(Symbol)
|
@@ -14,7 +14,7 @@
|
|
14
14
|
= f.input :picture, as: :uploader
|
15
15
|
= f.input :pictures, as: :uploader
|
16
16
|
|
17
|
-
= input_set t('admin.keywords') do
|
17
|
+
= input_set t('admin.form.keywords') do
|
18
18
|
= render 'admin/headers/form', f: f
|
19
19
|
|
20
20
|
= f.hidden_field :fileupload_guid if f.object.new_record?
|
@@ -27,7 +27,7 @@ table.table.table-striped.index_table#list
|
|
27
27
|
td= pretty_data item.created_at
|
28
28
|
td.actions
|
29
29
|
= item_index_actions(item)
|
30
|
-
- if item.
|
30
|
+
- if item.active?
|
31
31
|
= link_to t('admin.actions.suspend.link'), suspend_admin_user_path(item), method: :post, class: 'btn btn-warning'
|
32
32
|
- else
|
33
33
|
= link_to icon('ok', true), activate_admin_user_path(item), method: :post, class: 'btn btn-success', title: t('admin.actions.activate.link')
|
data/config/locales/de.yml
CHANGED
@@ -78,11 +78,11 @@ de:
|
|
78
78
|
avatar: Picture
|
79
79
|
batch_actions:
|
80
80
|
status:
|
81
|
-
few:
|
82
|
-
many:
|
83
|
-
one:
|
84
|
-
other:
|
85
|
-
zero:
|
81
|
+
few: "%{action} - %{count} records"
|
82
|
+
many: "%{action} - %{count} records"
|
83
|
+
one: "%{action} - %{count} record"
|
84
|
+
other: "%{action} - %{count} records"
|
85
|
+
zero: "%{action} - 0 records"
|
86
86
|
title: Action
|
87
87
|
cache_clear: Clear cache
|
88
88
|
cant_be_deleted: Can not delete
|
@@ -214,7 +214,6 @@ de:
|
|
214
214
|
cancel: Cancellation
|
215
215
|
clear: Reset
|
216
216
|
confirm: Confirm
|
217
|
-
create_product: Create a new product
|
218
217
|
day: Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
|
219
218
|
day_short: Sun, Mon, Tue, Wed, Thu, Fri, Sat
|
220
219
|
delete_nested_elements: Can not delete
|
@@ -225,10 +224,6 @@ de:
|
|
225
224
|
search: Searching ...
|
226
225
|
value: Value
|
227
226
|
fileupload:
|
228
|
-
error: ''
|
229
|
-
start: ''
|
230
|
-
cancel: ''
|
231
|
-
destroy: ''
|
232
227
|
errors:
|
233
228
|
maxFileSize: ''
|
234
229
|
minFileSize: ''
|
@@ -238,21 +233,11 @@ de:
|
|
238
233
|
emptyResult: ''
|
239
234
|
attributes:
|
240
235
|
map: Location
|
241
|
-
address: Address
|
242
|
-
country: Country
|
243
|
-
country_id: Country
|
244
236
|
created_at: Created at
|
245
237
|
description: Description
|
246
|
-
footmarks_count: Likes
|
247
238
|
is_visible: Display
|
248
239
|
name: Name
|
249
|
-
parent: Parent element
|
250
|
-
parent_id: Parent element
|
251
240
|
position: Position
|
252
|
-
region: Region
|
253
|
-
region_id: Region
|
254
|
-
reviews_count: Views
|
255
|
-
synonyms: Synonyms
|
256
241
|
title: Name
|
257
242
|
updated_at: Updated at
|
258
243
|
user: User
|
@@ -261,29 +246,26 @@ de:
|
|
261
246
|
updater_id: ''
|
262
247
|
remember_me: Remember
|
263
248
|
password: Password
|
264
|
-
slug: Alias
|
265
249
|
attrs:
|
266
250
|
en: Eng.
|
267
251
|
it: Italian
|
268
252
|
ru: Rus.
|
269
253
|
uk: Ukr.
|
270
254
|
de: Deutsch
|
271
|
-
fr:
|
255
|
+
fr: Fr
|
256
|
+
es: Es
|
272
257
|
flash:
|
273
258
|
admin:
|
274
259
|
actions:
|
275
260
|
create:
|
276
|
-
error:
|
277
|
-
notice:
|
261
|
+
error: "%{resource_name} - while creating errors occurred: %{errors}"
|
262
|
+
notice: "%{resource_name} was successfully created."
|
278
263
|
destroy:
|
279
|
-
error:
|
280
|
-
notice:
|
264
|
+
error: "%{resource_name} - record could not be deleted."
|
265
|
+
notice: "%{resource_name} - record was successfully deleted."
|
281
266
|
update:
|
282
|
-
error:
|
283
|
-
notice:
|
284
|
-
controller_name:
|
285
|
-
update:
|
286
|
-
success: products
|
267
|
+
error: "%{resource_name} - while updating errors occurred: %{errors}"
|
268
|
+
notice: "%{resource_name} - record was successfully changed."
|
287
269
|
locators:
|
288
270
|
prepared: Translations successfully prepared
|
289
271
|
restart: Translations successfully reloaded
|
@@ -300,16 +282,16 @@ de:
|
|
300
282
|
default_message: When you save any errors
|
301
283
|
'no': 'No'
|
302
284
|
required:
|
303
|
-
mark:
|
285
|
+
mark: "*"
|
304
286
|
text: mandatory
|
305
287
|
updating: Update ...
|
306
288
|
'yes': 'Yes'
|
307
289
|
will_paginate:
|
308
|
-
page_gap:
|
309
|
-
pagination_info: <b>%{from} - %{to}</b> of <b>%{count}</b>
|
290
|
+
page_gap: "..."
|
291
|
+
pagination_info: "<b>%{from} - %{to}</b> of <b>%{count}</b>"
|
310
292
|
pagination_info_empty: 0 total
|
311
|
-
next_label: →
|
312
|
-
previous_label: ←
|
293
|
+
next_label: "→"
|
294
|
+
previous_label: "←"
|
313
295
|
errors:
|
314
296
|
messages:
|
315
297
|
wrong_size: is the wrong size (should be %{file_size})
|
data/config/locales/en.yml
CHANGED
@@ -79,11 +79,11 @@ en:
|
|
79
79
|
batch_actions:
|
80
80
|
title: Action
|
81
81
|
status:
|
82
|
-
zero:
|
83
|
-
one:
|
84
|
-
few:
|
85
|
-
many:
|
86
|
-
other:
|
82
|
+
zero: "%{action} - 0 records"
|
83
|
+
one: "%{action} - %{count} record"
|
84
|
+
few: "%{action} - %{count} records"
|
85
|
+
many: "%{action} - %{count} records"
|
86
|
+
other: "%{action} - %{count} records"
|
87
87
|
cache_clear: Clear cache
|
88
88
|
cant_be_deleted: Can not delete
|
89
89
|
choose: Select %{attr}
|
@@ -214,7 +214,6 @@ en:
|
|
214
214
|
cancel: Cancel
|
215
215
|
clear: Reset
|
216
216
|
confirm: Confirm
|
217
|
-
create_product: Create a new product
|
218
217
|
day: Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
|
219
218
|
day_short: Sun, Mon, Tue, Wed, Thu, Fri, Sat
|
220
219
|
delete_nested_elements: Can not delete
|
@@ -225,10 +224,6 @@ en:
|
|
225
224
|
search: Searching ...
|
226
225
|
value: Value
|
227
226
|
fileupload:
|
228
|
-
error: Error
|
229
|
-
start: Start
|
230
|
-
cancel: Cancel
|
231
|
-
destroy: Delete
|
232
227
|
errors:
|
233
228
|
maxFileSize: File is too big
|
234
229
|
minFileSize: File is too small
|
@@ -238,21 +233,11 @@ en:
|
|
238
233
|
emptyResult: Empty file upload result
|
239
234
|
attributes:
|
240
235
|
map: Location
|
241
|
-
address: Address
|
242
|
-
country: Country
|
243
|
-
country_id: Country
|
244
236
|
created_at: Created at
|
245
237
|
description: Description
|
246
|
-
footmarks_count: Likes
|
247
238
|
is_visible: Display
|
248
239
|
name: Name
|
249
|
-
parent: Parent element
|
250
|
-
parent_id: Parent element
|
251
240
|
position: Position
|
252
|
-
region: Region
|
253
|
-
region_id: Region
|
254
|
-
reviews_count: Views
|
255
|
-
synonyms: Synonyms
|
256
241
|
title: Title
|
257
242
|
updated_at: Updated at
|
258
243
|
user: User
|
@@ -261,29 +246,26 @@ en:
|
|
261
246
|
updater_id: ''
|
262
247
|
remember_me: Remember
|
263
248
|
password: Password
|
264
|
-
slug: Alias
|
265
249
|
attrs:
|
266
250
|
en: Eng.
|
267
251
|
it: Italian
|
268
252
|
ru: Rus.
|
269
253
|
uk: Ukr.
|
270
254
|
de: Deutsch
|
271
|
-
fr:
|
255
|
+
fr: Fr
|
256
|
+
es: Es
|
272
257
|
flash:
|
273
258
|
admin:
|
274
259
|
actions:
|
275
260
|
create:
|
276
|
-
error:
|
277
|
-
notice:
|
261
|
+
error: "%{resource_name} - while creating errors occurred: %{errors}"
|
262
|
+
notice: "%{resource_name} was successfully created."
|
278
263
|
destroy:
|
279
|
-
error:
|
280
|
-
notice:
|
264
|
+
error: "%{resource_name} - record could not be deleted."
|
265
|
+
notice: "%{resource_name} - record was successfully deleted."
|
281
266
|
update:
|
282
|
-
error:
|
283
|
-
notice:
|
284
|
-
controller_name:
|
285
|
-
update:
|
286
|
-
success: products
|
267
|
+
error: "%{resource_name} - while updating errors occurred: %{errors}"
|
268
|
+
notice: "%{resource_name} - record was successfully changed."
|
287
269
|
locators:
|
288
270
|
prepared: Translations successfully prepared
|
289
271
|
restart: Translations successfully reloaded
|
@@ -300,16 +282,16 @@ en:
|
|
300
282
|
default_message: When you save any errors
|
301
283
|
'no': 'No'
|
302
284
|
required:
|
303
|
-
mark:
|
285
|
+
mark: "*"
|
304
286
|
text: mandatory
|
305
287
|
updating: Update ...
|
306
288
|
'yes': 'Yes'
|
307
289
|
will_paginate:
|
308
|
-
page_gap:
|
309
|
-
pagination_info: <b>%{from} - %{to}</b> of <b>%{count}</b>
|
290
|
+
page_gap: "..."
|
291
|
+
pagination_info: "<b>%{from} - %{to}</b> of <b>%{count}</b>"
|
310
292
|
pagination_info_empty: 0 total
|
311
|
-
next_label: →
|
312
|
-
previous_label: ←
|
293
|
+
next_label: "→"
|
294
|
+
previous_label: "←"
|
313
295
|
errors:
|
314
296
|
messages:
|
315
297
|
wrong_size: is the wrong size (should be %{file_size})
|
@@ -317,3 +299,5 @@ en:
|
|
317
299
|
size_too_big: is too big (should be at most %{file_size})
|
318
300
|
carrierwave_processing_error: Cannot resize image.
|
319
301
|
carrierwave_integrity_error: Not an image.
|
302
|
+
unauthorized:
|
303
|
+
default: You are not authorized to access this page.
|
data/config/locales/it.yml
CHANGED
@@ -207,7 +207,6 @@ it:
|
|
207
207
|
cancel: Cancellazione
|
208
208
|
clear: Reset
|
209
209
|
confirm: Confermare
|
210
|
-
create_product: Creazione di un nuovo prodotto
|
211
210
|
day: ''
|
212
211
|
day_short: Dom, Lun, Mar, mer, gio, ven, sab
|
213
212
|
delete_nested_elements: Impossibile eliminare
|
@@ -218,10 +217,6 @@ it:
|
|
218
217
|
search: Ricerca ...
|
219
218
|
value: Valore
|
220
219
|
fileupload:
|
221
|
-
error: ''
|
222
|
-
start: ''
|
223
|
-
cancel: ''
|
224
|
-
destroy: ''
|
225
220
|
errors:
|
226
221
|
maxFileSize: ''
|
227
222
|
minFileSize: ''
|
@@ -231,21 +226,11 @@ it:
|
|
231
226
|
emptyResult: ''
|
232
227
|
attributes:
|
233
228
|
map: ''
|
234
|
-
address: Indirizzo
|
235
|
-
country: Paese
|
236
|
-
country_id: Paese
|
237
229
|
created_at: Data di creazione
|
238
230
|
description: Descrizione
|
239
|
-
footmarks_count: ''
|
240
231
|
is_visible: Display
|
241
232
|
name: Nome
|
242
|
-
parent: ''
|
243
|
-
parent_id: ''
|
244
233
|
position: Posizione
|
245
|
-
region: Regione
|
246
|
-
region_id: Regione
|
247
|
-
reviews_count: ''
|
248
|
-
synonyms: Sinonimi
|
249
234
|
title: Nome
|
250
235
|
updated_at: Data di cambiamento
|
251
236
|
user: Utente
|
@@ -254,29 +239,26 @@ it:
|
|
254
239
|
updater_id: ''
|
255
240
|
remember_me: ''
|
256
241
|
password: ''
|
257
|
-
slug: ''
|
258
242
|
attrs:
|
259
243
|
en: Ing.
|
260
244
|
it: Italiana.
|
261
245
|
ru: rus.
|
262
246
|
uk: Ukr.
|
263
|
-
de:
|
264
|
-
fr:
|
247
|
+
de: De
|
248
|
+
fr: Fr
|
249
|
+
es: Es
|
265
250
|
flash:
|
266
251
|
admin:
|
267
252
|
actions:
|
268
253
|
create:
|
269
|
-
error:
|
270
|
-
notice:
|
254
|
+
error: "%{resource_name} mentre gli errori di mantenimento si è verificato."
|
255
|
+
notice: "%{resource_name} è stato creato con successo."
|
271
256
|
destroy:
|
272
|
-
error:
|
273
|
-
notice:
|
257
|
+
error: "%{resource_name} non può essere cancellato."
|
258
|
+
notice: "%{resource_name} stato cancellato con successo."
|
274
259
|
update:
|
275
|
-
error:
|
276
|
-
notice:
|
277
|
-
controller_name:
|
278
|
-
update:
|
279
|
-
success: prodotti
|
260
|
+
error: "%{resource_name} mentre gli errori di mantenimento si è verificato."
|
261
|
+
notice: "%{resource_name} è stata modificata correttamente."
|
280
262
|
locators:
|
281
263
|
prepared: Traduzioni con successo preparati
|
282
264
|
restart: Traduzioni successo ricaricate
|
@@ -293,16 +275,16 @@ it:
|
|
293
275
|
default_message: Quando si salva un errore
|
294
276
|
'no': 'No'
|
295
277
|
required:
|
296
|
-
mark:
|
278
|
+
mark: "*"
|
297
279
|
text: obbligatorio
|
298
280
|
updating: Aggiornamento ...
|
299
281
|
'yes': Sì
|
300
282
|
will_paginate:
|
301
|
-
page_gap:
|
283
|
+
page_gap: "..."
|
302
284
|
pagination_info: Visualizzazione <b>%{from} - %{to}</b>di %{count} solo
|
303
285
|
pagination_info_empty: ''
|
304
286
|
next_label: Avanti. →
|
305
|
-
previous_label: ← Precedente.
|
287
|
+
previous_label: "← Precedente."
|
306
288
|
errors:
|
307
289
|
messages:
|
308
290
|
wrong_size: ''
|