hyrax 5.2.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. checksums.yaml +4 -4
  2. data/.dassie/.env +5 -1
  3. data/.dassie/Gemfile +4 -2
  4. data/.dassie/app/assets/images/bulkrax/removed.png +0 -0
  5. data/.dassie/app/assets/javascripts/application.js +2 -0
  6. data/.dassie/app/assets/stylesheets/application.css +1 -0
  7. data/.dassie/app/controllers/catalog_controller.rb +1 -0
  8. data/.dassie/app/forms/admin_set_resource_form.rb +6 -0
  9. data/.dassie/app/forms/collection_resource_form.rb +5 -2
  10. data/.dassie/app/forms/generic_work_resource_form.rb +5 -2
  11. data/.dassie/app/forms/monograph_form.rb +5 -3
  12. data/.dassie/app/indexers/admin_set_resource_indexer.rb +5 -0
  13. data/.dassie/app/indexers/collection_resource_indexer.rb +3 -3
  14. data/.dassie/app/indexers/generic_work_resource_indexer.rb +6 -3
  15. data/.dassie/app/indexers/monograph_indexer.rb +6 -2
  16. data/.dassie/app/models/ability.rb +8 -0
  17. data/.dassie/app/models/collection_resource.rb +4 -2
  18. data/.dassie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
  19. data/.dassie/app/models/generic_work_resource.rb +5 -2
  20. data/.dassie/app/models/monograph.rb +5 -2
  21. data/.dassie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
  22. data/.dassie/bin/importer +142 -0
  23. data/.dassie/bin/web +4 -0
  24. data/.dassie/config/browse_everything_providers.yml +1 -1
  25. data/.dassie/config/bulkrax_api.yml +86 -0
  26. data/.dassie/config/initializers/bulkrax.rb +92 -0
  27. data/.dassie/config/initializers/clamav.rb +2 -0
  28. data/.dassie/config/initializers/hyrax.rb +7 -1
  29. data/.dassie/config/initializers/riiif.rb +4 -80
  30. data/.dassie/config/initializers/wings.rb +1 -1
  31. data/.dassie/config/metadata_profiles/m3_profile.yaml +929 -0
  32. data/.dassie/config/puma.rb +4 -2
  33. data/.dassie/config/routes.rb +7 -0
  34. data/.dassie/config/sidekiq.yml +17 -0
  35. data/.dassie/config/uv/uv.html +63 -81
  36. data/.dassie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
  37. data/.dassie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
  38. data/.dassie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
  39. data/.dassie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
  40. data/.dassie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
  41. data/.dassie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
  42. data/.dassie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
  43. data/.dassie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
  44. data/.dassie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
  45. data/.dassie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
  46. data/.dassie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
  47. data/.dassie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
  48. data/.dassie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
  49. data/.dassie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
  50. data/.dassie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
  51. data/.dassie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
  52. data/.dassie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
  53. data/.dassie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
  54. data/.dassie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
  55. data/.dassie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
  56. data/.dassie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
  57. data/.dassie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
  58. data/.dassie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
  59. data/.dassie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
  60. data/.dassie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
  61. data/.dassie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
  62. data/.dassie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
  63. data/.dassie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
  64. data/.dassie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
  65. data/.dassie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
  66. data/.dassie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
  67. data/.dassie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
  68. data/.dassie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
  69. data/.dassie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
  70. data/.dassie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
  71. data/.dassie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
  72. data/.dassie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
  73. data/.dassie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
  74. data/.dassie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
  75. data/.dassie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
  76. data/.dassie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
  77. data/.dassie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
  78. data/.dassie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
  79. data/.dassie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
  80. data/.dassie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
  81. data/.dassie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
  82. data/.dassie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
  83. data/.dassie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
  84. data/.dassie/db/schema.rb +154 -1
  85. data/.dassie/package.json +1 -1
  86. data/.dassie/rspec_split_configuration.json +835 -0
  87. data/.dassie/solr/conf/solrconfig.xml +21 -5
  88. data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/issue_template.md} +5 -0
  89. data/.github/workflows/lint-build-test.yml +5 -1
  90. data/.github/workflows/release-charts.yml +48 -0
  91. data/.gitignore +6 -0
  92. data/.koppie/.env +5 -1
  93. data/.koppie/Gemfile +3 -1
  94. data/.koppie/app/assets/images/bulkrax/removed.png +0 -0
  95. data/.koppie/app/assets/javascripts/application.js +2 -0
  96. data/.koppie/app/assets/stylesheets/application.css +1 -0
  97. data/.koppie/app/controllers/catalog_controller.rb +1 -1
  98. data/.koppie/app/forms/collection_resource_form.rb +5 -2
  99. data/.koppie/app/forms/file_set_form.rb +5 -0
  100. data/.koppie/app/forms/generic_work_form.rb +5 -3
  101. data/.koppie/app/forms/monograph_form.rb +5 -3
  102. data/.koppie/app/indexers/collection_resource_indexer.rb +5 -2
  103. data/.koppie/app/indexers/file_set_indexer.rb +7 -0
  104. data/.koppie/app/indexers/generic_work_indexer.rb +6 -3
  105. data/.koppie/app/indexers/monograph_indexer.rb +6 -2
  106. data/.koppie/app/models/ability.rb +8 -0
  107. data/.koppie/app/models/collection_resource.rb +4 -2
  108. data/.koppie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
  109. data/.koppie/app/models/generic_work.rb +5 -2
  110. data/.koppie/app/models/monograph.rb +5 -2
  111. data/.koppie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
  112. data/.koppie/bin/importer +142 -0
  113. data/.koppie/bin/web +4 -0
  114. data/.koppie/config/browse_everything_providers.yml +2 -0
  115. data/.koppie/config/bulkrax_api.yml +86 -0
  116. data/.koppie/config/initializers/bulkrax.rb +92 -0
  117. data/.koppie/config/initializers/clamav.rb +2 -0
  118. data/.koppie/config/initializers/hyrax.rb +11 -3
  119. data/.koppie/config/initializers/riiif.rb +4 -82
  120. data/.koppie/config/metadata_profiles/m3_profile.yaml +930 -0
  121. data/.koppie/config/routes.rb +7 -0
  122. data/.koppie/config/sidekiq.yml +2 -0
  123. data/.koppie/config/uv/uv.html +63 -81
  124. data/.koppie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
  125. data/.koppie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
  126. data/.koppie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
  127. data/.koppie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
  128. data/.koppie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
  129. data/.koppie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
  130. data/.koppie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
  131. data/.koppie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
  132. data/.koppie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
  133. data/.koppie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
  134. data/.koppie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
  135. data/.koppie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
  136. data/.koppie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
  137. data/.koppie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
  138. data/.koppie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
  139. data/.koppie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
  140. data/.koppie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
  141. data/.koppie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
  142. data/.koppie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
  143. data/.koppie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
  144. data/.koppie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
  145. data/.koppie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
  146. data/.koppie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
  147. data/.koppie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
  148. data/.koppie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
  149. data/.koppie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
  150. data/.koppie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
  151. data/.koppie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
  152. data/.koppie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
  153. data/.koppie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
  154. data/.koppie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
  155. data/.koppie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
  156. data/.koppie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
  157. data/.koppie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
  158. data/.koppie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
  159. data/.koppie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
  160. data/.koppie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
  161. data/.koppie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
  162. data/.koppie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
  163. data/.koppie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
  164. data/.koppie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
  165. data/.koppie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
  166. data/.koppie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
  167. data/.koppie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
  168. data/.koppie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
  169. data/.koppie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
  170. data/.koppie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
  171. data/.koppie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
  172. data/.koppie/db/schema.rb +154 -1
  173. data/.koppie/package.json +1 -1
  174. data/.koppie/rspec_split_configuration.json +835 -0
  175. data/.koppie/solr/conf/solrconfig.xml +0 -5
  176. data/.koppie/yarn.lock +5587 -752
  177. data/.rubocop.yml +1 -0
  178. data/CONTAINERS.md +2 -0
  179. data/Dockerfile +9 -22
  180. data/Gemfile +0 -1
  181. data/Gemfile.allinson +2 -0
  182. data/README.md +1 -2
  183. data/app/actors/hyrax/actors/file_actor.rb +2 -0
  184. data/app/actors/hyrax/actors/file_set_actor.rb +1 -1
  185. data/app/assets/javascripts/hyrax/app.js.erb +143 -10
  186. data/app/assets/javascripts/hyrax/collection_select.js +68 -0
  187. data/app/assets/javascripts/hyrax/copy_permalink_button.js +28 -0
  188. data/app/assets/javascripts/hyrax/redirects.js +45 -0
  189. data/app/assets/javascripts/hyrax/relationships/control.es6 +21 -1
  190. data/app/assets/javascripts/hyrax/select_work_type.es6 +7 -2
  191. data/app/assets/javascripts/hyrax.js +3 -1
  192. data/app/assets/stylesheets/hyrax/_file-show.scss +1 -0
  193. data/app/assets/stylesheets/hyrax/_viewer.scss +8 -0
  194. data/app/assets/stylesheets/hyrax/dashboard.scss +22 -1
  195. data/app/assets/stylesheets/hyrax/sidebar.scss +98 -3
  196. data/app/authorities/qa/authorities/collections.rb +9 -9
  197. data/app/controllers/concerns/hyrax/analytics_error_handling.rb +97 -0
  198. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +3 -1
  199. data/app/controllers/concerns/hyrax/ensure_migrated_behavior.rb +50 -0
  200. data/app/controllers/concerns/hyrax/flexible_catalog_behavior.rb +206 -0
  201. data/app/controllers/concerns/hyrax/flexible_schema_behavior.rb +17 -0
  202. data/app/controllers/concerns/hyrax/redirect_to_display_url.rb +54 -0
  203. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +52 -10
  204. data/app/controllers/hyrax/admin/admin_sets_controller.rb +21 -13
  205. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -0
  206. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +1 -0
  207. data/app/controllers/hyrax/admin/metadata_profiles_controller.rb +66 -0
  208. data/app/controllers/hyrax/batch_uploads_controller.rb +2 -0
  209. data/app/controllers/hyrax/dashboard/collections_controller.rb +27 -6
  210. data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +2 -1
  211. data/app/controllers/hyrax/dashboard_controller.rb +2 -1
  212. data/app/controllers/hyrax/file_sets_controller.rb +19 -1
  213. data/app/controllers/hyrax/homepage_controller.rb +7 -0
  214. data/app/controllers/hyrax/my/works_controller.rb +2 -21
  215. data/app/controllers/hyrax/permissions_controller.rb +4 -2
  216. data/app/controllers/hyrax/redirects_controller.rb +56 -0
  217. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +2 -1
  218. data/app/controllers/hyrax/transcripts_controller.rb +31 -0
  219. data/app/controllers/hyrax/uploads_controller.rb +18 -9
  220. data/app/forms/concerns/hyrax/based_near_field_behavior.rb +77 -0
  221. data/app/forms/concerns/hyrax/flexible_form_behavior.rb +37 -0
  222. data/app/forms/concerns/hyrax/redirects_field_behavior.rb +95 -0
  223. data/app/forms/concerns/hyrax/transcripts_behavior.rb +40 -0
  224. data/app/forms/hyrax/forms/admin_set_form.rb +1 -1
  225. data/app/forms/hyrax/forms/administrative_set_form.rb +3 -0
  226. data/app/forms/hyrax/forms/batch_edit_form.rb +1 -3
  227. data/app/forms/hyrax/forms/batch_upload_form.rb +14 -0
  228. data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
  229. data/app/forms/hyrax/forms/file_set_form.rb +6 -7
  230. data/app/forms/hyrax/forms/pcdm_collection_form.rb +17 -5
  231. data/app/forms/hyrax/forms/pcdm_object_form.rb +11 -3
  232. data/app/forms/hyrax/forms/resource_batch_edit_form.rb +8 -22
  233. data/app/forms/hyrax/forms/resource_form.rb +110 -10
  234. data/app/forms/hyrax/forms.rb +1 -0
  235. data/app/helpers/hyrax/attributes_helper.rb +109 -0
  236. data/app/helpers/hyrax/blacklight_override.rb +26 -0
  237. data/app/helpers/hyrax/collections_helper.rb +2 -0
  238. data/app/helpers/hyrax/file_set_form_helper.rb +24 -0
  239. data/app/helpers/hyrax/hyrax_helper_behavior.rb +51 -2
  240. data/app/helpers/hyrax/iiif_helper.rb +11 -1
  241. data/app/helpers/hyrax/permalink_helper.rb +37 -0
  242. data/app/helpers/hyrax/redirects_tab_helper.rb +29 -0
  243. data/app/helpers/hyrax/work_form_helper.rb +9 -5
  244. data/app/helpers/hyrax/works_helper.rb +14 -0
  245. data/app/indexers/concerns/hyrax/workflow_indexer.rb +30 -0
  246. data/app/indexers/hyrax/file_set_indexer.rb +1 -0
  247. data/app/indexers/hyrax/indexers/administrative_set_indexer.rb +2 -1
  248. data/app/indexers/hyrax/indexers/file_set_indexer.rb +6 -2
  249. data/app/indexers/hyrax/indexers/pcdm_collection_indexer.rb +11 -1
  250. data/app/indexers/hyrax/indexers/pcdm_object_indexer.rb +25 -4
  251. data/app/indexers/hyrax/indexers/redirects_indexer.rb +29 -0
  252. data/app/indexers/hyrax/indexers/resource_indexer.rb +4 -0
  253. data/app/indexers/hyrax/indexers.rb +2 -0
  254. data/app/inputs/controlled_vocabulary_input.rb +7 -1
  255. data/app/jobs/content_deposit_error_event_job.rb +14 -0
  256. data/app/jobs/create_work_job.rb +2 -0
  257. data/app/jobs/migrate_files_to_valkyrie_job.rb +7 -1
  258. data/app/models/batch_upload_item.rb +4 -0
  259. data/app/models/concerns/hyrax/ability/flexible_metadata_ability.rb +10 -0
  260. data/app/models/concerns/hyrax/ability.rb +3 -1
  261. data/app/models/concerns/hyrax/collection_behavior.rb +4 -0
  262. data/app/models/concerns/hyrax/file_set/transcripts.rb +16 -0
  263. data/app/models/concerns/hyrax/file_set_behavior.rb +9 -0
  264. data/app/models/concerns/hyrax/flexibility.rb +107 -0
  265. data/app/models/concerns/hyrax/redirects_normalization.rb +38 -0
  266. data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
  267. data/app/models/concerns/hyrax/solr_document/metadata.rb +9 -0
  268. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +4 -0
  269. data/app/models/concerns/hyrax/solr_document_behavior.rb +28 -6
  270. data/app/models/concerns/hyrax/suppressible.rb +1 -1
  271. data/app/models/concerns/hyrax/valkyrie_lazy_migration.rb +1 -1
  272. data/app/models/concerns/hyrax/with_embargoes_and_leases.rb +30 -0
  273. data/app/models/concerns/hyrax/work_behavior.rb +8 -0
  274. data/app/models/hyrax/administrative_set.rb +1 -1
  275. data/app/models/hyrax/change_set.rb +3 -1
  276. data/app/models/hyrax/embargo.rb +3 -1
  277. data/app/models/hyrax/file_set.rb +4 -2
  278. data/app/models/hyrax/flexible_schema.rb +219 -0
  279. data/app/models/hyrax/lease.rb +3 -1
  280. data/app/models/hyrax/pcdm_collection.rb +4 -1
  281. data/app/models/hyrax/redirect.rb +64 -0
  282. data/app/models/hyrax/redirect_path.rb +14 -0
  283. data/app/models/hyrax/resource.rb +22 -25
  284. data/app/models/hyrax/riiif/file.rb +43 -0
  285. data/app/models/hyrax/riiif/file_resolver.rb +65 -0
  286. data/app/models/hyrax/uploaded_file.rb +9 -0
  287. data/app/models/hyrax/virus_scanner.rb +16 -3
  288. data/app/models/hyrax/work.rb +4 -1
  289. data/app/models/job_io_wrapper.rb +12 -3
  290. data/app/models/user_mailbox.rb +3 -1
  291. data/app/presenters/hyrax/admin_set_presenter.rb +11 -0
  292. data/app/presenters/hyrax/annotates_content.rb +35 -0
  293. data/app/presenters/hyrax/collection_presenter.rb +5 -1
  294. data/app/presenters/hyrax/displays_content.rb +133 -0
  295. data/app/presenters/hyrax/displays_image.rb +11 -4
  296. data/app/presenters/hyrax/displays_transcripts.rb +59 -0
  297. data/app/presenters/hyrax/file_set_presenter.rb +8 -18
  298. data/app/presenters/hyrax/google_scholar_presenter.rb +39 -0
  299. data/app/presenters/hyrax/iiif_manifest_presenter.rb +22 -4
  300. data/app/presenters/hyrax/missing_method_behavior.rb +15 -0
  301. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -4
  302. data/app/presenters/hyrax/work_show_presenter.rb +56 -14
  303. data/app/renderers/hyrax/renderers/attribute_renderer.rb +6 -2
  304. data/app/renderers/hyrax/renderers/license_attribute_renderer.rb +10 -10
  305. data/app/renderers/hyrax/renderers/redirects_label_attribute_renderer.rb +25 -0
  306. data/app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb +10 -11
  307. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +1 -5
  308. data/app/search_builders/hyrax/filter_by_type.rb +1 -1
  309. data/app/services/hyrax/action/create_valkyrie_work.rb +3 -2
  310. data/app/services/hyrax/authority_rendering_helper.rb +28 -0
  311. data/app/services/hyrax/authority_service.rb +107 -0
  312. data/app/services/hyrax/callbacks.rb +2 -2
  313. data/app/services/hyrax/collections/nested_collection_query_service.rb +9 -3
  314. data/app/services/hyrax/collections_service.rb +17 -0
  315. data/app/services/hyrax/custom_queries/find_by_property_value.rb +89 -0
  316. data/app/services/hyrax/edit_permissions_service.rb +4 -4
  317. data/app/services/hyrax/file_set_type_service.rb +12 -4
  318. data/app/services/hyrax/flexible_schema_validator_service.rb +153 -0
  319. data/app/services/hyrax/flexible_schema_validators/class_validator.rb +123 -0
  320. data/app/services/hyrax/flexible_schema_validators/core_metadata_validator.rb +211 -0
  321. data/app/services/hyrax/flexible_schema_validators/existing_records_validator.rb +83 -0
  322. data/app/services/hyrax/flexible_schema_validators/redirects_validator.rb +116 -0
  323. data/app/services/hyrax/flexible_schema_validators/schema_validator.rb +34 -0
  324. data/app/services/hyrax/flexible_schema_validators/sort_properties_validator.rb +54 -0
  325. data/app/services/hyrax/license_service.rb +1 -1
  326. data/app/services/hyrax/listeners/metadata_index_listener.rb +11 -0
  327. data/app/services/hyrax/m3_profile_editor.rb +32 -0
  328. data/app/services/hyrax/m3_schema_loader.rb +119 -0
  329. data/app/services/hyrax/manifest_builder_service.rb +18 -24
  330. data/app/services/hyrax/permalink_path.rb +25 -0
  331. data/app/services/hyrax/qa_select_service.rb +9 -5
  332. data/app/services/hyrax/redirect_path_normalizer.rb +58 -0
  333. data/app/services/hyrax/redirects_lookup.rb +59 -0
  334. data/app/services/hyrax/resource_permissions_visibility_propagator.rb +54 -0
  335. data/app/services/hyrax/resource_types_service.rb +3 -20
  336. data/app/services/hyrax/rights_statement_service.rb +1 -1
  337. data/app/services/hyrax/schema_loader.rb +205 -0
  338. data/app/services/hyrax/search_service.rb +1 -1
  339. data/app/services/hyrax/simple_schema_loader.rb +28 -127
  340. data/app/services/hyrax/solr_service.rb +39 -2
  341. data/app/services/hyrax/tolerant_select_service.rb +5 -3
  342. data/app/services/hyrax/valkyrie_upload.rb +2 -2
  343. data/app/services/hyrax/visibility_propagator.rb +4 -1
  344. data/app/services/hyrax/work_uploads_handler.rb +17 -9
  345. data/app/services/hyrax/workflow/workflow_factory.rb +5 -4
  346. data/app/services/migrate_resource_service.rb +7 -1
  347. data/app/uploaders/hyrax/uploaded_file_uploader.rb +2 -2
  348. data/app/utils/hyrax/data_destroyers/collection_branding_destroyer.rb +1 -1
  349. data/app/utils/hyrax/required_data_seeder.rb +1 -0
  350. data/app/utils/hyrax/required_data_seeders/collection_type_seeder.rb +1 -1
  351. data/app/utils/hyrax/required_data_seeders/flexible_profile_seeder.rb +28 -0
  352. data/app/validators/hyrax/controlled_vocabulary_validator.rb +64 -0
  353. data/app/validators/hyrax/redirect_validator.rb +128 -0
  354. data/app/views/catalog/_thumbnail_list_default.html.erb +2 -2
  355. data/app/views/collections/edit_fields/_schema_version.html.erb +1 -0
  356. data/app/views/hyrax/admin/admin_sets/_form_metadata.html.erb +24 -2
  357. data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +1 -1
  358. data/app/views/hyrax/admin/admin_sets/show.html.erb +1 -1
  359. data/app/views/hyrax/admin/analytics/_analytics_error.html.erb +42 -0
  360. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +11 -9
  361. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +60 -57
  362. data/app/views/hyrax/admin/features/index.html.erb +1 -1
  363. data/app/views/hyrax/admin/metadata_profiles/_import_modal.html.erb +20 -0
  364. data/app/views/hyrax/admin/metadata_profiles/index.html.erb +54 -0
  365. data/app/views/hyrax/base/_attribute_rows.html.erb +4 -21
  366. data/app/views/hyrax/base/_citations.html.erb +1 -0
  367. data/app/views/hyrax/base/_currently_shared.html.erb +2 -1
  368. data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
  369. data/app/views/hyrax/base/_form_member_of_collections.html.erb +6 -6
  370. data/app/views/hyrax/base/_form_redirects.html.erb +125 -0
  371. data/app/views/hyrax/base/_form_share.html.erb +7 -2
  372. data/app/views/hyrax/base/_member.html.erb +1 -1
  373. data/app/views/hyrax/base/_social_media.html.erb +1 -1
  374. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +1 -1
  375. data/app/views/hyrax/base/show.html.erb +3 -0
  376. data/app/views/hyrax/collections/_default_group.html.erb +3 -0
  377. data/app/views/hyrax/collections/_list_collections.html.erb +3 -0
  378. data/app/views/hyrax/collections/_list_works.html.erb +1 -1
  379. data/app/views/hyrax/collections/_show_document_list_row.html.erb +1 -1
  380. data/app/views/hyrax/collections/show.html.erb +4 -0
  381. data/app/views/hyrax/dashboard/_sidebar.html.erb +4 -2
  382. data/app/views/hyrax/dashboard/collections/_button_for_update_collection.html.erb +2 -1
  383. data/app/views/hyrax/dashboard/collections/_default_group.html.erb +3 -0
  384. data/app/views/hyrax/dashboard/collections/_form.html.erb +17 -0
  385. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +7 -10
  386. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +3 -0
  387. data/app/views/hyrax/dashboard/collections/_list_works.html.erb +1 -1
  388. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
  389. data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +1 -8
  390. data/app/views/hyrax/dashboard/profiles/_trophy_edit.html.erb +1 -1
  391. data/app/views/hyrax/dashboard/profiles/show.html.erb +5 -5
  392. data/app/views/hyrax/dashboard/sidebar/_metadata.html.erb +11 -0
  393. data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +1 -0
  394. data/app/views/hyrax/dashboard/works/_default_group.html.erb +3 -0
  395. data/app/views/hyrax/dashboard/works/_list_works.html.erb +4 -2
  396. data/app/views/hyrax/file_sets/_form.html.erb +16 -3
  397. data/app/views/hyrax/file_sets/_metadata.html.erb +35 -0
  398. data/app/views/hyrax/file_sets/_valkyrie_form.html.erb +37 -0
  399. data/app/views/hyrax/file_sets/edit.html.erb +14 -8
  400. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +4 -0
  401. data/app/views/hyrax/file_sets/media_display/_image.html.erb +2 -2
  402. data/app/views/hyrax/file_sets/media_display/_video.html.erb +4 -0
  403. data/app/views/hyrax/homepage/_explore_collections.html.erb +1 -1
  404. data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
  405. data/app/views/hyrax/homepage/_recent_document.html.erb +1 -1
  406. data/app/views/hyrax/homepage/robots.text.erb +17 -0
  407. data/app/views/hyrax/my/collections/_default_group.html.erb +3 -0
  408. data/app/views/hyrax/my/collections/_list_collections.html.erb +3 -0
  409. data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +2 -2
  410. data/app/views/hyrax/my/collections/_modal_add_to_collection.html.erb +2 -2
  411. data/app/views/hyrax/my/works/_default_group.html.erb +3 -0
  412. data/app/views/hyrax/my/works/_list_works.html.erb +5 -2
  413. data/app/views/hyrax/shared/_copy_permalink.html.erb +10 -0
  414. data/app/views/hyrax/users/_user_info.html.erb +1 -6
  415. data/app/views/layouts/_head_tag_content.html.erb +2 -0
  416. data/app/views/layouts/hyrax/dashboard.html.erb +2 -1
  417. data/app/views/records/edit_fields/_contexts.html.erb +1 -0
  418. data/app/views/records/edit_fields/_license.html.erb +17 -5
  419. data/app/views/records/edit_fields/_resource_type.html.erb +16 -2
  420. data/app/views/records/edit_fields/_rights_statement.html.erb +17 -5
  421. data/app/views/records/edit_fields/_schema_version.html.erb +1 -0
  422. data/app/views/records/edit_fields/_transcript_ids.html.erb +18 -0
  423. data/app/views/records/show_fields/_rights.html.erb +1 -1
  424. data/app/views/shared/_citations.html.erb +46 -31
  425. data/app/views/shared/_schema_version.html.erb +38 -0
  426. data/bin/dev-entrypoint.sh +14 -4
  427. data/chart/hyrax/Chart.yaml +4 -4
  428. data/chart/hyrax/templates/ingress.yaml +3 -0
  429. data/chart/hyrax/values.yaml +10 -8
  430. data/config/features.rb +27 -0
  431. data/config/initializers/blacklight_dynamic_sitemap.rb +43 -0
  432. data/config/initializers/deprecation_patch.rb +27 -0
  433. data/config/initializers/hydra_works.rb +3 -0
  434. data/config/initializers/i18n_extensions.rb +197 -0
  435. data/config/initializers/storage_adapter_initializer.rb +15 -9
  436. data/config/locales/hyrax.de.yml +172 -54
  437. data/config/locales/hyrax.en.yml +183 -66
  438. data/config/locales/hyrax.es.yml +174 -49
  439. data/config/locales/hyrax.fr.yml +169 -45
  440. data/config/locales/hyrax.it.yml +172 -48
  441. data/config/locales/hyrax.pt-BR.yml +172 -54
  442. data/config/locales/hyrax.zh.yml +145 -21
  443. data/config/metadata/basic_metadata.yaml +66 -0
  444. data/config/metadata/batch_edit_metadata.yaml +119 -0
  445. data/config/metadata/file_set_metadata.yaml +19 -0
  446. data/config/metadata/redirects.yaml +15 -0
  447. data/config/metadata_profiles/m3_json_schema.json +487 -0
  448. data/config/metadata_profiles/m3_profile.yaml +954 -0
  449. data/config/routes.rb +9 -0
  450. data/docker-compose-allinson.yml +176 -0
  451. data/docker-compose-dassie.yml +14 -6
  452. data/docker-compose-koppie.yml +18 -10
  453. data/docker-compose-sirenia.yml +20 -10
  454. data/documentation/copy_permalink.md +29 -0
  455. data/documentation/developing-your-hyrax-based-app.md +2 -2
  456. data/documentation/file-ingest-characterization.md +763 -0
  457. data/documentation/flexible_metadata.md +113 -0
  458. data/documentation/forms/field_behaviors.md +297 -0
  459. data/documentation/redirects.md +428 -0
  460. data/hyrax.gemspec +7 -2
  461. data/lib/freyja/metadata_adapter.rb +1 -1
  462. data/lib/freyja/persister.rb +25 -1
  463. data/lib/generators/hyrax/collection_resource/collection_resource_generator.rb +2 -2
  464. data/lib/generators/hyrax/collection_resource/templates/collection.rb.erb +5 -1
  465. data/lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb +5 -1
  466. data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +6 -1
  467. data/lib/generators/hyrax/iiif_viewer/USAGE +22 -0
  468. data/lib/generators/hyrax/iiif_viewer/iiif_viewer_generator.rb +49 -0
  469. data/lib/generators/hyrax/iiif_viewer/templates/_clover.html.erb +7 -0
  470. data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.css +3328 -0
  471. data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.html +16 -0
  472. data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.js +237 -0
  473. data/lib/generators/hyrax/install_generator.rb +25 -1
  474. data/lib/generators/hyrax/riiif_generator.rb +1 -1
  475. data/lib/generators/hyrax/templates/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
  476. data/lib/generators/hyrax/templates/config/clamav.rb +2 -0
  477. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +4 -80
  478. data/lib/generators/hyrax/templates/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb.erb +9 -0
  479. data/lib/generators/hyrax/templates/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb.erb +5 -0
  480. data/lib/generators/hyrax/templates/db/migrate/20260430000001_create_hyrax_redirect_paths.rb.erb +22 -0
  481. data/lib/generators/hyrax/templates/db/migrate/20260521003627_add_additional_redirect_info.rb.erb +39 -0
  482. data/lib/generators/hyrax/templates/package.json +1 -1
  483. data/lib/generators/hyrax/templates/uv.html +60 -82
  484. data/lib/generators/hyrax/work/templates/indexer.rb.erb +1 -1
  485. data/lib/generators/hyrax/work/templates/model.rb.erb +5 -1
  486. data/lib/generators/hyrax/work_resource/templates/form.rb.erb +5 -2
  487. data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +6 -2
  488. data/lib/generators/hyrax/work_resource/templates/work.rb.erb +5 -2
  489. data/lib/generators/hyrax/work_resource/work_resource_generator.rb +1 -0
  490. data/lib/hyrax/active_fedora_dummy_model.rb +6 -0
  491. data/lib/hyrax/configuration.rb +197 -3
  492. data/lib/hyrax/deprecation.rb +31 -0
  493. data/lib/hyrax/engine.rb +2 -0
  494. data/lib/hyrax/form_fields.rb +17 -5
  495. data/lib/hyrax/indexer.rb +31 -2
  496. data/lib/hyrax/resource_sync/resource_list_writer.rb +3 -0
  497. data/lib/hyrax/schema.rb +15 -4
  498. data/lib/hyrax/specs/shared_specs/factories/administrative_sets.rb +12 -0
  499. data/lib/hyrax/specs/shared_specs/factories/hyrax_embargo.rb +1 -1
  500. data/lib/hyrax/specs/shared_specs/factories/hyrax_file_set.rb +13 -0
  501. data/lib/hyrax/specs/shared_specs/factories/hyrax_lease.rb +5 -1
  502. data/lib/hyrax/specs/shared_specs/factories/hyrax_work.rb +14 -0
  503. data/lib/hyrax/specs/shared_specs/simple_work.rb +41 -0
  504. data/lib/hyrax/specs/shared_specs.rb +1 -0
  505. data/lib/hyrax/transactions/collection_create.rb +2 -1
  506. data/lib/hyrax/transactions/collection_destroy.rb +1 -0
  507. data/lib/hyrax/transactions/collection_update.rb +2 -1
  508. data/lib/hyrax/transactions/container.rb +28 -0
  509. data/lib/hyrax/transactions/steps/apply_permission_template_on_update.rb +65 -0
  510. data/lib/hyrax/transactions/steps/apply_workflow_on_admin_set_change.rb +97 -0
  511. data/lib/hyrax/transactions/steps/ensure_admin_set.rb +1 -1
  512. data/lib/hyrax/transactions/steps/remove_redirect_paths.rb +35 -0
  513. data/lib/hyrax/transactions/steps/save.rb +10 -0
  514. data/lib/hyrax/transactions/steps/set_default_admin_set.rb +1 -1
  515. data/lib/hyrax/transactions/steps/sync_redirect_paths.rb +141 -0
  516. data/lib/hyrax/transactions/work_create.rb +2 -1
  517. data/lib/hyrax/transactions/work_destroy.rb +1 -0
  518. data/lib/hyrax/transactions/work_update.rb +4 -1
  519. data/lib/hyrax/version.rb +1 -1
  520. data/lib/hyrax.rb +61 -0
  521. data/lib/tasks/m3_profile_cleanup.rake +35 -0
  522. data/template.rb +4 -1
  523. metadata +313 -19
  524. data/.dassie/public/robots.txt +0 -1
  525. data/.koppie/public/robots.txt +0 -1
  526. data/app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb +0 -39
  527. data/app/views/catalog/_thumbnail_list_collection.html.erb +0 -4
