From 572e1dca8e454594203ad51f8b852c53bd2387ea Mon Sep 17 00:00:00 2001 From: Paul Chavard Date: Thu, 21 Apr 2022 10:28:23 +0200 Subject: [PATCH 1/3] fix(a11y): html lang should reflect locale fix #7150 --- app/helpers/application_helper.rb | 4 ++++ app/views/layouts/application.html.haml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c1c6999a6..39f04b140 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,6 +1,10 @@ module ApplicationHelper include SanitizeUrl + def html_lang + I18n.locale.to_s + end + def sanitize_url(url) if !url.nil? super(url, schemes: ['http', 'https'], replace_evil_with: root_url) diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 7aee764b5..52f4934b4 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -1,5 +1,5 @@ !!! 5 -%html{ lang: "fr", class: yield(:root_class) } +%html{ lang: html_lang, class: yield(:root_class) } %head %meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" } %meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" } From 95bdc4a22ab4a40547b718aa6cd3930971d4df2a Mon Sep 17 00:00:00 2001 From: Kara Diaby Date: Thu, 21 Apr 2022 10:20:14 +0200 Subject: [PATCH 2/3] layout --- .../groupe_instructeurs/_edit.html.haml | 51 +++++++++++-------- .../groupe_instructeurs/_routing.html.haml | 3 +- .../groupe_instructeurs/index.html.haml | 4 +- .../reaffecter_dossiers.html.haml | 1 - .../procedures/email_notifications.html.haml | 49 +++++++++--------- .../procedures/email_usagers.html.haml | 6 ++- .../instructeurs/procedures/stats.html.haml | 2 +- app/views/layouts/_header.haml | 2 +- .../help/dropdown_items/_email_item.html.haml | 6 ++- .../help/dropdown_items/_faq_item.html.haml | 7 ++- 10 files changed, 73 insertions(+), 58 deletions(-) diff --git a/app/views/administrateurs/groupe_instructeurs/_edit.html.haml b/app/views/administrateurs/groupe_instructeurs/_edit.html.haml index 41c2fbfa3..97e092ea0 100644 --- a/app/views/administrateurs/groupe_instructeurs/_edit.html.haml +++ b/app/views/administrateurs/groupe_instructeurs/_edit.html.haml @@ -5,37 +5,44 @@ html: { class: 'form' } do |f| = f.label :routing_criteria_name do - Libellé du routage - %p.notice Ce texte apparaitra sur le formulaire usager comme le libellé d’une liste - = f.text_field :routing_criteria_name, placeholder: 'ex. Votre ville', required: true - = f.submit 'Renommer', class: 'button primary send' + = t('.routing.title') + %p.notice + = t('.routing.notice') + = f.text_field :routing_criteria_name, placeholder: t('.add_a_group.placeholder'), required: true + = f.submit t('.button.rename'), class: 'button primary send' .card - .card-title Gestion des Groupes + .card-title + = t('.group_management.title') = form_for :groupe_instructeur, html: { class: 'form' } do |f| = f.label :label do - Ajouter un groupe - %p.notice Ce groupe sera un choix de la liste « #{procedure.routing_criteria_name} » . - = f.text_field :label, placeholder: 'ex. Ville de Bordeaux', required: true - = f.submit 'Ajouter le groupe', class: "button primary send" + = t('.add_a_group.title') + %p.notice + = t('.add_a_group.notice', routing_criteria_name: procedure.routing_criteria_name) + = f.text_field :label, placeholder: t('.add_a_group.placeholder'), required: true + = f.submit t('.button.add_group'), class: "button primary send" - csv_max_size = Administrateurs::GroupeInstructeursController::CSV_MAX_SIZE - if procedure.publiee? = form_tag import_admin_procedure_groupe_instructeurs_path(procedure), method: :post, multipart: true, class: "mt-4 form" do - = label_tag "Importer par fichier CSV" - %p.notice Le fichier csv doit comporter 2 colonnes (Groupe, Email) et être séparé par des virgules. L'import n'écrase pas les groupes et les instructeurs existants. - %p.notice Le poids du fichier doit être inférieur à #{number_to_human_size(csv_max_size)} - %p.mt-2.mb-2= link_to "Télécharger l'exemple de fichier CSV", "/csv/#{I18n.locale}/import-groupe-test.csv" + = label_tag t('.csv_import.title') + %p.notice + = t('.csv_import.notice_1') + %p.notice + = t('.csv_import.notice_2', csv_max_size: number_to_human_size(csv_max_size)) + %p.mt-2.mb-2= link_to t('.csv_import.download_exemple'), "/csv/#{I18n.locale}/import-groupe-test.csv" = file_field_tag :group_csv_file, required: true, accept: 'text/csv', size: "1" - = submit_tag "Importer le fichier", class: 'button primary send', data: { disable_with: "Envoi..." } + = submit_tag t('.csv_import.import_file'), class: 'button primary send', data: { disable_with: "Envoi..." } - else - %p.mt-4.form.bold.mb-2.text-lg Importer par fichier CSV - %p.notice L’import d’instructeurs par fichier CSV est disponible une fois la démarche publiée - + %p.mt-4.form.bold.mb-2.text-lg + = t('.csv_import.title') + %p.notice + = t('.csv_import.import_file_procedure_not_published') %table.table.mt-2 %thead %tr + // i18n-tasks-use t('.existing_groupe') %th{ colspan: 2 }= t(".existing_groupe", count: groupes_instructeurs.total_count) %th - if groupe_instructeurs_count > 1 @@ -44,18 +51,18 @@ - groupes_instructeurs.each do |group| %tr %td= group.label - %td.actions= link_to "voir", admin_procedure_groupe_instructeur_path(procedure, group) + %td.actions= link_to t('.view'), admin_procedure_groupe_instructeur_path(procedure, group) - if groupes_instructeurs.many? - if group.dossiers.empty? %td.actions - = link_to admin_procedure_groupe_instructeur_path(procedure, group), { method: :delete, class: 'button', data: { confirm: "Êtes-vous sûr de vouloir supprimer le groupe « #{group.label} » ?" }} do + = link_to admin_procedure_groupe_instructeur_path(procedure, group), { method: :delete, class: 'button', data: { confirm: t('.group_management.delete_confirmation', group_name: group.label) }} do %span.icon.delete - supprimer ce groupe + = t('.group_management.delete') - else %td.actions - = link_to reaffecter_dossiers_admin_procedure_groupe_instructeur_path(procedure, group), class: 'button', title:'Réaffecter les dossiers à un autre groupe afin de pouvoir le supprimer' do + = link_to reaffecter_dossiers_admin_procedure_groupe_instructeur_path(procedure, group), class: 'button', title: t('.group_management.move_folders_confirmation') do %span.icon.follow - déplacer les dossiers + = t('.group_management.move_folders') = paginate groupes_instructeurs diff --git a/app/views/administrateurs/groupe_instructeurs/_routing.html.haml b/app/views/administrateurs/groupe_instructeurs/_routing.html.haml index bea8c4c2e..02f5ed9aa 100644 --- a/app/views/administrateurs/groupe_instructeurs/_routing.html.haml +++ b/app/views/administrateurs/groupe_instructeurs/_routing.html.haml @@ -1,5 +1,6 @@ .card - .card-title Routage + .card-title + = t('.title') - if !procedure.routee? %p.notice= t('.notice_html') diff --git a/app/views/administrateurs/groupe_instructeurs/index.html.haml b/app/views/administrateurs/groupe_instructeurs/index.html.haml index bdb4ff030..80cdf9a22 100644 --- a/app/views/administrateurs/groupe_instructeurs/index.html.haml +++ b/app/views/administrateurs/groupe_instructeurs/index.html.haml @@ -1,8 +1,8 @@ - if @procedure.routee? = render partial: 'administrateurs/breadcrumbs', - locals: { steps: [link_to('Démarches', admin_procedures_path), + locals: { steps: [link_to(t('.procedures'), admin_procedures_path), link_to(@procedure.libelle, admin_procedure_path(@procedure)), - 'Groupes d’instructeurs'] } + t('.instructors_group')] } - else = render partial: 'administrateurs/breadcrumbs', locals: { steps: [link_to('Démarches', admin_procedures_path), diff --git a/app/views/administrateurs/groupe_instructeurs/reaffecter_dossiers.html.haml b/app/views/administrateurs/groupe_instructeurs/reaffecter_dossiers.html.haml index e66f0c12f..3797c5ead 100644 --- a/app/views/administrateurs/groupe_instructeurs/reaffecter_dossiers.html.haml +++ b/app/views/administrateurs/groupe_instructeurs/reaffecter_dossiers.html.haml @@ -10,7 +10,6 @@ .card-title Réaffectation des dossiers du groupe « #{@groupe_instructeur.label} » %p Le groupe « #{@groupe_instructeur.label} » contient des dossiers. Afin de procéder à sa suppression, vous devez réaffecter ses dossiers à un autre groupe instructeur. - %table.table.mt-2 %thead %tr diff --git a/app/views/instructeurs/procedures/email_notifications.html.haml b/app/views/instructeurs/procedures/email_notifications.html.haml index 7b5335845..eda53e02d 100644 --- a/app/views/instructeurs/procedures/email_notifications.html.haml +++ b/app/views/instructeurs/procedures/email_notifications.html.haml @@ -5,74 +5,75 @@ 'Notifications'] } .container - %h1 Notifications par email + %h1 + = t('.title') = form_for @assign_to, url: update_email_notifications_instructeur_procedure_path(@procedure), html: { class: 'form' } do |form| .explication - Configurez sur cette page les notifications que vous souhaitez recevoir par email pour cette démarche. + = t('.subtitle') - = form.label :email_notification, "Recevoir une notification à chaque dossier déposé" + = form.label :email_notification, t('.for_each_file_submitted.title') %p.notice - Cet email vous signale le dépôt d’un nouveau dossier. + = t('.for_each_file_submitted.notice_1') %p.notice - Il est envoyé à chaque fois qu'un usager dépose un dossier. + = t('.for_each_file_submitted.notice_2') .radios %label = form.radio_button :instant_email_dossier_notifications_enabled, true - Oui + = t('.utils.positive') %label = form.radio_button :instant_email_dossier_notifications_enabled, false - Non + = t('.utils.negative') - = form.label :email_notification, "Recevoir une notification à chaque message déposé" + = form.label :email_notification, t('.for_each_message_submitted.title') %p.notice - Cet email vous signale le dépôt d’un nouveau message sur vos dossiers suivis. + = t('.for_each_message_submitted.notice_1') %p.notice - Il est envoyé à chaque fois qu'un usager dépose un message. + = t('.for_each_message_submitted.notice_2') .radios %label = form.radio_button :instant_email_message_notifications_enabled, true - Oui + = t('.utils.positive') %label = form.radio_button :instant_email_message_notifications_enabled, false - Non + = t('.utils.negative') - = form.label :email_notification, "Recevoir une notification quotidienne" + = form.label :email_notification, t('.daily_notifications.title') %p.notice - Cet email vous signale le dépôt de nouveaux dossiers sur cette démarche, ou des changements sur vos dossiers suivis. + = t('.daily_notifications.notice_1') %p.notice - Il est envoyé une fois par jour, du lundi au samedi, vers 10 h du matin. + = t('.daily_notifications.notice_2') .radios %label = form.radio_button :daily_email_notifications_enabled, true - Oui + = t('.utils.positive') %label = form.radio_button :daily_email_notifications_enabled, false - Non + = t('.utils.negative') - = form.label :email_notification, "Recevoir un récapitulatif hebdomadaire" + = form.label :email_notification, t('.hebdo_recap.title') %p.notice - Cet email récapitule l’activité de la semaine sur l’ensemble de vos démarches. + = t('.hebdo_recap.notice_1') %p.notice - Il est envoyé chaque semaine le lundi matin. + = t('.hebdo_recap.notice_2') .radios %label = form.radio_button :weekly_email_notifications_enabled, true - Oui + = t('.utils.positive') %label = form.radio_button :weekly_email_notifications_enabled, false - Non + = t('.utils.negative') .send-wrapper - = link_to "Revenir à la procédure", instructeur_procedure_path(@procedure), class: 'button mr-1' - = form.submit "Enregistrer", class: "button primary" + = link_to t('.buttons.back_to_procedure'), instructeur_procedure_path(@procedure), class: 'button mr-1' + = form.submit t('.buttons.save'), class: "button primary" diff --git a/app/views/instructeurs/procedures/email_usagers.html.haml b/app/views/instructeurs/procedures/email_usagers.html.haml index 1c6002e36..5f0a5be1f 100644 --- a/app/views/instructeurs/procedures/email_usagers.html.haml +++ b/app/views/instructeurs/procedures/email_usagers.html.haml @@ -2,10 +2,12 @@ = render partial: 'administrateurs/breadcrumbs', locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)), - 'Contacter les usagers (brouillon)'] } + t('.contact_users')] } .messagerie.container - if @email_usagers_dossiers.present? - %p.notice.mb-2.mt-4 Vous allez envoyer un message à #{pluralize(@dossiers_count, 'personne')} dont les dossiers sont en brouillon, dans les groupes instructeurs : #{@groupe_instructeurs.join(', ')}. + %p.notice.mb-2.mt-4 + = t('.notice', dossiers_count: pluralize(@dossiers_count, 'personne'), groupe_instructeurs: @groupe_instructeurs.join(', ')) + = render partial: 'shared/dossiers/messages/form', locals: { commentaire: @commentaire, form_url: create_multiple_commentaire_instructeur_procedure_path(@procedure), disable_piece_jointe: true } - if @bulk_messages.present? diff --git a/app/views/instructeurs/procedures/stats.html.haml b/app/views/instructeurs/procedures/stats.html.haml index 606869b90..1d588b2fd 100644 --- a/app/views/instructeurs/procedures/stats.html.haml +++ b/app/views/instructeurs/procedures/stats.html.haml @@ -3,6 +3,6 @@ = render partial: 'administrateurs/breadcrumbs', locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)), - 'Statistiques'] } + t('.title')] } = render partial: 'shared/procedures/stats', locals: { title: title } diff --git a/app/views/layouts/_header.haml b/app/views/layouts/_header.haml index 06742d50e..67209245f 100644 --- a/app/views/layouts/_header.haml +++ b/app/views/layouts/_header.haml @@ -39,7 +39,7 @@ - if nav_bar_profile == :user %ul.header-tabs %li - = active_link_to "Dossiers", dossiers_path, active: :inclusive, class: 'tab-link' + = active_link_to t('.files'), dossiers_path, active: :inclusive, class: 'tab-link' - if current_user.expert && current_expert.avis_summary[:total] > 0 = render partial: 'layouts/header/avis_tab', locals: { current_expert: current_expert } diff --git a/app/views/shared/help/dropdown_items/_email_item.html.haml b/app/views/shared/help/dropdown_items/_email_item.html.haml index d409ab875..834fb5924 100644 --- a/app/views/shared/help/dropdown_items/_email_item.html.haml +++ b/app/views/shared/help/dropdown_items/_email_item.html.haml @@ -2,5 +2,7 @@ = mail_to CONTACT_EMAIL do %span.icon.mail .dropdown-description - %span.help-dropdown-title Contact technique - %p Envoyez nous un message à #{CONTACT_EMAIL}. + %span.help-dropdown-title + = t('help_dropdown.technical_contact_title') + %p + = t('help_dropdown.technical_contact_description', contact_email: CONTACT_EMAIL) diff --git a/app/views/shared/help/dropdown_items/_faq_item.html.haml b/app/views/shared/help/dropdown_items/_faq_item.html.haml index fd48bb56d..958d004b1 100644 --- a/app/views/shared/help/dropdown_items/_faq_item.html.haml +++ b/app/views/shared/help/dropdown_items/_faq_item.html.haml @@ -2,5 +2,8 @@ = link_to FAQ_URL, target: "_blank", rel: "noopener" do %span.icon.help .dropdown-description - %span.help-dropdown-title Un problème avec le site ? - %p Trouvez votre réponse dans l’aide en ligne. + %span.help-dropdown-title + = t('help_dropdown.problem_title') + %p + = t('help_dropdown.problem_description') + From 1ba8d24efc6e77166158541ffe0a9f25de573f6a Mon Sep 17 00:00:00 2001 From: Kara Diaby Date: Thu, 21 Apr 2022 10:20:22 +0200 Subject: [PATCH 3/3] locales --- config/locales/en.yml | 5 ++ config/locales/fr.yml | 6 +- .../models/procedure_presentation/en.yml | 2 +- .../groupe_instructeurs/en.yml | 67 +++++++++++++++++++ .../groupe_instructeurs/fr.yml | 28 ++++++++ .../procedures/email_notifications/en.yml | 30 +++++++++ .../procedures/email_notifications/fr.yml | 28 ++++++++ .../views/instructeurs/procedures/en.yml | 5 ++ .../views/instructeurs/procedures/fr.yml | 5 ++ .../views/layouts/_account_dropdown.en.yml | 2 + .../views/layouts/_account_dropdown.fr.yml | 2 + 11 files changed, 178 insertions(+), 2 deletions(-) create mode 100644 config/locales/views/administrateurs/groupe_instructeurs/en.yml create mode 100644 config/locales/views/instructeurs/procedures/email_notifications/en.yml create mode 100644 config/locales/views/instructeurs/procedures/email_notifications/fr.yml diff --git a/config/locales/en.yml b/config/locales/en.yml index c9ac66554..b12a43ed0 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -34,6 +34,11 @@ en: custom_message: 'If you are a human, ignore this field' help: 'Help' + help_dropdown: + problem_title: A problem with the website ? + problem_description: Find your answer in the online help. + technical_contact_title: Technical contact + technical_contact_description: Send us a message to %{contact_email}. utils: 'yes': Yes 'no': No diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 98d13a947..e3574b2ef 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -22,8 +22,12 @@ fr: invisible_captcha: custom_message: 'Si vous êtes un humain, veuillez ignorer ce champs' - help: 'Aide' + help_dropdown: + problem_title: Un problème avec le site ? + problem_description: Trouvez votre réponse dans l’aide en ligne. + technical_contact_title: Contact technique + technical_contact_description: Envoyez nous un message à %{contact_email}. utils: 'yes': Oui 'no': Non diff --git a/config/locales/models/procedure_presentation/en.yml b/config/locales/models/procedure_presentation/en.yml index 76f83d31e..35d370029 100644 --- a/config/locales/models/procedure_presentation/en.yml +++ b/config/locales/models/procedure_presentation/en.yml @@ -1,4 +1,4 @@ -fr: +en: activerecord: attributes: procedure_presentation: diff --git a/config/locales/views/administrateurs/groupe_instructeurs/en.yml b/config/locales/views/administrateurs/groupe_instructeurs/en.yml new file mode 100644 index 000000000..e673fcfab --- /dev/null +++ b/config/locales/views/administrateurs/groupe_instructeurs/en.yml @@ -0,0 +1,67 @@ +en: + administrateurs: + experts_procedures: + create: + experts_assignment: + one: "The expert %{value} was assigned to the procedure n° %{procedure}" + other: "The experts %{value} were assigned to the procedure n° %{procedure}" + groupe_instructeurs: + index: + procedures: Procedures + instructors_group: Group of instructors + add_instructeur: + wrong_address: + one: "%{value} is not a valid email address" + other: "%{value} are not valid email addresses" + assignment: + one: "The instructor %{value} was assigned to the group « %{groupe} »." + other: "The instructors %{value} were assigned to the group « %{groupe} »." + reaffecter_dossiers: + existing_groupe: + one: "%{count} group exist" + other: "%{count} groups exist" + instructeurs: + assigned_instructeur: + one: "%{count} instructor is assigned" + other: "%{count} instructors are assigned" + edit: + routing: + title: Routing label + notice: This text will appear on the user form as the label of a list + group_management: + title: Group management + delete: delete the group + delete_confirmation: Are you sure you want to delete the group "%{group_name}" + move_folders: move folders + move_folders_confirmation: Reassign folders to another group so you can delete it + add_a_group: + title: Add a group + notice: This group will be a choice from the list "%{routing_criteria_name}" + placeholder: ex. City of Bordeaux + csv_import: + title: CSV Import + notice_1: The csv file must have 2 columns (Group, Email) and be separated by commas. The import does not overwrite existing groups and instructors. + notice_2: The size of the file must be less than %{csv_max_size}. + download_exemple: Download sample CSV file + import_file: Import file + import_file_procedure_not_published: The import of instructors by CSV file is available once the process has been published + view: view + button: + add_group: Add group + rename: Rename + existing_groupe: + one: "%{count} group exist" + other: "%{count} groups exist" + routing: + title: Routing + notice_html: | + Routing is a feature for procedures requiring the sharing of instructions between different groups according to a specific criterion (territory, theme or other). +

