bulkrax 9.3.5 → 9.4.1

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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -1
  3. data/app/assets/javascripts/bulkrax/application.js +2 -1
  4. data/app/assets/javascripts/bulkrax/bulkrax.js +13 -4
  5. data/app/assets/javascripts/bulkrax/bulkrax_utils.js +96 -0
  6. data/app/assets/javascripts/bulkrax/datatables.js +1 -0
  7. data/app/assets/javascripts/bulkrax/entries.js +17 -10
  8. data/app/assets/javascripts/bulkrax/importers.js.erb +9 -2
  9. data/app/assets/javascripts/bulkrax/importers_stepper.js +2420 -0
  10. data/app/assets/stylesheets/bulkrax/application.css +1 -1
  11. data/app/assets/stylesheets/bulkrax/stepper/_header.scss +83 -0
  12. data/app/assets/stylesheets/bulkrax/stepper/_mixins.scss +26 -0
  13. data/app/assets/stylesheets/bulkrax/stepper/_navigation.scss +103 -0
  14. data/app/assets/stylesheets/bulkrax/stepper/_responsive.scss +46 -0
  15. data/app/assets/stylesheets/bulkrax/stepper/_review.scss +92 -0
  16. data/app/assets/stylesheets/bulkrax/stepper/_settings.scss +106 -0
  17. data/app/assets/stylesheets/bulkrax/stepper/_success.scss +26 -0
  18. data/app/assets/stylesheets/bulkrax/stepper/_summary.scss +171 -0
  19. data/app/assets/stylesheets/bulkrax/stepper/_upload.scss +339 -0
  20. data/app/assets/stylesheets/bulkrax/stepper/_validation.scss +237 -0
  21. data/app/assets/stylesheets/bulkrax/stepper/_variables.scss +46 -0
  22. data/app/assets/stylesheets/bulkrax/stepper.scss +32 -0
  23. data/app/controllers/bulkrax/guided_imports_controller.rb +175 -0
  24. data/app/controllers/bulkrax/importers_controller.rb +28 -31
  25. data/app/controllers/concerns/bulkrax/guided_import_demo_scenarios.rb +201 -0
  26. data/app/controllers/concerns/bulkrax/importer_file_handler.rb +212 -0
  27. data/app/errors/bulkrax/unzip_error.rb +16 -0
  28. data/app/factories/bulkrax/object_factory.rb +3 -2
  29. data/app/factories/bulkrax/valkyrie_object_factory.rb +61 -17
  30. data/app/jobs/bulkrax/importer_job.rb +42 -4
  31. data/app/models/bulkrax/csv_entry.rb +27 -7
  32. data/app/models/bulkrax/entry.rb +4 -0
  33. data/app/models/bulkrax/importer.rb +27 -10
  34. data/app/models/concerns/bulkrax/has_matchers.rb +2 -2
  35. data/app/models/concerns/bulkrax/importer_exporter_behavior.rb +6 -5
  36. data/app/parsers/bulkrax/application_parser.rb +63 -20
  37. data/app/parsers/bulkrax/bagit_parser.rb +12 -0
  38. data/app/parsers/bulkrax/csv_parser.rb +168 -25
  39. data/app/parsers/concerns/bulkrax/csv_parser/csv_template_generation.rb +73 -0
  40. data/app/parsers/concerns/bulkrax/csv_parser/csv_validation.rb +133 -0
  41. data/app/parsers/concerns/bulkrax/csv_parser/csv_validation_helpers.rb +282 -0
  42. data/app/parsers/concerns/bulkrax/csv_parser/csv_validation_hierarchy.rb +96 -0
  43. data/app/services/bulkrax/csv_template/column_builder.rb +60 -0
  44. data/app/services/bulkrax/csv_template/column_descriptor.rb +58 -0
  45. data/app/services/bulkrax/csv_template/csv_builder.rb +83 -0
  46. data/app/services/bulkrax/csv_template/explanation_builder.rb +57 -0
  47. data/app/services/bulkrax/csv_template/field_analyzer.rb +56 -0
  48. data/app/services/bulkrax/csv_template/file_path_generator.rb +47 -0
  49. data/app/services/bulkrax/csv_template/file_validator.rb +68 -0
  50. data/app/services/bulkrax/csv_template/mapping_manager.rb +55 -0
  51. data/app/services/bulkrax/csv_template/model_loader.rb +50 -0
  52. data/app/services/bulkrax/csv_template/row_builder.rb +35 -0
  53. data/app/services/bulkrax/csv_template/schema_analyzer.rb +70 -0
  54. data/app/services/bulkrax/csv_template/split_formatter.rb +44 -0
  55. data/app/services/bulkrax/csv_template/value_determiner.rb +68 -0
  56. data/app/services/bulkrax/stepper_response_formatter.rb +347 -0
  57. data/app/services/bulkrax/validation_error_csv_builder.rb +99 -0
  58. data/app/validators/bulkrax/csv_row/child_reference.rb +56 -0
  59. data/app/validators/bulkrax/csv_row/circular_reference.rb +71 -0
  60. data/app/validators/bulkrax/csv_row/controlled_vocabulary.rb +74 -0
  61. data/app/validators/bulkrax/csv_row/duplicate_identifier.rb +63 -0
  62. data/app/validators/bulkrax/csv_row/missing_source_identifier.rb +31 -0
  63. data/app/validators/bulkrax/csv_row/parent_reference.rb +59 -0
  64. data/app/validators/bulkrax/csv_row/required_values.rb +64 -0
  65. data/app/views/bulkrax/guided_imports/new.html.erb +567 -0
  66. data/app/views/bulkrax/importers/index.html.erb +6 -1
  67. data/app/views/bulkrax/importers/new.html.erb +1 -1
  68. data/app/views/bulkrax/importers/show.html.erb +17 -1
  69. data/config/i18n-tasks.yml +195 -0
  70. data/config/locales/bulkrax.de.yml +508 -0
  71. data/config/locales/bulkrax.en.yml +463 -233
  72. data/config/locales/bulkrax.es.yml +508 -0
  73. data/config/locales/bulkrax.fr.yml +508 -0
  74. data/config/locales/bulkrax.it.yml +508 -0
  75. data/config/locales/bulkrax.pt-BR.yml +508 -0
  76. data/config/locales/bulkrax.zh.yml +507 -0
  77. data/config/routes.rb +10 -1
  78. data/lib/bulkrax/data/demo_scenarios.json +2235 -0
  79. data/lib/bulkrax/version.rb +1 -1
  80. data/lib/bulkrax.rb +31 -0
  81. metadata +56 -16
  82. data/app/services/bulkrax/sample_csv_service/column_builder.rb +0 -58
  83. data/app/services/bulkrax/sample_csv_service/column_descriptor.rb +0 -56
  84. data/app/services/bulkrax/sample_csv_service/csv_builder.rb +0 -82
  85. data/app/services/bulkrax/sample_csv_service/explanation_builder.rb +0 -51
  86. data/app/services/bulkrax/sample_csv_service/field_analyzer.rb +0 -54
  87. data/app/services/bulkrax/sample_csv_service/file_path_generator.rb +0 -16
  88. data/app/services/bulkrax/sample_csv_service/mapping_manager.rb +0 -36
  89. data/app/services/bulkrax/sample_csv_service/model_loader.rb +0 -40
  90. data/app/services/bulkrax/sample_csv_service/row_builder.rb +0 -33
  91. data/app/services/bulkrax/sample_csv_service/schema_analyzer.rb +0 -69
  92. data/app/services/bulkrax/sample_csv_service/split_formatter.rb +0 -42
  93. data/app/services/bulkrax/sample_csv_service/value_determiner.rb +0 -67
  94. data/app/services/bulkrax/sample_csv_service.rb +0 -78
  95. /data/{app/services → lib}/wings/custom_queries/find_by_source_identifier.rb +0 -0
