decidim-reporting_proposals 0.2.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.
- checksums.yaml +7 -0
- data/.codeclimate.yml +32 -0
- data/.erb-lint.yml +30 -0
- data/.eslintignore +3 -0
- data/.eslintrc.json +239 -0
- data/.github/workflows/codeql-analysis.yml +74 -0
- data/.github/workflows/lint.yml +45 -0
- data/.github/workflows/test_integration.yml +125 -0
- data/.github/workflows/test_unit.yml +51 -0
- data/.gitignore +27 -0
- data/.rspec +3 -0
- data/.rubocop.yml +3 -0
- data/.rubocop_rails.yml +87 -0
- data/.rubocop_ruby.yml +1754 -0
- data/.ruby-version +1 -0
- data/.simplecov +13 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +40 -0
- data/Gemfile.lock +815 -0
- data/LICENSE-AGPLv3.txt +661 -0
- data/README.md +166 -0
- data/Rakefile +40 -0
- data/app/cells/decidim/reporting_proposals/edit_note_modal/show.erb +20 -0
- data/app/cells/decidim/reporting_proposals/edit_note_modal_cell.rb +37 -0
- data/app/commands/concerns/decidim/reporting_proposals/admin/create_category_override.rb +32 -0
- data/app/commands/concerns/decidim/reporting_proposals/admin/update_category_override.rb +32 -0
- data/app/commands/concerns/decidim/reporting_proposals/create_report_override.rb +19 -0
- data/app/commands/decidim/reporting_proposals/admin/update_proposal.rb +46 -0
- data/app/commands/decidim/reporting_proposals/admin/update_proposal_note.rb +36 -0
- data/app/commands/decidim/reporting_proposals/create_reporting_proposal.rb +68 -0
- data/app/controllers/concerns/decidim/reporting_proposals/admin/categories_controller_override.rb +16 -0
- data/app/controllers/concerns/decidim/reporting_proposals/admin/needs_header_snippets.rb +50 -0
- data/app/controllers/concerns/decidim/reporting_proposals/admin/proposal_answer_templates_controller_override.rb +18 -0
- data/app/controllers/concerns/decidim/reporting_proposals/admin/proposal_answers_controller_override.rb +35 -0
- data/app/controllers/concerns/decidim/reporting_proposals/admin/proposals_controller_override.rb +28 -0
- data/app/controllers/concerns/decidim/reporting_proposals/needs_proposal_extra_validations_snippets.rb +51 -0
- data/app/controllers/concerns/decidim/reporting_proposals/proposals_controller_override.rb +113 -0
- data/app/controllers/decidim/reporting_proposals/admin/application_controller.rb +18 -0
- data/app/controllers/decidim/reporting_proposals/admin/proposal_notes_controller.rb +38 -0
- data/app/controllers/decidim/reporting_proposals/admin/proposals_controller.rb +61 -0
- data/app/controllers/decidim/reporting_proposals/application_controller.rb +11 -0
- data/app/controllers/decidim/reporting_proposals/geolocation_controller.rb +32 -0
- data/app/forms/concerns/decidim/reporting_proposals/admin/category_form_override.rb +19 -0
- data/app/forms/concerns/decidim/reporting_proposals/form_builder_override.rb +48 -0
- data/app/forms/concerns/decidim/reporting_proposals/map_builder_override.rb +60 -0
- data/app/forms/decidim/reporting_proposals/admin/proposal_photo_form.rb +23 -0
- data/app/forms/decidim/reporting_proposals/proposal_form.rb +33 -0
- data/app/helpers/concerns/decidim/reporting_proposals/admin/proposals_helper_override.rb +63 -0
- data/app/helpers/concerns/decidim/reporting_proposals/proposal_wizard_helper_override.rb +61 -0
- data/app/jobs/decidim/reporting_proposals/assign_proposal_valuators_job.rb +51 -0
- data/app/models/concerns/decidim/reporting_proposals/category_override.rb +28 -0
- data/app/models/concerns/decidim/reporting_proposals/participatory_space_role_config/valuator_override.rb +17 -0
- data/app/models/concerns/decidim/reporting_proposals/participatory_space_user_role_override.rb +25 -0
- data/app/models/decidim/reporting_proposals/category_valuator.rb +28 -0
- data/app/overrides/decidim/admin/categories/_form/add_valuators_field.html.erb.deface +3 -0
- data/app/overrides/decidim/admin/categories/index/add_table_column_name.html.erb.deface +3 -0
- data/app/overrides/decidim/admin/categories/index/add_valuators.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposal_notes/_proposal_notes/add_edit_link.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposal_notes/_proposal_notes/add_links_to_note.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposals/_proposal-tr/add_td_hide_action.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposals/_proposal-tr/add_valuators_name.html.erb.deface +9 -0
- data/app/overrides/decidim/proposals/admin/proposals/_proposal-tr/replace_td_title.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposals/show/add_photo_management.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposals/show/add_send_email_btn.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/admin/proposals/show/remove_photos.html.erb.deface +4 -0
- data/app/overrides/decidim/proposals/admin/proposals/show/replace_valuators.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/_proposal_similar/add_distance_badge.html.erb.deface +5 -0
- data/app/overrides/decidim/proposals/proposals/_wizard_header/replace_title.html.erb.deface +14 -0
- data/app/overrides/decidim/proposals/proposals/edit/add_user_group.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/edit/replace_javascript.html.erb.deface +8 -0
- data/app/overrides/decidim/proposals/proposals/edit/replace_partial_edit_form_fields.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/edit_draft/add_user_group.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/edit_draft/replace_javascript.html.erb.deface +8 -0
- data/app/overrides/decidim/proposals/proposals/edit_draft/replace_partial_edit_form_fields.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/index/add_additional_button.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/new/remove_title.html.erb.deface +1 -0
- data/app/overrides/decidim/proposals/proposals/new/replace_body.html.erb.deface +3 -0
- data/app/overrides/decidim/proposals/proposals/new/replace_javascript.html.erb.deface +8 -0
- data/app/overrides/decidim/proposals/proposals/show/add_additional_button.html.erb.deface +3 -0
- data/app/overrides/layouts/decidim/_process_header_steps/always_show_new_proposals.html.erb.deface +3 -0
- data/app/packs/entrypoints/decidim_reporting_proposals.js +6 -0
- data/app/packs/entrypoints/decidim_reporting_proposals_camera.js +2 -0
- data/app/packs/entrypoints/decidim_reporting_proposals_geocoding.js +2 -0
- data/app/packs/entrypoints/decidim_reporting_proposals_js_validations.js +1 -0
- data/app/packs/entrypoints/decidim_reporting_proposals_list_component_admin.js +1 -0
- data/app/packs/entrypoints/decidim_reporting_proposals_manage_component_admin.js +1 -0
- data/app/packs/images/.keep +0 -0
- data/app/packs/src/decidim/reporting_proposals/proposal_extra_validations.js +89 -0
- data/app/packs/src/decidim/reporting_proposals/proposals/add_proposal.js +66 -0
- data/app/packs/src/decidim/reporting_proposals/reverse_geocoding.js +54 -0
- data/app/packs/src/decidim/reporting_proposals/user_camera_inputs.js +49 -0
- data/app/packs/stylesheets/decidim/reporting_proposals/geocoding_addons.scss +34 -0
- data/app/packs/stylesheets/decidim/reporting_proposals/list_component_admin.scss +27 -0
- data/app/packs/stylesheets/decidim/reporting_proposals/manage_component_admin.scss +31 -0
- data/app/packs/stylesheets/decidim/reporting_proposals/proposals/add_proposal.scss +12 -0
- data/app/packs/stylesheets/decidim/reporting_proposals/user_camera_inputs.scss +19 -0
- data/app/permissions/concerns/decidim/reporting_proposals/admin/permissions_override.rb +27 -0
- data/app/permissions/decidim/reporting_proposals/admin/permissions.rb +79 -0
- data/app/permissions/decidim/reporting_proposals/permissions.rb +17 -0
- data/app/queries/decidim/reporting_proposals/nearby_proposals.rb +57 -0
- data/app/serializers/decidim/reporting_proposals/proposal_serializer_override.rb +77 -0
- data/app/validators/concerns/decidim/reporting_proposals/component_validator_override.rb +25 -0
- data/app/views/decidim/proposals/admin/proposal_notes/_editing_note.html.erb +18 -0
- data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes_body.html.erb +6 -0
- data/app/views/decidim/proposals/admin/proposals/_send_email_button.html.erb +4 -0
- data/app/views/decidim/proposals/proposals/_additional_button.html.erb +6 -0
- data/app/views/decidim/reporting_proposals/admin/categories/_column_valuators.html.erb +1 -0
- data/app/views/decidim/reporting_proposals/admin/categories/_valuators.html.erb +1 -0
- data/app/views/decidim/reporting_proposals/admin/categories/_valuators_field.html.erb +7 -0
- data/app/views/decidim/reporting_proposals/admin/proposals/_photo_form.html.erb +24 -0
- data/app/views/decidim/reporting_proposals/admin/proposals/_photo_gallery.html.erb +21 -0
- data/app/views/decidim/reporting_proposals/admin/proposals/_photos.html.erb +14 -0
- data/app/views/decidim/reporting_proposals/admin/proposals/_proposal_td_hide.html.erb +20 -0
- data/app/views/decidim/reporting_proposals/admin/proposals/_proposal_td_title.html.erb +41 -0
- data/app/views/decidim/reporting_proposals/proposals/_additional_button_for_show.html.erb +6 -0
- data/app/views/decidim/reporting_proposals/proposals/_new_proposal_fields.html.erb +7 -0
- data/app/views/decidim/reporting_proposals/proposals/_reporting_proposal_fields.html.erb +113 -0
- data/app/views/decidim/reporting_proposals/proposals/_user_group.html.erb +5 -0
- data/bin/rails +6 -0
- data/bin/webpack-dev-server +6 -0
- data/codecov.yml +11 -0
- data/config/assets.rb +13 -0
- data/config/i18n-tasks.yml +13 -0
- data/config/locales/ca.yml +366 -0
- data/config/locales/de.yml +366 -0
- data/config/locales/en.yml +426 -0
- data/config/locales/es.yml +366 -0
- data/crowdin.yml +45 -0
- data/db/migrate/20221219151846_create_decidim_categories_valuators.rb +17 -0
- data/decidim-reporting_proposals.gemspec +34 -0
- data/lib/decidim/api/reporting_proposals_type.rb +10 -0
- data/lib/decidim/reporting_proposals/admin.rb +8 -0
- data/lib/decidim/reporting_proposals/admin_engine.rb +31 -0
- data/lib/decidim/reporting_proposals/component.rb +490 -0
- data/lib/decidim/reporting_proposals/config.rb +53 -0
- data/lib/decidim/reporting_proposals/engine.rb +96 -0
- data/lib/decidim/reporting_proposals/test/factories.rb +13 -0
- data/lib/decidim/reporting_proposals/version.rb +15 -0
- data/lib/decidim/reporting_proposals.rb +13 -0
- data/package-lock.json +7844 -0
- data/package.json +195 -0
- metadata +319 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<% if @form.categories&.any? %>
|
|
2
|
+
<div class="field">
|
|
3
|
+
<%= form.categories_select :category_id, @form.categories, include_blank: t("decidim.proposals.proposals.edit.select_a_category") %>
|
|
4
|
+
</div>
|
|
5
|
+
<% end %>
|
|
6
|
+
|
|
7
|
+
<% if component_settings.attachments_allowed? %>
|
|
8
|
+
<fieldset class="gallery__container photos_container">
|
|
9
|
+
<% if @form.photos.any? %>
|
|
10
|
+
<% @form.photos.each do |photo| %>
|
|
11
|
+
<div class="callout gallery__item" id="attachment_<%= photo.id %>" data-closable>
|
|
12
|
+
<%= image_tag photo.thumbnail_url, class: "thumbnail", alt: photo.file.filename %>
|
|
13
|
+
<%= form.hidden_field :photos, multiple: true, value: photo.id, id: "photo-#{photo.id}" %>
|
|
14
|
+
<button class="close-button"
|
|
15
|
+
aria-label="<%= t("delete_image", scope: "decidim.proposals.proposals.edit") %>"
|
|
16
|
+
title="<%= t("delete_image", scope: "decidim.proposals.proposals.edit") %>"
|
|
17
|
+
type="button"
|
|
18
|
+
data-close>
|
|
19
|
+
<span aria-hidden="true">×</span>
|
|
20
|
+
</button>
|
|
21
|
+
</div>
|
|
22
|
+
<% end %>
|
|
23
|
+
<% end %>
|
|
24
|
+
<div class="field row column">
|
|
25
|
+
<%= form.file_field :add_photos, multiple: false, label: t("image", scope: "decidim.reporting_proposals.proposals.form") %>
|
|
26
|
+
|
|
27
|
+
<div class="has_no_image">
|
|
28
|
+
<%= form.check_box :has_no_image %>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</fieldset>
|
|
32
|
+
|
|
33
|
+
<% end %>
|
|
34
|
+
|
|
35
|
+
<% if @form.geocoding_enabled? %>
|
|
36
|
+
<div class="field" id="address_input">
|
|
37
|
+
<div class="address-fill">
|
|
38
|
+
<%= form.geocoding_field :address, placeholder: t("decidim.proposals.proposals.placeholder.address") %>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="has_no_address">
|
|
41
|
+
<%= form.check_box :has_no_address %>
|
|
42
|
+
<%= form.hidden_field :has_address, value: "1" %>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="map address-fill" id="address_map">
|
|
45
|
+
<%= render partial: "dynamic_map_instructions" %>
|
|
46
|
+
<%= dynamic_map_for proposal_preview_data_for_map(@form.to_h) %>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<% end %>
|
|
50
|
+
|
|
51
|
+
<div class="field hashtags__container">
|
|
52
|
+
<%= form.text_field :title, class: "js-hashtags", value: form_presenter.title %>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="field hashtags__container">
|
|
56
|
+
<%= text_editor_for_proposal_body(form) %>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<% if @form.component_automatic_hashtags.any? %>
|
|
60
|
+
<div class="field">
|
|
61
|
+
<%= form.label :automatic_hashtags %>
|
|
62
|
+
<div class="checkboxes hashtags">
|
|
63
|
+
<% @form.component_automatic_hashtags.each do |hashtag| %>
|
|
64
|
+
<label>
|
|
65
|
+
<%= check_box_tag "", "", { checked: true }, { disabled: true } %>#<%= hashtag %>
|
|
66
|
+
</label>
|
|
67
|
+
<% end %>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
<% end %>
|
|
71
|
+
|
|
72
|
+
<% if @form.component_suggested_hashtags.any? %>
|
|
73
|
+
<div class="field">
|
|
74
|
+
<%= form.label :suggested_hashtags, nil, for: nil %>
|
|
75
|
+
<div class="checkboxes hashtags">
|
|
76
|
+
<%= form.collection_check_boxes :suggested_hashtags, @form.component_suggested_hashtags.map { |hashtag| [hashtag.downcase, "##{hashtag}"] }, :first, :last do |option|
|
|
77
|
+
option.label { option.check_box(checked: @form.suggested_hashtag_checked?(option.value)) + option.text }
|
|
78
|
+
end %>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<% end %>
|
|
82
|
+
|
|
83
|
+
<% if current_component.has_subscopes? %>
|
|
84
|
+
<div class="field">
|
|
85
|
+
<%= scopes_picker_field form, :scope_id, root: current_component.scope %>
|
|
86
|
+
</div>
|
|
87
|
+
<% end %>
|
|
88
|
+
|
|
89
|
+
<% if component_settings.attachments_allowed? && !component_settings.only_photo_attachments? %>
|
|
90
|
+
<fieldset class="attachments_container gallery__container documents_container">
|
|
91
|
+
<legend><%= t("attachment_legend", scope: "decidim.proposals.proposals.edit") %></legend>
|
|
92
|
+
|
|
93
|
+
<% if @form.documents.any? %>
|
|
94
|
+
<% @form.documents.each do |document| %>
|
|
95
|
+
<div class="callout" id="attachment_<%= document.id %>" data-closable>
|
|
96
|
+
<%= link_to translated_attribute(document.title), document.url %>
|
|
97
|
+
<small><%= document.file_type %> <%= number_to_human_size(document.file_size) %></small>
|
|
98
|
+
<%= form.hidden_field :documents, multiple: true, value: document.id, id: "document-#{document.id}" %>
|
|
99
|
+
<button class="close-button"
|
|
100
|
+
aria-label="<%= t("delete_document", scope: "decidim.proposals.proposals.edit") %>"
|
|
101
|
+
title="<%= t("delete_document", scope: "decidim.proposals.proposals.edit") %>"
|
|
102
|
+
type="button" data-close>
|
|
103
|
+
<span aria-hidden="true">×</span>
|
|
104
|
+
</button>
|
|
105
|
+
</div>
|
|
106
|
+
<% end %>
|
|
107
|
+
<% end %>
|
|
108
|
+
|
|
109
|
+
<div class="row column">
|
|
110
|
+
<%= form.file_field :add_documents, multiple: true, label: t("add_documents", scope: "decidim.proposals.proposals.edit") %>
|
|
111
|
+
</div>
|
|
112
|
+
</fieldset>
|
|
113
|
+
<% end %>
|
data/bin/rails
ADDED
data/codecov.yml
ADDED
data/config/assets.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
base_path = File.expand_path("..", __dir__)
|
|
4
|
+
|
|
5
|
+
Decidim::Webpacker.register_path("#{base_path}/app/packs")
|
|
6
|
+
Decidim::Webpacker.register_entrypoints(
|
|
7
|
+
decidim_reporting_proposals: "#{base_path}/app/packs/entrypoints/decidim_reporting_proposals.js",
|
|
8
|
+
decidim_reporting_proposals_manage_component_admin: "#{base_path}/app/packs/entrypoints/decidim_reporting_proposals_manage_component_admin.js",
|
|
9
|
+
decidim_reporting_proposals_list_component_admin: "#{base_path}/app/packs/entrypoints/decidim_reporting_proposals_list_component_admin.js",
|
|
10
|
+
decidim_reporting_proposals_geocoding: "#{base_path}/app/packs/entrypoints/decidim_reporting_proposals_geocoding.js",
|
|
11
|
+
decidim_reporting_proposals_camera: "#{base_path}/app/packs/entrypoints/decidim_reporting_proposals_camera.js",
|
|
12
|
+
decidim_reporting_proposals_js_validations: "#{base_path}/app/packs/entrypoints/decidim_reporting_proposals_js_validations.js"
|
|
13
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
base_locale: en
|
|
4
|
+
locales: [en]
|
|
5
|
+
|
|
6
|
+
data:
|
|
7
|
+
external:
|
|
8
|
+
- "<%= %x[bundle info decidim-core --path].chomp %>/config/locales/%{locale}.yml"
|
|
9
|
+
- "<%= %x[bundle info decidim-proposals --path].chomp %>/config/locales/%{locale}.yml"
|
|
10
|
+
|
|
11
|
+
ignore_unused:
|
|
12
|
+
|
|
13
|
+
ignore_missing:
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
---
|
|
2
|
+
ca:
|
|
3
|
+
activemodel:
|
|
4
|
+
attributes:
|
|
5
|
+
category:
|
|
6
|
+
valuator_ids: Avaluadores assignades
|
|
7
|
+
proposal:
|
|
8
|
+
has_no_address: No té adreça
|
|
9
|
+
decidim:
|
|
10
|
+
application:
|
|
11
|
+
geocoding:
|
|
12
|
+
unconfigured: La geocodificació no està configurada!
|
|
13
|
+
components:
|
|
14
|
+
proposals:
|
|
15
|
+
settings:
|
|
16
|
+
global:
|
|
17
|
+
evaluating_proposals_overdue: Quants dies després una proposta amb estat avaluació es considera vençuda
|
|
18
|
+
evaluating_proposals_overdue_help: Aquesta regla afegeix una alerta visual a la llista e propostes. Si no ho vols utilitzar, deixa aquest valor a zero.
|
|
19
|
+
geocoding_comparison_enabled: Compara propostes per proximitat de distància
|
|
20
|
+
geocoding_comparison_enabled_help: La configuració permet comparar propostes per proximitat de distància en lloc de semblança de text. Aquesta característica requereix que un servei de geocodificació estigui configurat i habilitat al component (en cas contrari, el valor predeterminat és la comparació de semblança de text).
|
|
21
|
+
geocoding_comparison_newer_than: Compareu només les propostes fetes en els últims X dies
|
|
22
|
+
geocoding_comparison_newer_than_help: Aquesta configuració només s'aplica quan es comparen propostes per proximitat a distància. Les propostes anteriors al nombre de dies especificat són ignorades. Deixeu a zero per comparar totes les propostes.
|
|
23
|
+
geocoding_comparison_radius: Radi màxim (en metres) per considerar propostes similars (s'ordenaran per proximitat) per distància proximitat
|
|
24
|
+
proposal_photo_editing_enabled: Permet que les administradores i les avaluadores editin les fotos quan responen les propostes
|
|
25
|
+
unanswered_proposals_overdue: Quants dies després una proposta sense resposta es considera vençuda
|
|
26
|
+
unanswered_proposals_overdue_help: Aquesta regla afegeix una alerta visual a la llista e propostes. Si no ho vols utilitzar, deixa aquest valor a zero.
|
|
27
|
+
reporting_proposals:
|
|
28
|
+
name: Propostes directes
|
|
29
|
+
settings:
|
|
30
|
+
global:
|
|
31
|
+
additional_button_for_show_proposal_link: Botó d'acció addicional després de l'enllaç "tornar a la llista" quan visiteu una proposta concreta (enllaç)
|
|
32
|
+
additional_button_for_show_proposal_text: Botó d'acció addicional després de l'enllaç "tornar a la llista" quan visiteu una proposta concreta (text)
|
|
33
|
+
additional_button_link: Botó d'acció addicional al costat de la proposta nova (enllaç)
|
|
34
|
+
additional_button_text: Botó d'acció addicional al costat de la proposta nova (text)
|
|
35
|
+
additional_buttons_for_show_proposal_show: Mostra un botó addicional a la vista pública en el detall de les propostes
|
|
36
|
+
additional_buttons_show: Mostra un botó addicional a la vista pública del llistat de propostes
|
|
37
|
+
additional_buttons_show_help: Afegeix el text i l'enllaç a sota
|
|
38
|
+
amendments_enabled: Esmenes habilitades
|
|
39
|
+
amendments_enabled_help: Si l'actives, configura les funcionalitats de l'esmena per cada fase.
|
|
40
|
+
amendments_wizard_help_text: Text d'ajuda en crear una nova esmena
|
|
41
|
+
announcement: Anunci
|
|
42
|
+
attachments_allowed: Permetre arxius adjunts
|
|
43
|
+
can_accumulate_supports_beyond_threshold: Pot acumular suports més enllà del llindar
|
|
44
|
+
collaborative_drafts_enabled: Esborranys col·laboratius habilitats
|
|
45
|
+
comments_enabled: Comentaris habilitats
|
|
46
|
+
comments_max_length: Longitud màxima dels comentaris (deixa 0 si vols mantenir la configuració per defecte)
|
|
47
|
+
default_sort_order: Ordre de propostes directes per defecte
|
|
48
|
+
default_sort_order_help: '''Per defecte'' vol dir que si els suports estan habilitats, les propostes es mostraran aleatòriament, i si els suports estan bloquejats, aleshores es mostraran de més a menys suports.'
|
|
49
|
+
default_sort_order_options:
|
|
50
|
+
default: Per defecte
|
|
51
|
+
most_commented: Més comentada
|
|
52
|
+
most_endorsed: Més adhesions
|
|
53
|
+
most_followed: Més seguida
|
|
54
|
+
most_voted: Més suports
|
|
55
|
+
random: Aleatori
|
|
56
|
+
recent: Recent
|
|
57
|
+
with_more_authors: Amb més autores
|
|
58
|
+
evaluating_proposals_overdue: Quants dies després una proposta amb estat avaluació es considera vençuda
|
|
59
|
+
evaluating_proposals_overdue_help: Aquesta regla afegeix una alerta visual a la llista e propostes. Si no ho vols utilitzar, deixa aquest valor a zero.
|
|
60
|
+
geocoding_comparison_enabled: Compara propostes per proximitat de distància
|
|
61
|
+
geocoding_comparison_enabled_help: La configuració permet comparar propostes per proximitat de distància en lloc de semblança de text. Aquesta característica requereix que un servei de geocodificació estigui configurat i habilitat al component (en cas contrari, el valor predeterminat és la comparació de semblança de text).
|
|
62
|
+
geocoding_comparison_newer_than: Compareu només les propostes fetes en els últims X dies
|
|
63
|
+
geocoding_comparison_newer_than_help: Aquesta configuració només s'aplica quan es comparen propostes per proximitat a distància. Les propostes anteriors al nombre de dies especificat són ignorades. Deixeu a zero per comparar totes les propostes.
|
|
64
|
+
geocoding_comparison_radius: Radi màxim (en metres) per considerar propostes similars (s'ordenaran per proximitat) per distància proximitat
|
|
65
|
+
geocoding_enabled: Geocodificació habilitada
|
|
66
|
+
minimum_votes_per_user: Suports mínims per participant
|
|
67
|
+
new_proposal_body_template: Plantilla pel text de nova proposta
|
|
68
|
+
new_proposal_body_template_help: Pots definir el text predefinit que hauria de tenir una nova proposta
|
|
69
|
+
new_proposal_help_text: Text d'ajuda per la creació d'una nova proposta
|
|
70
|
+
official_proposals_enabled: Propostes d'administradora (oficials) habilitades
|
|
71
|
+
only_photo_attachments: Utilitza només fitxers de fotos
|
|
72
|
+
participatory_texts_enabled: Textos participatius habilitats
|
|
73
|
+
participatory_texts_enabled_readonly: No es pot interactuar amb aquesta configuració si hi ha propostes existents. Si us plau, crea un nou 'component de propostes' si vols habilitar aquesta característica o descarta totes les propostes importades al menú "textos participatius" si vols deshabilitar-lo.
|
|
74
|
+
proposal_answering_enabled: Resposta a les propostes habilitada
|
|
75
|
+
proposal_edit_before_minutes: Les propostes poden ser editades per les autores abans que passin aquests minuts
|
|
76
|
+
proposal_edit_time: Edició de proposta
|
|
77
|
+
proposal_edit_time_choices:
|
|
78
|
+
infinite: Permet l'edició de propostes durant un període infinit
|
|
79
|
+
limited: Permet l'edició de propostes durant una finestra temporal específica
|
|
80
|
+
proposal_length: Longitud màxima del cos de la proposta
|
|
81
|
+
proposal_limit: Límit de propostes per participant
|
|
82
|
+
proposal_photo_editing_enabled: Permet a les administradores i avaluadores editar les fotos quan responen a les propostes
|
|
83
|
+
proposal_wizard_step_1_help_text: Text d'ajuda pel pas "Crear" de l'assistent de propostes
|
|
84
|
+
proposal_wizard_step_2_help_text: Text d'ajuda pel pas "Comparar" de l'assistent de propostes
|
|
85
|
+
proposal_wizard_step_3_help_text: Text d'ajuda pel pas "Completar" de l'assistent de propostes
|
|
86
|
+
proposal_wizard_step_4_help_text: Text d'ajuda pel pas "Publicar" de l'assistent de propostes
|
|
87
|
+
resources_permissions_enabled: Es poden establir permisos d'accions per a cada proposta
|
|
88
|
+
scope_id: Àmbit
|
|
89
|
+
scopes_enabled: Àmbits habilitats
|
|
90
|
+
threshold_per_proposal: Llindar per proposta
|
|
91
|
+
unanswered_proposals_overdue: Quants dies després una proposta sense resposta es considera vençuda
|
|
92
|
+
unanswered_proposals_overdue_help: Aquesta regla afegeix una alerta visual a la llista e propostes. Si no ho vols utilitzar, deixa aquest valor a zero.
|
|
93
|
+
vote_limit: Límit de suports per participant
|
|
94
|
+
step:
|
|
95
|
+
amendment_creation_enabled: Creació d'esmena habilitada
|
|
96
|
+
amendment_creation_enabled_help: La participant pot esmenar propostes.
|
|
97
|
+
amendment_promotion_enabled: Promoció d'esmenes habilitada
|
|
98
|
+
amendment_promotion_enabled_help: Les autores de les esmenes rebutjades poden promocionar-les a propostes.
|
|
99
|
+
amendment_reaction_enabled: Resposta a l'esmena habilitada
|
|
100
|
+
amendment_reaction_enabled_help: Les autores de les propostes poden acceptar o rebutjar les esmenes proposades pels participants.
|
|
101
|
+
amendments_visibility: Visibilitat de les esmenes
|
|
102
|
+
amendments_visibility_choices:
|
|
103
|
+
all: Les esmenes són visibles per tothom
|
|
104
|
+
participants: Les esmenes són visibles només per les autores
|
|
105
|
+
amendments_visibility_help: Si se selecciona l'opció "Les esmenes són visibles únicament per als seus autors", els participants han d'estar identificats per a veure les esmenes realitzades.
|
|
106
|
+
announcement: Anunci
|
|
107
|
+
answers_with_costs: Habilita el cost en la resposta de les propostes
|
|
108
|
+
automatic_hashtags: Hashtags afegits a totes les propostes
|
|
109
|
+
comments_blocked: Comentaris bloquejats
|
|
110
|
+
creation_enabled: Les participants poden crear propostes directes
|
|
111
|
+
creation_enabled_readonly: Aquesta opció es desactiva quan actives la funcionalitat de Textos Participatius. Per a pujar propostes com a text participatiu fes clic al botó de Textos Participatius i segueix les instruccions.
|
|
112
|
+
default_sort_order: Ordre de propostes per defecte
|
|
113
|
+
default_sort_order_help: '''Per defecte'' vol dir que si els suports estan habilitats, les propostes es mostraran aleatòriament, i si els suports estan bloquejats, aleshores es mostraran de més a menys suports.'
|
|
114
|
+
default_sort_order_options:
|
|
115
|
+
default: Per defecte
|
|
116
|
+
most_commented: Més comentada
|
|
117
|
+
most_endorsed: Més adhesions
|
|
118
|
+
most_followed: Més seguida
|
|
119
|
+
most_voted: Més suports
|
|
120
|
+
random: Aleatori
|
|
121
|
+
recent: Recent
|
|
122
|
+
with_more_authors: Amb més autores
|
|
123
|
+
endorsements_blocked: Adhesions bloquejades
|
|
124
|
+
endorsements_enabled: Adhesions habilitades
|
|
125
|
+
proposal_answering_enabled: Resposta a les propostes habilitada
|
|
126
|
+
publish_answers_immediately: Publica la resposta de la proposta immediatament
|
|
127
|
+
publish_answers_immediately_help_html: 'Tingues present que si respons alguna proposta sense que això estigui habilitat, l''hauràs de publicar manualment seleccionant i fent servir l''acció de publicar. Per a més informació sobre el funcionament, consulta la <a href="https://docs.decidim.org/en/admin/components/proposals/answers#_publication" target="_blank">pàgina de documentació de les respostes a les propostes</a>.'
|
|
128
|
+
suggested_hashtags: Hashtags suggerits a les participants per a noves propostes
|
|
129
|
+
votes_blocked: Suports bloquejats
|
|
130
|
+
votes_enabled: Suports habilitats
|
|
131
|
+
votes_hidden: Suports ocults (si els suports estan habilitats, marcant aquesta opció s'amagarà el nombre de suports)
|
|
132
|
+
moderations:
|
|
133
|
+
actions:
|
|
134
|
+
hide: Amagar
|
|
135
|
+
admin:
|
|
136
|
+
reportable:
|
|
137
|
+
hide:
|
|
138
|
+
invalid: Hi ha hagut un problema amagant aquest recurs.
|
|
139
|
+
success: Recurs amagat amb èxit.
|
|
140
|
+
proposals:
|
|
141
|
+
admin:
|
|
142
|
+
proposals:
|
|
143
|
+
send_email_button:
|
|
144
|
+
send_mail: Send an email to user
|
|
145
|
+
reporting_proposals:
|
|
146
|
+
actions:
|
|
147
|
+
answer_proposal: Resposta de la proposta
|
|
148
|
+
edit_proposal: Edita la proposta
|
|
149
|
+
import: Importa propostes d'un altre component
|
|
150
|
+
new: Nova proposta
|
|
151
|
+
participatory_texts: Textos participatius
|
|
152
|
+
show: Veure proposta
|
|
153
|
+
title: Accions
|
|
154
|
+
admin:
|
|
155
|
+
actions:
|
|
156
|
+
edit_valuators: Edita les avaluadores
|
|
157
|
+
preview: Vista prèvia
|
|
158
|
+
answer_overdue:
|
|
159
|
+
datetime:
|
|
160
|
+
distance_in_words:
|
|
161
|
+
about_x_hours:
|
|
162
|
+
one: aproximadament 1 hora de retard
|
|
163
|
+
other: aproximadament %{count} hores de retard
|
|
164
|
+
about_x_months:
|
|
165
|
+
one: aproximadament 1 mes de retard
|
|
166
|
+
other: aproximadament %{count} mesos de retard
|
|
167
|
+
about_x_years:
|
|
168
|
+
one: aproximadament 1 any de retard
|
|
169
|
+
other: aproximadament %{count} anys de retard
|
|
170
|
+
almost_x_years:
|
|
171
|
+
one: aproximadament 1 any de retard
|
|
172
|
+
other: aproximadament %{count} anys de retard
|
|
173
|
+
half_a_minute: mig minut de retard
|
|
174
|
+
less_than_x_minutes:
|
|
175
|
+
one: menys d'un minut de retard
|
|
176
|
+
other: menys de %{count} minuts de retard
|
|
177
|
+
less_than_x_seconds:
|
|
178
|
+
one: menys d'1 segon de retard
|
|
179
|
+
other: menys de %{count} segons de retard
|
|
180
|
+
over_x_years:
|
|
181
|
+
one: més d'1 any de retard
|
|
182
|
+
other: més de %{count} anys de retard
|
|
183
|
+
x_days:
|
|
184
|
+
one: 1 dia de retard
|
|
185
|
+
other: "%{count} dies de retard"
|
|
186
|
+
x_minutes:
|
|
187
|
+
one: 1 minut de retard
|
|
188
|
+
other: "%{count} minuts de retard"
|
|
189
|
+
x_months:
|
|
190
|
+
one: 1 mes de retard
|
|
191
|
+
other: "%{count} mesos de retard"
|
|
192
|
+
x_seconds:
|
|
193
|
+
one: 1 segon de retard
|
|
194
|
+
other: "%{count} segons de retard"
|
|
195
|
+
x_years:
|
|
196
|
+
one: 1 any de retard
|
|
197
|
+
other: "%{count} anys de retard"
|
|
198
|
+
answer_pending:
|
|
199
|
+
datetime:
|
|
200
|
+
distance_in_words:
|
|
201
|
+
about_x_hours:
|
|
202
|
+
one: aproximadament 1 hora per respondre
|
|
203
|
+
other: aproximadament %{count} hores per respondre
|
|
204
|
+
about_x_months:
|
|
205
|
+
one: aproximadament 1 mes per respondre
|
|
206
|
+
other: uns %{count} mesos per respondre
|
|
207
|
+
about_x_years:
|
|
208
|
+
one: aproximadament 1 any per respondre
|
|
209
|
+
other: aproximadament %{count} anys per respondre
|
|
210
|
+
almost_x_years:
|
|
211
|
+
one: gairebé 1 any per respondre
|
|
212
|
+
other: gairebé %{count} anys per respondre
|
|
213
|
+
half_a_minute: mig minut per respondre
|
|
214
|
+
less_than_x_minutes:
|
|
215
|
+
one: menys d'un minut per respondre
|
|
216
|
+
other: menys de %{count} minuts per respondre
|
|
217
|
+
less_than_x_seconds:
|
|
218
|
+
one: menys d'1 segon per respondre
|
|
219
|
+
other: menys de %{count} segons per respondre
|
|
220
|
+
over_x_years:
|
|
221
|
+
one: més d'1 any per respondre
|
|
222
|
+
other: més de %{count} anys per respondre
|
|
223
|
+
x_days:
|
|
224
|
+
one: 1 dia per respondre
|
|
225
|
+
other: "%{count} dies per respondre"
|
|
226
|
+
x_minutes:
|
|
227
|
+
one: 1 minut per respondre
|
|
228
|
+
other: "%{count} minuts per respondre"
|
|
229
|
+
x_months:
|
|
230
|
+
one: 1 mes per respondre
|
|
231
|
+
other: "%{count} mesos per respondre"
|
|
232
|
+
x_seconds:
|
|
233
|
+
one: 1 segon per respondre
|
|
234
|
+
other: "%{count} segons per respondre"
|
|
235
|
+
x_years:
|
|
236
|
+
one: 1 any per respondre
|
|
237
|
+
other: "%{count} anys per respondre"
|
|
238
|
+
categories:
|
|
239
|
+
form:
|
|
240
|
+
valuators_help: Seleccioneu les avaluadores que s'assignaran automàticament quan es publiqui una proposta en aquesta categoria (rebran una notificació).
|
|
241
|
+
index:
|
|
242
|
+
valuators_column: Avaluadores assignades
|
|
243
|
+
evaluate_pending:
|
|
244
|
+
datetime:
|
|
245
|
+
distance_in_words:
|
|
246
|
+
about_x_hours:
|
|
247
|
+
one: aproximadament 1 hora per avaluar
|
|
248
|
+
other: aproximadament %{count} hores per avaluar
|
|
249
|
+
about_x_months:
|
|
250
|
+
one: aproximadament 1 hora per avaluar
|
|
251
|
+
other: aproximadament %{count} mesos per avaluar
|
|
252
|
+
about_x_years:
|
|
253
|
+
one: aproximadament 1 any per avaluar
|
|
254
|
+
other: aproximadament %{count} anys per avaluar
|
|
255
|
+
almost_x_years:
|
|
256
|
+
one: gairebé 1 any per avaluar
|
|
257
|
+
other: gairebé %{count} anys per avaluar
|
|
258
|
+
half_a_minute: half a minute to evaluate
|
|
259
|
+
less_than_x_minutes:
|
|
260
|
+
one: menys d'un minut per avaluar
|
|
261
|
+
other: menys de %{count} minuts per avaluar
|
|
262
|
+
less_than_x_seconds:
|
|
263
|
+
one: menys d'1 segon per avaluar
|
|
264
|
+
other: menys de %{count} segons per avaluar
|
|
265
|
+
over_x_years:
|
|
266
|
+
one: més d'1 any per avaluar
|
|
267
|
+
other: més de %{count} anys per avaluar
|
|
268
|
+
x_days:
|
|
269
|
+
one: 1 dia per avaluar
|
|
270
|
+
other: "%{count} dies per avaluar"
|
|
271
|
+
x_minutes:
|
|
272
|
+
one: 1 minut per avaluar
|
|
273
|
+
other: "%{count} minuts per avaluar"
|
|
274
|
+
x_months:
|
|
275
|
+
one: 1 mes per avaluar
|
|
276
|
+
other: "%{count} mesos per avaluar"
|
|
277
|
+
x_seconds:
|
|
278
|
+
one: 1 segon per avaluar
|
|
279
|
+
other: "%{count} segons per avaluar"
|
|
280
|
+
x_years:
|
|
281
|
+
one: 1 any per avaluar
|
|
282
|
+
other: "%{count} anys per avaluar"
|
|
283
|
+
exports:
|
|
284
|
+
proposal_comments: Comentaris
|
|
285
|
+
proposals: Propostes directes
|
|
286
|
+
proposal_notes:
|
|
287
|
+
modal:
|
|
288
|
+
body: Note
|
|
289
|
+
title: Edit note
|
|
290
|
+
update: Update
|
|
291
|
+
update:
|
|
292
|
+
edited: Edited
|
|
293
|
+
invalid: There was a problem updating the proposal note.
|
|
294
|
+
success: Proposal note successfully updated.
|
|
295
|
+
proposals:
|
|
296
|
+
photo_form:
|
|
297
|
+
action: Afageix imatge
|
|
298
|
+
add_images: Afegeix imatges
|
|
299
|
+
gallery_legend: Afegeix imatges
|
|
300
|
+
title: Fotografies
|
|
301
|
+
upload_msg: Cap arxiu seleccionat
|
|
302
|
+
photo_gallery:
|
|
303
|
+
delete_image: Esborrar imatge
|
|
304
|
+
photos: Fotografies
|
|
305
|
+
photos:
|
|
306
|
+
title: Fotografies
|
|
307
|
+
valuators_list:
|
|
308
|
+
assigned_valuators: Avaluadores assignades
|
|
309
|
+
remove_assignment: desfer assignació
|
|
310
|
+
remove_assignment_confirmation: eliminar la confirmació de l'assignació
|
|
311
|
+
valuators: Avaluadores
|
|
312
|
+
resolution_time: Temps de resolució
|
|
313
|
+
time_elapsed:
|
|
314
|
+
datetime:
|
|
315
|
+
distance_in_words:
|
|
316
|
+
about_x_hours:
|
|
317
|
+
one: aproximadament 1 hora
|
|
318
|
+
other: aproximadament %{count} hores
|
|
319
|
+
about_x_months:
|
|
320
|
+
one: aproximadament 1 mes
|
|
321
|
+
other: aproximadament %{count} mesos
|
|
322
|
+
about_x_years:
|
|
323
|
+
one: aproximadament 1 any
|
|
324
|
+
other: aproximadament %{count} anys
|
|
325
|
+
almost_x_years:
|
|
326
|
+
one: gairebé 1 any
|
|
327
|
+
other: gairebé %{count} anys
|
|
328
|
+
half_a_minute: mig minut
|
|
329
|
+
less_than_x_minutes:
|
|
330
|
+
one: menys d'un minut
|
|
331
|
+
other: menys de %{count} minuts
|
|
332
|
+
less_than_x_seconds:
|
|
333
|
+
one: menys d'un segon
|
|
334
|
+
other: menys de %{count} segons
|
|
335
|
+
over_x_years:
|
|
336
|
+
one: més d’1 any
|
|
337
|
+
other: més de %{count} anys
|
|
338
|
+
x_days:
|
|
339
|
+
one: 1 dia
|
|
340
|
+
other: "%{count} dies"
|
|
341
|
+
x_minutes:
|
|
342
|
+
one: 1 minut
|
|
343
|
+
other: "%{count} minuts"
|
|
344
|
+
x_months:
|
|
345
|
+
one: 1 mes
|
|
346
|
+
other: "%{count} mesos"
|
|
347
|
+
x_seconds:
|
|
348
|
+
one: 1 segon
|
|
349
|
+
other: "%{count} segons"
|
|
350
|
+
x_years:
|
|
351
|
+
one: 1 any
|
|
352
|
+
other: "%{count} anys"
|
|
353
|
+
forms:
|
|
354
|
+
errors:
|
|
355
|
+
device_not_supported: La geolocalització no és compatible amb el vostre navegador.
|
|
356
|
+
no_device_location: Ho sentim, no hem pogut detectar la teva localització.
|
|
357
|
+
use_my_camera: Usa la meva càmera
|
|
358
|
+
use_my_location: Usa la meva localització
|
|
359
|
+
proposals:
|
|
360
|
+
compare:
|
|
361
|
+
geocoding:
|
|
362
|
+
away: "%{meters} de distància"
|
|
363
|
+
description: Aquestes són propostes que es troben en un radi de %{meters} respecte a la que esteu creant. En cas que trobeu un altra proposta d'informe en la mateixa situació, podeu optar per donar-li una adhesió en comptes de crear-ne un de nou.
|
|
364
|
+
title: Propostes properes
|
|
365
|
+
form:
|
|
366
|
+
image: Imatge/fotografia
|