+ This feature makes it possible to route the files to each group, and to no longer need to filter its files among a large quantity of requests. It is therefore particularly suitable for national approaches instructed locally. +

+ Instructors only see the files that concern them, and therefore do not have access to data outside their scope. + self_managment_notice_html: | + Instructor Self-Management allows instructors to self-manage the list of Gait Instructors. + button: + routing_enable: Enable routing + routing_disable: Disable routing diff --git a/config/locales/views/administrateurs/groupe_instructeurs/fr.yml b/config/locales/views/administrateurs/groupe_instructeurs/fr.yml index b365e378d..25a9207e9 100644 --- a/config/locales/views/administrateurs/groupe_instructeurs/fr.yml +++ b/config/locales/views/administrateurs/groupe_instructeurs/fr.yml @@ -10,6 +10,8 @@ fr: other: "Les experts %{value} ont été affectés à la démarche n° %{procedure}" groupe_instructeurs: index: + procedures: Démarches + instructors_group: Groupe d'instructeurs existing_groupe: one: "%{count} groupe existe" other: "%{count} groupes existent" @@ -29,10 +31,35 @@ fr: one: "%{count} instructeur est affecté" other: "%{count} instructeurs sont affectés" edit: + routing: + title: Libellé du routage + notice: Ce texte apparaitra sur le formulaire usager comme le libellé d’une liste + group_management: + title: Gestion des Groupes + delete: supprimer le groupe + delete_confirmation: Êtes-vous sûr de vouloir supprimer le groupe "%{group_name}" + move_folders: déplacer les dossiers + move_folders_confirmation: Réaffecter les dossiers à un autre groupe afin de pouvoir le supprimer + add_a_group: + title: Ajouter un groupe + notice: Ce groupe sera un choix de la liste "%{routing_criteria_name}" + placeholder: ex. Ville de Bordeaux + csv_import: + title: Importer par CSV + notice_1: Le fichier csv doit comporter 2 colonnes (Groupe, Email) et être séparé par des virgules. L'import n'écrase pas les groupes et les instructeurs existants. + notice_2: Le poids du fichier doit être inférieur à %{csv_max_size} + download_exemple: Télécharger l'exemple de fichier CSV + import_file: Importer le fichier + import_file_procedure_not_published: L’import d’instructeurs par fichier CSV est disponible une fois la démarche publiée + view: voir + button: + add_group: Ajouter le groupe + rename: Renommer existing_groupe: one: "%{count} groupe existe" other: "%{count} groupes existent" routing: + title: Routage notice_html: | Le routage est une fonctionnalité pour les démarches nécessitant le partage de l’instruction entre différents groupes en fonction d’un critère précis (territoire, thématique ou autre).