@@ -24,12 +24,12 @@ es:
24
24
  suppressed_bsi: Estado
25
25
  visibility_ssi: Visibilidad
26
26
  show:
27
- admin_set: 'En Conjunto Administrativo:'
27
+ admin_set: "En Conjunto Administrativo:"
28
28
  based_near_label: Ubicación
29
29
  contributor: Colaboradores
30
30
  keyword: Palabra Clave
31
31
  filters:
32
- title: 'Filtrado por:'
32
+ title: "Filtrado por:"
33
33
  start_over: Borrar filtros
34
34
  download:
35
35
  one: y 1 descarga
@@ -39,8 +39,15 @@ es:
39
39
  carrierwave_download_error: No se pudo descargar la imagen.
40
40
  carrierwave_integrity_error: No es una imagen.
41
41
  carrierwave_processing_error: No se puede cambiar el tamaño de la imagen.
42
- extension_blacklist_error: 'La subida de archivos %{extension} no está permitida, tipos prohibidos: %{prohibited_types}'
43
- extension_whitelist_error: 'La subida de archivos %{extension} no está permitida, tipos permitidos: %{allowed_types}'
42
+ extension_blacklist_error: "La subida de archivos %{extension} no está permitida, tipos prohibidos: %{prohibited_types}"
43
+ extension_whitelist_error: "La subida de archivos %{extension} no está permitida, tipos permitidos: %{allowed_types}"
44
+ redirect:
45
+ already_taken: '"%{path}" ya está siendo usado por otro trabajo o colección.'
46
+ blank: Una ruta de redirección no puede estar en blanco.
47
+ intra_record_duplicate: '"%{path}" aparece más de una vez en este registro.'
48
+ invalid_format: '"%{path}" no es una ruta válida. Las rutas deben comenzar con "/" y no contener espacios, "?" ni "#".'
49
+ multiple_display_url: A lo sumo una entrada de redirección puede marcarse como la URL de visualización.
50
+ reserved_prefix: '"%{path}" no se puede usar. La ruta está reservada por la aplicación y no puede usarse como alias.'
44
51
  helpers:
