decidim-admin 0.26.2 → 0.26.3
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.
Potentially problematic release.
This version of decidim-admin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/decidim/admin/organization_controller.rb +3 -3
- data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
- data/app/helpers/decidim/admin/settings_helper.rb +57 -11
- data/app/packs/entrypoints/decidim_admin.js +5 -1
- data/app/packs/src/decidim/admin/choose_language.js +11 -9
- data/app/packs/src/decidim/admin/dynamic_fields.component.js +1 -0
- data/app/packs/stylesheets/decidim/admin/modules/_forms.scss +6 -0
- data/app/views/decidim/admin/resource_permissions/edit.html.erb +1 -1
- data/config/locales/cs.yml +14 -14
- data/config/locales/fr.yml +14 -14
- data/config/locales/hu.yml +185 -2
- data/config/locales/lt.yml +974 -0
- data/config/locales/nl.yml +61 -1
- data/config/locales/no.yml +5 -0
- data/config/locales/oc-FR.yml +1 -0
- data/config/locales/pl.yml +59 -2
- data/config/locales/sv.yml +1 -0
- data/lib/decidim/admin/version.rb +1 -1
- metadata +9 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a33b1f86d32bce28471d7e0cae6d58f3f0b8734e8588543b249f0eae9a187707
         | 
| 4 | 
            +
              data.tar.gz: 5ade51348a77a2ba45c95cb747cdf31ea9f743ce2b36753f102ebd6399fc4789
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 477ee263630fb1af968f73a922d899819908e60faa909e13ed3c585404b9e4c09fe4dd83bf4c458f1ff62a4e7844e6d663e28f32ed64ad9d7475f5ab5632b463
         | 
| 7 | 
            +
              data.tar.gz: eaae371f50ec70b88bc4805a16157aee750bcc8a1b0edcc924f35ea8b4dd434759d36a33874147402c181bf87c6da60cd231bdf3fc97e2222f38cd53a7968412
         | 
| @@ -30,11 +30,11 @@ module Decidim | |
| 30 30 | 
             
                  end
         | 
| 31 31 |  | 
| 32 32 | 
             
                  def users
         | 
| 33 | 
            -
                    search(current_organization.users)
         | 
| 33 | 
            +
                    search(current_organization.users.available)
         | 
| 34 34 | 
             
                  end
         | 
| 35 35 |  | 
| 36 36 | 
             
                  def user_entities
         | 
| 37 | 
            -
                    search(current_organization.user_entities)
         | 
| 37 | 
            +
                    search(current_organization.user_entities.available)
         | 
| 38 38 | 
             
                  end
         | 
| 39 39 |  | 
| 40 40 | 
             
                  private
         | 
| @@ -51,7 +51,7 @@ module Decidim | |
| 51 51 | 
             
                                      query.where("email ILIKE ?", "%#{term}%")
         | 
| 52 52 | 
             
                                    )
         | 
| 53 53 | 
             
                                  end
         | 