@@ -0,0 +1,508 @@
1
+ ---
2
+ es:
3
+ bulkrax:
4
+ admin:
5
+ sidebar:
6
+ exporters: Exportadores
7
+ importers: Importadores
8
+ cancel: Cancelar
9
+ entry:
10
+ labels:
11
+ item_link: Enlace del artículo
12
+ item_link_error: No se puede recuperar el artículo (%{message})
13
+ item_no_association: No hay ningún elemento asociado con esta entrada o clase desconocida
14
+ item_not_imported: El artículo aún no se ha importado correctamente
15
+ parsed_metadata: Metadatos analizados
16
+ raw_metadata: Metadatos sin procesar
17
+ record_link: Enlace %{record_type}
18
+ unknown: Desconocido
19
+ exporter:
20
+ labels:
21
+ all: Todo
22
+ collection: Recopilación
23
+ export_from: Exportar desde
24
+ export_source: Fuente de exportación
25
+ export_type: Tipo de Exportación
26
+ field_mapping: Mapeo de campos
27
+ full: Metadatos y archivos
28
+ generated_metadata: "¿Incluir metadatos generados?"
29
+ importer: Importador
30
+ include_thumbnails: "¿Incluir miniaturas?"
31
+ limit: Límite
32
+ metadata: Sólo metadatos
33
+ name: Nombre
34
+ parser_fields: Campos del analizador
35
+ parser_klass: Analizador sintáctico
36
+ user: Usuario
37
+ worktype: Tipo de trabajo
38
+ prompts:
39
+ export_from: Por favor seleccione una fuente de exportación
40
+ export_type: Por favor seleccione un tipo de exportación
41
+ select_from_list: Seleccione de la lista
42
+ start_typing: Comience a escribir...
43
+ validations:
44
+ errors_prohibited:
45
+ one: '1 error impidió que se guardara este exportador:'
46
+ other: 'Los errores %{count} impidieron que se guardara este exportador:'
47
+ headings:
48
+ importers: Importadores
49
+ upload_corrected_entries: 'Subir entradas corregidas: %{name}'
50
+ importer:
51
+ bagit:
52
+ bags_to_import: 'Bolsa o Bolsas para Importar:'
53
+ file_style:
54
+ cloud: Agregar archivo en la nube
55
+ server_path: Especificar una ruta en el servidor
56
+ upload: Subir un archivo
57
+ file_upload_hint: La carga de archivos y la carga de archivos en la nube deben ser un archivo Zip que contenga una sola BagIt Bag o una carpeta que contenga varias BagIt Bags.
58
+ server_path_hint: La ruta del servidor puede apuntar a una bolsa BagIt, a una carpeta que contenga bolsas BagIt o a un archivo zip que contenga cualquiera de ellas.
59
+ visibility:
60
+ institution: Institución
61
+ private: Privado
62
+ public: Público
63
+ browse_everything:
64
+ add_cloud_files: Agregar archivos en la nube
65
+ csv:
66
+ add_csv_to_import: 'Agregar archivo CSV o ZIP para importar:'
67
+ add_files_hint: Seleccione los archivos que desea cargar. Los nombres de archivo deben ser únicos y deben estar referenciados en la columna "archivo" del archivo CSV adjunto.
68
+ add_files_to_import: 'Agregar archivos para importar:'
69
+ file_style:
70
+ existing_entries: Entradas existentes
71
+ server_path: Especificar una ruta en el servidor
72
+ upload: Subir un archivo
73
+ labels:
74
+ default_visibility: Visibilidad predeterminada
75
+ visibility:
76
+ institution: Institución
77
+ private: Privado
78
+ public: Público
79
+ edit_form:
80
+ modal_title: Opciones para actualizar el importador
81
+ 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
+ update_and_harvest_hint: Actualice los valores en el formulario del importador y actualice los elementos que han cambiado en la fuente.
83
+ update_and_import_hint: Actualice los valores en el formulario del importador y ejecute el importador por primera vez.
84
+ update_and_re_harvest_hint: Actualice los valores en el formulario del importador y vuelva a crear todos los elementos de la fuente.
85
+ update_and_replace_files_hint: Actualiza los valores en el formulario del importador y actualiza los metadatos. Elimina por completo todos los archivos adjuntos a las obras de este importador y los recrea desde cero.
86
+ update_metadata_and_files_hint: Actualiza los valores en el formulario de importación y actualiza los metadatos y archivos de todas las obras. Crea nuevas versiones de los archivos y conserva las anteriores.
87
+ update_metadata_hint: Actualice los valores en el formulario de importación y los metadatos de todas las obras. No actualice ningún archivo.
88
+ update_only_hint: Actualice únicamente los valores en el formulario de importación. No importe metadatos ni archivos de ninguna obra o colección.
89
+ update_only_no_update_hint: Actualice únicamente los valores en el formulario de importación. No actualice los metadatos ni los archivos de ninguna obra o colección.
90
+ file_uploader:
91
+ add_files: Agregar archivos
92
+ cancel_upload: Cancelar carga
93
+ dropzone: Suelte los archivos aquí para cargarlos
94
+ hints:
95
+ default_visibility: Si su CSV incluye el campo de visibilidad, anulará la configuración predeterminada.
96
+ 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
+ labels:
98
+ admin_set: Conjunto administrativo
99
+ entry_id: ID de entrada
100
+ exporter: Exportador
101
+ frequency: Frecuencia
102
+ identifier: Identificador
103
+ importer: Importador
104
+ limit: Límite
105
+ name: Nombre
106
+ parser_klass: Analizador sintáctico
107
+ total_collections: Colecciones totales
108
+ total_file_sets: Conjuntos totales de archivos
109
+ total_work_entries: Obras totales
110
+ type: Tipo
111
+ user: Usuario
112
+ oai:
113
+ hints:
114
+ metadata_prefix: Como oai_dc, dcterms o oai_qdc
115
+ override_rights_statement: Si está marcada, usar siempre la declaración de derechos seleccionada. Si no está marcada, usar dc:rights del registro y usar solo el valor proporcionado si dc:rights está en blanco.
116
+ thumbnail_url_html: |
117
+ <p>
118
+ La URL en miniatura permite la creación de plantillas básicas y la sustitución de cualquier información identificada en la URL. Por ejemplo:
119
+ </p>
120
+ <p>
121
+ http://commons.ptsem.edu/?cover=<%= identificador.split(':').last %>&tamaño=L
122
+ </p>
123
+ <p>
124
+ http://commons.ptsem.edu/?cover=<%= registro.encabezado.identificador.split(':').último %>&tamaño=L
125
+ </p>
126
+ labels:
127
+ set: Conjunto (fuente)
128
+ refresh_sets: Actualizar conjuntos
129
+ visibility:
130
+ institution: Institución
131
+ private: Privado
132
+ public: Público
133
+ upload_corrected_entries:
134
+ click_here: haga clic aquí
135
+ csv_only: Sólo se permiten archivos CSV.
136
+ instructions_html: Cargue <b>solo</b> las entradas corregidas para el importador <b>%{name}</b> . Para exportar las entradas fallidas para su corrección,
137
+ guided_import:
138
+ breadcrumb: Importación guiada
139
+ flash:
140
+ demo_not_available: Escenarios de demostración no disponibles
141
+ import_started: La importación se inició correctamente.
142
+ js:
143
+ admin_set_prompt: Seleccione un conjunto de administradores...
144
+ already_uploaded: 'Los siguientes archivos ya fueron cargados:'
145
+ appears_in_collections: Aparece en %{count} colecciones
146
+ circular_reference: Referencia circular detectada
147
+ csv_limit: 'Solo se permite un archivo CSV. No se agregaron los siguientes archivos:'
148
+ demo_data_not_loaded: Datos de demostración no cargados. Intente seleccionar un escenario de nuevo.
149
+ demo_load_failed: No se pudieron cargar los escenarios de demostración
150
+ demo_network_error: 'Error de red: verifique su conexión'
151
+ demo_server_error: Error del servidor al cargar escenarios de demostración
152
+ demo_timeout: Se agotó el tiempo de solicitud al cargar escenarios de demostración
153
+ detected_in_zip: detectado en ZIP
154
+ file_upload_error: Error al cargar archivos
155
+ files_too_large: Los archivos son demasiado grandes. Reduzca el tamaño del archivo y vuelva a intentarlo.
156
+ gauge_import_size: 'Tamaño de importación: %{count} artículos'
157
+ gauge_large: Grande
158
+ gauge_large_msg: Las importaciones grandes tardan más y son más difíciles de depurar. Recomendamos encarecidamente dividirlas en lotes de %{limit} o menos.
159
+ gauge_moderate: Moderado
160
+ gauge_moderate_msg: Considere dividirlo en lotes más pequeños para facilitar la resolución de errores.
161
+ download_validation_errors_csv: Descargar CSV de errores
162
+ gauge_optimal: Óptimo
163
+ gauge_optimal_msg: "¡Genial! Las importaciones más pequeñas son más fáciles de validar y solucionar."
164
+ hierarchy_too_deep: Jerarquía demasiado profunda (máximo %{max} niveles)
165
+ import_hierarchy: Jerarquía de importación
166
+ import_name_prefix: Importación de CSV -
167
+ invalid_file_format: Formato de archivo no válido. Por favor, revise sus archivos y vuelva a intentarlo.
168
+ invalid_format: Formato de archivo no válido. Solo se permiten archivos .csv y .zip.
169
+ max_files: Se alcanzó un máximo de %{count} archivos (1 CSV y 1 ZIP).
170
+ max_files_added: Se permite un máximo de %{count} archivos (1 CSV y 1 ZIP). Solo se agregaron los primeros %{added} archivos.
171
+ network_error: 'Error de red: verifique su conexión y vuelva a intentarlo.'
172
+ no_extension: sin extensión
173
+ not_selected: No seleccionado
174
+ only_first_files: Solo se han subido los primeros %{count} archivos. Puedes subir hasta %{max} archivos (1 CSV y 1 ZIP).
175
+ only_one_additional: Solo se puede agregar un archivo adicional. El primer archivo ya se agregó.
176
+ rejected_files: 'Los siguientes archivos fueron rechazados:'
177
+ remove_file: Eliminar archivo
178
+ render_error: Validación completada, pero no se pudieron mostrar los resultados. Inténtalo de nuevo.
179
+ review_admin_set: 'Conjunto de administración:'
180
+ review_first_n_records: primeros %{count} registros
181
+ review_limit: 'Límite:'
182
+ review_name: 'Nombre:'
183
+ review_rights: 'Derechos:'
184
+ review_skipped: 'Se omitió la validación: los recuentos de registros no están disponibles'
185
+ review_total: "%{total} en total: %{collections} colecciones, %{works} obras, %{file_sets} conjuntos de archivos"
186
+ review_visibility: 'Visibilidad:'
187
+ server_error: Error del servidor durante la validación. Inténtalo de nuevo o contacta con el soporte técnico.
188
+ shared_badge: compartido
189
+ starting: A partir de...
190
+ upload_csv_and_zip: CSV + archivos cargados por separado
191
+ upload_csv_only: 'No se cargó ningún archivo ZIP: los archivos se buscarán en las rutas del servidor o podrá agregar más archivos'
192
+ upload_single_package: Paquete único con CSV y archivos
193
+ upload_zip_only: 'Archivo ZIP cargado: la validación verificará el contenido CSV'
194
+ uploaded_file: Archivo subido
195
+ uploaded_files: Archivos subidos (%{count})
196
+ validate_path: Validar archivos desde la ruta de importación
197
+ validate_upload: Validar archivos desde la carga
198
+ validated: Validado
199
+ validating: Validando...
200
+ validation_failed: Error en la validación. Inténtalo de nuevo.
201
+ 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.
202
+ visibility_institution: Institución
203
+ visibility_private: Privado
204
+ visibility_public: Público
205
+ zip_limit: 'Solo se permite un archivo ZIP. No se agregaron los siguientes archivos:'
206
+ nav:
207
+ back: Atrás
208
+ clear_start_over: Limpiar y empezar de nuevo
209
+ next_step: Próximo
210
+ skip_validation: Saltar validación
211
+ start_import: Iniciar importación
212
+ feedback_link: Reportar un error / Comentarios
213
+ page_subtitle: Importar colecciones, obras y archivos mediante CSV
214
+ page_title: Iniciar una importación masiva
215
+ step1:
216
+ add_another: Agregar otro archivo
217
+ add_another_hint_html: Suelte un archivo CSV o ZIP aquí, o haga clic para <strong class="text-primary">explorar</strong>
218
+ admin_set: Conjunto de administración
219
+ admin_set_hint: Se requieren conjuntos de administradores para las importaciones y descargas de plantillas CSV
220
+ admin_set_prompt: Seleccione un conjunto de administradores...
221
+ collections: Colecciones
222
+ description_html: Suba un archivo CSV de metadatos y un archivo ZIP que contenga sus archivos (máximo 2 cargas), o un solo ZIP que contenga ambos; si usa un solo ZIP, el CSV de metadatos debe ser el único archivo <code>.csv</code> en el nivel superior.<br /> También puedes utilizar una ruta de archivo en tu servidor.
223
+ download_template: Descargue una plantilla CSV para su inquilino
224
+ dropzone_csv_hint: ".csv — solo metadatos"
225
+ dropzone_hint: Subir CSV y ZIP (máximo 2 subidas)
226
+ dropzone_main_html: Arrastre y suelte sus archivos aquí o <strong class="text-primary">navegue</strong>
227
+ dropzone_zip_hint: ".zip — archivos o metadatos CSV + archivos"
228
+ file_path_hint: Archivo CSV o ZIP
229
+ file_path_label: Introduzca la ruta a los archivos en su servidor
230
+ file_path_placeholder: "/ruta/a/import.csv"
231
+ file_sets: Conjuntos de archivos
232
+ import_path: Ruta de importación
233
+ import_summary: Resumen de importación
234
+ title: Importar sus archivos
235
+ upload_files: Subir archivos
236
+ file_input_label: Subir archivo CSV o ZIP
237
+ validate_path: Validar archivos desde la ruta de importación
238
+ validate_upload: Validar archivos desde la carga
239
+ warning_ack: Reconozco estas advertencias o errores y deseo continuar con la importación.
240
+ works: Obras
241
+ step2:
242
+ default_rights: Declaración de derechos por defecto
243
+ default_visibility: Visibilidad predeterminada
244
+ description: Establecer parámetros que se apliquen a todos los registros en esta importación.
245
+ import_name: Nombre de importación
246
+ import_name_prefix: Importación de CSV -
247
+ optional_settings: Configuraciones opcionales
248
+ rights_none: Ninguno
249
+ rights_required_alert_html: Su CSV no incluye la columna <strong>"rights_statement"</strong> . Seleccione una "Declaración de derechos predeterminada" a continuación para aplicarla a todos los registros.
250
+ rights_skipped_hint_html: Se omitió la validación. Si su CSV no incluye la columna <strong>rights_statement</strong> , puede seleccionar una Declaración de Derechos Predeterminada a continuación para aplicarla a todos los registros.
251
+ test_limit: Prueba de registros limitados
252
+ test_limit_placeholder: Importe solo los primeros N registros para realizar pruebas
253
+ title: Configurar ajustes de importación
254
+ visibility_hint: Se aplica a registros que no especifican visibilidad.
255
+ visibility_institution: Institución
256
+ visibility_institution_desc: Usuarios registrados
257
+ visibility_private: Privado
258
+ visibility_private_desc: Solo administradores
259
+ visibility_public: Público
260
+ visibility_public_desc: Visible para todos
261
+ step3:
262
+ background_note: Este proceso se ejecutará en segundo plano. Puede supervisar el progreso en la cola de importación.
263
+ description: Confirme los detalles de su importación antes de comenzar.
264
+ 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
+ large_import_warning: Advertencia sobre grandes importaciones
266
+ ready_to_import: Listo para importar
267
+ section_files: Archivos
268
+ section_records: Archivos
269
+ section_settings: Ajustes
270
+ section_warnings: Advertencias
271
+ title: Revisar e iniciar la importación
272
+ steps:
273
+ configure_settings: Configurar ajustes
274
+ review_start: Revisar y comenzar
275
+ upload_validate: Cargar y validar
276
+ stepper_response_formatter:
277
+ row_errors_issue:
278
+ description: "Existen los siguientes problemas con los datos en su CSV:"
279
+ row_label: "Fila %{row} · %{column}"
280
+ title_errors: Errores de validación de filas
281
+ title_warnings: Advertencias de validación de filas
282
+ success:
283
+ message: Tu importación se está procesando en segundo plano. Recibirás una notificación cuando finalice.
284
+ start_another: Iniciar otra importación
285
+ title: Importación iniciada
286
+ view_queue: Ver cola de importación
287
+ validation:
288
+ columns_detected: Se detectaron %{columns} columnas · Se encontraron %{records} registros
289
+ controlled_vocabulary_validator:
290
+ errors:
291
+ message: "'%{value}' no es un término reconocido para '%{field}'."
292
+ suggestion: "Consulte el vocabulario controlado para ver los términos válidos."
293
+ critical_errors: Los errores críticos deben corregirse antes de la importación.
294
+ did_you_mean: ¿Quisiste decir "%{suggestion}"?
295
+ duplicate_identifier_validator:
296
+ errors:
297
+ message: "%{field} duplicado '%{value}': también aparece en la fila %{original_row}."
298
+ suggestion: "Cada %{field} debe ser único dentro del CSV."
299
+ existing_source_identifier_validator:
300
+ warnings:
301
+ message: "'%{value}' coincide con un registro existente en el repositorio — esta fila lo actualizará."
302
+ suggestion: "Si no tenía intención de actualizar un registro existente, cambie el valor de %{field}."
303
+ failed: Validación fallida
304
+ file_path_not_exist: La ruta del archivo no existe
305
+ file_references_title: Referencias de archivos
306
+ files_found_in_zip: Se encontraron %{found} de %{total} archivos en ZIP.
307
+ files_missing_from_zip: "%{count} %{files_word} referenciado en su CSV pero falta en el ZIP:"
308
+ files_referenced: Los archivos %{count} referenciados en CSV no se encontraron en la importación.
309
+ missing_from_zip: Falta en el código postal
310
+ missing_source_identifier_validator:
311
+ errors:
312
+ message: "Falta un valor para '%{field}' en esta fila."
313
+ suggestion: "Añada un valor de '%{field}' a esta fila o configure Bulkrax para generar identificadores de origen automáticamente."
314
+ missing_required_desc: 'Estas columnas obligatorias deben agregarse a su CSV:'
315
+ missing_required_hint: Añade esta columna a tu CSV
316
+ missing_required_title: Campos obligatorios faltantes
317
+ 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
+ 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.
319
+ no_csv_in_zip: No se encontraron archivos CSV en ZIP
320
+ no_csv_uploaded: No se cargó ningún archivo de metadatos CSV
321
+ no_files_uploaded: No hay archivos subidos
322
+ no_zip_desc: No se ha subido ningún archivo ZIP. Asegúrese de que los archivos estén accesibles en el servidor o suba un archivo ZIP.
323
+ parent_reference_validator:
324
+ errors:
325
+ message: "El elemento primario referenciado '%{value}' no existe como %{field} en este CSV."
326
+ suggestion: "Busque errores tipográficos o añada el registro primario."
327
+ passed: Validación aprobada
328
+ passed_warnings: Validación aprobada con advertencias
329
+ recognized_fields: 'Campos reconocidos: %{fields}'
330
+ default_work_type_validator:
331
+ warnings:
332
+ message: "No se especificó ningún modelo — esta fila se importará como '%{default_work_type}'."
333
+ suggestion: "Especifique un valor de modelo en la columna 'model' para esta fila si desea usar un tipo de trabajo diferente."
334
+ default_work_type_notice:
335
+ message_column_missing: "No se encontró columna de modelo — todas las filas se importarán como '%{default_work_type}'."
336
+ message_column_empty: "No se proporcionó ningún modelo — todas las filas se importarán como '%{default_work_type}'."
337
+ suggestion_column_empty: "Añada valores de modelo a la columna 'model' de su CSV si desea usar un tipo de trabajo diferente para algunas filas."
338
+ suggestion_column_missing: "Añada una columna 'model' a su CSV si desea usar un tipo de trabajo diferente para algunas filas."
339
+ required_field_validator:
340
+ errors:
341
+ message: "El campo '%{field}' es obligatorio pero está vacío para esta fila."
342
+ suggestion: "Añada un valor para '%{field}'."
343
+ unable_to_process: No se pueden procesar archivos para su validación
344
+ notices_desc: 'Estos avisos pueden afectar cómo se importa su CSV:'
345
+ notices_title: Avisos de importación
346
+ unrecognized_desc: 'Estas columnas se ignorarán durante la importación:'
347
+ unrecognized_title: Campos no reconocidos
348
+ unzip:
349
+ errors:
350
+ 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.
351
+ no_csv: No se encontraron archivos CSV en ZIP
352
+ 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."
353
+ validations:
354
+ errors_prohibited:
355
+ one: '1 error impidió que se guardara este importador:'
356
+ other: 'Los errores %{count} impidieron que se guardara este importador:'
357
+ xml:
358
+ file_style:
359
+ cloud: Agregar archivo en la nube
360
+ server_path: Especificar una ruta en el servidor
361
+ upload: Subir un archivo
362
+ hints:
363
+ file_upload_hint: La carga de archivos y la carga de archivos en la nube DEBEN ser un solo archivo XML (solo para importar metadatos) O un archivo Zip que contenga los archivos XML y los archivos de datos, cada uno en una carpeta separada.
364
+ 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.
365
+ record_element: 'Proporcione el nombre del elemento xml que se utilizará para identificar el registro o los registros, por ejemplo, ROW: cada registro en el XML adjunto está envuelto en una etiqueta <ROW>.'
366
+ server_path_hint: La ruta del servidor puede apuntar a una carpeta que contiene archivos XML y archivos de datos para importar, o directamente al archivo XML en sí.
367
+ import_type:
368
+ multiple: Varias obras por archivo de metadatos
369
+ single: Trabajo único por archivo de metadatos
370
+ labels:
371
+ visibility: Visibilidad
372
+ xml_and_files: 'XML y archivos para importar:'
373
+ visibility:
374
+ institution: Institución
375
+ private: Privado
376
+ public: Público
377
+ shared:
378
+ errors:
379
+ error: 'Error:'
380
+ error_trace: 'Rastreo de errores:'
381
+ errored_at: 'Error en:'
382
+ errors_heading: 'Errores:'
383
+ full: Lleno
384
+ not_yet_exported: El artículo aún no se ha exportado correctamente
385
+ not_yet_imported: El artículo aún no se ha importado correctamente
386
+ raw: Crudo
387
+ succeeded_at: 'Tuvo éxito en:'
388
+ field_mapping:
389
+ full: Lleno
390
+ heading: 'Mapeo de campo:'
391
+ raw: Crudo
392
+ table_header:
393
+ labels:
394
+ actions: Comportamiento
395
+ date_exported: Fecha de exportación
396
+ downloadable_files: Archivos descargables
397
+ entries_deleted_upstream: Entradas eliminadas aguas arriba
398
+ entries_enqueued: Entradas en cola
399
+ entries_failed: Entradas fallidas
400
+ entries_processed: Entradas procesadas
401
+ entry_id: ID de entrada
402
+ errors: Errores
403
+ identifier: Identificador
404
+ last_run: Última carrera
405
+ name: Nombre
406
+ next_run: Próxima carrera
407
+ status: Estado
408
+ total_collection_entries: Entradas totales de la colección
409
+ total_file_set_entries: Entradas totales del conjunto de archivos
410
+ total_work_entries: Total de entradas de trabajo
411
+ type: Tipo
412
+ updated_at: Actualizado en
413
+ helpers:
414
+ action:
415
+ exporter:
416
+ back: Atrás
417
+ create: Crear
418
+ create_and_export: Crear y exportar
419
+ download: Descargar
420
+ edit: Editar
421
+ new: Nuevo
422
+ update: Actualizar exportador
423
+ update_and_re_export: Actualizar y volver a exportar todos los elementos
424
+ importer:
425
+ add_file: Agregar archivo...
426
+ back: Atrás
427
+ build: Construir
428
+ continue: Continuar
429
+ create: Crear
430
+ create_and_import: Crear e importar
431
+ create_and_validate: Crear y validar
432
+ discard: Desechar
433
+ discard_confirm: "¿Está seguro?"
434
+ download_original_file: Descargar archivo original
435
+ download_original_files: Descargar archivos originales
436
+ edit: Editar
437
+ edit_importer: Editar importador
438
+ export_errored_entries: Exportar entradas con errores
439
+ generate_csv_template: Generar plantilla de importación CSV
440
+ import_corrected_works: Importar obras corregidas
441
+ new: Importación avanzada
442
+ guided_import_new: Importación guiada
443
+ remove_and_build: Quitar y luego construir
444
+ remove_and_rerun: Quitar y volver a ejecutar
445
+ remove_and_rerun_confirm: "¿Estás seguro? Esto eliminará todas las obras y los archivos y relaciones asociados antes de volver a ejecutarlo."
446
+ update: Importador de actualizaciones
447
+ update_and_harvest_updated: Actualizar y cosechar elementos actualizados
448
+ update_and_import: Actualizar e importar
449
+ update_and_re_harvest: Actualizar y volver a recolectar todos los artículos
450
+ update_and_replace_files: Actualizar y reemplazar archivos
451
+ update_and_replace_files_confirm: "¿Estás seguro? Esto eliminará todos los archivos antes de añadirlos a la importación."
452
+ update_metadata: Actualizar metadatos
453
+ update_metadata_and_files: Actualizar metadatos y archivos
454
+ upload_corrected_entries: Subir entradas corregidas
455
+ simple_form:
456
+ hints:
457
+ defaults:
458
+ default_visibility: Si su CSV incluye el campo de visibilidad, anulará la configuración predeterminada.
459
+ metadata_prefix: Como oai_dc, dcterms o oai_qdc
460
+ 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.
461
+ record_element: 'Proporcione el nombre del elemento xml que se utilizará para identificar el registro o los registros, por ejemplo, ROW: cada registro en el XML adjunto está envuelto en una etiqueta <ROW>.'
462
+ exporter:
463
+ generated_metadata?: Actualmente estos campos exportados no se pueden importar.
464
+ include_thumbnails?: Actualmente estos campos exportados no se pueden importar.
465
+ limit: Introduzca cualquier número para ejecutar solo un subconjunto de registros. Déjelo en blanco o introduzca 0 para ejecutar todos los registros.
466
+ name: Cualquier nombre para identificar a este importador
467
+ importer:
468
+ admin_set_id: Seleccione el conjunto administrativo cuyas políticas (como flujo de trabajo y controles de acceso) deben aplicarse a estas importaciones. Si no está seguro, seleccione el conjunto administrativo predeterminado.
469
+ frequency: La frecuencia con la que se ejecutará este importador
470
+ limit: Introduzca cualquier número para ejecutar solo un subconjunto de registros. Déjelo en blanco o introduzca 0 para ejecutar todos los registros.
471
+ name: Cualquier nombre para identificar a este importador
472
+ parser_fields: Los campos específicos para cada analizador están disponibles solo cuando se selecciona un analizador
473
+ labels:
474
+ defaults:
475
+ base_url: URL base
476
+ file_style: Estilo de archivo
477
+ import_file_path: Ruta del archivo de importación
478
+ import_type: Tipo de importación
479
+ metadata_format: Formato de metadatos
480
+ metadata_prefix: Prefijo de metadatos
481
+ override_rights_statement: Declaración de derechos de anulación
482
+ record_element: Elemento de registro
483
+ rights_statement: Declaración de derechos
484
+ set: Conjunto (fuente)
485
+ thumbnail_url: URL de la miniatura
486
+ visibility: Visibilidad
487
+ exporter:
488
+ date_filter: Filtrar por fecha
489
+ export_from: Exportar desde
490
+ export_source_collection: Recopilación
491
+ export_source_importer: Importador
492
+ export_source_worktype: Tipo de trabajo
493
+ export_type: Tipo de Exportación
494
+ finish_date: Fecha de finalización
495
+ generated_metadata?: "¿Incluir metadatos generados?"
496
+ include_thumbnails?: "¿Incluir miniaturas?"
497
+ limit: Límite
498
+ name: Nombre
499
+ parser_klass: Formato de exportación
500
+ start_date: Fecha de inicio
501
+ work_visibility: Visibilidad
502
+ workflow_status: Estado
503
+ importer:
504
+ admin_set_id: Conjunto administrativo
505
+ frequency: Frecuencia
506
+ limit: Límite
507
+ name: Nombre
508
+ parser_klass: Analizador sintáctico