45
52
  action:
46
53
  accept: Aceptar
@@ -55,6 +62,11 @@ es:
55
62
  new: Añadir Nueva Colección
56
63
  delete: Borrar
57
64
  edit: Editar
65
+ hyrax_metadata_profile:
66
+ hint: Importar un nuevo perfil sobrescribirá el perfil existente
67
+ import: Importar perfil de metadatos
68
+ import_metadata_profile: Importar perfil
69
+ submit: Importar
58
70
  less: Menos
59
71
  more: Más
60
72
  refresh: Refrescar
@@ -94,6 +106,7 @@ es:
94
106
  note: Los usuarios a los que se les otorgue un nuevo rol solo obtendrán el rol en los trabajos que se depositen después de que se haya otorgado ese rol.
95
107
  permission_destroy_errors:
96
108
  admin_group: No se puede eliminar el grupo de administradores del repositorio
109
+ participants: No se pudieron eliminar los derechos de participante del conjunto administrativo.
97
110
  permission_update_errors:
98
111
  error: Opción de actualización no válida para la plantilla de permiso.
99
112
  no_date: Se requiere una fecha para la opción de lanzamiento seleccionada.
@@ -139,9 +152,9 @@ es:
139
152
  title: Espectadores
140
153
  type: Tipo
141
154
  form_participants:
