decidim-reporting_proposals 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|