bulkrax 9.3.4 → 9.4.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 (104) 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/import_export.scss +9 -2
  12. data/app/assets/stylesheets/bulkrax/stepper/_header.scss +83 -0
  13. data/app/assets/stylesheets/bulkrax/stepper/_mixins.scss +26 -0
  14. data/app/assets/stylesheets/bulkrax/stepper/_navigation.scss +103 -0
  15. data/app/assets/stylesheets/bulkrax/stepper/_responsive.scss +46 -0
  16. data/app/assets/stylesheets/bulkrax/stepper/_review.scss +92 -0
  17. data/app/assets/stylesheets/bulkrax/stepper/_settings.scss +106 -0
  18. data/app/assets/stylesheets/bulkrax/stepper/_success.scss +26 -0
  19. data/app/assets/stylesheets/bulkrax/stepper/_summary.scss +171 -0
  20. data/app/assets/stylesheets/bulkrax/stepper/_upload.scss +339 -0
  21. data/app/assets/stylesheets/bulkrax/stepper/_validation.scss +237 -0
  22. data/app/assets/stylesheets/bulkrax/stepper/_variables.scss +46 -0
  23. data/app/assets/stylesheets/bulkrax/stepper.scss +32 -0
  24. data/app/controllers/bulkrax/guided_imports_controller.rb +175 -0
  25. data/app/controllers/bulkrax/importers_controller.rb +34 -28
  26. data/app/controllers/concerns/bulkrax/guided_import_demo_scenarios.rb +201 -0
  27. data/app/controllers/concerns/bulkrax/importer_file_handler.rb +217 -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/export_work_job.rb +1 -3
  31. data/app/jobs/bulkrax/importer_job.rb +11 -4
  32. data/app/models/bulkrax/csv_entry.rb +27 -7
  33. data/app/models/bulkrax/entry.rb +4 -0
  34. data/app/models/bulkrax/importer.rb +31 -1
  35. data/app/models/concerns/bulkrax/has_matchers.rb +2 -2
  36. data/app/models/concerns/bulkrax/importer_exporter_behavior.rb +6 -5
  37. data/app/parsers/bulkrax/application_parser.rb +31 -5
  38. data/app/parsers/bulkrax/csv_parser.rb +42 -10
  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/entries/_parsed_metadata.html.erb +1 -1
  66. data/app/views/bulkrax/entries/_raw_metadata.html.erb +1 -1
  67. data/app/views/bulkrax/entries/show.html.erb +6 -6
  68. data/app/views/bulkrax/exporters/_form.html.erb +19 -43
  69. data/app/views/bulkrax/exporters/edit.html.erb +2 -2
  70. data/app/views/bulkrax/exporters/index.html.erb +5 -5
  71. data/app/views/bulkrax/exporters/new.html.erb +3 -5
  72. data/app/views/bulkrax/exporters/show.html.erb +3 -3
  73. data/app/views/bulkrax/guided_imports/new.html.erb +567 -0
  74. data/app/views/bulkrax/importers/_bagit_fields.html.erb +9 -9
  75. data/app/views/bulkrax/importers/_browse_everything.html.erb +1 -1
  76. data/app/views/bulkrax/importers/_csv_fields.html.erb +11 -11
  77. data/app/views/bulkrax/importers/_edit_form_buttons.html.erb +23 -23
  78. data/app/views/bulkrax/importers/_edit_item_buttons.html.erb +2 -2
  79. data/app/views/bulkrax/importers/_file_uploader.html.erb +3 -3
  80. data/app/views/bulkrax/importers/_form.html.erb +4 -5
  81. data/app/views/bulkrax/importers/_oai_fields.html.erb +8 -18
  82. data/app/views/bulkrax/importers/_xml_fields.html.erb +13 -13
  83. data/app/views/bulkrax/importers/edit.html.erb +2 -2
  84. data/app/views/bulkrax/importers/index.html.erb +19 -14
  85. data/app/views/bulkrax/importers/new.html.erb +10 -9
  86. data/app/views/bulkrax/importers/show.html.erb +23 -7
  87. data/app/views/bulkrax/importers/upload_corrected_entries.html.erb +6 -6
  88. data/app/views/bulkrax/shared/_bulkrax_errors.html.erb +11 -11
  89. data/app/views/bulkrax/shared/_bulkrax_field_mapping.html.erb +3 -3
  90. data/config/i18n-tasks.yml +195 -0
  91. data/config/locales/bulkrax.de.yml +504 -0
  92. data/config/locales/bulkrax.en.yml +487 -28
  93. data/config/locales/bulkrax.es.yml +504 -0
  94. data/config/locales/bulkrax.fr.yml +504 -0
  95. data/config/locales/bulkrax.it.yml +504 -0
  96. data/config/locales/bulkrax.pt-BR.yml +504 -0
  97. data/config/locales/bulkrax.zh.yml +503 -0
  98. data/config/routes.rb +10 -0
  99. data/lib/bulkrax/data/demo_scenarios.json +2235 -0
  100. data/lib/bulkrax/version.rb +1 -1
  101. data/lib/bulkrax.rb +31 -3
  102. data/lib/tasks/bulkrax_tasks.rake +0 -102
  103. metadata +55 -3
  104. /data/{app/services → lib}/wings/custom_queries/find_by_source_identifier.rb +0 -0