142
- add_group: 'Añadir grupo:'
155
+ add_group: "Añadir grupo:"
143
156
  add_participants: Añadir participantes
144
- add_user: 'Añadir usuario:'
157
+ add_user: "Añadir usuario:"
145
158
  current_participants: Participantes actuales
146
159
  form_visibility:
147
160
  cancel: Cancelar
@@ -154,16 +167,16 @@ es:
154
167
  varies:
155
168
  any: Permitir que el depositante decida
156
169
  between: Entre "ahora" y
157
- description: 'Varía -- los depositantes pueden fijar la fecha de lanzamiento para un trabajo individual:'
170
+ description: "Varía -- los depositantes pueden fijar la fecha de lanzamiento para un trabajo individual:"
158
171
  embargo:
159
172
  1yr: Un año después del depósito
160
173
  2yrs: Dos años después del depósito
161
174
  3yrs: Tres años después del depósito
162
175
  6mos: Seis meses después del depósito
163
176
  select: Seleccione el período de embargo...
164
- period: 'El depositante puede elegir un período de embargo hasta:'
177
+ period: "El depositante puede elegir un período de embargo hasta:"
165
178
  visibility:
166
- description: 'Después de su fecha de lanzamiento, los trabajos de este conjunto pueden ser descubiertos y descargados por:'
179
+ description: "Después de su fecha de lanzamiento, los trabajos de este conjunto pueden ser descubiertos y descargados por:"
167
180
  everyone: Todos -- todos los trabajos de este conjunto serán públicos.