@@ -45,3 +72,4 @@ fr: routing_enable: Activer le routage routing_disable: Désactiver le routage self_managment_toggle: Activer l’autogestion des instructeurs + add_group: Ajouter le groupe diff --git a/config/locales/views/instructeurs/procedures/email_notifications/en.yml b/config/locales/views/instructeurs/procedures/email_notifications/en.yml new file mode 100644 index 000000000..0c5f274fa --- /dev/null +++ b/config/locales/views/instructeurs/procedures/email_notifications/en.yml @@ -0,0 +1,30 @@ +en: + instructeurs: + procedures: + email_notifications: + utils: + positive: "Yes" + negative: "No" + title: Email notifications + subtitle: On this page, configure the notifications you wish to receive by email for this procedure. + for_each_file_submitted: + title: Receive a notification for each file submitted + notice_1: This email notifies you that a new file has been submitted. + notice_2: It is sent each time a user submits a file. + for_each_message_submitted: + title: Receive a notification for each message submitted + notice_1: This email notifies you that a new message has been submitted on your following files. + notice_2: It is sent each time a user submits a message. + daily_notifications: + title: Receive a daily notification + notice_1: This email notifies you of the filing of new files on this approach, or of changes to your monitored files. + notice_2: It is sent once a day, Monday to Saturday, around 10 a.m. + hebdo_recap: + title: Receive a weekly recap + notice_1: This email summarizes the activity of the week on all of your procedures. + notice_2: It is sent weekly on Monday morning. + buttons: + back_to_procedure: Back to procedure + save: Save + + \ No newline at end of file diff --git a/config/locales/views/instructeurs/procedures/email_notifications/fr.yml b/config/locales/views/instructeurs/procedures/email_notifications/fr.yml new file mode 100644 index 000000000..e2b5b1277 --- /dev/null +++ b/config/locales/views/instructeurs/procedures/email_notifications/fr.yml @@ -0,0 +1,28 @@ +fr: + instructeurs: + procedures: + email_notifications: + utils: + positive: Oui + negative: Non + title: Notifications par email + subtitle: Configurez sur cette page les notifications que vous souhaitez recevoir par email pour cette démarche. + for_each_file_submitted: + title: Recevoir une notification à chaque dossier déposé + notice_1: Cet email vous signale le dépôt d’un nouveau dossier. + notice_2: Il est envoyé à chaque fois qu'un usager dépose un dossier. + for_each_message_submitted: + title: Recevoir une notification à chaque message déposé + notice_1: Cet email vous signale le dépôt d’un nouveau message sur vos dossiers suivis. + notice_2: Il est envoyé à chaque fois qu'un usager dépose un message. + daily_notifications: + title: Recevoir une notification quotidienne + notice_1: Cet email vous signale le dépôt de nouveaux dossiers sur cette démarche, ou des changements sur vos dossiers suivis. + notice_2: Il est envoyé une fois par jour, du lundi au samedi, vers 10 h du matin. + hebdo_recap: + title: Recevoir un récapitulatif hebdomadaire + notice_1: Cet email récapitule l’activité de la semaine sur l’ensemble de vos démarches. + notice_2: Il est envoyé chaque semaine le lundi matin. + buttons: + back_to_procedure: Revenir à la procédure + save: Enregistrer diff --git a/config/locales/views/instructeurs/procedures/en.yml b/config/locales/views/instructeurs/procedures/en.yml index fcad189aa..427e8ff81 100644 --- a/config/locales/views/instructeurs/procedures/en.yml +++ b/config/locales/views/instructeurs/procedures/en.yml @@ -35,3 +35,8 @@ en: export_monthly_pending_html: An export of the last 30 days in the format %{export_format} is being generated
(asked %{export_time} ago) download_archive: Download a .zip archive of all files and their attachments download: Download all files + email_usagers: + contact_users: Contact users (draft) + notice: "You will send a message to %{dossiers_count} whose files are in draft, in the instructor groups : %{groupe_instructeurs}." + stats: + title: Statistics diff --git a/config/locales/views/instructeurs/procedures/fr.yml b/config/locales/views/instructeurs/procedures/fr.yml index 57e8ab32a..66e3d3a92 100644 --- a/config/locales/views/instructeurs/procedures/fr.yml +++ b/config/locales/views/instructeurs/procedures/fr.yml @@ -35,3 +35,8 @@ fr: export_monthly_pending_html: Un export des 30 derniers jours au format %{export_format} est en train d’être généré
(demandé il y a %{export_time}) download_archive: Télécharger une archive au format .zip de tous les dossiers et leurs pièces jointes download: Télécharger tous les dossiers + email_usagers: + contact_users: Contacter les usagers (brouillon) + notice: "Vous allez envoyer un message à %{dossiers_count} dont les dossiers sont en brouillon, dans les groupes instructeurs : %{groupe_instructeurs}." + stats: + title: Statistiques diff --git a/config/locales/views/layouts/_account_dropdown.en.yml b/config/locales/views/layouts/_account_dropdown.en.yml index b3b3b16bf..35c1c1378 100644 --- a/config/locales/views/layouts/_account_dropdown.en.yml +++ b/config/locales/views/layouts/_account_dropdown.en.yml @@ -1,5 +1,7 @@ en: layouts: + header: + files: Files go_superadmin: "Switch to super-admin" go_user: "Switch to user" go_instructor: "Switch to instructor" diff --git a/config/locales/views/layouts/_account_dropdown.fr.yml b/config/locales/views/layouts/_account_dropdown.fr.yml index f0b566236..f663ec105 100644 --- a/config/locales/views/layouts/_account_dropdown.fr.yml +++ b/config/locales/views/layouts/_account_dropdown.fr.yml @@ -1,5 +1,7 @@ fr: layouts: + header: + files: Dossiers go_superadmin: "Passer en super-admin" go_user: "Passer en usager" go_instructor: "Passer en instructeur"