| 54 | 
            -
                          render json: query.all.collect { |u| { value: u.id, label: "#{u.name} (@#{u.nickname}) | 
| 54 | 
            +
                          render json: query.all.collect { |u| { value: u.id, label: "#{u.name} (@#{u.nickname})" } }
         | 
| 55 55 | 
             
                        else
         | 
| 56 56 | 
             
                          render json: []
         | 
| 57 57 | 
             
                        end
         | 
| @@ -18,16 +18,19 @@ module Decidim | |
| 18 18 | 
             
                    time: :datetime_field
         | 
| 19 19 | 
             
                  }.freeze
         | 
| 20 20 |  | 
| 21 | 
            -
                  #  | 
| 22 | 
            -
                  #  | 
| 21 | 
            +
                  # Renders a form field that matches a settings attribute's type.
         | 
| 22 | 
            +
                  # Besides the field itself, it also renders all the metadata (like the labels and help texts)
         | 
| 23 23 | 
             
                  #
         | 
| 24 | 
            -
                  # form | 
| 25 | 
            -
                  # attribute  | 
| 26 | 
            -
                  # | 
| 27 | 
            -
                  # name | 
| 28 | 
            -
                  #  | 
| 29 | 
            -
                  #
         | 
| 30 | 
            -
                  #  | 
| 24 | 
            +
                  # @param form [Decidim::Admin::FormBuilder] The form in which to render the field
         | 
| 25 | 
            +
                  # @param attribute [Decidim::SettingsManifest::Attribute] The Settings::Attribute instance with the
         | 
| 26 | 
            +
                  #   description of the attribute.
         | 
| 27 | 
            +
                  # @param name [Symbol] The name of the field.
         | 
| 28 | 
            +
                  # @param i18n_scope [String] The scope where it'll find all the texts for the internationalization (locales)
         | 
| 29 | 
            +
                  # @param options [Hash] Extra options to be passed to the field helper.
         | 
| 30 | 
            +
                  # @option options [String] :tabs_prefix The type of the setting.
         | 
| 31 | 
            +
                  #   It can be "global-settings" or "step-N-settings", where N is the number of the step.
         | 
| 32 | 
            +
                  # @option options [nil, Boolean] :readonly True if the input is readonly.
         | 
| 33 | 
            +
                  # @return [ActiveSupport::SafeBuffer] Rendered form field.
         | 
| 31 34 | 
             
                  def settings_attribute_input(form, attribute, name, i18n_scope, options = {})
         | 
| 32 35 | 
             
                    form_method = form_method_for_attribute(attribute)
         | 
| 33 36 |  | 
| @@ -62,6 +65,18 @@ module Decidim | |
| 62 65 |  | 
| 63 66 | 
             
                  private
         | 
| 64 67 |  | 
| 68 | 
            +
                  # Renders a select field collection input for the given attribute
         | 
| 69 | 
            +
                  #
         | 
| 70 | 
            +
                  # @param form (see #settings_attribute_input)
         | 
| 71 | 
            +
                  # @param attribute (see #settings_attribute_input)
         | 
| 72 | 
            +
                  # @param name (see #settings_attribute_input)
         | 
| 73 | 
            +
                  # @param i18n_scope (see #settings_attribute_input)
         | 
| 74 | 
            +
                  # @param options (see #settings_attribute_input)
         | 
| 75 | 
            +
                  # @option :tabs_prefix (see #settings_attribute_input)
         | 
| 76 | 
            +
                  # @option :readonly (see #settings_attribute_input)
         | 
| 77 | 
            +
                  # @option options [String] :label The label that this field has
         | 
| 78 | 
            +
                  # @option options [String] :help_text The help text shown after the input field
         | 
| 79 | 
            +
                  # @return (see #settings_attribute_input)
         | 
| 65 80 | 
             
                  def render_select_form_field(form, attribute, name, i18n_scope, options)
         | 
| 66 81 | 
             
                    html = form.select(
         | 
| 67 82 | 
             
                      name,
         | 
| @@ -73,6 +88,17 @@ module Decidim | |
| 73 88 | 
             
                  end
         | 
| 74 89 |  | 
| 75 90 | 
             
                  # Returns a radio buttons collection input for the given attribute
         | 
| 91 | 
            +
                  #
         | 
| 92 | 
            +
                  # @param form (see #settings_attribute_input)
         | 
| 93 | 
            +
                  # @param attribute (see #settings_attribute_input)
         | 
| 94 | 
            +
                  # @param name (see #settings_attribute_input)
         | 
| 95 | 
            +
                  # @param i18n_scope (see #settings_attribute_input)
         | 
| 96 | 
            +
                  # @param options (see #settings_attribute_input)
         | 
| 97 | 
            +
                  # @option :tabs_prefix (see #settings_attribute_input)
         | 
| 98 | 
            +
                  # @option :readonly (see #settings_attribute_input)
         | 
| 99 | 
            +
                  # @option :label (see #render_select_form_field)
         | 
| 100 | 
            +
                  # @option :help_text (see #render_select_form_field)
         | 
| 101 | 
            +
                  # @return (see #settings_attribute_input)
         | 
| 76 102 | 
             
                  def render_enum_form_field(form, attribute, name, i18n_scope, options)
         | 
| 77 103 | 
             
                    html = label_tag(name) do
         | 
| 78 104 | 
             
                      concat options[:label]
         | 
| @@ -88,13 +114,25 @@ module Decidim | |
| 88 114 | 
             
                    html
         | 
| 89 115 | 
             
                  end
         | 
| 90 116 |  | 
| 117 | 
            +
                  # Get the translation for a given attribute
         | 
| 91 118 | 
             
                  # Returns a translation or nil. If nil, ZURB Foundation won't add the help_text.
         | 
| 119 | 
            +
                  #
         | 
| 120 | 
            +
                  # @param name (see #settings_attribute_input)
         | 
| 121 | 
            +
                  # @param suffix [String] What suffix the i18n key has
         | 
| 122 | 
            +
                  # @param i18n_scope (see #settings_attribute_input)
         | 
| 123 | 
            +
                  # @return [String, nil]
         | 
| 92 124 | 
             
                  def text_for_setting(name, suffix, i18n_scope)
         | 
| 125 | 
            +
                    html_key = "#{i18n_scope}.#{name}_#{suffix}_html"
         | 
| 126 | 
            +
                    return t(html_key) if I18n.exists?(html_key)
         | 
| 127 | 
            +
             | 
| 93 128 | 
             
                    key = "#{i18n_scope}.#{name}_#{suffix}"
         | 
| 94 129 | 
             
                    return t(key) if I18n.exists?(key)
         | 
| 95 130 | 
             
                  end
         | 
| 96 131 |  | 
| 97 | 
            -
                  #  | 
| 132 | 
            +
                  # Which form method is being used for this attribute
         | 
| 133 | 
            +
                  #
         | 
| 134 | 
            +
                  # @param attribute [Decidim::SettingsManifest::Attribute]
         | 
| 135 | 
            +
                  # @return [Symbol] The FormBuilder's method used to render
         | 
| 98 136 | 
             
                  def form_method_for_attribute(attribute)
         | 
| 99 137 | 
             
                    return :editor if attribute.type.to_sym == :text && attribute.editor?
         | 
| 100 138 |  | 
| @@ -102,7 +140,9 @@ module Decidim | |
| 102 140 | 
             
                  end
         | 
| 103 141 |  | 
| 104 142 | 
             
                  # Handles special cases.
         | 
| 105 | 
            -
                  # | 
| 143 | 
            +
                  #
         | 
| 144 | 
            +
                  # @param input_type [Symbol]
         | 
| 145 | 
            +
                  # @return [Hash] Empty Hash or a Hash with extra HTML options.
         | 
| 106 146 | 
             
                  def extra_options_for_type(input_type)
         | 
| 107 147 | 
             
                    case input_type
         | 
| 108 148 | 
             
                    when :text_area
         | 
| @@ -113,6 +153,12 @@ module Decidim | |
| 113 153 | 
             
                  end
         | 
| 114 154 |  | 
| 115 155 | 
             
                  # Build options for enum attributes
         | 
| 156 | 
            +
                  # Get the translation for a given attribute of type choice
         | 
| 157 | 
            +
                  #
         | 
| 158 | 
            +
                  # @param name (see #settings_attribute_input)
         | 
| 159 | 
            +
                  # @param i18n_scope (see #settings_attribute_input)
         | 
| 160 | 
            +
                  # @param choices [Array<Symbol>]
         | 
| 161 | 
            +
                  # @return [Array<Array<String>>]
         | 
| 116 162 | 
             
                  def build_enum_choices(name, i18n_scope, choices)
         | 
| 117 163 | 
             
                    choices.map do |choice|
         | 
| 118 164 | 
             
                      [t("#{name}_choices.#{choice}", scope: i18n_scope), choice]
         | 
| @@ -14,7 +14,7 @@ import "jquery.autocomplete" | |
| 14 14 | 
             
            import "jquery-serializejson"
         | 
| 15 15 |  | 
| 16 16 | 
             
            import "src/decidim/admin/tab_focus"
         | 
| 17 | 
            -
            import "src/decidim/admin/choose_language"
         | 
| 17 | 
            +
            import initLanguageChangeSelect from "src/decidim/admin/choose_language"
         | 
| 18 18 | 
             
            import "src/decidim/admin/application"
         | 
| 19 19 | 
             
            import "src/decidim/admin/resources_permissions"
         | 
| 20 20 | 
             
            import "src/decidim/admin/welcome_notification"
         | 
| @@ -40,3 +40,7 @@ import "entrypoints/decidim_admin.scss"; | |
| 40 40 |  | 
| 41 41 | 
             
            // This needs to be loaded after confirm dialog to bind properly
         | 
| 42 42 | 
             
            Rails.start()
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            window.addEventListener("DOMContentLoaded", () => {
         | 
| 45 | 
            +
              initLanguageChangeSelect(document.querySelectorAll("select.language-change"));
         | 
| 46 | 
            +
            });
         | 
| @@ -1,12 +1,14 @@ | |
| 1 1 | 
             
            /* eslint-disable no-invalid-this */
         | 
| 2 | 
            +
            /* eslint-disable require-jsdoc */
         | 
| 2 3 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
               | 
| 5 | 
            -
                 | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 4 | 
            +
            export default function initLanguageChangeSelect(elements) {
         | 
| 5 | 
            +
              elements.forEach((select) => {
         | 
| 6 | 
            +
                select.addEventListener("change", () => {
         | 
| 7 | 
            +
                  let targetTabPaneSelector = select.value;
         | 
| 8 | 
            +
                  let tabsContent = select.parentElement.parentElement.nextElementSibling;
         | 
| 8 9 |  | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
            });
         | 
| 10 | 
            +
                  tabsContent.querySelector(".is-active").classList.remove("is-active");
         | 
| 11 | 
            +
                  tabsContent.querySelector(targetTabPaneSelector).classList.add("is-active");
         | 
| 12 | 
            +
                })
         | 
| 13 | 
            +
              });
         | 
| 14 | 
            +
            }
         | 