168
181
  institution: Institución -- todos los trabajos serán visibles sólo para los usuarios autenticados de esta institución
169
182
  restricted: Restringido -- todos los trabajos serán visibles sólo para los administradores y gestores de repositorios y los revisores de este conjunto administrativo
@@ -191,7 +204,7 @@ es:
191
204
  work_views: Vistas de obras
192
205
  index:
193
206
  activity: Actividad
194
- and: y
207
+ and: "y"
195
208
  custom_range: Rango personalizado
196
209
  date_range_heading: Personalizar informe
197
210
  downloads: descargas
@@ -246,6 +259,48 @@ es:
246
259
  reset_date_range: Restablecer rango de fechas
247
260
  set_date_range: Establecer intervalo de fechas del informe
248
261
  start_date: Fecha de inicio
262
+ errors:
263
+ authentication:
264
+ documentation_url: https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Soporte de Google Analytics 4 GA4
265
+ message: Hubo un problema al autenticarse con Google Analytics. Por favor, revise sus credenciales.
266
+ title: Error de autenticación
267
+ troubleshooting_steps:
268
+ - Asegúrese de que su archivo de credenciales `google-analytics.json` (o equivalente) tenga el formato correcto y contenga información válida.
269
+ - Verifique que la cuenta de servicio esté habilitada en su proyecto de Google Cloud.
270
+ documentation_html: Para obtener más información, consulte la <a href='%{url}' target='_blank' rel='noopener noreferrer'>documentación</a> .
271
+ general:
272
+ documentation_url: https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Soporte de Google Analytics 4 GA4
273
+ message: Hay un problema con la configuración de Google Analytics que requiere la atención del administrador.
274
+ title: Problema de configuración de Analytics
275
+ troubleshooting_steps:
276
+ - Comuníquese con el administrador del sistema para revisar la configuración de Google Analytics
277
+ - Verifique que las credenciales de la cuenta de servicio estén configuradas correctamente
278
+ - Asegúrese de que la propiedad de Google Analytics esté configurada correctamente
279
+ invalid_property:
280
+ documentation_url: https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Soporte de Google Analytics 4 GA4
281
+ message: El ID de propiedad de Google Analytics no es válido. Se requiere un ID de propiedad numérico para Google Analytics 4.
282
+ title: ID de propiedad no válida
283
+ troubleshooting_steps:
284
+ - Verifique la configuración de Google Analytics 4 y asegúrese de estar utilizando el ID de propiedad numérico, no el ID de medición (que comienza con "G-").
285
+ - Verifique que el ID de propiedad esté configurado correctamente en la configuración de su aplicación.
286
+ permission:
287
+ documentation_url: https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Soporte de Google Analytics 4 GA4
288
+ message: El sistema no puede acceder a tus datos de Google Analytics. Esto suele significar que el correo electrónico de la cuenta de servicio debe tener acceso a tu propiedad de Google Analytics.
289
+ title: Se requiere acceso a análisis
290
+ troubleshooting_steps:
291
+ - En su cuenta de Google Analytics, vaya a Administrador → Cuenta → Administración de acceso a la cuenta
292
+ - Haga clic en el botón '+' para agregar un nuevo usuario
293
+ - "Ingrese la dirección de correo electrónico de la cuenta de servicio de su archivo de credenciales (se ve así: su-cuenta-de-servicio@nombre-del-proyecto.iam.gserviceaccount.com)"
294
+ - Establezca el rol como 'Visor' y haga clic en 'Agregar'
295
+ - Espere unos minutos para que los cambios surtan efecto y luego actualice esta página.
296
+ quota_exceeded:
297
+ documentation_url: https://developers.google.com/analytics/devguides/reporting/data/v1/limits-quotas
298
+ message: Se ha superado la tasa de solicitudes a la API de Google Analytics. Inténtelo de nuevo más tarde.
299
+ title: Cuota excedida
300
+ troubleshooting_steps:
301
+ - Revise los límites de cuota de la API de Google Analytics y su uso.
302
+ - Considere implementar estrategias de retroceso para las solicitudes de API si realiza muchas solicitudes en un período corto.
303
+ troubleshooting_steps: Pasos para la solución de problemas
249
304
  work_reports:
