decidim-core 0.4.4 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/decidim_core_manifest.js +1 -0
- data/app/assets/images/decidim/icons.svg +1 -1
- data/app/assets/javascripts/decidim.js.es6 +3 -0
- data/app/assets/javascripts/decidim/form_filter.component.js.es6 +39 -6
- data/app/assets/javascripts/decidim/form_filter.component.test.js +13 -10
- data/app/assets/javascripts/decidim/impersonation.js.es6 +16 -0
- data/app/assets/javascripts/decidim/select2.field.js.es6 +47 -0
- data/app/assets/javascripts/decidim/select2.js.es6 +8 -0
- data/app/assets/stylesheets/decidim/_decidim.scss +3 -0
- data/app/assets/stylesheets/decidim/extras/_announcement.scss +3 -0
- data/app/assets/stylesheets/decidim/extras/_callout.scss +1 -1
- data/app/assets/stylesheets/decidim/extras/_impersonation-bar.scss +22 -0
- data/app/assets/stylesheets/decidim/extras/_process_stats.scss +1 -1
- data/app/assets/stylesheets/decidim/extras/_proposal_form.scss +7 -0
- data/app/assets/stylesheets/decidim/extras/_reference.scss +1 -1
- data/app/assets/stylesheets/decidim/extras/_register_form.scss +1 -1
- data/app/assets/stylesheets/decidim/extras/_social_icons_mini.scss +1 -1
- data/app/assets/stylesheets/decidim/layouts/_home.scss +1 -1
- data/app/assets/stylesheets/decidim/layouts/_view.scss +1 -1
- data/app/assets/stylesheets/decidim/map.css +1 -1
- data/app/assets/stylesheets/decidim/modules/_author-avatar.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_callout.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_datepicker.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_definition-data.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_extra.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_flag.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_footer.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_forms.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_help.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_pagination.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_process-info.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_reference.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_reveal.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_signup.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_static-pages.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_tags.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_title-action.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_user-form.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_video.scss +1 -1
- data/app/assets/stylesheets/decidim/plugins/_select2.scss +63 -0
- data/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +1 -1
- data/app/commands/decidim/invite_user.rb +5 -2
- data/app/controllers/concerns/decidim/devise_controllers.rb +6 -0
- data/app/controllers/concerns/decidim/impersonate_users.rb +67 -0
- data/app/controllers/concerns/decidim/needs_authorization.rb +0 -4
- data/app/controllers/decidim/application_controller.rb +7 -0
- data/app/controllers/decidim/devise/invitations_controller.rb +7 -0
- data/app/controllers/decidim/errors_controller.rb +1 -1
- data/app/controllers/decidim/features/base_controller.rb +1 -1
- data/app/controllers/decidim/participatory_process_widgets_controller.rb +0 -2
- data/app/controllers/decidim/scopes_controller.rb +29 -0
- data/app/forms/decidim/attachment_form.rb +14 -0
- data/app/forms/decidim/invite_user_form.rb +12 -1
- data/app/helpers/decidim/application_helper.rb +1 -0
- data/app/helpers/decidim/attachments_helper.rb +11 -0
- data/app/helpers/decidim/decidim_form_helper.rb +9 -8
- data/app/helpers/decidim/icon_helper.rb +12 -2
- data/app/helpers/decidim/participatory_process_helper.rb +0 -24
- data/app/helpers/decidim/scopes_helper.rb +15 -0
- data/app/helpers/decidim/translations_helper.rb +1 -1
- data/app/mailers/decidim/reported_mailer.rb +1 -1
- data/app/models/decidim/abilities/admin_ability.rb +1 -0
- data/app/models/decidim/abilities/everyone_ability.rb +2 -0
- data/app/models/decidim/abilities/user_manager_ability.rb +35 -0
- data/app/models/decidim/impersonation_log.rb +35 -0
- data/app/models/decidim/organization.rb +9 -0
- data/app/models/decidim/participatory_process.rb +1 -4
- data/app/models/decidim/scope.rb +65 -1
- data/app/models/decidim/scope_type.rb +16 -0
- data/app/models/decidim/user.rb +35 -4
- data/app/presenters/decidim/participatory_process_stats_presenter.rb +1 -1
- data/app/queries/decidim/freetext_scopes.rb +39 -0
- data/app/services/decidim/resource_search.rb +7 -6
- data/app/uploaders/decidim/attachment_uploader.rb +1 -1
- data/app/views/decidim/account/delete.html.erb +1 -1
- data/app/views/decidim/application/_documents.html.erb +4 -2
- data/app/views/decidim/participatory_processes/_statistics.html.erb +1 -1
- data/app/views/decidim/participatory_processes/show.html.erb +4 -0
- data/app/views/decidim/reported_mailer/hide.html.erb +1 -1
- data/app/views/decidim/reported_mailer/report.html.erb +1 -1
- data/app/views/decidim/shared/_announcement.html.erb +5 -0
- data/app/views/decidim/shared/_feature_announcement.html.erb +5 -0
- data/app/views/decidim/shared/_flag_modal.html.erb +1 -1
- data/app/views/decidim/shared/_tags.html.erb +10 -0
- data/app/views/devise/mailer/invitation_instructions.html.erb +13 -0
- data/app/views/devise/mailer/invitation_instructions.text.erb +11 -0
- data/app/views/layouts/decidim/_application.html.erb +1 -0
- data/app/views/layouts/decidim/_impersonation_warning.html.erb +10 -0
- data/app/views/layouts/decidim/_wrapper.html.erb +1 -1
- data/app/views/pages/home/_statistics.html.erb +1 -1
- data/app/views/pages/home/_sub_hero.html.erb +1 -1
- data/config/locales/ca.yml +10 -1
- data/config/locales/en.yml +9 -0
- data/config/locales/es.yml +10 -1
- data/config/locales/eu.yml +22 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/fr.yml +60 -0
- data/config/locales/it.yml +1 -1
- data/config/locales/nl.yml +1 -1
- data/config/locales/pl.yml +91 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20170605162500_add_hierarchy_to_scopes.rb +70 -0
- data/db/migrate/20170713131206_add_admin_to_users.rb +6 -1
- data/db/migrate/20170713131308_migrate_user_roles_to_participatory_process_roles.rb +5 -1
- data/db/migrate/20170720135441_add_managed_to_users.rb +7 -0
- data/db/migrate/20170720140610_set_email_unique_in_organization_condition_for_managed_users.rb +12 -0
- data/db/migrate/20170724130558_create_impersonation_logs.rb +15 -0
- data/db/migrate/20170727125445_add_roles_to_users.rb +7 -0
- data/db/migrate/20170804125402_attachment_description_nullable.rb +7 -0
- data/db/migrate/20170808080905_add_announcement_to_participatory_processes.rb +7 -0
- data/db/migrate/20170809084005_add_scopes_enabled_to_participatory_processes.rb +7 -0
- data/db/seeds.rb +34 -10
- data/lib/decidim/core.rb +11 -5
- data/lib/decidim/core/engine.rb +1 -0
- data/lib/decidim/core/test.rb +2 -0
- data/lib/decidim/core/test/factories.rb +59 -22
- data/lib/decidim/core/test/shared_examples/announcements_examples.rb +58 -0
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +15 -29
- data/lib/decidim/core/test/shared_examples/errors.rb +1 -1
- data/lib/decidim/core/test/shared_examples/has_attachments.rb +4 -9
- data/lib/decidim/core/test/shared_examples/manage_moderations_examples.rb +1 -8
- data/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +2 -2
- data/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +33 -0
- data/lib/decidim/core/test/shared_examples/reports_examples.rb +1 -2
- data/lib/decidim/core/version.rb +6 -2
- data/lib/decidim/faker/localized.rb +4 -4
- data/lib/decidim/filter_form_builder.rb +7 -0
- data/lib/decidim/form_builder.rb +34 -5
- data/lib/decidim/scopable.rb +33 -0
- data/lib/decidim/settings_manifest.rb +10 -2
- data/lib/decidim/translatable_attributes.rb +0 -1
- metadata +61 -17
- data/app/helpers/decidim/organization_scopes_helper.rb +0 -42
- data/db/seeds/city3.jpeg +0 -0
- data/lib/tasks/factory_girl.rake +0 -17
@@ -38,13 +38,14 @@ module Decidim
|
|
38
38
|
# in order to select those elements that do not have a scope_id set we use
|
39
39
|
# `"global"` as parameter, and in the method we do the needed changes to search
|
40
40
|
# properly.
|
41
|
-
#
|
42
|
-
# You can use the `search_organization_scopes` helper method, defined in
|
43
|
-
# `Decidim::OrganizationScopesHelper`, to render the collection needed for the
|
44
|
-
# `collection_check_boxes` form method.
|
45
41
|
def search_scope_id
|
46
|
-
clean_scope_ids = [scope_id].flatten
|
47
|
-
|
42
|
+
clean_scope_ids = [scope_id].flatten
|
43
|
+
|
44
|
+
conditions = []
|
45
|
+
conditions << "decidim_scope_id IS NULL" if clean_scope_ids.delete("global")
|
46
|
+
conditions.concat(["? = ANY(decidim_scopes.part_of)"] * clean_scope_ids.count) if clean_scope_ids.any?
|
47
|
+
|
48
|
+
query.includes(:scope).references(:decidim_scopes).where(conditions.join(" OR "), *clean_scope_ids.map(&:to_i))
|
48
49
|
end
|
49
50
|
|
50
51
|
private
|
@@ -8,9 +8,11 @@
|
|
8
8
|
<div>
|
9
9
|
<a href="<%= document.url %>" class="card__link">
|
10
10
|
<h6 class="card--list__heading heading6">
|
11
|
-
<%=
|
11
|
+
<%= attachment_title(document) %> <small><%= document.file_type %> <%= number_to_human_size(document.file_size) %></small>
|
12
12
|
</h6>
|
13
|
-
|
13
|
+
<% if document.description.present? %>
|
14
|
+
<span class="text-small"><%= translated_attribute(document.description) %></span>
|
15
|
+
<% end %>
|
14
16
|
</a>
|
15
17
|
</div>
|
16
18
|
</div>
|
@@ -6,6 +6,10 @@
|
|
6
6
|
twitter_handler: current_organization.twitter_handler
|
7
7
|
}) %>
|
8
8
|
|
9
|
+
<% if translated_attribute(current_participatory_process.announcement).present? %>
|
10
|
+
<%= render partial: "decidim/shared/announcement", locals: { announcement: current_participatory_process.announcement } %>
|
11
|
+
<% end %>
|
12
|
+
|
9
13
|
<div class="row column">
|
10
14
|
<div class="row">
|
11
15
|
<div class="columns medium-7 mediumlarge-8">
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<% if translated_attribute(current_settings.announcement).present? %>
|
2
|
+
<%= render partial: "decidim/shared/announcement", locals: { announcement: current_settings.announcement } %>
|
3
|
+
<% elsif translated_attribute(feature_settings.announcement).present? %>
|
4
|
+
<%= render partial: "decidim/shared/announcement", locals: { announcement: feature_settings.announcement } %>
|
5
|
+
<% end %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if resource.category.present? || has_visible_scopes?(resource) %>
|
2
|
+
<ul class="tags <%= tags_class_extra %>" >
|
3
|
+
<% if resource.category.present? %>
|
4
|
+
<li><%= link_to translated_attribute(resource.category.name), resource_locator(resource).index(filter: { category_id: resource.category.id }) %></li>
|
5
|
+
<% end %>
|
6
|
+
<% if has_visible_scopes?(resource) %>
|
7
|
+
<li><%= link_to translated_attribute(resource.scope.name), resource_locator(resource).index(filter: { scope_id: [resource.scope.id] }) %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
<% end %>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<p><%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<%= t("devise.mailer.invitation_instructions.someone_invited_you", application: @resource.organization.name) %>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<p><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim.root_path, host: @resource.organization.host) %></p>
|
8
|
+
|
9
|
+
<% if @resource.invitation_due_at %>
|
10
|
+
<p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %></p>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<p><%= t("devise.mailer.invitation_instructions.ignore").html_safe %></p>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %>
|
2
|
+
|
3
|
+
<%= t("devise.mailer.invitation_instructions.someone_invited_you", application: @resource.organization.name) %>
|
4
|
+
|
5
|
+
<%= accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim.root_path, host: @resource.organization.host) %>
|
6
|
+
|
7
|
+
<% if @resource.invitation_due_at %>
|
8
|
+
<%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<%= strip_tags t("devise.mailer.invitation_instructions.ignore") %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if current_user&.managed? %>
|
2
|
+
<div class="impersonation-warning" data-session-ends-at="<%= impersonation_session_ends_at.iso8601 %>">
|
3
|
+
<%= t('.description_html', user_name: current_user.name) %>
|
4
|
+
<%= t('.expire_time_html', minutes: impersonation_session_remaining_duration_in_minutes) %>
|
5
|
+
<div class="impersonation-warning__action">
|
6
|
+
<%= button_to t('.close_session'), decidim_admin.close_session_managed_user_impersonations_path(current_user), class: "button tiny impersonation-bar__button" %>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
<%= javascript_include_tag "decidim/impersonation" %>
|
10
|
+
<% end %>
|
@@ -85,7 +85,7 @@
|
|
85
85
|
<% if current_organization.static_pages.any? %>
|
86
86
|
<ul class="footer-nav">
|
87
87
|
<% current_organization.static_pages.each do |page| %>
|
88
|
-
<li><%= link_to translated_attribute(page.title), decidim.page_path(page) %></
|
88
|
+
<li><%= link_to translated_attribute(page.title), decidim.page_path(page) %></li>
|
89
89
|
<% end %>
|
90
90
|
</ul>
|
91
91
|
<% end %>
|
data/config/locales/ca.yml
CHANGED
@@ -158,6 +158,8 @@ ca:
|
|
158
158
|
default_image: Imatge predeterminada
|
159
159
|
errors:
|
160
160
|
error: Hi ha un error en aquest camp.
|
161
|
+
managed_users:
|
162
|
+
expired_session: La sessió de suplantació actual ha caducat.
|
161
163
|
menu:
|
162
164
|
home: Inici
|
163
165
|
more_information: Més informació
|
@@ -234,6 +236,8 @@ ca:
|
|
234
236
|
create:
|
235
237
|
error: S'ha produït un error en denunciar. Torna-ho a intentar.
|
236
238
|
success: La denúncia s'ha creat amb èxit i serà revisada per un administrador.
|
239
|
+
scopes:
|
240
|
+
global: Àmbit global
|
237
241
|
shared:
|
238
242
|
action_authorization_modal:
|
239
243
|
incomplete:
|
@@ -302,6 +306,7 @@ ca:
|
|
302
306
|
errors:
|
303
307
|
messages:
|
304
308
|
content_type_whitelist_error: El tipus de fitxer no és vàlid
|
309
|
+
cycle_detected: Un dels pares de l'àmbit d'aplicació no pot ser un dels seus descendents
|
305
310
|
file_size_is_less_than_or_equal_to: la mida del fitxer ha de ser menor que o igual a %{count}
|
306
311
|
invalid_manifest: Arxiu de manifest invàlid
|
307
312
|
invalid_participatory_process: Procés participatiu invàlid
|
@@ -329,6 +334,10 @@ ca:
|
|
329
334
|
navigation: Navegació
|
330
335
|
sign_in: Entra
|
331
336
|
sign_up: Registra't
|
337
|
+
impersonation_warning:
|
338
|
+
close_session: Tanca la sessió
|
339
|
+
description_html: Esteu suplantant l'usuari <b>%{user_name}</b>.
|
340
|
+
expire_time_html: La vostra sessió caducarà en <b><span class="minutes">%{minutes}</span> minutes</b>.
|
332
341
|
participatory_process_groups:
|
333
342
|
participatory_process_group:
|
334
343
|
browse: Explorar
|
@@ -437,4 +446,4 @@ ca:
|
|
437
446
|
last: Última »
|
438
447
|
next: Següent ›
|
439
448
|
previous: "‹ Anterior"
|
440
|
-
truncate: "…"
|
449
|
+
truncate: "…"
|
data/config/locales/en.yml
CHANGED
@@ -159,6 +159,8 @@ en:
|
|
159
159
|
default_image: Default image
|
160
160
|
errors:
|
161
161
|
error: There's an error in this field.
|
162
|
+
managed_users:
|
163
|
+
expired_session: The current impersonation session has expired.
|
162
164
|
menu:
|
163
165
|
home: Home
|
164
166
|
more_information: More information
|
@@ -235,6 +237,8 @@ en:
|
|
235
237
|
create:
|
236
238
|
error: An error ocurred while creating the report. Please, try it again.
|
237
239
|
success: The report has been created successfully and it will be reviewed by an admin.
|
240
|
+
scopes:
|
241
|
+
global: Global scope
|
238
242
|
shared:
|
239
243
|
action_authorization_modal:
|
240
244
|
incomplete:
|
@@ -303,6 +307,7 @@ en:
|
|
303
307
|
errors:
|
304
308
|
messages:
|
305
309
|
content_type_whitelist_error: The file type is not valid
|
310
|
+
cycle_detected: a scope's parent can't be one of its descendants
|
306
311
|
file_size_is_less_than_or_equal_to: file size must be less than or equal to %{count}
|
307
312
|
invalid_manifest: Invalid manifest
|
308
313
|
invalid_participatory_process: Invalid participatory process
|
@@ -330,6 +335,10 @@ en:
|
|
330
335
|
navigation: Navigation
|
331
336
|
sign_in: Sign In
|
332
337
|
sign_up: Sign Up
|
338
|
+
impersonation_warning:
|
339
|
+
close_session: Close session
|
340
|
+
description_html: You are impersonating the user <b>%{user_name}</b>.
|
341
|
+
expire_time_html: Your session will expire in <b><span class="minutes">%{minutes}</span> minutes</b>.
|
333
342
|
participatory_process_groups:
|
334
343
|
participatory_process_group:
|
335
344
|
browse: Browse
|
data/config/locales/es.yml
CHANGED
@@ -158,6 +158,8 @@ es:
|
|
158
158
|
default_image: Imagen predeterminada
|
159
159
|
errors:
|
160
160
|
error: Hay un error en este campo.
|
161
|
+
managed_users:
|
162
|
+
expired_session: La sesión de suplantación actual ha caducado.
|
161
163
|
menu:
|
162
164
|
home: Inicio
|
163
165
|
more_information: Más información
|
@@ -234,6 +236,8 @@ es:
|
|
234
236
|
create:
|
235
237
|
error: Se ha producido un error al denunciar el contenido. Por favor, inténtalo otra vez.
|
236
238
|
success: La denuncia se ha creado correctament y será revisada por un administrador.
|
239
|
+
scopes:
|
240
|
+
global: Ámbito global
|
237
241
|
shared:
|
238
242
|
action_authorization_modal:
|
239
243
|
incomplete:
|
@@ -302,6 +306,7 @@ es:
|
|
302
306
|
errors:
|
303
307
|
messages:
|
304
308
|
content_type_whitelist_error: El tipo de archivo no es válido
|
309
|
+
cycle_detected: el padre de un ámbito no puede ser uno de sus descendientes
|
305
310
|
file_size_is_less_than_or_equal_to: el tamaño del archivo debe ser menor que o igual a %{count}
|
306
311
|
invalid_manifest: Manifiesto inválido
|
307
312
|
invalid_participatory_process: Proceso participativo inválido
|
@@ -329,6 +334,10 @@ es:
|
|
329
334
|
navigation: Navegación
|
330
335
|
sign_in: Entra
|
331
336
|
sign_up: Regístrate
|
337
|
+
impersonation_warning:
|
338
|
+
close_session: Cerrar la sesión
|
339
|
+
description_html: Te estás haciendo pasar por el usuario <b>%{user_name}</b>.
|
340
|
+
expire_time_html: Su sesión expirará en <b><span class="minutes">%{minutes}</span> minutos</b>.
|
332
341
|
participatory_process_groups:
|
333
342
|
participatory_process_group:
|
334
343
|
browse: Explorar
|
@@ -437,4 +446,4 @@ es:
|
|
437
446
|
last: Última »
|
438
447
|
next: Siguiente ›
|
439
448
|
previous: "‹ Anterior"
|
440
|
-
truncate: "…"
|
449
|
+
truncate: "…"
|
data/config/locales/eu.yml
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
eu:
|
2
2
|
activemodel:
|
3
3
|
attributes:
|
4
|
+
account:
|
5
|
+
delete_reason: Zure kontua ezabatzeko arrazoia
|
4
6
|
report:
|
5
7
|
details: Iruzkin gehigarriak
|
6
8
|
user:
|
@@ -8,6 +10,7 @@ eu:
|
|
8
10
|
name: Zure izena
|
9
11
|
password: Pasahitza
|
10
12
|
password_confirmation: Baieztatu zure pasahitz berria
|
13
|
+
remove_avatar: Kendu avatar-a
|
11
14
|
user_group_document_number: Egiaztagiri-zenbakia
|
12
15
|
user_group_name: Erakundearen izena
|
13
16
|
user_group_phone: Erakundearen telefonoa
|
@@ -31,6 +34,17 @@ eu:
|
|
31
34
|
image_too_big: Irudia pisuegia da
|
32
35
|
decidim:
|
33
36
|
account:
|
37
|
+
delete:
|
38
|
+
alert: Ekintza hau ezin da desegin. Zure kontua ezabatzen baduzu, ezin izango duzu saioa hasi.
|
39
|
+
confirm:
|
40
|
+
close: Itxi leihoa
|
41
|
+
ok: Bai, nire kontua ezabatu nahi dut
|
42
|
+
question: Ziur zure kontua ezabatu nahi duzula?
|
43
|
+
title: Ezabatu nire kontua
|
44
|
+
explanation: Mesedez, zure kontu ezabatu nahi izateko arrazoia azaldu (aukerakoa).
|
45
|
+
destroy:
|
46
|
+
error: Errore bat gertatu da zure kontua ezabatzean.
|
47
|
+
success: Zure kontua ezabatu egin da.
|
34
48
|
show:
|
35
49
|
change_password: Aldatu pasahitza
|
36
50
|
update_account: Eguneratu kontua
|
@@ -104,6 +118,13 @@ eu:
|
|
104
118
|
shared:
|
105
119
|
omniauth_buttons:
|
106
120
|
or: Edo
|
121
|
+
errors:
|
122
|
+
internal_server_error:
|
123
|
+
title: Arazo bat izan da gure zerbitzariarekin
|
124
|
+
try_later: Mesedez beranduago saiatu.
|
125
|
+
not_found:
|
126
|
+
back_home: Itzuli hasierara
|
127
|
+
content_doesnt_exist: Helbide hau okerra da edo ezabatua izan da.
|
107
128
|
export_mailer:
|
108
129
|
export:
|
109
130
|
ready: Atxikita aurkituko duzu zure esportazioaren bertsio trinkotua.
|
@@ -380,4 +401,4 @@ eu:
|
|
380
401
|
last: Azkena »
|
381
402
|
next: Hurrengoa ›
|
382
403
|
previous: "‹ Aurrekoa"
|
383
|
-
truncate: "…"
|
404
|
+
truncate: "…"
|
data/config/locales/fi.yml
CHANGED
data/config/locales/fr.yml
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
fr:
|
2
2
|
activemodel:
|
3
3
|
attributes:
|
4
|
+
account:
|
5
|
+
delete_reason: Pour quelle raison de supprimez-vous votre compte ?
|
4
6
|
report:
|
5
7
|
details: Commentaires additionnels
|
6
8
|
user:
|
@@ -8,6 +10,7 @@ fr:
|
|
8
10
|
name: Votre nom
|
9
11
|
password: Nouveau mot de passe
|
10
12
|
password_confirmation: Confirmez votre nouveau mot de passe
|
13
|
+
remove_avatar: Supprimer l'avatar
|
11
14
|
user_group_document_number: Numéro de document de l'organisation
|
12
15
|
user_group_name: Nom de l'organisation
|
13
16
|
user_group_phone: Téléphone de l'organisation
|
@@ -31,6 +34,17 @@ fr:
|
|
31
34
|
image_too_big: L'image est trop grande
|
32
35
|
decidim:
|
33
36
|
account:
|
37
|
+
delete:
|
38
|
+
alert: Cette action ne peut pas être annulée. Si vous supprimez votre compte, vous ne pourrez plus vous connecter.
|
39
|
+
confirm:
|
40
|
+
close: Fermer la fenêtre
|
41
|
+
ok: Oui, je souhaite supprimer mon compte
|
42
|
+
question: Êtes-vous sûr de vouloir supprimer votre compte?
|
43
|
+
title: Supprimer mon compte
|
44
|
+
explanation: Veuillez indiquer la raison pour laquelle vous souhaitez supprimer votre compte (facultatif).
|
45
|
+
destroy:
|
46
|
+
error: Une erreur s'est produite lors de la suppression de votre compte.
|
47
|
+
success: Votre compte a été supprimé avec succès.
|
34
48
|
show:
|
35
49
|
change_password: Changer de mot de passe
|
36
50
|
update_account: Mettre à jour votre compte
|
@@ -104,6 +118,14 @@ fr:
|
|
104
118
|
shared:
|
105
119
|
omniauth_buttons:
|
106
120
|
or: Ou
|
121
|
+
errors:
|
122
|
+
internal_server_error:
|
123
|
+
title: Il y a eu un problème avec notre serveur
|
124
|
+
try_later: Veuillez réessayer plus tard.
|
125
|
+
not_found:
|
126
|
+
back_home: Retour à l'accueil
|
127
|
+
content_doesnt_exist: Cette adresse web est incorrecte ou n'existe plus.
|
128
|
+
title: La page que vous recherchez ne peut être trouvée
|
107
129
|
export_mailer:
|
108
130
|
export:
|
109
131
|
ready: Vous trouverez ci-joint une version zippée de votre exportation.
|
@@ -131,6 +153,9 @@ fr:
|
|
131
153
|
proposal: Propositions
|
132
154
|
result: Résultats
|
133
155
|
forms:
|
156
|
+
current_file: Fichier actuel
|
157
|
+
current_image: Image actuelle
|
158
|
+
default_image: Image par défaut
|
134
159
|
errors:
|
135
160
|
error: Ce champ contient une erreur.
|
136
161
|
menu:
|
@@ -151,6 +176,8 @@ fr:
|
|
151
176
|
success: Vos paramètres de notifications ont été mis à jour avec succès.
|
152
177
|
own_user_groups:
|
153
178
|
index:
|
179
|
+
pending: En attente
|
180
|
+
rejected: Refusée
|
154
181
|
verified: Vérifié
|
155
182
|
pages:
|
156
183
|
index:
|
@@ -178,17 +205,36 @@ fr:
|
|
178
205
|
participatory_structure: Organisations concernées
|
179
206
|
scope: Zone d'application
|
180
207
|
target: Public visé
|
208
|
+
statistics:
|
209
|
+
answers_count: Réponses
|
210
|
+
comments_count: Commentaires
|
211
|
+
headline: Activité
|
212
|
+
meetings_count: Rencontres
|
213
|
+
pages_count: Pages
|
214
|
+
processes_count: Processus participatifs
|
215
|
+
projects_count: Projets
|
216
|
+
proposals_count: Propositions
|
217
|
+
results_count: Résultats
|
218
|
+
surveys_count: Enquêtes
|
219
|
+
users_count: Participants
|
220
|
+
votes_count: Votes
|
181
221
|
reported_mailer:
|
182
222
|
hide:
|
183
223
|
hello: Bonjour %{name},
|
224
|
+
manage_moderations: Gérer les modérations
|
225
|
+
report_html: <p>Le <a href="%{url}">contenu suivant</a> a été masqué automatiquement.</p>
|
184
226
|
subject: Une ressource a été cachée automatiquement
|
185
227
|
report:
|
186
228
|
hello: Bonjour %{name},
|
229
|
+
manage_moderations: Gérer les modérations
|
230
|
+
report_html: <p>Le <a href="%{url}">contenu</a> suivant a été signalé.</p>
|
187
231
|
subject: Une ressource a été signalée
|
188
232
|
reports:
|
189
233
|
create:
|
190
234
|
error: Une erreur s'est produite lors de la création du rapport. Veuillez essayer à nouveau.
|
191
235
|
success: Le contenu a été signalé, il sera examiné par un administrateur.
|
236
|
+
scopes:
|
237
|
+
global: Portée globale
|
192
238
|
shared:
|
193
239
|
action_authorization_modal:
|
194
240
|
incomplete:
|
@@ -223,6 +269,8 @@ fr:
|
|
223
269
|
sign_up: S'inscrire
|
224
270
|
reference:
|
225
271
|
reference: 'Référence: %{reference}'
|
272
|
+
results_per_page:
|
273
|
+
label: 'Résultats par page :'
|
226
274
|
share_modal:
|
227
275
|
close_window: Fermer la fenêtre
|
228
276
|
share: Partager
|
@@ -263,6 +311,8 @@ fr:
|
|
263
311
|
too_many_marks: Utilise trop de signes de ponctuations
|
264
312
|
too_much_caps: Utilise trop de majuscule
|
265
313
|
too_short: Est trop court
|
314
|
+
forms:
|
315
|
+
required: Champs obligatoires
|
266
316
|
invisible_captcha:
|
267
317
|
sentence_for_humans: Si vous êtes humain, ignorez ce champ
|
268
318
|
timestamp_error_message: Désolé, c'était trop rapide ! Veuillez le renvoyer.
|
@@ -279,6 +329,10 @@ fr:
|
|
279
329
|
navigation: Navigation
|
280
330
|
sign_in: Se connecter
|
281
331
|
sign_up: S'inscrire
|
332
|
+
impersonation_warning:
|
333
|
+
close_session: Fermer la session
|
334
|
+
description_html: Vous agissez en tant que l'utilisateur <b>%{user_name}</b>.
|
335
|
+
expire_time_html: Votre session expirera dans <b><span class="minutes">%{minutes}</span> minutes</b>.
|
282
336
|
participatory_process_groups:
|
283
337
|
participatory_process_group:
|
284
338
|
browse: Naviguer
|
@@ -315,6 +369,7 @@ fr:
|
|
315
369
|
user_profile:
|
316
370
|
account: Compte
|
317
371
|
authorizations: Autorisations
|
372
|
+
delete_my_account: Supprimer mon compte
|
318
373
|
notifications_settings: Paramètres des notifications
|
319
374
|
title: Paramètres utilisateur
|
320
375
|
user_groups: Organisations
|
@@ -345,12 +400,17 @@ fr:
|
|
345
400
|
active_step: Etape en cours
|
346
401
|
see_all_processes: Voir tous les processus participatifs
|
347
402
|
statistics:
|
403
|
+
answers_count: Réponses
|
348
404
|
comments_count: Commentaires
|
349
405
|
headline: État actuel de %{organization}
|
350
406
|
meetings_count: Rencontres
|
407
|
+
pages_count: Pages
|
351
408
|
processes_count: Processus participatifs
|
409
|
+
projects_count: Projets
|
352
410
|
proposals_count: Propositions
|
353
411
|
results_count: Résultats
|
412
|
+
surveys_count: Enquêtes
|
413
|
+
users_count: Participants
|
354
414
|
votes_count: Votes
|
355
415
|
sub_hero:
|
356
416
|
register: S'inscrire
|