blacklight 9.0.0.beta2 → 9.0.0.beta3
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/.rubocop.yml +11 -1
- data/VERSION +1 -1
- data/app/assets/builds/blacklight.css +0 -5
- data/app/assets/javascripts/blacklight/blacklight.esm.js +12 -4
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +12 -4
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
- data/app/assets/stylesheets/blacklight/_blacklight_base.scss +0 -1
- data/app/components/blacklight/constraint_layout_component.html.erb +1 -6
- data/app/components/blacklight/constraint_layout_component.rb +9 -0
- data/app/components/blacklight/document/bookmark_component.html.erb +2 -2
- data/app/components/blacklight/document_component.html.erb +3 -3
- data/app/components/blacklight/document_component.rb +2 -2
- data/app/components/blacklight/document_title_component.rb +3 -0
- data/app/components/blacklight/facet_field_checkboxes_component.rb +6 -2
- data/app/components/blacklight/facet_field_component.rb +6 -2
- data/app/components/blacklight/facet_field_filter_component.rb +6 -2
- data/app/components/blacklight/facet_field_inclusive_constraint_component.rb +6 -4
- data/app/components/blacklight/facet_field_list_component.rb +6 -2
- data/app/components/blacklight/facet_field_no_layout_component.rb +6 -2
- data/app/components/blacklight/facet_item_component.rb +6 -2
- data/app/components/blacklight/facets/filters_component.html.erb +2 -2
- data/app/components/blacklight/facets/filters_component.rb +14 -2
- data/app/components/blacklight/facets/list_component.html.erb +1 -1
- data/app/components/blacklight/facets/list_component.rb +2 -0
- data/app/components/blacklight/icons/remove_component.rb +2 -2
- data/app/components/blacklight/response/facet_group_component.html.erb +2 -2
- data/app/components/blacklight/response/facet_group_component.rb +6 -2
- data/app/components/blacklight/system/flash_message_component.html.erb +1 -1
- data/app/components/blacklight/system/flash_message_component.rb +0 -9
- data/app/components/blacklight/system/modal_component.html.erb +1 -2
- data/app/controllers/concerns/blacklight/catalog.rb +6 -2
- data/app/helpers/blacklight/catalog_helper_behavior.rb +1 -1
- data/app/javascript/blacklight-frontend/bookmark_toggle.js +7 -2
- data/app/javascript/blacklight-frontend/checkbox_submit.js +5 -1
- data/app/javascript/blacklight-frontend/modal.js +1 -2
- data/app/presenters/blacklight/json_presenter.rb +7 -1
- data/app/views/catalog/facet.html.erb +1 -1
- data/config/locales/blacklight.ar.yml +12 -11
- data/config/locales/blacklight.ca.yml +1 -0
- data/config/locales/blacklight.de.yml +13 -12
- data/config/locales/blacklight.en.yml +1 -0
- data/config/locales/blacklight.es.yml +11 -10
- data/config/locales/blacklight.fr.yml +12 -11
- data/config/locales/blacklight.hu.yml +13 -12
- data/config/locales/blacklight.it.yml +13 -12
- data/config/locales/blacklight.nl.yml +12 -11
- data/config/locales/blacklight.pt-BR.yml +13 -12
- data/config/locales/blacklight.sq.yml +12 -11
- data/config/locales/blacklight.zh.yml +9 -8
- data/lib/blacklight/configuration.rb +7 -1
- data/lib/blacklight/solr/repository.rb +4 -1
- data/lib/blacklight.rb +5 -3
- data/lib/generators/blacklight/templates/catalog_controller.rb +2 -2
- data/package.json +1 -1
- data/spec/features/modal_spec.rb +1 -1
- data/spec/models/blacklight/configuration_spec.rb +20 -0
- data/spec/presenters/blacklight/json_presenter_spec.rb +17 -0
- metadata +3 -4
- data/app/assets/stylesheets/blacklight/_icons.scss +0 -4
@@ -1,8 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Blacklight
|
4
|
-
class FacetFieldInclusiveConstraintComponent < Facets::InclusiveConstraintComponent
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class FacetFieldInclusiveConstraintComponent < Facets::InclusiveConstraintComponent
|
5
|
+
def initialize(...)
|
6
|
+
Rails.logger.warn("Blacklight::FacetFieldInclusiveConstraintComponent is deprecated. Use Blacklight::Facets::InclusiveConstraintComponent instead.")
|
7
|
+
super
|
8
|
+
end
|
9
|
+
end
|
8
10
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Blacklight
|
4
|
-
class FacetFieldListComponent < Facets::ListComponent
|
5
|
-
|
4
|
+
class FacetFieldListComponent < Facets::ListComponent
|
5
|
+
def initialize(...)
|
6
|
+
Rails.logger.warn("Blacklight::FacetFieldListComponent is deprecated. Use Blacklight::Facets::ListComponent instead.")
|
7
|
+
super
|
8
|
+
end
|
9
|
+
end
|
6
10
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Blacklight
|
4
|
-
class FacetFieldNoLayoutComponent < Facets::NoLayoutComponent
|
5
|
-
|
4
|
+
class FacetFieldNoLayoutComponent < Facets::NoLayoutComponent
|
5
|
+
def initialize(...)
|
6
|
+
Rails.logger.warn("Blacklight::FacetFieldNoLayoutComponent is deprecated. Use Blacklight::Facets::NoLayoutComponent instead.")
|
7
|
+
super
|
8
|
+
end
|
9
|
+
end
|
6
10
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Blacklight
|
4
|
-
class FacetItemComponent < Facets::ItemComponent
|
5
|
-
|
4
|
+
class FacetItemComponent < Facets::ItemComponent
|
5
|
+
def initialize(...)
|
6
|
+
Rails.logger.warn("Blacklight::FacetItemComponent is deprecated. Use Blacklight::Facets::ItemComponent instead.")
|
7
|
+
super
|
8
|
+
end
|
9
|
+
end
|
6
10
|
end
|
@@ -3,16 +3,20 @@
|
|
3
3
|
module Blacklight::Facets
|
4
4
|
class FiltersComponent < Blacklight::Component
|
5
5
|
# @param [Blacklight::FacetFieldPresenter] presenter
|
6
|
-
def initialize(presenter:, classes: 'facet-filters card card-body bg-light p-3 mb-3 border-0'
|
6
|
+
def initialize(presenter:, classes: 'facet-filters card card-body bg-light p-3 mb-3 border-0',
|
7
|
+
suggestions_component: Blacklight::Facets::SuggestComponent,
|
8
|
+
index_navigation_component: Blacklight::Facets::IndexNavigationComponent)
|
7
9
|
@presenter = presenter
|
8
10
|
@classes = classes
|
11
|
+
@suggestions_component = suggestions_component
|
12
|
+
@index_navigation_component = index_navigation_component
|
9
13
|
end
|
10
14
|
|
11
15
|
def facet
|
12
16
|
@presenter.facet_field
|
13
17
|
end
|
14
18
|
|
15
|
-
attr_reader :classes, :presenter
|
19
|
+
attr_reader :classes, :presenter, :suggestions_component, :index_navigation_component
|
16
20
|
|
17
21
|
delegate :display_facet, to: :presenter
|
18
22
|
|
@@ -23,5 +27,13 @@ module Blacklight::Facets
|
|
23
27
|
def render_index_navigation?
|
24
28
|
facet.index_range && display_facet.index?
|
25
29
|
end
|
30
|
+
|
31
|
+
def suggestions
|
32
|
+
render suggestions_component.new(presenter: presenter)
|
33
|
+
end
|
34
|
+
|
35
|
+
def index_navigation
|
36
|
+
render index_navigation_component.new(presenter: presenter)
|
37
|
+
end
|
26
38
|
end
|
27
39
|
end
|
@@ -8,6 +8,8 @@ module Blacklight
|
|
8
8
|
@layout = layout == false ? Blacklight::Facets::NoLayoutComponent : Blacklight::Facets::FieldComponent
|
9
9
|
end
|
10
10
|
|
11
|
+
attr_accessor :layout
|
12
|
+
|
11
13
|
def facet_items(wrapping_element: :li, **item_args)
|
12
14
|
facet_item_component_class.with_collection(facet_item_presenters, wrapping_element: wrapping_element, **item_args)
|
13
15
|
end
|
@@ -7,8 +7,8 @@ module Blacklight
|
|
7
7
|
# Blacklight::Icons::RemoveComponent.svg = '<svg>your SVG here</svg>'
|
8
8
|
class RemoveComponent < Blacklight::Icons::IconComponent
|
9
9
|
self.svg = <<~SVG
|
10
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x
|
11
|
-
<path d="
|
10
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-lg" viewBox="0 0 16 16">
|
11
|
+
<path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/>
|
12
12
|
</svg>
|
13
13
|
SVG
|
14
14
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% # main container for facets/limits menu -%>
|
2
|
-
<%= content_tag :div, id: @id, class:
|
2
|
+
<%= content_tag :div, id: @id, class: container_classes do %>
|
3
3
|
<div class="facets-header">
|
4
|
-
<%= content_tag :h2, @title, class:
|
4
|
+
<%= content_tag :h2, @title, class: header_classes if @title %>
|
5
5
|
|
6
6
|
<%= collapse_toggle_button(@panel_id) %>
|
7
7
|
</div>
|
@@ -8,15 +8,19 @@ module Blacklight
|
|
8
8
|
|
9
9
|
# @param [String] id a unique identifier for the group
|
10
10
|
# @param [String] title the title of the facet group section
|
11
|
-
def initialize(id:, title: nil, body_classes: 'facets-collapse d-lg-block collapse accordion'
|
11
|
+
def initialize(id:, title: nil, body_classes: 'facets-collapse d-lg-block collapse accordion',
|
12
|
+
header_classes: 'facets-heading h4',
|
13
|
+
container_classes: 'facets sidenav facets-toggleable-md')
|
12
14
|
@groupname = id
|
13
15
|
@id = id ? "facets-#{id}" : 'facets'
|
14
16
|
@title = title || I18n.t("blacklight.search.#{@id}.title")
|
15
17
|
@panel_id = id ? "facet-panel-#{id}-collapse" : 'facet-panel-collapse'
|
16
18
|
@body_classes = body_classes
|
19
|
+
@header_classes = header_classes
|
20
|
+
@container_classes = container_classes
|
17
21
|
end
|
18
22
|
|
19
|
-
attr_accessor :body_classes
|
23
|
+
attr_accessor :body_classes, :header_classes, :container_classes
|
20
24
|
|
21
25
|
def collapse_toggle_button(panel_id)
|
22
26
|
render button_component.new(panel_id: panel_id)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div class="alert alert-dismissible <%= @classes %>">
|
2
2
|
<%= message %>
|
3
|
-
<%= tag.button
|
3
|
+
<%= tag.button '', type: "button", class: "btn-close",
|
4
4
|
data: { dismiss: "alert", bs_dismiss: "alert" },
|
5
5
|
aria: { label: "Close" } %>
|
6
6
|
</div>
|
@@ -16,15 +16,6 @@ module Blacklight
|
|
16
16
|
with_message { @message } if @message
|
17
17
|
end
|
18
18
|
|
19
|
-
# Bootstrap 4 requires the span, but Bootstrap 5 should not have it.
|
20
|
-
# See https://getbootstrap.com/docs/4.6/components/alerts/#dismissing
|
21
|
-
# https://getbootstrap.com/docs/5.1/components/alerts/#dismissing
|
22
|
-
def button_contents
|
23
|
-
return if helpers.controller.blacklight_config.bootstrap_version == 5
|
24
|
-
|
25
|
-
tag.span '×'.html_safe, aria: { hidden: true }
|
26
|
-
end
|
27
|
-
|
28
19
|
def alert_class(type)
|
29
20
|
case type.to_s
|
30
21
|
when 'success' then "alert-success"
|
@@ -6,8 +6,7 @@
|
|
6
6
|
<h1 class="modal-title"><%= title %></h1>
|
7
7
|
<% end) %>
|
8
8
|
|
9
|
-
<button type="button" class="blacklight-modal-close btn-close
|
10
|
-
<span aria-hidden="true" class="visually-hidden">×</span>
|
9
|
+
<button type="button" class="blacklight-modal-close btn-close" data-bl-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
|
11
10
|
</button>
|
12
11
|
</div>
|
13
12
|
|
@@ -239,7 +239,7 @@ module Blacklight::Catalog
|
|
239
239
|
mail.deliver_now
|
240
240
|
end
|
241
241
|
|
242
|
-
def
|
242
|
+
def sms_params_valid?
|
243
243
|
if params[:to].blank?
|
244
244
|
flash[:error] = I18n.t('blacklight.sms.errors.to.blank')
|
245
245
|
elsif params[:carrier].blank?
|
@@ -252,12 +252,14 @@ module Blacklight::Catalog
|
|
252
252
|
|
253
253
|
flash[:error].blank?
|
254
254
|
end
|
255
|
+
alias validate_sms_params sms_params_valid?
|
256
|
+
Blacklight.deprecation.deprecate_methods(Blacklight::Catalog, validate_sms_params: 'use Catalog#sms_params_valid? instead')
|
255
257
|
|
256
258
|
def sms_mappings
|
257
259
|
Blacklight::Engine.config.blacklight.sms_mappings
|
258
260
|
end
|
259
261
|
|
260
|
-
def
|
262
|
+
def email_params_valid?
|
261
263
|
if params[:to].blank?
|
262
264
|
flash[:error] = I18n.t('blacklight.email.errors.to.blank')
|
263
265
|
elsif !params[:to].match(Blacklight::Engine.config.blacklight.email_regexp)
|
@@ -266,6 +268,8 @@ module Blacklight::Catalog
|
|
266
268
|
|
267
269
|
flash[:error].blank?
|
268
270
|
end
|
271
|
+
alias validate_email_params email_params_valid?
|
272
|
+
Blacklight.deprecation.deprecate_methods(Blacklight::Catalog, validate_email_params: 'use Catalog#email_params_valid? instead')
|
269
273
|
|
270
274
|
def start_new_search_session?
|
271
275
|
action_name == "index"
|
@@ -169,7 +169,7 @@ module Blacklight::CatalogHelperBehavior
|
|
169
169
|
constraints += search_state.filters.collect { |filter| render_search_to_page_title_filter(filter.key, filter.values) }
|
170
170
|
end
|
171
171
|
|
172
|
-
constraints.join('
|
172
|
+
constraints.join(t('blacklight.search.page_title.joiner'))
|
173
173
|
end
|
174
174
|
|
175
175
|
##
|
@@ -1,12 +1,17 @@
|
|
1
1
|
import CheckboxSubmit from 'blacklight-frontend/checkbox_submit'
|
2
2
|
|
3
3
|
const BookmarkToggle = (e) => {
|
4
|
-
|
5
|
-
|
4
|
+
const elementType = e.target.getAttribute('data-checkboxsubmit-target');
|
5
|
+
if (elementType == 'checkbox' || elementType == 'label') {
|
6
|
+
const form = e.target.closest('form');
|
6
7
|
if (form) new CheckboxSubmit(form).clicked(e);
|
8
|
+
if (e.code == 'Space') e.preventDefault();
|
7
9
|
}
|
8
10
|
};
|
9
11
|
|
10
12
|
document.addEventListener('click', BookmarkToggle);
|
13
|
+
document.addEventListener('keydown', function (e) {
|
14
|
+
if (e.key === 'Enter' || e.code == 'Space') { BookmarkToggle(e); } }
|
15
|
+
);
|
11
16
|
|
12
17
|
export default BookmarkToggle
|
@@ -43,6 +43,9 @@ export default class CheckboxSubmit {
|
|
43
43
|
this.bookmarksCounter().forEach(counter => {
|
44
44
|
counter.innerHTML = json.bookmarks.count;
|
45
45
|
});
|
46
|
+
|
47
|
+
var e = new CustomEvent('bookmark.blacklight', { detail: { checked: !this.checked } });
|
48
|
+
window.dispatchEvent(e)
|
46
49
|
}).catch((error) => {
|
47
50
|
this.handleError(error)
|
48
51
|
})
|
@@ -77,7 +80,8 @@ export default class CheckboxSubmit {
|
|
77
80
|
}
|
78
81
|
|
79
82
|
updateStateFor(state) {
|
80
|
-
this.checkboxTarget.checked
|
83
|
+
if (state) { this.checkboxTarget.setAttribute('checked', state) }
|
84
|
+
else { this.checkboxTarget.removeAttribute('checked') }
|
81
85
|
|
82
86
|
if (state) {
|
83
87
|
this.labelTarget.classList.add('checked')
|
@@ -81,8 +81,7 @@ const Modal = (() => {
|
|
81
81
|
|
82
82
|
const contents = `<div class="modal-header">
|
83
83
|
<div class="modal-title">There was a problem with your request.</div>
|
84
|
-
<button type="button" class="blacklight-modal-close btn-close
|
85
|
-
<span aria-hidden="true" class="visually-hidden">×</span>
|
84
|
+
<button type="button" class="blacklight-modal-close btn-close" data-bl-dismiss="modal" aria-label="Close">
|
86
85
|
</button>
|
87
86
|
</div>
|
88
87
|
<div class="modal-body">
|
@@ -11,7 +11,7 @@ module Blacklight
|
|
11
11
|
|
12
12
|
attr_reader :blacklight_config
|
13
13
|
|
14
|
-
delegate :
|
14
|
+
delegate :facet_fields, :facet_configuration_for_field, to: :blacklight_config
|
15
15
|
|
16
16
|
delegate :documents, to: :@response
|
17
17
|
|
@@ -23,6 +23,12 @@ module Blacklight
|
|
23
23
|
.select { |display_facet| display_facet.items.present? }
|
24
24
|
end
|
25
25
|
|
26
|
+
# NOTE: we don't use the facet_field_names method in Blacklight::Configuration because that
|
27
|
+
# only returns the field names of the group where the name is nil.
|
28
|
+
def facet_field_names
|
29
|
+
facet_fields.values.map(&:field)
|
30
|
+
end
|
31
|
+
|
26
32
|
# extract the pagination info from the response object
|
27
33
|
def pagination_info
|
28
34
|
h = {}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<% component.with_title { facet_field_label(@facet.key) } %>
|
3
3
|
<% view_config = blacklight_config.view_config(document_index_view_type) %>
|
4
4
|
|
5
|
-
<%= render
|
5
|
+
<%= render view_config.facet_filters_component.new(presenter: @presenter) %>
|
6
6
|
|
7
7
|
<div class="facet-pagination top d-flex flex-wrap w-100 justify-content-between border-bottom pb-3 mb-3">
|
8
8
|
<%= render view_config.facet_pagination_component.new(facet_field: @presenter) %>
|
@@ -36,29 +36,29 @@ ar:
|
|
36
36
|
apa: الجمعية الأمريكية لعلم النفس APA
|
37
37
|
chicago: شيكاغو
|
38
38
|
mla: جمعية اللغة الحديثة MLA
|
39
|
-
did_you_mean:
|
39
|
+
did_you_mean: "هل كنت تقصد كتابة: %{options}؟"
|
40
40
|
email:
|
41
41
|
errors:
|
42
42
|
to:
|
43
43
|
blank: يجب إدخال مُستلم من أجل إرسال هذه الرسالة
|
44
44
|
invalid: يجب إدخال عنوان بريد إلكتروني صحيح
|
45
45
|
form:
|
46
|
-
message:
|
46
|
+
message: "الرسالة:"
|
47
47
|
submit: إرسال
|
48
48
|
title: إرسله عبرالبريد الإلكتروني
|
49
|
-
to:
|
49
|
+
to: "بريد إلكتروني:"
|
50
50
|
success: تم إرسال البريد الإلكتروني
|
51
51
|
text:
|
52
52
|
default_title: لا يوجد
|
53
|
-
message:
|
53
|
+
message: "الرسالة: %{message}"
|
54
54
|
subject:
|
55
55
|
few: سجلات المادة
|
56
56
|
many: سجلات المادة
|
57
|
-
one:
|
57
|
+
one: "سجل المادة: %{title}"
|
58
58
|
other: سجلات المادة
|
59
59
|
two: سجلان للمادة
|
60
60
|
zero: لا يوجد سجل للمادة
|
61
|
-
url:
|
61
|
+
url: "الرابط: %{url}"
|
62
62
|
entry_name:
|
63
63
|
default: إدخال
|
64
64
|
grouped:
|
@@ -118,9 +118,9 @@ ar:
|
|
118
118
|
filters:
|
119
119
|
label: "%{label}:"
|
120
120
|
remove:
|
121
|
-
label_value:
|
121
|
+
label_value: "إزالة القيد %{label}: %{value}"
|
122
122
|
value: إزالة القيد %{value}
|
123
|
-
title:
|
123
|
+
title: "لقد بحثت عن:"
|
124
124
|
form:
|
125
125
|
search:
|
126
126
|
label: ابحث عن
|
@@ -139,6 +139,7 @@ ar:
|
|
139
139
|
constraint: "%{label}: %{value}"
|
140
140
|
many_constraint_values: تم تحديد %{values}
|
141
141
|
title: "%{constraints} - %{application_name} نتائج البحث"
|
142
|
+
joiner: " / "
|
142
143
|
pagination:
|
143
144
|
title: تصفح النتائج
|
144
145
|
pagination_info:
|
@@ -171,7 +172,7 @@ ar:
|
|
171
172
|
start_over: البدء من جديد
|
172
173
|
view:
|
173
174
|
list: قائمة
|
174
|
-
view_title:
|
175
|
+
view_title: "عرض النتائج ك: "
|
175
176
|
zero_results:
|
176
177
|
modify_search: حاول تعديل معايير البحث
|
177
178
|
search_everything: حاول البحث عن كل شيء
|
@@ -208,10 +209,10 @@ ar:
|
|
208
209
|
carrier_prompt: يرجى تحديد شركة الاتصالات
|
209
210
|
submit: إرسال
|
210
211
|
title: إرسله كرسالة نصية قصيرة
|
211
|
-
to:
|
212
|
+
to: "رقم الهاتف:"
|
212
213
|
success: تم الإرسال كرسالة نصية قصيرة
|
213
214
|
text:
|
214
|
-
url:
|
215
|
+
url: "الرابط: %{url}"
|
215
216
|
tools:
|
216
217
|
citation: استشهاد مرجعي
|
217
218
|
clear: مسح
|
@@ -134,6 +134,7 @@ ca:
|
|
134
134
|
title: "%{constraints} - %{application_name} Resultats de la cerca"
|
135
135
|
constraint: "%{label}: %{value}"
|
136
136
|
many_constraint_values: "%{values} seleccionat"
|
137
|
+
joiner: " / "
|
137
138
|
header: "Cerca"
|
138
139
|
search_constraints_header: "Filtres de la cerca"
|
139
140
|
search_results: "Resultats de la cerca"
|
@@ -32,25 +32,25 @@ de:
|
|
32
32
|
apa: APA
|
33
33
|
chicago: Chicago
|
34
34
|
mla: MLA
|
35
|
-
did_you_mean:
|
35
|
+
did_you_mean: "Meinten Sie: %{options}?"
|
36
36
|
email:
|
37
37
|
errors:
|
38
38
|
to:
|
39
39
|
blank: Sie müssen einen Empfänger eingeben, um diese Mitteilung zu schicken
|
40
40
|
invalid: Sie müssen eine gültige E-Mail-Addresse eingeben
|
41
41
|
form:
|
42
|
-
message:
|
42
|
+
message: "Nachricht:"
|
43
43
|
submit: Senden
|
44
44
|
title: E-Mail
|
45
|
-
to:
|
45
|
+
to: "E-Mail-Adresse:"
|
46
46
|
success: E-Mail verschickt
|
47
47
|
text:
|
48
48
|
default_title: N/A
|
49
|
-
message:
|
49
|
+
message: "Mitteilung: %{message}"
|
50
50
|
subject:
|
51
|
-
one:
|
51
|
+
one: "Artikeldatensatz: %{title}"
|
52
52
|
other: Artikeldatensätze
|
53
|
-
url:
|
53
|
+
url: "URL: %{url}"
|
54
54
|
entry_name:
|
55
55
|
default:
|
56
56
|
one: Eintrag
|
@@ -92,7 +92,7 @@ de:
|
|
92
92
|
close: Facetten ausblenden
|
93
93
|
open: Facetten zeigen
|
94
94
|
missing:
|
95
|
-
|
95
|
+
- fehlt
|
96
96
|
more_html: mehr <span class="visually-hidden">%{field_name}</span> »
|
97
97
|
pivot:
|
98
98
|
hide: Schließen
|
@@ -109,9 +109,9 @@ de:
|
|
109
109
|
filters:
|
110
110
|
label: "%{label}:"
|
111
111
|
remove:
|
112
|
-
label_value:
|
112
|
+
label_value: "Filter %{label}: %{value} entfernen"
|
113
113
|
value: Filter %{value} entfernen
|
114
|
-
title:
|
114
|
+
title: "Sie suchten nach:"
|
115
115
|
form:
|
116
116
|
search:
|
117
117
|
label: suchen nach
|
@@ -130,6 +130,7 @@ de:
|
|
130
130
|
constraint: "%{label}: %{value}"
|
131
131
|
many_constraint_values: "%{values} ausgewählt"
|
132
132
|
title: "%{constraints} - %{application_name} Suchergebnisse"
|
133
|
+
joiner: " / "
|
133
134
|
pagination:
|
134
135
|
title: Ergebnisse Navigation
|
135
136
|
pagination_info:
|
@@ -158,7 +159,7 @@ de:
|
|
158
159
|
start_over: Neu anfangen
|
159
160
|
view:
|
160
161
|
list: Liste
|
161
|
-
view_title:
|
162
|
+
view_title: "Ergebnisse ansehen als: "
|
162
163
|
zero_results:
|
163
164
|
modify_search: Ändern Sie Ihre Suche
|
164
165
|
search_everything: Suchen Sie nach allem
|
@@ -195,10 +196,10 @@ de:
|
|
195
196
|
carrier_prompt: Bitte wählen Sie Ihren Netzbetreiber aus
|
196
197
|
submit: Schicken
|
197
198
|
title: SMS
|
198
|
-
to:
|
199
|
+
to: "Telefonnummer:"
|
199
200
|
success: SMS verschickt
|
200
201
|
text:
|
201
|
-
url:
|
202
|
+
url: "Link: %{url}"
|
202
203
|
tools:
|
203
204
|
citation: Zitieren
|
204
205
|
clear: Löschen
|
@@ -39,18 +39,18 @@ es:
|
|
39
39
|
blank: Debe introducir un destinatario para enviar este mensaje
|
40
40
|
invalid: Debe entrar un email válido
|
41
41
|
form:
|
42
|
-
message:
|
42
|
+
message: "Mensaje:"
|
43
43
|
submit: Enviar
|
44
44
|
title: Enviar
|
45
|
-
to:
|
45
|
+
to: "Email:"
|
46
46
|
success: Email enviado
|
47
47
|
text:
|
48
48
|
default_title: N/A
|
49
|
-
message:
|
49
|
+
message: "Mensaje: %{message}"
|
50
50
|
subject:
|
51
|
-
one:
|
51
|
+
one: "Ficha artículo: %{title}"
|
52
52
|
other: Ficha artículos
|
53
|
-
url:
|
53
|
+
url: "URL: %{url}"
|
54
54
|
entry_name:
|
55
55
|
default:
|
56
56
|
one: entrada
|
@@ -108,9 +108,9 @@ es:
|
|
108
108
|
filters:
|
109
109
|
label: "%{label}:"
|
110
110
|
remove:
|
111
|
-
label_value:
|
111
|
+
label_value: "Eliminar la restricción%{label}: %{value}"
|
112
112
|
value: Eliminar la restricción %{value}
|
113
|
-
title:
|
113
|
+
title: "Usted ha buscado:"
|
114
114
|
form:
|
115
115
|
search:
|
116
116
|
label: buscar
|
@@ -129,6 +129,7 @@ es:
|
|
129
129
|
constraint: "%{label}: %{value}"
|
130
130
|
many_constraint_values: "%{values} seleccionado"
|
131
131
|
title: "%{constraints} - %{application_name} Resultados de la búsqueda"
|
132
|
+
joiner: " / "
|
132
133
|
pagination:
|
133
134
|
title: Resultados de navegación
|
134
135
|
pagination_info:
|
@@ -157,7 +158,7 @@ es:
|
|
157
158
|
start_over: Volver a empezar
|
158
159
|
view:
|
159
160
|
list: Lista
|
160
|
-
view_title:
|
161
|
+
view_title: "Ver Resultados por: "
|
161
162
|
zero_results:
|
162
163
|
modify_search: Intente modificar su búsqueda
|
163
164
|
search_everything: Pruebe a buscar de todo
|
@@ -194,10 +195,10 @@ es:
|
|
194
195
|
carrier_prompt: Por favor, seleccione su compañía telefónica
|
195
196
|
submit: Enviar
|
196
197
|
title: Enviar SMS
|
197
|
-
to:
|
198
|
+
to: "Número de teléfono:"
|
198
199
|
success: SMS enviado
|
199
200
|
text:
|
200
|
-
url:
|
201
|
+
url: "Link: %{url}"
|
201
202
|
tools:
|
202
203
|
citation: Cité
|
203
204
|
clear: Borrar
|
@@ -32,25 +32,25 @@ fr:
|
|
32
32
|
apa: APA
|
33
33
|
chicago: Chicago
|
34
34
|
mla: MLA
|
35
|
-
did_you_mean:
|
35
|
+
did_you_mean: "Essayez peut-être avec : %{options}"
|
36
36
|
email:
|
37
37
|
errors:
|
38
38
|
to:
|
39
39
|
blank: Vous devez saisir l'adresse de votre destinataire.
|
40
40
|
invalid: Vous devez saisir une adresse correcte.
|
41
41
|
form:
|
42
|
-
message:
|
42
|
+
message: "Message :"
|
43
43
|
submit: Envoyer
|
44
44
|
title: Envoyer par courriel
|
45
|
-
to:
|
45
|
+
to: "Courriel :"
|
46
46
|
success: Message envoyé
|
47
47
|
text:
|
48
48
|
default_title: N/A
|
49
|
-
message:
|
49
|
+
message: "Message : %{message}"
|
50
50
|
subject:
|
51
|
-
one:
|
51
|
+
one: "Une référence : %{title}"
|
52
52
|
other: Des références bibliographiques
|
53
|
-
url:
|
53
|
+
url: "URL : %{url}"
|
54
54
|
entry_name:
|
55
55
|
default:
|
56
56
|
one: résultat
|
@@ -108,9 +108,9 @@ fr:
|
|
108
108
|
filters:
|
109
109
|
label: "%{label}:"
|
110
110
|
remove:
|
111
|
-
label_value:
|
111
|
+
label_value: "Supprimer la restriction %{label}: %{value}"
|
112
112
|
value: Supprimer la restriction %{value}
|
113
|
-
title:
|
113
|
+
title: "Vous avez demandé :"
|
114
114
|
form:
|
115
115
|
search:
|
116
116
|
label: Rechercher
|
@@ -129,6 +129,7 @@ fr:
|
|
129
129
|
constraint: "%{label}: %{value}"
|
130
130
|
many_constraint_values: "%{values} sélectionné"
|
131
131
|
title: "%{constraints} - %{application_name} Résultats de recherche"
|
132
|
+
joiner: " / "
|
132
133
|
pagination:
|
133
134
|
title: Navigation dans les résultats
|
134
135
|
pagination_info:
|
@@ -157,7 +158,7 @@ fr:
|
|
157
158
|
start_over: Accueil
|
158
159
|
view:
|
159
160
|
list: Liste
|
160
|
-
view_title:
|
161
|
+
view_title: "Affichage: "
|
161
162
|
zero_results:
|
162
163
|
modify_search: Essayez de modifier votre requête de recherche
|
163
164
|
search_everything: essayez de rechercher tout
|
@@ -194,10 +195,10 @@ fr:
|
|
194
195
|
carrier_prompt: Veuillez choisir votre opérateur
|
195
196
|
submit: Envoyer
|
196
197
|
title: Envoyer par SMS
|
197
|
-
to:
|
198
|
+
to: "Numéro de téléphone :"
|
198
199
|
success: SMS envoyé
|
199
200
|
text:
|
200
|
-
url:
|
201
|
+
url: "Lien : %{url}"
|
201
202
|
tools:
|
202
203
|
citation: Citer
|
203
204
|
clear: Effacer
|