250
305
  custom_range:
251
306
  date_range_heading: Personalizar intervalo de fechas
@@ -256,7 +311,7 @@ es:
256
311
  index:
257
312
  access_to: Tienes acceso a
258
313
  activity: Actividad
259
- and: y
314
+ and: "y"
260
315
  custom_range: Rango personalizado
261
316
  date_range_heading: Personalizar informe
262
317
  downloads: descargas
@@ -368,7 +423,7 @@ es:
368
423
  update_notice: Participantes actualizados
369
424
  form_settings:
370
425
  instructions: Esta configuración determina cómo se pueden administrar y descubrir colecciones de este tipo.
371
- warning: 'Advertencia: estas configuraciones no se pueden cambiar después de que se haya creado una colección de este tipo.'
426
+ warning: "Advertencia: estas configuraciones no se pueden cambiar después de que se haya creado una colección de este tipo."
372
427
  index:
373
428
  breadcrumb: Tipos de colección
374
429
  create_new_button: Crear nuevo tipo de colección
@@ -386,7 +441,7 @@ es:
386
441
  actions: Comportamiento
387
442
  name: Nombre
388
443
  multiple_membership_checker:
389
- error_preamble: 'Error: ha especificado más de uno de los mismos tipos de colección de membresía única'
444
+ error_preamble: "Error: ha especificado más de uno de los mismos tipos de colección de membresía única"
390
445
  error_type_and_collections: "(tipo: %{type}, colecciones: %{collections})"
391
446
  new:
392
447
  header: Crear nuevo tipo de colección
@@ -410,6 +465,7 @@ es:
410
465
  content_blocks: Bloques de Contenido
411
466
  dashboard: Tablero
412
467
  delete_all: Eliminar todos
468
+ metadata_profiles: Perfiles de metadatos
413
469
  notifications: Notificaciones
414
470
  pages: Páginas
415
471
  profile: Perfil
@@ -429,7 +485,7 @@ es:
429
485
  stats:
430
486
  deposited_form:
431
487
  end_label: Finalizando [el momento actual es el valor predeterminado]
432
- heading: 'Ver Archivos Depositados:'
488
+ heading: "Ver Archivos Depositados:"
433
489
  start_label: Comenzando
434
490
  repository_objects:
435
491
  series:
@@ -440,14 +496,14 @@ es:
440
496
  end_label: Finalizando [el momento actual es el valor predeterminado]
441
497
  headers:
442
498
  main: Estadísticas de trabajo
443
- total: 'Obras totales:'
499
+ total: "Obras totales:"
444
500
  visibility: Totales por visibilidad
445
501
  heading: Ver archivos depositados por los usuarios
446
502
  start_label: Comenzando
447
503
  works:
448
504
  headers:
449
505
  main: Estadísticas de trabajo
450
- total: 'Total de Obras:'
506
+ total: "Total de Obras:"
451
507
  visibility: Totales por visibilidad
452
508
  users:
453
509
  index:
@@ -473,9 +529,17 @@ es:
473
529
  workflows:
474
530
  index:
475
531
  header: Revise Envíos
532
+ heading:
533
+ depositor: Depositor
534
+ status: estado
535
+ submission_date: Día de entrega
536
+ work: Trabajar
476
537
  tabs:
477
538
  published: Publicados
478
539
  under_review: En Revisión
540
+ works_listing: Listado de obras
541
+ works_published: "<strong>%{total_count} obras</strong> publicadas"
542
+ works_under_review: "<strong>%{total_count} funciona</strong> en revisión"
479
543
  api:
480
544
  accepted:
481
545
  default: Su solicitud se ha aceptado para su procesamiento, pero el procesamiento no está completo. Ver tarea para más información.
@@ -495,7 +559,7 @@ es:
495
559
  default: "¡Debe iniciar sesión para hacer eso!"
496
560
  unprocessable_entity:
497
561
  default: El recurso que intentó modificar no se puede modificar de acuerdo a su solicitud.
498
- background_attribution_html: ''
562
+ background_attribution_html: ""
499
563
  base:
500
564
  attributes:
501
565
  table_attribute_name: Nombre del Atributo
@@ -505,12 +569,13 @@ es:
505
569
  citations:
506
570
  citations: Citas
507
571
  endnote: EndNote
508
- header: 'Citaciones:'
572
+ header: "Citaciones:"
509
573
  mendeley: Mendeley
510
574
  zotero: Zotero
511
575
  currently_shared:
512
576
  currently_sharing: Compartido actualmente con
513
577
  table_title_access: Nivel de acceso
578
+ table_title_action: Acción
514
579
  table_title_user: Persona / Grupo
515
580
  file_manager:
516
581
  back_to: De vuelta a
@@ -575,7 +640,7 @@ es:
575
640
  legend_html: Visibilidad <small>¿Quién debería ser capaz de ver o descargar este contenido?</small>
576
641
  management_page: Página de Gestión de Arrendamiento
577
642
  form_progress:
578
- proxy_depositors: 'Depositantes apoderados: seleccione el usuario en cuyo nombre está depositando'
643
+ proxy_depositors: "Depositantes apoderados: seleccione el usuario en cuyo nombre está depositando"
579
644
  required_agreement: Comprobar el acuerdo de depósito
580
645
  required_descriptions: Describa su trabajo
581
646
  required_files: Añadir archivos
@@ -589,6 +654,11 @@ es:
589
654
  help_html: Seleccione el archivo con los medios que representa este trabajo.
590
655
  legend_html: Medios representativos
591
656
  form_share:
657
+ access_options:
658
+ creator: Creador
659
+ depositor: Depositor
660
+ manager: Gerente
661
+ viewer: Espectador
592
662
  access_type_to_grant: Tipo de acceso a otorgar
593
663
  account_label_without_suffix: "%{account_label} (sin la parte %{suffix})"
594
664
  add_sharing: Agregar Compartir
@@ -603,8 +673,8 @@ es:
603
673
  help_html: Seleccione el archivo que se utilizará como miniatura para este trabajo.
604
674
  legend_html: Miniatura
605
675
  form_visibility_component:
676
+ subtitle_html: "<small>¿Quién debería poder ver o descargar este contenido?</small>"
606
677
  visibility: La visibilidad
607
- subtitle_html: <small>¿Quién debería poder ver o descargar este contenido?</small>
608
678
  inspect_work:
609
679
  back_to: De regreso
610
680
  entity_id: ID de entidad
@@ -633,7 +703,7 @@ es:
633
703
  empty: Este %{type} no está actualmente disponible en ninguna colección.
634
704
  header: Relaciones
635
705
  relationships_parent_row:
636
- label: 'En %{type}:'
706
+ label: "En %{type}:"
637
707
  share_with:
638
708
  definition_heading: Definiciones de permisos
639
709
  definitions_html: "<strong>Ver / Descargar:</strong> este archivo (tanto contenido como metadatos) es accesible desde %{application_name}. <br /> <strong>Editar:</strong> este archivo (tanto contenido como metadatos) se puede editar. Solo puede otorgar este permiso a usuarios y / o grupos %{institution_name}."
@@ -660,7 +730,7 @@ es:
660
730
  twitter: Twitter
661
731
  twitter_share: Compartir en Twitter
662
732
  unauthorized:
663
- id: 'ID: %{id}'
733
+ id: "ID: %{id}"
664
734
  is_private: El %{type} al que ha intentado acceder es privado.
665
735
  page_is_private: La página a la que ha intentado acceder es privada.
666
736
  unauthorized: No autorizado
@@ -695,11 +765,11 @@ es:
695
765
  button_label: Eliminar Seleccionados
696
766
  deleting_file_from: Eliminar un archivo de %{application_name} es permanente. Haga clic en Aceptar para eliminar este archivo de %{application_name}, o en Cancelar para cancelar esta operación
697
767
  edit:
698
- apply_changes_to: 'Los cambios se aplicarán a: (%{x_number_of} funciona)'
768
+ apply_changes_to: "Los cambios se aplicarán a: (%{x_number_of} funciona)"
699
769
  batch_edit_descriptions: Descripciones de edición por lotes & nbsp; & nbsp; & nbsp; <small> Haga clic en las etiquetas a continuación para editar las descripciones de trabajo. </small>