@@ -0,0 +1,504 @@
1
+ ---
2
+ fr:
3
+ bulkrax:
4
+ admin:
5
+ sidebar:
6
+ exporters: Exportateurs
7
+ importers: Importateurs
8
+ cancel: Annuler
9
+ entry:
10
+ labels:
11
+ item_link: Lien vers l'article
12
+ item_link_error: Impossible de récupérer l'élément (%{message})
13
+ item_no_association: Aucun élément associé à cette entrée ou classe inconnue
14
+ item_not_imported: L'article n'a pas encore été importé avec succès.
15
+ parsed_metadata: Métadonnées analysées
16
+ raw_metadata: Métadonnées brutes
17
+ record_link: Lien %{record_type}
18
+ unknown: Inconnu
19
+ exporter:
20
+ labels:
21
+ all: Tous
22
+ collection: Collection
23
+ export_from: Exporter depuis
24
+ export_source: Source d'exportation
25
+ export_type: Type d'exportation
26
+ field_mapping: Cartographie de terrain
27
+ full: Métadonnées et fichiers
28
+ generated_metadata: Inclure les métadonnées générées ?
29
+ importer: Importateur
30
+ include_thumbnails: Inclure les vignettes ?
31
+ limit: Limite
32
+ metadata: Métadonnées uniquement
33
+ name: Nom
34
+ parser_fields: Champs de l'analyseur
35
+ parser_klass: Analyseur syntaxique
36
+ user: Utilisateur
37
+ worktype: Type de travail
38
+ prompts:
39
+ export_from: Veuillez sélectionner une source d'exportation
40
+ export_type: Veuillez sélectionner un type d'exportation
41
+ select_from_list: Sélectionnez dans la liste
42
+ start_typing: Commencez à taper...
43
+ validations:
44
+ errors_prohibited:
45
+ one: 'Une erreur a empêché l''enregistrement de cet exportateur :'
46
+ other: 'Des erreurs %{count} ont empêché l''enregistrement de cet exportateur :'
47
+ headings:
48
+ importers: Importateurs
49
+ upload_corrected_entries: 'Entrées corrigées à télécharger : %{name}'
50
+ importer:
51
+ bagit:
52
+ bags_to_import: 'Sac(s) à importer :'
53
+ file_style:
54
+ cloud: Ajouter un fichier cloud
55
+ server_path: Spécifiez un chemin d'accès sur le serveur
56
+ upload: Téléverser un fichier
57
+ file_upload_hint: Le téléchargement de fichiers et le téléchargement de fichiers Cloud doivent être un fichier Zip contenant un seul sac BagIt, ou un dossier contenant plusieurs sacs BagIt.
58
+ server_path_hint: Le chemin du serveur peut pointer vers un sac BagIt, un dossier contenant des sacs BagIt ou un fichier zip contenant l'un ou l'autre.
59
+ visibility:
60
+ institution: Institution
61
+ private: Privé
62
+ public: Publique
63
+ browse_everything:
64
+ add_cloud_files: Ajouter des fichiers cloud
65
+ csv:
66
+ add_csv_to_import: 'Ajouter un fichier CSV ou ZIP à importer :'
67
+ add_files_hint: Choisissez les fichiers à télécharger. Les noms de fichiers doivent être uniques et figurer dans une colonne nommée « file » du fichier CSV joint.
68
+ add_files_to_import: 'Ajouter des fichiers à importer :'
69
+ file_style:
70
+ existing_entries: Entrées existantes
71
+ server_path: Spécifiez un chemin d'accès sur le serveur
72
+ upload: Téléverser un fichier
73
+ labels:
74
+ default_visibility: Visibilité par défaut
75
+ visibility:
76
+ institution: Institution
77
+ private: Privé
78
+ public: Publique
79
+ edit_form:
80
+ modal_title: Options de mise à jour de l'importateur
81
+ remove_and_rerun_hint: Supprimez tous les fichiers, puis relancez l'importation en partant de zéro. Cela supprimera tous les fichiers et associations, et toutes les modifications effectuées depuis la dernière importation seront perdues.
82
+ update_and_harvest_hint: Mettez à jour les valeurs dans le formulaire d'importation et les éléments qui ont été modifiés à la source.
83
+ update_and_import_hint: Mettez à jour les valeurs dans le formulaire d'importation et exécutez l'importateur pour la première fois.
84
+ update_and_re_harvest_hint: Mettez à jour les valeurs dans le formulaire d'importation et recréez tous les éléments à partir de la source.
85
+ update_and_replace_files_hint: Mettez à jour les valeurs dans le formulaire d'importation et les métadonnées. Supprimez complètement tous les fichiers associés aux œuvres pour cet importateur et recréez-les intégralement.
86
+ update_metadata_and_files_hint: Mettez à jour les valeurs dans le formulaire d'importation ainsi que les métadonnées et les fichiers de toutes les œuvres. Créez de nouvelles versions des fichiers et conservez les anciennes.
87
+ update_metadata_hint: Mettez à jour les valeurs dans le formulaire d'importation et les métadonnées de toutes les œuvres. Ne modifiez aucun fichier.
88
+ update_only_hint: Mettez à jour uniquement les valeurs du formulaire d'importation. N'importez pas les métadonnées ni les fichiers des œuvres ou des collections.
89
+ update_only_no_update_hint: Mettez à jour uniquement les valeurs du formulaire d'importation. Ne modifiez pas les métadonnées ni les fichiers des œuvres ou des collections.
90
+ file_uploader:
91
+ add_files: Ajouter des fichiers
92
+ cancel_upload: Annuler le téléchargement
93
+ dropzone: Déposez les fichiers ici pour les télécharger
94
+ hints:
95
+ default_visibility: Si votre fichier CSV inclut le champ de visibilité, celui-ci remplacera le paramètre par défaut.
96
+ override_rights_statement: Si cette option est cochée, utiliser systématiquement la déclaration de droits sélectionnée. Sinon, utiliser les droits ou la déclaration de droits de l'enregistrement et n'utiliser la valeur fournie que si dc:rights est vide.
97
+ labels:
98
+ admin_set: Ensemble administratif
99
+ entry_id: ID d'entrée
100
+ exporter: Exportateur
101
+ frequency: Fréquence
102
+ identifier: Identifiant
103
+ importer: Importateur
104
+ limit: Limite
105
+ name: Nom
106
+ parser_klass: Analyseur syntaxique
107
+ total_collections: Collections totales
108
+ total_file_sets: Ensembles de fichiers totaux
109
+ total_work_entries: Travaux totaux
110
+ type: Taper
111
+ user: Utilisateur
112
+ oai:
113
+ hints:
114
+ metadata_prefix: Par exemple, oai_dc, dcterms ou oai_qdc
115
+ override_rights_statement: Si cette option est cochée, utiliser systématiquement la déclaration de droits sélectionnée. Sinon, utiliser la valeur de dc:rights de l'enregistrement et uniquement si dc:rights est vide.
116
+ thumbnail_url_html: |
117
+ <p>
118
+ L'URL de la miniature permet la création de modèles et la substitution de base pour toute information identifiée dans l'URL. Par exemple :
119
+ </p>
120
+ <p>
121
+ http://commons.ptsem.edu/?cover=<%= identifier.split(':').last %>&size=L
122
+ </p>
123
+ <p>
124
+ http://commons.ptsem.edu/?cover=<%= record.header.identifier.split(':').last %>&size=L
125
+ </p>
126
+ labels:
127
+ set: Ensemble (source)
128
+ refresh_sets: Ensembles de rafraîchissement
129
+ visibility:
130
+ institution: Institution
131
+ private: Privé
132
+ public: Publique
133
+ upload_corrected_entries:
134
+ click_here: Cliquez ici
135
+ csv_only: Seuls les fichiers CSV sont autorisés.
136
+ instructions_html: Veuillez téléverser <b>uniquement</b> les entrées corrigées pour l'importateur <b>%{name}</b> . Pour exporter les entrées erronées afin de les corriger,
137
+ guided_import:
138
+ breadcrumb: Importation guidée
139
+ flash:
140
+ demo_not_available: Scénarios de démonstration non disponibles
141
+ import_started: L'importation a démarré avec succès.
142
+ js:
143
+ admin_set_prompt: Sélectionnez un ensemble d'administrateurs...
144
+ already_uploaded: 'Les fichiers suivants ont déjà été téléchargés :'
145
+ appears_in_collections: Apparaît dans les collections %{count}
146
+ circular_reference: Référence circulaire détectée
147
+ csv_limit: 'Un seul fichier CSV est autorisé. Les fichiers suivants n''ont pas été ajoutés :'
148
+ demo_data_not_loaded: Les données de démonstration n'ont pas été chargées. Veuillez réessayer de sélectionner un scénario.
149
+ demo_load_failed: Impossible de charger les scénarios de démonstration.
150
+ demo_network_error: Erreur réseau - veuillez vérifier votre connexion
151
+ demo_server_error: Erreur serveur lors du chargement des scénarios de démonstration
152
+ demo_timeout: Délai d'attente dépassé lors du chargement des scénarios de démonstration.
153
+ detected_in_zip: détecté dans le fichier ZIP
154
+ file_upload_error: Erreur lors du chargement du fichier
155
+ files_too_large: Les fichiers sont trop volumineux. Veuillez réduire leur taille et réessayer.
156
+ gauge_import_size: 'Taille de l''importation : %{count} articles'
157
+ gauge_large: Grand
158
+ gauge_large_msg: Les importations volumineuses sont plus longues et plus difficiles à déboguer. Nous vous recommandons vivement de les diviser en lots de %{limit} ou moins.
159
+ gauge_moderate: Modéré
160
+ gauge_moderate_msg: Envisagez de diviser le travail en lots plus petits pour faciliter la résolution des erreurs.
161
+ download_validation_errors_csv: Télécharger le CSV des erreurs
162
+ gauge_optimal: Optimal
163
+ gauge_optimal_msg: Super ! Les importations de petite taille sont plus faciles à valider et à dépanner.
164
+ hierarchy_too_deep: Hiérarchie trop profonde (max. %{max} niveaux)
165
+ import_hierarchy: Hiérarchie d'importation
166
+ import_name_prefix: Importation CSV -
167
+ invalid_file_format: Format de fichier invalide. Veuillez vérifier vos fichiers et réessayer.
168
+ invalid_format: Format de fichier invalide. Seuls les fichiers .csv et .zip sont autorisés.
169
+ max_files: Nombre maximal de fichiers %{count} atteint (1 CSV et 1 ZIP).
170
+ max_files_added: 'Nombre maximal de fichiers autorisés : %{count} (1 fichier CSV et 1 fichier ZIP). Seuls les premiers fichiers %{added} ont été ajoutés.'
171
+ network_error: Erreur réseau - veuillez vérifier votre connexion et réessayer.
172
+ no_extension: pas de prolongation
173
+ not_selected: Non sélectionné
174
+ only_first_files: Seuls les %{count} premiers fichiers ont été téléchargés. Vous pouvez télécharger jusqu'à %{max} fichiers (1 CSV et 1 ZIP).
175
+ only_one_additional: Il ne peut être ajouté qu'un seul fichier supplémentaire. Le premier fichier a déjà été ajouté.
176
+ rejected_files: 'Les fichiers suivants ont été rejetés :'
177
+ remove_file: Supprimer le fichier
178
+ render_error: La validation a été effectuée, mais les résultats n'ont pas pu être affichés. Veuillez réessayer.
179
+ review_admin_set: 'Ensemble d''administrateur :'
180
+ review_first_n_records: premiers %{count} enregistrements
181
+ review_limit: 'Limite:'
182
+ review_name: 'Nom:'
183
+ review_rights: 'Droits:'
184
+ review_skipped: La validation a été ignorée — nombre d'enregistrements indisponible
185
+ review_total: "%{total} au total — %{collections} collections, %{works} œuvres, %{file_sets} ensembles de fichiers"
186
+ review_visibility: 'Visibilité:'
187
+ server_error: Erreur serveur lors de la validation. Veuillez réessayer ou contacter l'assistance.
188
+ shared_badge: commun
189
+ starting: Départ...
190
+ upload_csv_and_zip: Fichiers CSV + téléchargés séparément
191
+ upload_csv_only: Aucun fichier ZIP téléchargé — les fichiers seront trouvés sur le serveur ou vous pouvez ajouter d’autres fichiers.
192
+ upload_single_package: Un seul paquet contenant des fichiers CSV et autres.
193
+ upload_zip_only: Fichier ZIP téléchargé — la validation vérifiera le contenu CSV
194
+ uploaded_file: Fichier téléchargé
195
+ uploaded_files: Fichiers téléchargés (%{count})
196
+ validate_path: Valider les fichiers à partir du chemin d'importation
197
+ validate_upload: Valider les fichiers téléchargés
198
+ validated: Validé
199
+ validating: Validation en cours...
200
+ validation_failed: La validation a échoué. Veuillez réessayer.
201
+ validation_timeout: La validation a expiré. Vos fichiers sont peut-être trop volumineux. Veuillez essayer avec des fichiers plus petits ou contacter l'assistance.
202
+ visibility_institution: Institution
203
+ visibility_private: Privé
204
+ visibility_public: Publique
205
+ zip_limit: 'Un seul fichier ZIP est autorisé. Les fichiers suivants n''ont pas été ajoutés :'
206
+ nav:
207
+ back: Dos
208
+ clear_start_over: Effacer et recommencer
209
+ next_step: Suivant
210
+ skip_validation: Ignorer la validation
211
+ start_import: Démarrer l'importation
212
+ feedback_link: Signaler un bug / Commentaires
213
+ page_subtitle: Importer des collections, des œuvres et des fichiers via CSV
214
+ page_title: Lancer une importation en masse
215
+ step1:
216
+ add_another: Ajouter un autre fichier
217
+ add_another_hint_html: Déposez un fichier CSV ou ZIP ici, ou cliquez pour <strong class="text-primary">parcourir</strong>
218
+ admin_set: Ensemble d'administrateur
219
+ admin_set_hint: Des ensembles d'administrateurs sont nécessaires pour les importations et les téléchargements de modèles CSV.
220
+ admin_set_prompt: Sélectionnez un ensemble d'administrateurs...
221
+ collections: Collections
222
+ description_html: Téléversez un fichier CSV de métadonnées et un fichier ZIP contenant vos fichiers (2 téléversements maximum), ou un seul fichier ZIP contenant les deux — si vous utilisez un seul fichier ZIP, le fichier CSV de métadonnées doit être le seul fichier <code>.csv</code> au niveau supérieur.<br /> Vous pouvez également utiliser un chemin d'accès à un fichier sur votre serveur.
223
+ download_template: Téléchargez un modèle CSV pour votre locataire
224
+ dropzone_csv_hint: ".csv — métadonnées uniquement"
225
+ dropzone_hint: Téléverser des fichiers CSV et ZIP (2 téléversements maximum)
226
+ dropzone_main_html: Glissez-déposez vos fichiers ici, ou <strong class="text-primary">parcourez-les.</strong>
227
+ dropzone_zip_hint: ".zip — fichiers ou métadonnées CSV + fichiers"
228
+ file_path_hint: Fichier CSV ou ZIP
229
+ file_path_label: Saisissez le chemin d'accès aux fichiers sur votre serveur
230
+ file_path_placeholder: "/chemin/vers/import.csv"
231
+ file_sets: Ensembles de fichiers
232
+ import_path: Chemin d'importation
233
+ import_summary: Résumé des importations
234
+ title: Importez vos fichiers
235
+ upload_files: Téléverser des fichiers
236
+ file_input_label: Téléverser un fichier CSV ou ZIP
237
+ validate_path: Valider les fichiers à partir du chemin d'importation
238
+ validate_upload: Valider les fichiers téléchargés
239
+ warning_ack: Je prends acte de ces avertissements ou erreurs et souhaite procéder à l'importation.
240
+ works: Travaux
241
+ step2:
242
+ default_rights: Déclaration relative aux droits par défaut
243
+ default_visibility: Visibilité par défaut
244
+ description: Définissez les paramètres qui s'appliquent à tous les enregistrements de cette importation.
245
+ import_name: Nom d'importation
246
+ import_name_prefix: Importation CSV -
247
+ optional_settings: Paramètres optionnels
248
+ rights_none: Aucun
249
+ rights_required_alert_html: Votre fichier CSV ne contient pas de colonne <strong>« droits_statement »</strong> . Sélectionnez ci-dessous une déclaration de droits par défaut à appliquer à tous les enregistrements.
250
+ rights_skipped_hint_html: La validation a été ignorée. Si votre fichier CSV ne contient pas de colonne <strong>rights_statement</strong> , vous pouvez sélectionner une déclaration de droits par défaut ci-dessous à appliquer à tous les enregistrements.
251
+ test_limit: Test des enregistrements limités
252
+ test_limit_placeholder: Importez uniquement les N premiers enregistrements pour les tests.
253
+ title: Configurer les paramètres d'importation
254
+ visibility_hint: S'applique aux enregistrements qui ne spécifient pas de visibilité.
255
+ visibility_institution: Institution
256
+ visibility_institution_desc: Utilisateurs connectés
257
+ visibility_private: Privé
258
+ visibility_private_desc: Administrateurs uniquement
259
+ visibility_public: Publique
260
+ visibility_public_desc: Visible de tous
261
+ step3:
262
+ background_note: Ce processus s'exécutera en arrière-plan. Vous pouvez suivre sa progression dans la file d'attente d'importation.
263
+ description: Veuillez confirmer les détails de votre importation avant de commencer.
264
+ large_import_message_html: Vous allez importer <span class="total-items-count">%{count}</span> articles. Les importations volumineuses sont plus longues et plus difficiles à dépanner. Pensez à les fractionner en lots plus petits.
265
+ large_import_warning: Avertissement concernant les importations importantes
266
+ ready_to_import: Prêt à importer
267
+ section_files: Fichiers
268
+ section_records: Archives
269
+ section_settings: Paramètres
270
+ section_warnings: Avertissements
271
+ title: Vérifier et lancer l'importation
272
+ steps:
273
+ configure_settings: Configurer les paramètres
274
+ review_start: Révision et démarrage
275
+ upload_validate: Télécharger et valider
276
+ stepper_response_formatter:
277
+ row_errors_issue:
278
+ description: "Les problèmes suivants existent avec les données de votre CSV :"
279
+ row_label: "Ligne %{row} · %{column}"
280
+ title_errors: Erreurs de validation de ligne
281
+ title_warnings: Avertissements de validation de ligne
282
+ success:
283
+ message: Votre importation est en cours de traitement en arrière-plan. Vous serez averti(e) lorsqu'elle sera terminée.
284
+ start_another: Lancer une autre importation
285
+ title: Importation commencée
286
+ view_queue: Afficher la file d'importation
287
+ validation:
288
+ columns_detected: "%{columns} colonnes détectées · %{records} enregistrements trouvés"
289
+ controlled_vocabulary_validator:
290
+ errors:
291
+ message: "« %{value} » n'est pas un terme reconnu pour « %{field} »."
292
+ suggestion: "Veuillez vérifier le vocabulaire contrôlé pour les termes valides."
293
+ critical_errors: Les erreurs critiques doivent être corrigées avant l'importation.
294
+ did_you_mean: Vouliez-vous dire « %{suggestion} » ?
295
+ duplicate_identifier_validator:
296
+ errors:
297
+ message: "%{field} en double « %{value} » — apparaît également à la ligne %{original_row}."
298
+ suggestion: "Chaque %{field} doit être unique dans le CSV."
299
+ existing_source_identifier_validator:
300
+ warnings:
301
+ message: "« %{value} » correspond à un enregistrement existant dans le dépôt — cette ligne le mettra à jour."
302
+ suggestion: "Si vous ne souhaitiez pas mettre à jour un enregistrement existant, modifiez la valeur de %{field}."
303
+ failed: Échec de la validation
304
+ file_path_not_exist: Le chemin d'accès au fichier n'existe pas.
305
+ file_references_title: Références de fichiers
306
+ files_found_in_zip: "%{found} fichiers sur %{total} trouvés dans le fichier ZIP."
307
+ files_missing_from_zip: "%{count} %{files_word} référencé dans votre fichier CSV mais absent du fichier ZIP :"
308
+ files_referenced: "%{count} fichiers référencés dans le fichier CSV sont introuvables lors de l'importation."
309
+ missing_from_zip: manquant dans le fichier ZIP
310
+ missing_source_identifier_validator:
311
+ errors:
312
+ message: "Il manque une valeur pour '%{field}' dans cette ligne."
313
+ suggestion: "Ajoutez une valeur '%{field}' à cette ligne ou configurez Bulkrax pour générer automatiquement des identifiants source."
314
+ missing_required_desc: 'Les colonnes suivantes doivent être ajoutées à votre fichier CSV :'
315
+ missing_required_hint: Ajoutez cette colonne à votre fichier CSV.
316
+ missing_required_title: Champs obligatoires manquants
317
+ missing_rights_desc: Votre fichier CSV ne contient pas de colonne « droits_statement ». Vous pouvez l'ajouter ou sélectionner une déclaration de droits par défaut à l'étape suivante.
318
+ multiple_csv_same_dir: Plusieurs fichiers CSV trouvés dans le même répertoire à l'intérieur du fichier ZIP
319
+ multiple_csv_same_level: Plusieurs fichiers CSV trouvés au même niveau dans le fichier ZIP
320
+ no_csv_in_zip: Aucun fichier CSV trouvé dans le fichier ZIP
321
+ no_csv_uploaded: Aucun fichier de métadonnées CSV n'a été téléchargé.
322
+ no_files_uploaded: Aucun fichier téléchargé
323
+ no_zip_desc: Aucun fichier ZIP n'a été téléchargé. Assurez-vous que les fichiers sont accessibles sur le serveur ou téléchargez un fichier ZIP.
324
+ parent_reference_validator:
325
+ errors:
326
+ message: "Le parent référencé « %{value} » n'existe pas en tant que %{field} dans ce CSV."
327
+ suggestion: "Vérifiez les fautes de frappe ou ajoutez l'enregistrement parent."
328
+ passed: Validation réussie
329
+ passed_warnings: Validation réussie avec avertissements
330
+ recognized_fields: 'Champs reconnus : %{fields}'
331
+ default_work_type_validator:
332
+ warnings:
333
+ message: "Aucun modèle spécifié — cette ligne sera importée en tant que '%{default_work_type}'."
334
+ suggestion: "Spécifiez une valeur de modèle dans la colonne 'model' pour cette ligne si vous souhaitez utiliser un type de travail différent."
335
+ default_work_type_notice:
336
+ message_column_missing: "Aucune colonne de modèle trouvée — toutes les lignes seront importées en tant que '%{default_work_type}'."
337
+ message_column_empty: "Aucun modèle fourni — toutes les lignes seront importées en tant que '%{default_work_type}'."
338
+ suggestion_column_empty: "Ajoutez des valeurs de modèle à la colonne 'model' de votre CSV si vous souhaitez utiliser un type de travail différent pour certaines lignes."
339
+ suggestion_column_missing: "Ajoutez une colonne 'model' à votre CSV si vous souhaitez utiliser un type de travail différent pour certaines lignes."
340
+ required_field_validator:
341
+ errors:
342
+ message: "Le champ « %{field} » est obligatoire mais il est vide pour cette ligne."
343
+ suggestion: "Ajoutez une valeur pour « %{field} »."
344
+ unable_to_process: Impossible de traiter les fichiers pour validation
345
+ notices_desc: 'Ces avis peuvent affecter la façon dont votre CSV est importé :'
346
+ notices_title: Avis d'importation
347
+ unrecognized_desc: 'Ces colonnes seront ignorées lors de l''importation :'
348
+ unrecognized_title: Champs non reconnus
349
+ validations:
350
+ errors_prohibited:
351
+ one: 'Une erreur a empêché l''enregistrement de cet importateur :'
352
+ other: 'Des erreurs %{count} ont empêché l''enregistrement de cet importateur :'
353
+ xml:
354
+ file_style:
355
+ cloud: Ajouter un fichier cloud
356
+ server_path: Spécifiez un chemin d'accès sur le serveur
357
+ upload: Téléverser un fichier
358
+ hints:
359
+ file_upload_hint: Le téléchargement de fichiers et le téléchargement de fichiers Cloud DOIVENT se faire soit par un seul fichier XML (pour l'importation des métadonnées uniquement), soit par un fichier Zip contenant les fichiers XML et les fichiers de données, chacun dans un dossier séparé.
360
+ override_rights_statement: Si cette option est cochée, utiliser systématiquement la déclaration de droits sélectionnée. Sinon, utiliser les droits ou la déclaration de droits de l'enregistrement et n'utiliser la valeur fournie que si dc:rights est vide.
361
+ record_element: Indiquez le nom de l'élément XML à utiliser pour identifier l'enregistrement ou les enregistrements, par exemple ROW - chaque enregistrement du XML joint est enveloppé dans une balise <ROW>.
362
+ server_path_hint: Le chemin du serveur peut pointer vers un dossier contenant des fichiers XML et des fichiers de données à importer, ou directement vers le fichier XML lui-même.
363
+ import_type:
364
+ multiple: Plusieurs œuvres par fichier de métadonnées
365
+ single: Une seule œuvre par fichier de métadonnées
366
+ labels:
367
+ visibility: Visibilité
368
+ xml_and_files: 'Fichiers XML et fichiers à importer :'
369
+ visibility:
370
+ institution: Institution
371
+ private: Privé
372
+ public: Publique
373
+ shared:
374
+ errors:
375
+ error: 'Erreur:'
376
+ error_trace: 'Trace d''erreur :'
377
+ errored_at: 'Erreur survenue à :'
378
+ errors_heading: 'Erreurs :'
379
+ full: Complet
380
+ not_yet_exported: L'article n'a pas encore été exporté avec succès
381
+ not_yet_imported: L'article n'a pas encore été importé avec succès.
382
+ raw: Brut
383
+ succeeded_at: 'Réussi à :'
384
+ field_mapping:
385
+ full: Complet
386
+ heading: 'Cartographie des champs :'
387
+ raw: Brut
388
+ table_header:
389
+ labels:
390
+ actions: Actes
391
+ date_exported: Date d'exportation
392
+ downloadable_files: Fichiers téléchargeables
393
+ entries_deleted_upstream: Entrées supprimées en amont
394
+ entries_enqueued: Entrées en file d'attente
395
+ entries_failed: Les tentatives ont échoué
396
+ entries_processed: Entrées traitées
397
+ entry_id: ID d'entrée
398
+ errors: Erreurs
399
+ identifier: Identifiant
400
+ last_run: Dernière course
401
+ name: Nom
402
+ next_run: Prochaine course
403
+ status: Statut
404
+ total_collection_entries: Nombre total d'entrées de la collection
405
+ total_file_set_entries: Nombre total d'entrées du fichier
406
+ total_work_entries: Nombre total d'entrées de travail
407
+ type: Taper
408
+ updated_at: Mise à jour le
409
+ helpers:
410
+ action:
411
+ exporter:
412
+ back: Dos
413
+ create: Créer
414
+ create_and_export: Créer et exporter
415
+ download: Télécharger
416
+ edit: Modifier
417
+ new: Nouveau
418
+ update: Exportateur de mises à jour
419
+ update_and_re_export: Mettre à jour et réexporter tous les éléments
420
+ importer:
421
+ add_file: Ajouter un fichier...
422
+ back: Dos
423
+ build: Construire
424
+ continue: Continuer
425
+ create: Créer
426
+ create_and_import: Créer et importer
427
+ create_and_validate: Créer et valider
428
+ discard: Jeter
429
+ discard_confirm: Es-tu sûr?
430
+ download_original_file: Télécharger le fichier original
431
+ download_original_files: Télécharger les fichiers originaux
432
+ edit: Modifier
433
+ edit_importer: Modifier l'importateur
434
+ export_errored_entries: Entrées d'exportation erronées
435
+ generate_csv_template: Générer un modèle d'importation CSV
436
+ import_corrected_works: Importer des œuvres corrigées
437
+ new: Importation avancée
438
+ guided_import_new: Importation guidée
439
+ remove_and_build: Supprimer puis reconstruire
440
+ remove_and_rerun: Supprimer et relancer
441
+ remove_and_rerun_confirm: Êtes-vous sûr ? Cette opération supprimera toutes les œuvres ainsi que tous les fichiers et relations associés avant d’être réexécutée.
442
+ update: Importateur de mises à jour
443
+ update_and_harvest_updated: Mise à jour et récolte des objets mis à jour
444
+ update_and_import: Mise à jour et importation
445
+ update_and_re_harvest: Mettre à jour et récolter à nouveau tous les éléments
446
+ update_and_replace_files: Mise à jour et remplacement des fichiers
447
+ update_and_replace_files_confirm: Êtes-vous sûr ? Cette opération supprimera tous les fichiers avant de les ajouter à l'importation.
448
+ update_metadata: Mettre à jour les métadonnées
449
+ update_metadata_and_files: Mise à jour des métadonnées et des fichiers
450
+ upload_corrected_entries: Téléverser les entrées corrigées
451
+ simple_form:
452
+ hints:
453
+ defaults:
454
+ default_visibility: Si votre fichier CSV inclut le champ de visibilité, celui-ci remplacera le paramètre par défaut.
455
+ metadata_prefix: Par exemple, oai_dc, dcterms ou oai_qdc
456
+ override_rights_statement: Si cette option est cochée, utiliser systématiquement la déclaration de droits sélectionnée. Sinon, utiliser les droits ou la déclaration de droits de l'enregistrement et n'utiliser la valeur fournie que si dc:rights est vide.
457
+ record_element: Indiquez le nom de l'élément XML à utiliser pour identifier l'enregistrement ou les enregistrements, par exemple ROW - chaque enregistrement du XML joint est enveloppé dans une balise <ROW>.
458
+ exporter:
459
+ generated_metadata?: Ces champs exportés ne peuvent actuellement pas être importés.
460
+ include_thumbnails?: Ces champs exportés ne peuvent actuellement pas être importés.
461
+ limit: Saisissez un nombre pour n'afficher qu'un sous-ensemble d'enregistrements. Laissez ce champ vide ou saisissez 0 pour afficher tous les enregistrements.
462
+ name: Un nom permettant d'identifier cet importateur
463
+ importer:
464
+ admin_set_id: Sélectionnez l'ensemble d'administration dont les stratégies (flux de travail, contrôles d'accès, etc.) doivent s'appliquer à ces importations. En cas de doute, sélectionnez l'ensemble d'administration par défaut.
465
+ frequency: La fréquence d'exécution de cet importateur
466
+ limit: Saisissez un nombre pour n'afficher qu'un sous-ensemble d'enregistrements. Laissez ce champ vide ou saisissez 0 pour afficher tous les enregistrements.
467
+ name: Un nom permettant d'identifier cet importateur
468
+ parser_fields: Les champs spécifiques à chaque analyseur ne sont disponibles que lorsqu'un analyseur est sélectionné.
469
+ labels:
470
+ defaults:
471
+ base_url: URL de base
472
+ file_style: Style de fichier
473
+ import_file_path: Chemin d'accès au fichier d'importation
474
+ import_type: Type d'importation
475
+ metadata_format: Format des métadonnées
476
+ metadata_prefix: Préfixe des métadonnées
477
+ override_rights_statement: Déclaration relative aux droits de priorité
478
+ record_element: Élément d'enregistrement
479
+ rights_statement: Déclaration relative aux droits
480
+ set: Ensemble (source)
481
+ thumbnail_url: URL de la miniature
482
+ visibility: Visibilité
483
+ exporter:
484
+ date_filter: Filtrer par date
485
+ export_from: Exporter depuis
486
+ export_source_collection: Collection
487
+ export_source_importer: Importateur
488
+ export_source_worktype: Type de travail
489
+ export_type: Type d'exportation
490
+ finish_date: Date de fin
491
+ generated_metadata?: Inclure les métadonnées générées ?
492
+ include_thumbnails?: Inclure les vignettes ?
493
+ limit: Limite
494
+ name: Nom
495
+ parser_klass: Format d'exportation
496
+ start_date: Date de début
497
+ work_visibility: Visibilité
498
+ workflow_status: Statut
499
+ importer:
500
+ admin_set_id: Ensemble administratif
501
+ frequency: Fréquence
502
+ limit: Limite
503
+ name: Nom
504
+ parser_klass: Analyseur syntaxique