bulkrax 9.4.0 → 9.4.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/README.md +8 -2
- data/app/assets/javascripts/bulkrax/datatables.js +43 -8
- data/app/assets/javascripts/bulkrax/importers_stepper.js +221 -26
- data/app/assets/stylesheets/bulkrax/stepper/_review.scss +14 -12
- data/app/controllers/bulkrax/entries_controller.rb +2 -2
- data/app/controllers/bulkrax/exporters_controller.rb +3 -3
- data/app/controllers/bulkrax/guided_imports_controller.rb +3 -1
- data/app/controllers/bulkrax/importers_controller.rb +5 -5
- data/app/controllers/concerns/bulkrax/importer_file_handler.rb +1 -6
- data/app/errors/bulkrax/unzip_error.rb +16 -0
- data/app/jobs/bulkrax/importer_job.rb +40 -9
- data/app/matchers/bulkrax/application_matcher.rb +5 -6
- data/app/models/bulkrax/csv_entry.rb +1 -1
- data/app/models/bulkrax/importer.rb +3 -16
- data/app/parsers/bulkrax/application_parser.rb +50 -33
- data/app/parsers/bulkrax/bagit_parser.rb +12 -0
- data/app/parsers/bulkrax/csv_parser.rb +163 -49
- data/app/parsers/concerns/bulkrax/csv_parser/csv_template_generation.rb +4 -1
- data/app/parsers/concerns/bulkrax/csv_parser/csv_validation.rb +10 -8
- data/app/parsers/concerns/bulkrax/csv_parser/csv_validation_helpers.rb +69 -36
- data/app/parsers/concerns/bulkrax/csv_parser/csv_validation_hierarchy.rb +9 -7
- data/app/services/bulkrax/csv_template/file_validator.rb +1 -1
- data/app/services/bulkrax/csv_template/mapping_manager.rb +15 -6
- data/app/services/bulkrax/csv_template/split_formatter.rb +10 -3
- data/app/services/bulkrax/split_pattern_coercion.rb +42 -0
- data/app/services/bulkrax/stepper_response_formatter.rb +2 -1
- data/app/services/bulkrax/validation_error_csv_builder.rb +36 -12
- data/app/validators/bulkrax/csv_row/child_reference.rb +2 -1
- data/app/validators/bulkrax/csv_row/parent_reference.rb +1 -1
- data/app/validators/bulkrax/csv_row/required_values.rb +17 -3
- data/app/views/bulkrax/exporters/edit.html.erb +1 -1
- data/app/views/bulkrax/exporters/index.html.erb +3 -1
- data/app/views/bulkrax/exporters/new.html.erb +1 -1
- data/app/views/bulkrax/exporters/show.html.erb +1 -1
- data/app/views/bulkrax/guided_imports/new.html.erb +7 -0
- data/app/views/bulkrax/importers/_edit_item_buttons.html.erb +3 -3
- data/app/views/bulkrax/importers/index.html.erb +2 -0
- data/app/views/bulkrax/importers/new.html.erb +1 -1
- data/app/views/bulkrax/importers/show.html.erb +3 -1
- data/app/views/bulkrax/shared/_datatable_i18n.html.erb +3 -0
- data/config/locales/bulkrax.de.yml +95 -2
- data/config/locales/bulkrax.en.yml +58 -2
- data/config/locales/bulkrax.es.yml +95 -2
- data/config/locales/bulkrax.fr.yml +95 -2
- data/config/locales/bulkrax.it.yml +95 -2
- data/config/locales/bulkrax.pt-BR.yml +95 -2
- data/config/locales/bulkrax.zh.yml +96 -2
- data/db/migrate/20260424081537_remove_parents_from_bulkrax_importer_runs.rb +9 -0
- data/lib/bulkrax/version.rb +1 -1
- data/lib/bulkrax.rb +15 -1
- metadata +8 -4
|
@@ -17,13 +17,23 @@ de:
|
|
|
17
17
|
record_link: "%{record_type} Link"
|
|
18
18
|
unknown: Unbekannt
|
|
19
19
|
exporter:
|
|
20
|
+
hints:
|
|
21
|
+
generated_metadata: Diese exportierten Felder können derzeit nicht importiert werden.
|
|
22
|
+
include_thumbnails: Diese exportierten Felder können derzeit nicht importiert werden.
|
|
23
|
+
limit: Lassen Sie das Feld leer oder geben Sie 0 ein, um alle Datensätze einzuschließen.
|
|
20
24
|
labels:
|
|
21
25
|
all: Alle
|
|
22
26
|
collection: Sammlung
|
|
27
|
+
collection_entries: Sammlungseinträge
|
|
28
|
+
download: Herunterladen
|
|
29
|
+
export_format: Exportformat
|
|
23
30
|
export_from: Exportieren von
|
|
24
31
|
export_source: Exportquelle
|
|
25
32
|
export_type: Art des Exports
|
|
26
33
|
field_mapping: Feldzuordnung
|
|
34
|
+
file_set_entries: Dateisatzeinträge
|
|
35
|
+
filter_by_date: Nach Datum filtern
|
|
36
|
+
finish_date: Enddatum
|
|
27
37
|
full: Metadaten und Dateien
|
|
28
38
|
generated_metadata: Generierte Metadaten einbeziehen?
|
|
29
39
|
importer: Importeur
|
|
@@ -33,7 +43,20 @@ de:
|
|
|
33
43
|
name: Name
|
|
34
44
|
parser_fields: Parserfelder
|
|
35
45
|
parser_klass: Parser
|
|
46
|
+
start_date: Startdatum
|
|
47
|
+
status: Status
|
|
48
|
+
total_entries: Gesamtzahl der Einträge
|
|
49
|
+
total_work_entries: Gesamtzahl der Werke
|
|
36
50
|
user: Benutzer
|
|
51
|
+
work_entries: Werkeinträge
|
|
52
|
+
workflow_status:
|
|
53
|
+
approved: Genehmigt
|
|
54
|
+
broken_url: Defekte URL
|
|
55
|
+
deleted: Gelöscht
|
|
56
|
+
in_process: In Bearbeitung
|
|
57
|
+
ingested: Aufgenommen
|
|
58
|
+
needs_repair: Benötigt Reparatur
|
|
59
|
+
unapproved: Nicht genehmigt
|
|
37
60
|
worktype: Arbeitsart
|
|
38
61
|
prompts:
|
|
39
62
|
export_from: Bitte wählen Sie eine Exportquelle aus.
|
|
@@ -45,8 +68,14 @@ de:
|
|
|
45
68
|
one: 'Ein Fehler verhinderte das Speichern dieses Exporters:'
|
|
46
69
|
other: "%{count}-Fehler verhinderten das Speichern dieses Exporters:"
|
|
47
70
|
headings:
|
|
71
|
+
edit_exporter: Exporter bearbeiten
|
|
72
|
+
edit_importer: Importer bearbeiten
|
|
73
|
+
exporters: Exporteure
|
|
48
74
|
importers: Importeure
|
|
75
|
+
new_exporter: Neuer Exporter
|
|
76
|
+
new_importer: Neuer Importer
|
|
49
77
|
upload_corrected_entries: 'Korrigierte Einträge hochgeladen: %{name}'
|
|
78
|
+
upload_corrected_entries_action: Korrigierte Einträge hochladen
|
|
50
79
|
importer:
|
|
51
80
|
bagit:
|
|
52
81
|
bags_to_import: 'Zu importierender Beutel oder Beutel:'
|
|
@@ -77,6 +106,9 @@ de:
|
|
|
77
106
|
private: Privat
|
|
78
107
|
public: Öffentlich
|
|
79
108
|
edit_form:
|
|
109
|
+
entry_modal_title: Optionen zum Aktualisieren eines Eintrags
|
|
110
|
+
entry_rebuild_hint: Metadaten und Dateien neu erstellen.
|
|
111
|
+
entry_remove_and_recreate_hint: Bestehendes Werk entfernen und anschließend Metadaten und Dateien des Werks neu erstellen.
|
|
80
112
|
modal_title: Optionen zum Aktualisieren des Importers
|
|
81
113
|
remove_and_rerun_hint: Löschen Sie alle Ihre Arbeiten und führen Sie den Import anschließend erneut von einer leeren Seite aus. Dadurch werden alle Dateien und Verknüpfungen entfernt, und alle seit dem letzten Import vorgenommenen Änderungen gehen verloren.
|
|
82
114
|
update_and_harvest_hint: Aktualisieren Sie die Werte im Importformular und aktualisieren Sie die Elemente, die sich in der Quelle geändert haben.
|
|
@@ -96,19 +128,23 @@ de:
|
|
|
96
128
|
override_rights_statement: Wenn diese Option aktiviert ist, wird immer die ausgewählte Rechteanweisung verwendet. Wenn sie deaktiviert ist, werden die Rechteanweisung oder die Rechteanweisung aus dem Datensatz verwendet. Der angegebene Wert wird nur verwendet, wenn dc:rights leer ist.
|
|
97
129
|
labels:
|
|
98
130
|
admin_set: Verwaltungssatz
|
|
131
|
+
collection_entries: Sammlungseinträge
|
|
99
132
|
entry_id: Eintrags-ID
|
|
100
133
|
exporter: Exporteur
|
|
134
|
+
file_set_entries: Dateisatzeinträge
|
|
101
135
|
frequency: Frequenz
|
|
102
136
|
identifier: Kennung
|
|
103
137
|
importer: Importeur
|
|
104
138
|
limit: Limit
|
|
105
139
|
name: Name
|
|
140
|
+
parser_fields: Parserfelder
|
|
106
141
|
parser_klass: Parser
|
|
107
142
|
total_collections: Gesamteinnahmen
|
|
108
143
|
total_file_sets: Gesamtdateisätze
|
|
109
144
|
total_work_entries: Total Works
|
|
110
145
|
type: Typ
|
|
111
146
|
user: Benutzer
|
|
147
|
+
work_entries: Werkeinträge
|
|
112
148
|
oai:
|
|
113
149
|
hints:
|
|
114
150
|
metadata_prefix: Zum Beispiel oai_dc, dcterms oder oai_qdc
|
|
@@ -185,6 +221,8 @@ de:
|
|
|
185
221
|
review_total: "%{total} Gesamt — %{collections} Sammlungen, %{works} Werke, %{file_sets} Dateisätze"
|
|
186
222
|
review_visibility: 'Sichtweite:'
|
|
187
223
|
server_error: Bei der Validierung ist ein Serverfehler aufgetreten. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support.
|
|
224
|
+
existing_record_badge: vorhanden
|
|
225
|
+
existing_record_title: Dieser Datensatz ist bereits im Repository vorhanden und wird beim Import verknüpft.
|
|
188
226
|
shared_badge: geteilt
|
|
189
227
|
starting: Es geht los...
|
|
190
228
|
upload_csv_and_zip: CSV-Dateien + separat hochgeladene Dateien
|
|
@@ -199,9 +237,20 @@ de:
|
|
|
199
237
|
validating: Validierung läuft...
|
|
200
238
|
validation_failed: Die Validierung ist fehlgeschlagen. Bitte versuchen Sie es erneut.
|
|
201
239
|
validation_timeout: Die Validierung ist fehlgeschlagen. Ihre Dateien sind möglicherweise zu groß. Bitte versuchen Sie es mit kleineren Dateien oder kontaktieren Sie den Support.
|
|
240
|
+
validation_truncated_note: auf %{shown} gekürzt – laden Sie die Fehler-CSV für die vollständige Liste herunter
|
|
241
|
+
validation_truncated_tooltip: Diese Liste ist begrenzt, damit die Seite übersichtlich bleibt. Die vollständige Liste finden Sie in der heruntergeladenen Fehler-CSV-Datei.
|
|
202
242
|
visibility_institution: Institution
|
|
203
243
|
visibility_private: Privat
|
|
204
244
|
visibility_public: Öffentlich
|
|
245
|
+
warning_category_circular_reference: Zirkelbezug
|
|
246
|
+
warning_category_default_work_type_used: Standard-Werktyp verwendet
|
|
247
|
+
warning_category_duplicate_source_identifier: Doppelter Quell-Identifikator in CSV
|
|
248
|
+
warning_category_existing_source_identifier: Vorhandener Quell-Identifikator (wird aktualisiert)
|
|
249
|
+
warning_category_invalid_child_reference: Ungültige Kind-Referenz
|
|
250
|
+
warning_category_invalid_controlled_value: Ungültiger Wert aus kontrolliertem Vokabular
|
|
251
|
+
warning_category_invalid_parent_reference: Ungültige Eltern-Referenz
|
|
252
|
+
warning_category_missing_required_value: Erforderlicher Wert fehlt
|
|
253
|
+
warning_category_missing_source_identifier: Quell-Identifikator fehlt
|
|
205
254
|
zip_limit: 'Es ist nur eine ZIP-Datei zulässig. Folgende Dateien wurden nicht hinzugefügt:'
|
|
206
255
|
nav:
|
|
207
256
|
back: Zurück
|
|
@@ -264,6 +313,7 @@ de:
|
|
|
264
313
|
large_import_message_html: Sie sind im Begriff, <span class="total-items-count">%{count}</span> Artikel zu importieren. Große Importe dauern länger und sind schwieriger zu beheben. Erwägen Sie, den Import in kleinere Pakete aufzuteilen.
|
|
265
314
|
large_import_warning: Warnung vor großen Importen
|
|
266
315
|
ready_to_import: Bereit zum Importieren
|
|
316
|
+
section_errors: Fehler
|
|
267
317
|
section_files: Dateien
|
|
268
318
|
section_records: Aufzeichnungen
|
|
269
319
|
section_settings: Einstellungen
|
|
@@ -315,8 +365,7 @@ de:
|
|
|
315
365
|
missing_required_hint: Fügen Sie diese Spalte zu Ihrer CSV-Datei hinzu.
|
|
316
366
|
missing_required_title: Fehlende Pflichtfelder
|
|
317
367
|
missing_rights_desc: Ihre CSV-Datei enthält keine Spalte „rights_statement“. Sie können diese entweder Ihrer CSV-Datei hinzufügen oder im nächsten Schritt eine Standard-Rechteerklärung auswählen.
|
|
318
|
-
|
|
319
|
-
multiple_csv_same_level: Mehrere CSV-Dateien auf derselben Ebene innerhalb der ZIP-Datei gefunden
|
|
368
|
+
multiple_csv: Mehrere CSV-Dateien befinden sich auf der obersten Ebene des ZIP-Archivs, sodass die primäre CSV nicht bestimmt werden kann. Belassen Sie genau eine CSV auf dieser Ebene; weitere CSVs müssen tiefer verschachtelt sein.
|
|
320
369
|
no_csv_in_zip: Es wurden keine CSV-Dateien im ZIP-Archiv gefunden.
|
|
321
370
|
no_csv_uploaded: Es wurde keine CSV-Metadatendatei hochgeladen.
|
|
322
371
|
no_files_uploaded: Es wurden keine Dateien hochgeladen.
|
|
@@ -325,6 +374,14 @@ de:
|
|
|
325
374
|
errors:
|
|
326
375
|
message: "Das referenzierte übergeordnete Element '%{value}' existiert nicht als %{field} in dieser CSV-Datei."
|
|
327
376
|
suggestion: "Prüfen Sie auf Tippfehler oder fügen Sie den Datensatz für das übergeordnete Element hinzu."
|
|
377
|
+
child_reference_validator:
|
|
378
|
+
errors:
|
|
379
|
+
message: "Das referenzierte untergeordnete Element '%{value}' existiert nicht als %{field} in dieser CSV-Datei."
|
|
380
|
+
suggestion: "Prüfen Sie auf Tippfehler oder fügen Sie den Datensatz für das untergeordnete Element hinzu."
|
|
381
|
+
circular_reference_validator:
|
|
382
|
+
errors:
|
|
383
|
+
message: "'%{value}' ist Teil einer zirkulären Eltern-Kind-Beziehung."
|
|
384
|
+
suggestion: "Überprüfen Sie die Eltern-/Kind-Spalten und entfernen Sie die fehlerhaften Referenzen."
|
|
328
385
|
passed: Validierung erfolgreich
|
|
329
386
|
passed_warnings: Validierung mit Warnungen bestanden
|
|
330
387
|
recognized_fields: 'Erkannte Felder: %{fields}'
|
|
@@ -341,11 +398,23 @@ de:
|
|
|
341
398
|
errors:
|
|
342
399
|
message: "Das Feld '%{field}' ist erforderlich, ist aber für diese Zeile leer."
|
|
343
400
|
suggestion: "Geben Sie einen Wert für '%{field}' ein."
|
|
401
|
+
validation_error_csv_builder:
|
|
402
|
+
empty_column: "Spalte %{column} hat keine Überschrift und wird beim Import ignoriert"
|
|
403
|
+
missing_file: "Fehlende Datei: %{filename}"
|
|
404
|
+
missing_required_column: "Fehlende Pflichtspalte '%{field}' (%{model})"
|
|
405
|
+
unrecognized_column: "Unbekannte Spalte '%{column}'"
|
|
406
|
+
unrecognized_column_with_suggestion: "Unbekannte Spalte '%{column}' (meinten Sie '%{suggestion}'?)"
|
|
344
407
|
unable_to_process: Die Validierungsdateien konnten nicht verarbeitet werden.
|
|
408
|
+
empty_column: 'Spalte %{column} (keine Überschrift)'
|
|
345
409
|
notices_desc: 'Diese Hinweise können Auswirkungen auf den Import Ihrer CSV-Datei haben:'
|
|
346
410
|
notices_title: Importhinweise
|
|
347
411
|
unrecognized_desc: 'Diese Spalten werden beim Import ignoriert:'
|
|
348
412
|
unrecognized_title: Nicht anerkannte Felder
|
|
413
|
+
unzip:
|
|
414
|
+
errors:
|
|
415
|
+
multiple_csv: Mehrere CSV-Dateien befinden sich auf der obersten Ebene des ZIP-Archivs, sodass die primäre CSV nicht bestimmt werden kann. Belassen Sie genau eine CSV auf dieser Ebene; weitere CSVs müssen tiefer verschachtelt sein.
|
|
416
|
+
no_csv: Es wurden keine CSV-Dateien im ZIP-Archiv gefunden.
|
|
417
|
+
unsafe_entry: "Das ZIP enthält einen Eintrag mit unsicherem Pfad (%{name}). Einträge dürfen weder absolute Pfade noch Referenzen auf übergeordnete Verzeichnisse verwenden."
|
|
349
418
|
validations:
|
|
350
419
|
errors_prohibited:
|
|
351
420
|
one: 'Ein Fehler verhinderte das Speichern dieses Importers:'
|
|
@@ -401,11 +470,35 @@ de:
|
|
|
401
470
|
name: Name
|
|
402
471
|
next_run: Nächster Lauf
|
|
403
472
|
status: Status
|
|
473
|
+
status_set_at: Status gesetzt am
|
|
404
474
|
total_collection_entries: Gesamtzahl der Sammlungseinträge
|
|
405
475
|
total_file_set_entries: Gesamtzahl der Dateisätze
|
|
406
476
|
total_work_entries: Gesamtzahl der Arbeitseinsätze
|
|
407
477
|
type: Typ
|
|
408
478
|
updated_at: Aktualisiert am
|
|
479
|
+
datatable:
|
|
480
|
+
filters:
|
|
481
|
+
filter_by_entry_class: Nach Eintragsklasse filtern
|
|
482
|
+
filter_by_status: Nach Status filtern
|
|
483
|
+
language:
|
|
484
|
+
empty_table: Keine Daten in der Tabelle verfügbar
|
|
485
|
+
info: Zeige _START_ bis _END_ von _TOTAL_ Einträgen
|
|
486
|
+
info_empty: Zeige 0 bis 0 von 0 Einträgen
|
|
487
|
+
info_filtered: (gefiltert aus _MAX_ Gesamteinträgen)
|
|
488
|
+
length_menu: _MENU_ Einträge anzeigen
|
|
489
|
+
loading_records: Lade...
|
|
490
|
+
next: Weiter
|
|
491
|
+
previous: Zurück
|
|
492
|
+
processing: Wird verarbeitet...
|
|
493
|
+
search: 'Suche:'
|
|
494
|
+
zero_records: Keine passenden Einträge gefunden
|
|
495
|
+
status:
|
|
496
|
+
complete: Abgeschlossen
|
|
497
|
+
complete_with_failures: Abgeschlossen (mit Fehlern)
|
|
498
|
+
deleted: Gelöscht
|
|
499
|
+
failed: Fehlgeschlagen
|
|
500
|
+
pending: Ausstehend
|
|
501
|
+
skipped: Übersprungen
|
|
409
502
|
helpers:
|
|
410
503
|
action:
|
|
411
504
|
exporter:
|
|
@@ -25,6 +25,7 @@ en:
|
|
|
25
25
|
all: All
|
|
26
26
|
collection: Collection
|
|
27
27
|
collection_entries: Collection Entries
|
|
28
|
+
download: Download
|
|
28
29
|
export_format: Export Format
|
|
29
30
|
export_from: Export From
|
|
30
31
|
export_source: Export Source
|
|
@@ -67,8 +68,14 @@ en:
|
|
|
67
68
|
one: '1 error prohibited this exporter from being saved:'
|
|
68
69
|
other: "%{count} errors prohibited this exporter from being saved:"
|
|
69
70
|
headings:
|
|
71
|
+
edit_exporter: Edit Exporter
|
|
72
|
+
edit_importer: Edit Importer
|
|
73
|
+
exporters: Exporters
|
|
70
74
|
importers: Importers
|
|
75
|
+
new_exporter: New Exporter
|
|
76
|
+
new_importer: New Importer
|
|
71
77
|
upload_corrected_entries: 'Upload Corrected Entries: %{name}'
|
|
78
|
+
upload_corrected_entries_action: Upload Corrected Entries
|
|
72
79
|
importer:
|
|
73
80
|
bagit:
|
|
74
81
|
bags_to_import: 'Bag or Bags to Import:'
|
|
@@ -99,6 +106,9 @@ en:
|
|
|
99
106
|
private: Private
|
|
100
107
|
public: Public
|
|
101
108
|
edit_form:
|
|
109
|
+
entry_modal_title: Options for Updating an Entry
|
|
110
|
+
entry_rebuild_hint: Rebuild metadata and files.
|
|
111
|
+
entry_remove_and_recreate_hint: Remove existing work and then recreate the works metadata and files.
|
|
102
112
|
modal_title: Options for Updating the Importer
|
|
103
113
|
remove_and_rerun_hint: Remove all works and then run the import again from a clean slate. This will remove all files and associations and any edits made since the last import will be lost.
|
|
104
114
|
update_and_harvest_hint: Update the values in the importer form and update items that have changed at the source.
|
|
@@ -127,6 +137,7 @@ en:
|
|
|
127
137
|
importer: Importer
|
|
128
138
|
limit: Limit
|
|
129
139
|
name: Name
|
|
140
|
+
parser_fields: Parser fields
|
|
130
141
|
parser_klass: Parser
|
|
131
142
|
total_collections: Total Collections
|
|
132
143
|
total_file_sets: Total File Sets
|
|
@@ -226,9 +237,20 @@ en:
|
|
|
226
237
|
validating: Validating...
|
|
227
238
|
validation_failed: Validation failed. Please try again.
|
|
228
239
|
validation_timeout: Validation timed out. Your files may be too large. Please try with smaller files or contact support.
|
|
240
|
+
validation_truncated_note: truncated to %{shown} — download errors CSV for full list
|
|
241
|
+
validation_truncated_tooltip: This list is capped to keep the page readable. The full list is in the Download errors CSV file.
|
|
229
242
|
visibility_institution: Institution
|
|
230
243
|
visibility_private: Private
|
|
231
244
|
visibility_public: Public
|
|
245
|
+
warning_category_circular_reference: Circular reference
|
|
246
|
+
warning_category_default_work_type_used: Default work type used
|
|
247
|
+
warning_category_duplicate_source_identifier: Duplicate source identifier in CSV
|
|
248
|
+
warning_category_existing_source_identifier: Existing source identifier (will update)
|
|
249
|
+
warning_category_invalid_child_reference: Invalid child reference
|
|
250
|
+
warning_category_invalid_controlled_value: Invalid controlled vocabulary value
|
|
251
|
+
warning_category_invalid_parent_reference: Invalid parent reference
|
|
252
|
+
warning_category_missing_required_value: Missing required value
|
|
253
|
+
warning_category_missing_source_identifier: Missing source identifier
|
|
232
254
|
zip_limit: 'Only 1 ZIP file allowed. The following files were not added:'
|
|
233
255
|
nav:
|
|
234
256
|
back: Back
|
|
@@ -291,6 +313,7 @@ en:
|
|
|
291
313
|
large_import_message_html: You're about to import <span class="total-items-count">%{count}</span> items. Large imports take longer and are harder to troubleshoot. Consider splitting into smaller batches.
|
|
292
314
|
large_import_warning: Large Import Warning
|
|
293
315
|
ready_to_import: Ready to Import
|
|
316
|
+
section_errors: Errors
|
|
294
317
|
section_files: Files
|
|
295
318
|
section_records: Records
|
|
296
319
|
section_settings: Settings
|
|
@@ -342,8 +365,7 @@ en:
|
|
|
342
365
|
missing_required_hint: add this column to your CSV
|
|
343
366
|
missing_required_title: Missing Required Fields
|
|
344
367
|
missing_rights_desc: Your CSV does not include a rights_statement column. You can add it to your CSV or select a Default Rights Statement in the next step.
|
|
345
|
-
|
|
346
|
-
multiple_csv_same_level: Multiple CSV files found at the same level within ZIP
|
|
368
|
+
multiple_csv: Multiple CSV files share the shallowest directory level in the ZIP, so the primary CSV cannot be determined. Keep exactly one CSV at that level; any additional CSVs must be nested deeper.
|
|
347
369
|
no_csv_in_zip: No CSV files found in ZIP
|
|
348
370
|
no_csv_uploaded: No CSV metadata file uploaded
|
|
349
371
|
no_files_uploaded: No files uploaded
|
|
@@ -376,12 +398,23 @@ en:
|
|
|
376
398
|
errors:
|
|
377
399
|
message: "Field '%{field}' is required but is empty for this row."
|
|
378
400
|
suggestion: "Add a value for '%{field}'."
|
|
401
|
+
validation_error_csv_builder:
|
|
402
|
+
empty_column: "Column %{column} has no header and will be ignored during import"
|
|
403
|
+
missing_file: "Missing file: %{filename}"
|
|
404
|
+
missing_required_column: "Missing required column '%{field}' (%{model})"
|
|
405
|
+
unrecognized_column: "Unrecognized column '%{column}'"
|
|
406
|
+
unrecognized_column_with_suggestion: "Unrecognized column '%{column}' (did you mean '%{suggestion}'?)"
|
|
379
407
|
unable_to_process: Unable to process files for validation
|
|
380
408
|
empty_column: 'Column %{column} (no header)'
|
|
381
409
|
notices_desc: 'These notices may affect how your CSV is imported:'
|
|
382
410
|
notices_title: Import Notices
|
|
383
411
|
unrecognized_desc: 'These columns will be ignored during import:'
|
|
384
412
|
unrecognized_title: Unrecognized Fields
|
|
413
|
+
unzip:
|
|
414
|
+
errors:
|
|
415
|
+
multiple_csv: Multiple CSV files share the shallowest directory level in the ZIP, so the primary CSV cannot be determined. Keep exactly one CSV at that level; any additional CSVs must be nested deeper.
|
|
416
|
+
no_csv: No CSV file found in the ZIP
|
|
417
|
+
unsafe_entry: "The ZIP contains an entry with an unsafe path (%{name}). Entries must not use absolute paths or parent-directory references."
|
|
385
418
|
validations:
|
|
386
419
|
errors_prohibited:
|
|
387
420
|
one: '1 error prohibited this importer from being saved:'
|
|
@@ -443,6 +476,29 @@ en:
|
|
|
443
476
|
total_work_entries: Total Work Entries
|
|
444
477
|
type: Type
|
|
445
478
|
updated_at: Updated At
|
|
479
|
+
datatable:
|
|
480
|
+
filters:
|
|
481
|
+
filter_by_entry_class: Filter by Entry Class
|
|
482
|
+
filter_by_status: Filter by Status
|
|
483
|
+
language:
|
|
484
|
+
empty_table: No data available in table
|
|
485
|
+
info: Showing _START_ to _END_ of _TOTAL_ entries
|
|
486
|
+
info_empty: Showing 0 to 0 of 0 entries
|
|
487
|
+
info_filtered: (filtered from _MAX_ total entries)
|
|
488
|
+
length_menu: Show _MENU_ entries
|
|
489
|
+
loading_records: Loading...
|
|
490
|
+
next: Next
|
|
491
|
+
previous: Previous
|
|
492
|
+
processing: Processing...
|
|
493
|
+
search: 'Search:'
|
|
494
|
+
zero_records: No matching records found
|
|
495
|
+
status:
|
|
496
|
+
complete: Complete
|
|
497
|
+
complete_with_failures: Complete (with failures)
|
|
498
|
+
deleted: Deleted
|
|
499
|
+
failed: Failed
|
|
500
|
+
pending: Pending
|
|
501
|
+
skipped: Skipped
|
|
446
502
|
helpers:
|
|
447
503
|
action:
|
|
448
504
|
exporter:
|
|
@@ -17,13 +17,23 @@ es:
|
|
|
17
17
|
record_link: Enlace %{record_type}
|
|
18
18
|
unknown: Desconocido
|
|
19
19
|
exporter:
|
|
20
|
+
hints:
|
|
21
|
+
generated_metadata: Estos campos exportados no se pueden importar actualmente.
|
|
22
|
+
include_thumbnails: Estos campos exportados no se pueden importar actualmente.
|
|
23
|
+
limit: Deje en blanco o 0 para todos los registros
|
|
20
24
|
labels:
|
|
21
25
|
all: Todo
|
|
22
26
|
collection: Recopilación
|
|
27
|
+
collection_entries: Entradas de colección
|
|
28
|
+
download: Descargar
|
|
29
|
+
export_format: Formato de exportación
|
|
23
30
|
export_from: Exportar desde
|
|
24
31
|
export_source: Fuente de exportación
|
|
25
32
|
export_type: Tipo de Exportación
|
|
26
33
|
field_mapping: Mapeo de campos
|
|
34
|
+
file_set_entries: Entradas de conjunto de archivos
|
|
35
|
+
filter_by_date: Filtrar por fecha
|
|
36
|
+
finish_date: Fecha de finalización
|
|
27
37
|
full: Metadatos y archivos
|
|
28
38
|
generated_metadata: "¿Incluir metadatos generados?"
|
|
29
39
|
importer: Importador
|
|
@@ -33,7 +43,20 @@ es:
|
|
|
33
43
|
name: Nombre
|
|
34
44
|
parser_fields: Campos del analizador
|
|
35
45
|
parser_klass: Analizador sintáctico
|
|
46
|
+
start_date: Fecha de inicio
|
|
47
|
+
status: Estado
|
|
48
|
+
total_entries: Total de entradas
|
|
49
|
+
total_work_entries: Total de obras
|
|
36
50
|
user: Usuario
|
|
51
|
+
work_entries: Entradas de obras
|
|
52
|
+
workflow_status:
|
|
53
|
+
approved: Aprobado
|
|
54
|
+
broken_url: URL rota
|
|
55
|
+
deleted: Eliminado
|
|
56
|
+
in_process: En proceso
|
|
57
|
+
ingested: Ingresado
|
|
58
|
+
needs_repair: Necesita reparación
|
|
59
|
+
unapproved: No aprobado
|
|
37
60
|
worktype: Tipo de trabajo
|
|
38
61
|
prompts:
|
|
39
62
|
export_from: Por favor seleccione una fuente de exportación
|
|
@@ -45,8 +68,14 @@ es:
|
|
|
45
68
|
one: '1 error impidió que se guardara este exportador:'
|
|
46
69
|
other: 'Los errores %{count} impidieron que se guardara este exportador:'
|
|
47
70
|
headings:
|
|
71
|
+
edit_exporter: Editar exportador
|
|
72
|
+
edit_importer: Editar importador
|
|
73
|
+
exporters: Exportadores
|
|
48
74
|
importers: Importadores
|
|
75
|
+
new_exporter: Nuevo exportador
|
|
76
|
+
new_importer: Nuevo importador
|
|
49
77
|
upload_corrected_entries: 'Subir entradas corregidas: %{name}'
|
|
78
|
+
upload_corrected_entries_action: Subir entradas corregidas
|
|
50
79
|
importer:
|
|
51
80
|
bagit:
|
|
52
81
|
bags_to_import: 'Bolsa o Bolsas para Importar:'
|
|
@@ -77,6 +106,9 @@ es:
|
|
|
77
106
|
private: Privado
|
|
78
107
|
public: Público
|
|
79
108
|
edit_form:
|
|
109
|
+
entry_modal_title: Opciones para actualizar una entrada
|
|
110
|
+
entry_rebuild_hint: Reconstruir metadatos y archivos.
|
|
111
|
+
entry_remove_and_recreate_hint: Eliminar la obra existente y luego volver a crear los metadatos y archivos de la obra.
|
|
80
112
|
modal_title: Opciones para actualizar el importador
|
|
81
113
|
remove_and_rerun_hint: Elimine todos los trabajos y vuelva a importar desde cero. Esto eliminará todos los archivos y asociaciones, y se perderán todas las modificaciones realizadas desde la última importación.
|
|
82
114
|
update_and_harvest_hint: Actualice los valores en el formulario del importador y actualice los elementos que han cambiado en la fuente.
|
|
@@ -96,19 +128,23 @@ es:
|
|
|
96
128
|
override_rights_statement: Si está marcada, usar siempre la declaración de derechos seleccionada. Si no está marcada, usar los derechos o la declaración de derechos del registro y usar solo el valor proporcionado si dc:rights está en blanco.
|
|
97
129
|
labels:
|
|
98
130
|
admin_set: Conjunto administrativo
|
|
131
|
+
collection_entries: Entradas de colección
|
|
99
132
|
entry_id: ID de entrada
|
|
100
133
|
exporter: Exportador
|
|
134
|
+
file_set_entries: Entradas de conjunto de archivos
|
|
101
135
|
frequency: Frecuencia
|
|
102
136
|
identifier: Identificador
|
|
103
137
|
importer: Importador
|
|
104
138
|
limit: Límite
|
|
105
139
|
name: Nombre
|
|
140
|
+
parser_fields: Campos del analizador
|
|
106
141
|
parser_klass: Analizador sintáctico
|
|
107
142
|
total_collections: Colecciones totales
|
|
108
143
|
total_file_sets: Conjuntos totales de archivos
|
|
109
144
|
total_work_entries: Obras totales
|
|
110
145
|
type: Tipo
|
|
111
146
|
user: Usuario
|
|
147
|
+
work_entries: Entradas de obras
|
|
112
148
|
oai:
|
|
113
149
|
hints:
|
|
114
150
|
metadata_prefix: Como oai_dc, dcterms o oai_qdc
|
|
@@ -185,6 +221,8 @@ es:
|
|
|
185
221
|
review_total: "%{total} en total: %{collections} colecciones, %{works} obras, %{file_sets} conjuntos de archivos"
|
|
186
222
|
review_visibility: 'Visibilidad:'
|
|
187
223
|
server_error: Error del servidor durante la validación. Inténtalo de nuevo o contacta con el soporte técnico.
|
|
224
|
+
existing_record_badge: existente
|
|
225
|
+
existing_record_title: Este registro ya existe en el repositorio y se enlazará durante la importación.
|
|
188
226
|
shared_badge: compartido
|
|
189
227
|
starting: A partir de...
|
|
190
228
|
upload_csv_and_zip: CSV + archivos cargados por separado
|
|
@@ -199,9 +237,20 @@ es:
|
|
|
199
237
|
validating: Validando...
|
|
200
238
|
validation_failed: Error en la validación. Inténtalo de nuevo.
|
|
201
239
|
validation_timeout: Se agotó el tiempo de validación. Es posible que sus archivos sean demasiado grandes. Intente con archivos más pequeños o contacte con el soporte técnico.
|
|
240
|
+
validation_truncated_note: truncado a %{shown} — descargue el CSV de errores para ver la lista completa
|
|
241
|
+
validation_truncated_tooltip: Esta lista está limitada para mantener la página legible. La lista completa está en el archivo CSV de errores descargable.
|
|
202
242
|
visibility_institution: Institución
|
|
203
243
|
visibility_private: Privado
|
|
204
244
|
visibility_public: Público
|
|
245
|
+
warning_category_circular_reference: Referencia circular
|
|
246
|
+
warning_category_default_work_type_used: Tipo de obra predeterminado utilizado
|
|
247
|
+
warning_category_duplicate_source_identifier: Identificador de origen duplicado en el CSV
|
|
248
|
+
warning_category_existing_source_identifier: Identificador de origen existente (se actualizará)
|
|
249
|
+
warning_category_invalid_child_reference: Referencia secundaria no válida
|
|
250
|
+
warning_category_invalid_controlled_value: Valor de vocabulario controlado no válido
|
|
251
|
+
warning_category_invalid_parent_reference: Referencia principal no válida
|
|
252
|
+
warning_category_missing_required_value: Falta un valor obligatorio
|
|
253
|
+
warning_category_missing_source_identifier: Falta el identificador de origen
|
|
205
254
|
zip_limit: 'Solo se permite un archivo ZIP. No se agregaron los siguientes archivos:'
|
|
206
255
|
nav:
|
|
207
256
|
back: Atrás
|
|
@@ -264,6 +313,7 @@ es:
|
|
|
264
313
|
large_import_message_html: Está a punto de importar <span class="total-items-count">%{count}</span> artículos. Las importaciones grandes tardan más y son más difíciles de solucionar. Considere dividir el proceso en lotes más pequeños.
|
|
265
314
|
large_import_warning: Advertencia sobre grandes importaciones
|
|
266
315
|
ready_to_import: Listo para importar
|
|
316
|
+
section_errors: Errores
|
|
267
317
|
section_files: Archivos
|
|
268
318
|
section_records: Archivos
|
|
269
319
|
section_settings: Ajustes
|
|
@@ -315,8 +365,7 @@ es:
|
|
|
315
365
|
missing_required_hint: Añade esta columna a tu CSV
|
|
316
366
|
missing_required_title: Campos obligatorios faltantes
|
|
317
367
|
missing_rights_desc: Su archivo CSV no incluye la columna "rights_statement". Puede añadirla o seleccionar una "Declaración de derechos predeterminada" en el siguiente paso.
|
|
318
|
-
|
|
319
|
-
multiple_csv_same_level: Se encontraron varios archivos CSV en el mismo nivel dentro de ZIP
|
|
368
|
+
multiple_csv: Hay varios archivos CSV en el nivel menos profundo del ZIP, por lo que no se puede determinar el CSV principal. Mantén exactamente un CSV en ese nivel; cualquier CSV adicional debe estar anidado más profundamente.
|
|
320
369
|
no_csv_in_zip: No se encontraron archivos CSV en ZIP
|
|
321
370
|
no_csv_uploaded: No se cargó ningún archivo de metadatos CSV
|
|
322
371
|
no_files_uploaded: No hay archivos subidos
|
|
@@ -325,6 +374,14 @@ es:
|
|
|
325
374
|
errors:
|
|
326
375
|
message: "El elemento primario referenciado '%{value}' no existe como %{field} en este CSV."
|
|
327
376
|
suggestion: "Busque errores tipográficos o añada el registro primario."
|
|
377
|
+
child_reference_validator:
|
|
378
|
+
errors:
|
|
379
|
+
message: "El elemento secundario referenciado '%{value}' no existe como %{field} en este CSV."
|
|
380
|
+
suggestion: "Busque errores tipográficos o añada el registro secundario."
|
|
381
|
+
circular_reference_validator:
|
|
382
|
+
errors:
|
|
383
|
+
message: "'%{value}' forma parte de una relación padre-hijo circular."
|
|
384
|
+
suggestion: "Revise las columnas de padre/hijo y elimine las referencias incorrectas."
|
|
328
385
|
passed: Validación aprobada
|
|
329
386
|
passed_warnings: Validación aprobada con advertencias
|
|
330
387
|
recognized_fields: 'Campos reconocidos: %{fields}'
|
|
@@ -341,11 +398,23 @@ es:
|
|
|
341
398
|
errors:
|
|
342
399
|
message: "El campo '%{field}' es obligatorio pero está vacío para esta fila."
|
|
343
400
|
suggestion: "Añada un valor para '%{field}'."
|
|
401
|
+
validation_error_csv_builder:
|
|
402
|
+
empty_column: "La columna %{column} no tiene encabezado y se ignorará durante la importación"
|
|
403
|
+
missing_file: "Archivo faltante: %{filename}"
|
|
404
|
+
missing_required_column: "Falta la columna obligatoria '%{field}' (%{model})"
|
|
405
|
+
unrecognized_column: "Columna no reconocida '%{column}'"
|
|
406
|
+
unrecognized_column_with_suggestion: "Columna no reconocida '%{column}' (¿quiso decir '%{suggestion}'?)"
|
|
344
407
|
unable_to_process: No se pueden procesar archivos para su validación
|
|
408
|
+
empty_column: 'Columna %{column} (sin encabezado)'
|
|
345
409
|
notices_desc: 'Estos avisos pueden afectar cómo se importa su CSV:'
|
|
346
410
|
notices_title: Avisos de importación
|
|
347
411
|
unrecognized_desc: 'Estas columnas se ignorarán durante la importación:'
|
|
348
412
|
unrecognized_title: Campos no reconocidos
|
|
413
|
+
unzip:
|
|
414
|
+
errors:
|
|
415
|
+
multiple_csv: Hay varios archivos CSV en el nivel menos profundo del ZIP, por lo que no se puede determinar el CSV principal. Mantén exactamente un CSV en ese nivel; cualquier CSV adicional debe estar anidado más profundamente.
|
|
416
|
+
no_csv: No se encontraron archivos CSV en ZIP
|
|
417
|
+
unsafe_entry: "El ZIP contiene una entrada con una ruta no segura (%{name}). Las entradas no deben usar rutas absolutas ni referencias al directorio padre."
|
|
349
418
|
validations:
|
|
350
419
|
errors_prohibited:
|
|
351
420
|
one: '1 error impidió que se guardara este importador:'
|
|
@@ -401,11 +470,35 @@ es:
|
|
|
401
470
|
name: Nombre
|
|
402
471
|
next_run: Próxima carrera
|
|
403
472
|
status: Estado
|
|
473
|
+
status_set_at: Estado establecido en
|
|
404
474
|
total_collection_entries: Entradas totales de la colección
|
|
405
475
|
total_file_set_entries: Entradas totales del conjunto de archivos
|
|
406
476
|
total_work_entries: Total de entradas de trabajo
|
|
407
477
|
type: Tipo
|
|
408
478
|
updated_at: Actualizado en
|
|
479
|
+
datatable:
|
|
480
|
+
filters:
|
|
481
|
+
filter_by_entry_class: Filtrar por clase de entrada
|
|
482
|
+
filter_by_status: Filtrar por estado
|
|
483
|
+
language:
|
|
484
|
+
empty_table: No hay datos disponibles en la tabla
|
|
485
|
+
info: Mostrando _START_ a _END_ de _TOTAL_ entradas
|
|
486
|
+
info_empty: Mostrando 0 a 0 de 0 entradas
|
|
487
|
+
info_filtered: (filtrado de _MAX_ entradas en total)
|
|
488
|
+
length_menu: Mostrar _MENU_ entradas
|
|
489
|
+
loading_records: Cargando...
|
|
490
|
+
next: Siguiente
|
|
491
|
+
previous: Anterior
|
|
492
|
+
processing: Procesando...
|
|
493
|
+
search: 'Buscar:'
|
|
494
|
+
zero_records: No se encontraron registros coincidentes
|
|
495
|
+
status:
|
|
496
|
+
complete: Completo
|
|
497
|
+
complete_with_failures: Completo (con errores)
|
|
498
|
+
deleted: Eliminado
|
|
499
|
+
failed: Fallido
|
|
500
|
+
pending: Pendiente
|
|
501
|
+
skipped: Omitido
|
|
409
502
|
helpers:
|
|
410
503
|
action:
|
|
411
504
|
exporter:
|