700
770
  clear_batch: Borrar lote
701
771
  descriptions: Descripciones
702
- descriptions_title: 'Descripciones:'
772
+ descriptions_title: "Descripciones:"
703
773
  permissions: Permisos
704
774
  sharing: Compartir
705
775
  visibility: Visibilidad
@@ -769,7 +839,7 @@ es:
769
839
  create: Crear Colección
770
840
  create_new: Añadir a una nueva Colección
771
841
  no_collections: No tiene acceso a ninguna colección existente. Puede crear una nueva colección.
772
- select_heading: 'Seleccionar la colección a la que añadir tus archivos:'
842
+ select_heading: "Seleccionar la colección a la que añadir tus archivos:"
773
843
  title: Añadir a la colección
774
844
  update: Actualizar Colección
775
845
  collection_type:
@@ -798,7 +868,7 @@ es:
798
868
  works_in_collection: Trabajos en esta colección
799
869
  sort_and_per_page:
800
870
  number_of_results_to_display_per_page: Número de resultados a mostrar por página
801
- results_per_page: 'Resultados por página:'
871
+ results_per_page: "Resultados por página:"
802
872
  sort_by_html: "<span>Tipo:</span>"
803
873
  contact_form:
804
874
  button_label: Enviar
@@ -829,6 +899,9 @@ es:
829
899
  contact: Contacto
830
900
  help: Ayuda
831
901
  home: Inicio
902
+ copy_permalink:
903
+ button: Copiar enlace permanente
904
+ success: ¡Copiado!
832
905
  dashboard:
833
906
  additional_notifications: ver todas las notificaciones
834
907
  admin_sets:
@@ -852,11 +925,12 @@ es:
852
925
  collections:
853
926
  collection_title: Título de la colección
854
927
  edit:
855
- header: 'Editar colección: %{title}'
928
+ header: "Editar colección: %{title}"
856
929
  files: Archivos
857
930
  form:
858
931
  permission_update_errors:
859
932
  error: La opción de actualización no válida para la plantilla de permisos.
933
+ sharing: Las opciones para compartir de la colección no se pudieron actualizar.
860
934
  permission_update_notices:
861
935
  participants: Las opciones de uso compartido de la colección se han actualizado.
862
936
  sharing: Las opciones de uso compartido de la colección se han actualizado.
@@ -867,7 +941,7 @@ es:
867
941
  relationships: Relaciones
868
942
  sharing: Compartiendo
869
943
  form_branding:
870
- alt_text: 'Texto Alternativo:'
944
+ alt_text: "Texto Alternativo:"
871
945
  banner:
872
946
  description: Una imagen para mostrar en la parte superior de la página de colección. Para obtener los mejores resultados, cargue una imagen (JPG, GIF o PNG) que tenga al menos 120 píxeles de alto y 1.200 píxeles de ancho.
873
947
  label: Bandera
@@ -875,7 +949,7 @@ es:
875
949
  description: Opcionalmente, puede cargar una imagen de banner y / o imágenes de logotipo para asociar con esta colección. Si se cargan, estas imágenes se mostrarán en la parte superior de la página de la colección para proporcionar una marca única para la colección.
876
950
  label: Marca
877
951
  choose_file: Elija Archivo
878
- link_url: 'Link URL:'
952
+ link_url: "Link URL:"
879
953
  logo:
880
954
  description: Una o más imágenes para mostrar en la parte superior de la página de la colección. Para obtener los mejores resultados, cargue una imagen (JPG, GIF o PNG) de 40 píxeles de altura. Las imágenes más grandes se redimensionarán a 40 píxeles de altura.
881
955
  label: Logo
@@ -909,7 +983,7 @@ es:
909
983
  creator: Creador
910
984
  depositor: Depositor
911
985
  manager: Gerente
912
- viewer: Espectador
986
+ viewer: Espectador
913
987
  add_group: Añadir grupo
914
988
  add_sharing: Agregar Compartir
915
989
  add_user: Agregar usuario
@@ -975,12 +1049,12 @@ es:
975
1049
  show_document_list_menu:
976
1050
  select: Seleccionar
977
1051
  show_document_list_row:
978
- creator: 'Creador:'
979
- depositor: 'Depositor:'
980
- edit_access: 'Editar acceso:'
1052
+ creator: "Creador:"
1053
+ depositor: "Depositor:"
1054
+ edit_access: "Editar acceso:"
981
1055
  sort_and_per_page:
982
1056
  show_par_page_html: "%{select} Por página"
983
- sort_by: 'Ordenar Por:'
1057
+ sort_by: "Ordenar Por:"
984
1058
  title: Colecciones
985
1059
  work_action_menu:
986
1060
  delete_work: Eliminar trabajo
@@ -997,11 +1071,13 @@ es:
997
1071
  heading_actions:
998
1072
  close: Cerrar
999
1073
  create_work: Crear trabajo
1074
+ select_admin_set: Depositar en el conjunto de administración
1000
1075
  select_type_of_work: Seleccionar el tipo de trabajo
1001
1076
  manage_proxies: Administrar Proxies
1002
1077
  managed:
1003
1078
  collections: Colecciones administradas
1004
1079
  works: Trabajos administrados
1080
+ metadata_profiles: Perfiles de metadatos
1005
1081
  my:
1006
1082
  action:
1007
1083
  add_to_collection: Añadir a la colección
@@ -1041,21 +1117,21 @@ es:
1041
1117
  view_collection: Ver colección
1042
1118
  work_confirmation: El borrado de un trabajo de %{application_name} es permanente. Presione OK para borrar este trabajo de %{application_name}, o Cancelar para cancelar esta operación
1043
1119
  collection_list:
1044
- description: 'Descripción:'
1045
- edit_access: 'Editar Acceso:'
1046
- groups: 'Grupos:'
1120
+ description: "Descripción:"
1121
+ edit_access: "Editar Acceso:"
1122
+ groups: "Grupos:"
1047
1123
  managed_access:
1048
1124
  deposit: Depositar
1049
1125
  manage: Gestionar
1050
1126
  view: Ver
1051
- users: 'Usuarios:'
1127
+ users: "Usuarios:"
1052
1128
  collections: Mis Colecciones
1053
1129
  collections_report: Informe de cobros
1054
1130
  facet_label:
1055
- collections: 'Filtrar colecciones:'
1056
- highlighted: 'Filtrar aspectos destacados:'
1057
- shared: 'Filtrar archivos compartidos:'
1058
- works: 'Filtrar trabajos:'
1131
+ collections: "Filtrar colecciones:"
1132
+ highlighted: "Filtrar aspectos destacados:"
1133
+ shared: "Filtrar archivos compartidos:"
1134
+ works: "Filtrar trabajos:"
1059
1135
  heading:
1060
1136
  access: Acceso
1061
1137
  action: Acciones
@@ -1068,6 +1144,7 @@ es:
1068
1144
  highlighted: Destacado
1069
1145
  items: Artículos
1070
1146
  last_modified: Última modificación
1147
+ profile_version: Versión de perfil
1071
1148
  title: Título
1072
1149
  type: Tipo
1073
1150
  visibility: Visibilidad
@@ -1144,6 +1221,7 @@ es:
1144
1221
  files: Archivos depositados
1145
1222
  heading: Mis Estadísticas
1146
1223
  joined_on: Se unió en
1224
+ work_views: Vista de metadatos
1147
1225
  works: Trabajos creados
1148
1226
  tabs:
1149
1227
  admin_sets: Conjuntos de administración
@@ -1265,8 +1343,14 @@ es:
1265
1343
  cancel: Cancelar
1266
1344
  save: Salvar
1267
1345
  title: Título
1346
+ valkyrie_form:
1347
+ attach_to: Adjuntar a %{parent}
1348
+ cancel: Cancelar
1349
+ save: Salvar
1350
+ title: Título
1268
1351
  groups_description:
1269
- description_html: 'La lista de grupos del listado "Seleccionar un grupo" es una lista de Grupos Administrados por el Usuario de la que que es miembro. Puede seleccionar un grupo específico y asignar un nivel de acceso por archivo dentro de %{application_name}, y del mismo modo puede agregar niveles de acceso de usuarios.
1352
+ description_html:
1353
+ 'La lista de grupos del listado "Seleccionar un grupo" es una lista de Grupos Administrados por el Usuario de la que que es miembro. Puede seleccionar un grupo específico y asignar un nivel de acceso por archivo dentro de %{application_name}, y del mismo modo puede agregar niveles de acceso de usuarios.
1270
1354
 