| @@ -70,6 +70,7 @@ class DynamicFieldsComponent { | |
| 70 70 | 
             
                  $(this).replaceAttribute("for", placeholder, value);
         | 
| 71 71 | 
             
                  $(this).replaceAttribute("tabs_id", placeholder, value);
         | 
| 72 72 | 
             
                  $(this).replaceAttribute("href", placeholder, value);
         | 
| 73 | 
            +
                  $(this).replaceAttribute("value", placeholder, value);
         | 
| 73 74 |  | 
| 74 75 | 
             
                  return this;
         | 
| 75 76 | 
             
                }
         | 
| @@ -21,7 +21,7 @@ | |
| 21 21 | 
             
                      <% if @component %>
         | 
| 22 22 | 
             
                        <div class="card-divider"><%= t("#{@component.manifest.name}.actions.#{action}", scope: "decidim.components") %></div>
         | 
| 23 23 | 
             
                      <% else %>
         | 
| 24 | 
            -
                        <div class="card-divider"><%= t("#{resource. | 
| 24 | 
            +
                        <div class="card-divider"><%= t("#{resource.resource_manifest.name}.actions.#{action}", scope: "decidim.resources") %></div>
         | 
| 25 25 | 
             
                      <% end %>
         | 
| 26 26 |  | 
| 27 27 | 
             
                      <div class="card-section">
         | 
    
        data/config/locales/cs.yml
    CHANGED
    
    | @@ -185,7 +185,7 @@ cs: | |
| 185 185 | 
             
                      success: Skvělé! Přijali jste administrátorské podmínky použití.
         | 
| 186 186 | 
             
                    actions:
         | 
| 187 187 | 
             
                      accept: Souhlasím s následujícími podmínkami
         | 
| 188 | 
            -
                      are_you_sure:  | 
| 188 | 
            +
                      are_you_sure: Opravdu chcete odmítnout Podmínky použití pro správce?
         | 
| 189 189 | 
             
                      refuse: Odmítnout administrátorské podmínky
         | 
| 190 190 | 
             
                      title: Souhlasit s podmínkami používání
         | 
| 191 191 | 
             
                    required_review:
         | 
| @@ -213,7 +213,7 @@ cs: | |
| 213 213 | 
             
                      error: Při vytváření nové oblasti došlo k chybě.
         | 
| 214 214 | 
             
                      success: Oblast byla úspěšně vytvořena.
         | 
| 215 215 | 
             
                    destroy:
         | 
| 216 | 
            -
                      has_spaces: Tato oblast má závislé prostory. Před smazáním se prosím ujistěte, že žádný  | 
| 216 | 
            +
                      has_spaces: Tato oblast má závislé prostory. Před smazáním se prosím ujistěte, že žádný účastnický prostor neodkazuje na tuto oblast.
         | 
| 217 217 | 
             
                      success: Oblast úspěšně zničena
         | 
| 218 218 | 
             
                    edit:
         | 
| 219 219 | 
             
                      title: Upravit oblast
         | 
| @@ -504,9 +504,9 @@ cs: | |
| 504 504 | 
             
                    example_error: Nelze vytvořit příklad pro daný typ
         | 
| 505 505 | 
             
                    new:
         | 
| 506 506 | 
             
                      accepted_mime_types:
         | 
| 507 | 
            -
                        csv:  | 
| 508 | 
            -
                        json:  | 
| 509 | 
            -
                        xlsx: xlsx
         | 
| 507 | 
            +
                        csv: CSV
         | 
| 508 | 
            +
                        json: JSON
         | 
| 509 | 
            +
                        xlsx: Excel (.xlsx)
         | 
| 510 510 | 
             
                      actions:
         | 
| 511 511 | 
             
                        back: Zpět
         | 
| 512 512 | 
             
                      download_example: Stáhnout příklad
         | 
| @@ -591,11 +591,11 @@ cs: | |
| 591 591 | 
             
                      name: Participační prostor soukromého účastníka
         | 
| 592 592 | 
             
                    scope:
         | 
| 593 593 | 
             
                      fields:
         | 
| 594 | 
            -
                        name:  | 
| 594 | 
            +
                        name: Název
         | 
| 595 595 | 
             
                        scope_type: Typ oblasti působnosti
         | 
| 596 596 | 
             
                    scope_type:
         | 
| 597 597 | 
             
                      fields:
         | 
| 598 | 
            -
                        name:  | 
| 598 | 
            +
                        name: Název
         | 
| 599 599 | 
             
                        plural: Množné číslo
         | 
| 600 600 | 
             
                    share_token:
         | 
| 601 601 | 
             
                      fields:
         | 
| @@ -614,7 +614,7 @@ cs: | |
| 614 614 | 
             
                        created_at: Datum vzniku
         | 
| 615 615 | 
             
                        email: E-mail
         | 
| 616 616 | 
             
                        last_sign_in_at: Datum posledního přihlášení
         | 
| 617 | 
            -
                        name:  | 
| 617 | 
            +
                        name: Název
         | 
| 618 618 | 
             
                        role: Role
         | 
| 619 619 | 
             
                        roles:
         | 
| 620 620 | 
             
                          admin: Správce
         | 
| @@ -625,7 +625,7 @@ cs: | |
| 625 625 | 
             
                        actions: Akce
         | 
| 626 626 | 
             
                        created_at: Vytvořeno v
         | 
| 627 627 | 
             
                        document_number: Číslo dokumentu
         | 
| 628 | 
            -
                        name:  | 
| 628 | 
            +
                        name: Název
         | 
| 629 629 | 
             
                        phone: Telefon
         | 
| 630 630 | 
             
                        state: Stav
         | 
| 631 631 | 
             
                        users_count: Počet účastníků
         | 
| @@ -741,15 +741,15 @@ cs: | |
| 741 741 | 
             
                      error: Při blokování uživatele došlo k chybě
         | 
| 742 742 | 
             
                      success: Uživatel byl úspěšně zablokován
         | 
| 743 743 | 
             
                    create:
         | 
| 744 | 
            -
                      success:  | 
| 744 | 
            +
                      success: Účastník úspěšně oficiálně zaregistrován
         | 
| 745 745 | 
             
                    destroy:
         | 
| 746 | 
            -
                      success: Uživatel úspěšně zbaven  | 
| 746 | 
            +
                      success: Uživatel úspěšně zbaven oficiální registrace
         | 
| 747 747 | 
             
                    index:
         | 
| 748 748 | 
             
                      actions: Akce
         | 
| 749 749 | 
             
                      badge: Odznak
         | 
| 750 750 | 
             
                      block: Zablokovat uživatele
         | 
| 751 751 | 
             
                      created_at: Vytvořeno na
         | 
| 752 | 
            -
                      name:  | 
| 752 | 
            +
                      name: Název
         | 
| 753 753 | 
             
                      nickname: Přezdívka
         | 
| 754 754 | 
             
                      not_officialized: Neověřeno
         | 
| 755 755 | 
             
                      officialize: Ověřit
         | 
| @@ -783,7 +783,7 @@ cs: | |
| 783 783 | 
             
                      facebook: Facebook
         | 
| 784 784 | 
             
                      github: GitHub
         | 
| 785 785 | 
             
                      instagram: Instagram
         | 
| 786 | 
            -
                      rich_text_editor_in_public_views_help: V některých textových  | 
| 786 | 
            +
                      rich_text_editor_in_public_views_help: V některých textových polích budou účastníci moci vložit některé HTML tagy pomocí textového editoru.
         | 
| 787 787 | 
             
                      social_handlers: Sociální
         | 
| 788 788 | 
             
                      twitter: Twitter
         | 
| 789 789 | 
             
                      url: URL
         | 
| @@ -977,7 +977,7 @@ cs: | |
| 977 977 | 
             
                  user_groups:
         | 
| 978 978 | 
             
                    index:
         | 
| 979 979 | 
             
                      state:
         | 
| 980 | 
            -
                        pending:  | 
| 980 | 
            +
                        pending: Čekající
         | 
| 981 981 | 
             
                        rejected: Odmítnuto
         | 
| 982 982 | 
             
                        verified: Ověřeno
         | 
| 983 983 | 
             
                      verify_via_csv: Ověřit pomocí CSV
         | 
    
        data/config/locales/fr.yml
    CHANGED
    
    | @@ -210,21 +210,21 @@ fr: | |
| 210 210 | 
             
                      success: Le type de périmètre d'assemblée a été mis à jour avec succès
         | 
| 211 211 | 
             
                  areas:
         | 
| 212 212 | 
             
                    create:
         | 
| 213 | 
            -
                      error: Une erreur s'est produite lors de la création d' | 
| 214 | 
            -
                      success:  | 
| 213 | 
            +
                      error: Une erreur s'est produite lors de la création d'un nouveau périmètre d'assemblée.
         | 
| 214 | 
            +
                      success: Périmètre d'assemblée créé avec succès.
         | 
| 215 215 | 
             
                    destroy:
         | 
| 216 | 
            -
                      has_spaces: Des espaces dépendent de  | 
| 217 | 
            -
                      success:  | 
| 216 | 
            +
                      has_spaces: Des espaces dépendent de ce périmètre d'assemblée. Veuillez vous assurer qu'aucun espace participatif n'est lié à périmètre avant de la supprimer.
         | 
| 217 | 
            +
                      success: Le périmètre d'assemblée a bien été supprimé
         | 
| 218 218 | 
             
                    edit:
         | 
| 219 | 
            -
                      title: Modifier  | 
| 219 | 
            +
                      title: Modifier le périmètre d'assemblée
         | 
| 220 220 | 
             
                      update: Mettre à jour
         | 
| 221 221 | 
             
                    new:
         | 
| 222 | 
            -
                      create: Créer  | 
| 223 | 
            -
                      title:  | 
| 224 | 
            -
                    no_areas:  | 
| 222 | 
            +
                      create: Créer un périmètre d'assemblée
         | 
| 223 | 
            +
                      title: Nouveau périmètre d'assemblée
         | 
| 224 | 
            +
                    no_areas: Aucun périmètre d'assemblée
         | 
| 225 225 | 
             
                    update:
         | 
| 226 | 
            -
                      error: Une erreur s'est produite lors de la mise à jour de  | 
| 227 | 
            -
                      success:  | 
| 226 | 
            +
                      error: Une erreur s'est produite lors de la mise à jour de ce périmètre d'assemblée.
         | 
| 227 | 
            +
                      success: Périmètre d'assemblée mise à jour avec succès
         | 
| 228 228 | 
             
                  attachment_collections:
         | 
| 229 229 | 
             
                    create:
         | 
| 230 230 | 
             
                      error: Une erreur s'est produite lors de la création d'un nouveau dossier.
         | 
| @@ -523,7 +523,7 @@ fr: | |
| 523 523 | 
             
                    admins: Administrateurs
         | 
| 524 524 | 
             
                    appearance: Apparence
         | 
| 525 525 | 
             
                    area_types: Types de périmètre d'assemblée
         | 
| 526 | 
            -
                    areas:  | 
| 526 | 
            +
                    areas: Périmètres d'assemblée
         | 
| 527 527 | 
             
                    configuration: Configuration
         | 
| 528 528 | 
             
                    dashboard: Tableau de bord
         | 
| 529 529 | 
             
                    external_domain_whitelist: Domaines externes autorisés
         | 
| @@ -535,7 +535,7 @@ fr: | |
| 535 535 | 
             
                    participants: Participants
         | 
| 536 536 | 
             
                    reported_users: Utilisateurs signalés
         | 
| 537 537 | 
             
                    scope_types: Types de secteur
         | 
| 538 | 
            -
                    scopes:  | 
| 538 | 
            +
                    scopes: Secteurs
         | 
| 539 539 | 
             
                    settings: Paramètres
         | 
| 540 540 | 
             
                    static_pages: Pages
         | 
| 541 541 | 
             
                    user_groups: Groupes d'utilisateurs
         | 
| @@ -942,7 +942,7 @@ fr: | |
| 942 942 | 
             
                  titles:
         | 
| 943 943 | 
             
                    admin_log: Journal d'administration
         | 
| 944 944 | 
             
                    area_types: Types de périmètre d'assemblée
         | 
| 945 | 
            -
                    areas:  | 
| 945 | 
            +
                    areas: Périmètres d'assemblée
         | 
| 946 946 | 
             
                    authorization_workflows: Méthodes de vérification
         | 
| 947 947 | 
             
                    dashboard: Tableau de bord
         | 
| 948 948 | 
             
                    impersonatable_users: Utilisateurs pouvant être représentés
         | 
| @@ -951,7 +951,7 @@ fr: | |
| 951 951 | 
             
                    panel: Administrateur
         | 
| 952 952 | 
             
                    participants: Utilisateurs
         | 
| 953 953 | 
             
                    scope_types: Types de secteur
         | 
| 954 | 
            -
                    scopes:  | 
| 954 | 
            +
                    scopes: Secteurs
         | 
| 955 955 | 
             
                    static_pages: Pages
         | 
| 956 956 | 
             
                    statistics: Activité
         | 
| 957 957 | 
             
                    user_groups: Groupes d'utilisateurs
         |