1271
1355
  '
1272
1356
  permission:
@@ -1305,6 +1389,8 @@ es:
1305
1389
  file_details: Los Detalles Del Archivo
1306
1390
  fixity_check: La Fijeza De Verificación
1307
1391
  not_yet_characterized: Aún No Se Caracteriza
1392
+ metadata:
1393
+ metadata: Metadatos
1308
1394
  versioning:
1309
1395
  choose_file: Elija el archivo de nueva versión
1310
1396
  current: Versión actual
@@ -1318,6 +1404,18 @@ es:
1318
1404
  save: Guardar revisión
1319
1405
  save_your_note: Debe hacer clic en "Guardar revisión" para revertir una versión anterior de este archivo
1320
1406
  upload: Subir nueva versión
1407
+ flexible_schema_validators:
1408
+ redirects_validator:
1409
+ errors:
1410
+ invalid_available_on: "la propiedad `redirects` del perfil m3 debe estar disponible en al menos una clase de obra o colección declarada en este perfil"
1411
+ invalid_type: "la propiedad `redirects` del perfil m3 debe declarar `type: hash` (se recibió `%{actual_type}`)"
1412
+ property_required: "el perfil m3 debe declarar una propiedad `redirects` cuando la función de redirecciones está habilitada"
1413
+ warnings:
1414
+ config_disabled: "el perfil m3 declara una propiedad `redirects` pero Hyrax.config.redirects_enabled? es false; la propiedad será ignorada"
1415
+ flipflop_disabled: "el perfil m3 declara una propiedad `redirects` pero la bandera de característica :redirects está desactivada; la propiedad será ignorada"
1416
+ sort_properties_validator:
1417
+ warnings:
1418
+ message: "%{property} debe estar definido en %{classes} para permitir la ordenación por esa propiedad, a menos que haya indexado %{property}_ssi en algún otro campo."
1321
1419
  help:
1322
1420
  header: Soporte al Usuario
1323
1421
  override_text: Utilice app/views/static/help.html.erb para anular este archivo
@@ -1434,7 +1532,7 @@ es:
1434
1532
  change_tab_message: "¿Seguro que quieres salir de esta pestaña? Cualquier información no guardada se perderá."
1435
1533
  notifications:
1436
1534
  batch_create_failure:
1437
- message: 'La creación del lote para %{user} falló: %{messages}'
1535
+ message: "La creación del lote para %{user} falló: %{messages}"
1438
1536
  subject: Creación de lote fallido
1439
1537
  batch_create_success:
1440
1538
  message: El lote creado para %{user} pasó.
@@ -1450,7 +1548,7 @@ es:
1450
1548
  subject: Solicitud de cambio de propiedad
1451
1549
  transfer_link_label: las solicitudes de transferencia
1452
1550
  transfer_on_update:
1453
- comments: 'Comentarios: %{receiver_comment}'
1551
+ comments: "Comentarios: %{receiver_comment}"
1454
1552
  message: Su solicitud de transferencia fue %{status}.
1455
1553
  subject: Cambio de propiedad %{status}
1456
1554
  validation:
@@ -1497,6 +1595,7 @@ es:
1497
1595
  owner:
1498
1596
  edit: Editar acceso
1499
1597
  read: Ver descarga
1598
+ read_only: El repositorio está en modo de solo lectura para mantenimiento. No se pueden realizar envíos ni modificaciones en este momento.
1500
1599
  search:
1501
1600
  button:
1502
1601
  html: <span class="fa fa-search"></span> Ir
@@ -1549,6 +1648,8 @@ es:
1549
1648
  link_expired_not_found: Enlace de uso único caducado o no encontrado
1550
1649
  link_not_found: Enlace de uso único no encontrado
1551
1650
  sort_label: Ordenar el listado de elementos
1651
+ sr:
1652
+ thumbnail: imagen representativa predeterminada
1552
1653
  static:
1553
1654
  mendeley:
1554
1655
  contact_form: Formulario de contacto
@@ -1564,7 +1665,7 @@ es:
1564
1665
  pageviews:
1565
1666
  pageviews: Vistas de página
1566
1667
  work:
1567
- and: y
1668
+ and: "y"
1568
1669
  downloads: Descargas
1569
1670
  header: Análisis de trabajo
1570
1671
  pageviews: Páginas vistas
@@ -1644,9 +1745,9 @@ es:
1644
1745
  set_all_to_this_resource_type: Establecer todo a este tipo de recurso
1645
1746
  start: comienzo
1646
1747
  js_templates_branding:
1647
- alt_text: 'Texto alternativo:'
1748
+ alt_text: "Texto alternativo:"
1648
1749
  error: Error
1649
- link_url: 'URL del enlace:'
1750
+ link_url: "URL del enlace:"
1650
1751
  previous: anterior
1651
1752
  remove: retirar
1652
1753
  remove_new_banner: Eliminar nuevo banner
@@ -1695,6 +1796,8 @@ es:
1695
1796
  search_form:
1696
1797
  go: Ir
1697
1798
  search_users: Buscar usuarios
1799
+ virus_scanner:
1800
+ virus_detected: Virus detectado en %{filename}. El archivo no se ha guardado.
1698
1801
  visibility:
1699
1802
  authenticated:
1700
1803
  note_html: Restringir el acceso sólo a usuarios y/o grupos de %{institution}
@@ -1714,6 +1817,8 @@ es:
1714
1817
  note_html: Sólo los usuarios y / o grupos a los que se les ha dado acceso específico en la sección "Compartir con".
1715
1818
  text: Privado
1716
1819
  restricted_title_attr: Cambiar la visibilidad de este recurso
1820
+ unknown:
1821
+ text: Desconocido
1717
1822
  work_button_row:
1718
1823
  attach_child: Adjuntar niño
1719
1824
  workflow:
@@ -1735,6 +1840,26 @@ es:
1735
1840
  in_collections: Colecciones
1736
1841
  in_other_works: Este Trabajo en otros Trabajos
1737
1842
  in_this_work: Otros Trabaos en este Trabajo
1843
+ redirects:
1844
+ add_label: Agregar otro alias
1845
+ caption: Lista de alias de URL para este recurso
1846
+ display_url:
1847
+ help_html: Opcionalmente, marque un alias como la <em>URL de visualización</em>. Cuando se establece, la URL UUID permanente del registro redirige al alias elegido. Deje en "Ninguno" para mantener la URL UUID como destino.
1848
+ none_label: Ninguno (usar la URL UUID del registro)
1849
+ row_label: 'Usar "%{path}" como URL de visualización'
1850
+ errors_heading: Por favor corrija los siguientes errores de alias
1851
+ header:
1852
+ actions: Acciones
1853
+ display_url: URL de visualización
1854
+ path: Ruta
1855
+ heading: Alias de URL
1856
+ help_html: 'Registre rutas de URL antiguas que deberían redirigir a este registro. Cada ruta se resolverá desde la raíz de este sitio. Las rutas reservadas de Hyrax (por ejemplo, <code>/concern</code>, <code>/dashboard</code>) no pueden utilizarse.'
1857
+ new_path_label: Nueva ruta de alias
1858
+ path_label: Ruta de alias
1859
+ placeholder:
1860
+ path: Ingrese una ruta antigua...
1861
+ remove_label: Eliminar
1862
+ remove_with_path_label: 'Eliminar %{path}'
1738
1863
  tab:
1739
1864
  files: Archivos
1740
1865
  metadata: Descripciones
@@ -1779,7 +1904,7 @@ es:
1779
1904
  require_membership: Un trabajo debe pertenecer a al menos una colección de este tipo
1780
1905
  sharable: Permitir a los usuarios asignar administradores de colecciones, depositantes y espectadores para las colecciones que administran
1781
1906
  share_applies_to_new_works: Cuando se crean nuevos trabajos directamente en la colección, conceda permisos para compartir usuarios y grupos para el nuevo trabajo de acuerdo con sus roles de recopilación.
1782
- title: ''
1907
+ title: ""
1783
1908
  defaults:
1784
1909
  abstract: Un breve resumen de un artículo de investigación, tesis, revisión, conferencia o cualquier análisis en profundidad de un tema en particular.
1785
1910
  access_right: Contiene información sobre quién puede acceder al recurso o una indicación de su estado de seguridad.