decidim-sortitions 0.9.0 → 0.11.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +15 -8
- data/app/assets/config/decidim_sortitions_manifest.css +1 -1
- data/app/assets/stylesheets/decidim/sortitions/_sortitions.scss +13 -9
- data/app/assets/stylesheets/decidim/sortitions/social_share.css.scss +8 -4
- data/app/commands/decidim/sortitions/admin/create_sortition.rb +5 -3
- data/app/commands/decidim/sortitions/admin/destroy_sortition.rb +11 -5
- data/app/commands/decidim/sortitions/admin/update_sortition.rb +3 -1
- data/app/controllers/decidim/sortitions/admin/application_controller.rb +3 -3
- data/app/controllers/decidim/sortitions/admin/sortitions_controller.rb +3 -3
- data/app/controllers/decidim/sortitions/application_controller.rb +2 -2
- data/app/controllers/decidim/sortitions/sortition_widgets_controller.rb +1 -1
- data/app/forms/decidim/sortitions/admin/destroy_sortition_form.rb +1 -1
- data/app/forms/decidim/sortitions/admin/edit_sortition_form.rb +1 -1
- data/app/forms/decidim/sortitions/admin/sortition_form.rb +3 -3
- data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +3 -3
- data/app/helpers/decidim/sortitions/sortitions_helper.rb +1 -1
- data/app/models/decidim/sortitions/sortition.rb +14 -8
- data/app/presenters/decidim/sortitions/admin_log/sortition_presenter.rb +50 -0
- data/app/queries/decidim/sortitions/admin/{participatory_space_proposal_features.rb → participatory_space_proposal_components.rb} +4 -4
- data/app/queries/decidim/sortitions/admin/participatory_space_proposals.rb +2 -2
- data/app/queries/decidim/sortitions/filtered_sortitions.rb +9 -9
- data/app/services/decidim/sortitions/sortition_search.rb +1 -1
- data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +3 -3
- data/app/views/decidim/sortitions/admin/sortitions/index.html.erb +2 -2
- data/app/views/decidim/sortitions/admin/sortitions/new.html.erb +1 -1
- data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +4 -4
- data/app/views/decidim/sortitions/sortition_widgets/show.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_filters.html.erb +6 -6
- data/app/views/decidim/sortitions/sortitions/_filters_small_view.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_proposal.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_results_count.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_sortition.html.erb +4 -4
- data/app/views/decidim/sortitions/sortitions/_sortition_author.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_sortition_cancel_author.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_tags.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/index.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/show.html.erb +12 -12
- data/config/locales/ca.yml +99 -109
- data/config/locales/en.yml +90 -94
- data/config/locales/es.yml +97 -107
- data/config/locales/eu.yml +145 -0
- data/config/locales/fi.yml +145 -0
- data/config/locales/fr.yml +145 -0
- data/config/locales/gl.yml +145 -0
- data/config/locales/it.yml +145 -0
- data/config/locales/nl.yml +145 -0
- data/config/locales/pl.yml +155 -0
- data/config/locales/pt-BR.yml +145 -0
- data/config/locales/pt.yml +145 -0
- data/config/locales/ru.yml +13 -0
- data/config/locales/sv.yml +145 -0
- data/config/locales/uk.yml +13 -0
- data/db/migrate/20180322082150_fix_sortitions_feature.rb +11 -0
- data/db/migrate/20180322085145_fix_sortitions_proposal_feature.rb +11 -0
- data/lib/decidim/sortitions.rb +1 -1
- data/lib/decidim/sortitions/component.rb +38 -0
- data/lib/decidim/sortitions/test/factories.rb +7 -7
- data/lib/decidim/sortitions/version.rb +3 -1
- metadata +46 -33
- data/LICENSE-AGPLv3.txt +0 -661
- data/app/views/decidim/sortitions/sortitions/_filters_small_view0.html.erb +0 -18
- data/lib/decidim/sortitions/feature.rb +0 -43
@@ -26,7 +26,7 @@ module Decidim
|
|
26
26
|
return Decidim::Proposals::Proposal
|
27
27
|
.except_withdrawn
|
28
28
|
.where("created_at < ?", request_timestamp)
|
29
|
-
.where(
|
29
|
+
.where(component: sortition.decidim_proposals_component)
|
30
30
|
.order(id: :asc)
|
31
31
|
end
|
32
32
|
|
@@ -34,7 +34,7 @@ module Decidim
|
|
34
34
|
Decidim::Proposals::Proposal
|
35
35
|
.joins(:categorization)
|
36
36
|
.except_withdrawn
|
37
|
-
.where(
|
37
|
+
.where(component: sortition.decidim_proposals_component)
|
38
38
|
.where("decidim_proposals_proposals.created_at < ?", request_timestamp)
|
39
39
|
.where("decidim_categorizations.decidim_category_id = ?", category.id)
|
40
40
|
.order(id: :asc)
|
@@ -2,32 +2,32 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Sortitions
|
5
|
-
# A class used to find sortitions filtered by
|
5
|
+
# A class used to find sortitions filtered by components and a date range
|
6
6
|
class FilteredSortitions < Rectify::Query
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
8
8
|
#
|
9
|
-
#
|
9
|
+
# components - An array of Decidim::Component
|
10
10
|
# start_at - A date to filter resources created after it
|
11
11
|
# end_at - A date to filter resources created before it.
|
12
|
-
def self.for(
|
13
|
-
new(
|
12
|
+
def self.for(components, start_at = nil, end_at = nil)
|
13
|
+
new(components, start_at, end_at).query
|
14
14
|
end
|
15
15
|
|
16
16
|
# Initializes the class.
|
17
17
|
#
|
18
|
-
#
|
18
|
+
# components - An array of Decidim::Component
|
19
19
|
# start_at - A date to filter resources created after it
|
20
20
|
# end_at - A date to filter resources created before it.
|
21
|
-
def initialize(
|
22
|
-
@
|
21
|
+
def initialize(components, start_at = nil, end_at = nil)
|
22
|
+
@components = components
|
23
23
|
@start_at = start_at
|
24
24
|
@end_at = end_at
|
25
25
|
end
|
26
26
|
|
27
|
-
# Finds the Proposals scoped to an array of
|
27
|
+
# Finds the Proposals scoped to an array of components and filtered
|
28
28
|
# by a range of dates.
|
29
29
|
def query
|
30
|
-
sortitions = Decidim::Sortitions::Sortition.where(
|
30
|
+
sortitions = Decidim::Sortitions::Sortition.where(component: @components)
|
31
31
|
sortitions = sortitions.where("created_at >= ?", @start_at) if @start_at.present?
|
32
32
|
sortitions = sortitions.where("created_at <= ?", @end_at) if @end_at.present?
|
33
33
|
sortitions
|
@@ -6,7 +6,7 @@ module Decidim
|
|
6
6
|
# sortitions in a participatory process.
|
7
7
|
class SortitionSearch < ResourceSearch
|
8
8
|
# Public: Initializes the service.
|
9
|
-
#
|
9
|
+
# component - A Decidim::Component to get the proposals from.
|
10
10
|
# page - The page number to paginate the results.
|
11
11
|
# per_page - The number of proposals to return per page.
|
12
12
|
def initialize(options = {})
|
@@ -10,9 +10,9 @@
|
|
10
10
|
</div>
|
11
11
|
|
12
12
|
<div class="columns xlarge-4">
|
13
|
-
<%= form.select :
|
14
|
-
|
15
|
-
prompt: t(".
|
13
|
+
<%= form.select :decidim_proposals_component_id,
|
14
|
+
components_options(proposal_components),
|
15
|
+
prompt: t(".select_proposal_component") %>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<div class="columns xlarge-4">
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<%= t(".title") %>
|
5
5
|
<div class="button--title">
|
6
6
|
<% if can? :create, Decidim::Sortitions::Sortition %>
|
7
|
-
<%= link_to t("actions.new", scope: "decidim.sortitions.admin", name: t("models.sortition.name", scope: "decidim.sortitions.admin")), new_sortition_path, class:
|
7
|
+
<%= link_to t("actions.new", scope: "decidim.sortitions.admin", name: t("models.sortition.name", scope: "decidim.sortitions.admin")), new_sortition_path, class: "button tiny button--simple" if can? :manage, current_component %>
|
8
8
|
<% end %>
|
9
9
|
</div>
|
10
10
|
</h2>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<tr>
|
27
27
|
<td><%= sortition.reference %></td>
|
28
28
|
<td><%= translated_attribute sortition.title %></td>
|
29
|
-
<td><%=l sortition.created_at, format: :short %></td>
|
29
|
+
<td><%= l sortition.created_at, format: :short %></td>
|
30
30
|
<td class="table-list__actions">
|
31
31
|
<%= icon_link_to "eye",
|
32
32
|
sortition_path(sortition),
|
@@ -13,18 +13,18 @@
|
|
13
13
|
<th><%= t("models.sortition.fields.dice", scope: "decidim.sortitions.admin") %></th>
|
14
14
|
<th><%= t("models.sortition.fields.target_items", scope: "decidim.sortitions.admin") %></th>
|
15
15
|
<th><%= t("models.sortition.fields.category", scope: "decidim.sortitions.admin") %></th>
|
16
|
-
<th><%= t("models.sortition.fields.
|
16
|
+
<th><%= t("models.sortition.fields.decidim_proposals_component", scope: "decidim.sortitions.admin") %></th>
|
17
17
|
<th><%= t("models.sortition.fields.seed", scope: "decidim.sortitions.admin") %></th>
|
18
18
|
<th></th>
|
19
19
|
</tr>
|
20
20
|
</thead>
|
21
21
|
<tbody>
|
22
22
|
<tr>
|
23
|
-
<td><%=l sortition.request_timestamp, format: :long %></td>
|
23
|
+
<td><%= l sortition.request_timestamp, format: :long %></td>
|
24
24
|
<td><%= sortition.dice %></td>
|
25
25
|
<td><%= sortition.target_items %></td>
|
26
26
|
<td><%= sortition_category sortition %></td>
|
27
|
-
<td><%= translated_attribute sortition.
|
27
|
+
<td><%= translated_attribute sortition.decidim_proposals_component.name %></td>
|
28
28
|
<td><%= sortition.seed %></td>
|
29
29
|
<td></td>
|
30
30
|
</tr>
|
@@ -37,7 +37,7 @@
|
|
37
37
|
<table class="table-list proposals">
|
38
38
|
<thead>
|
39
39
|
<tr>
|
40
|
-
<th><%=t ".selected_proposals" %></th>
|
40
|
+
<th><%= t ".selected_proposals" %></th>
|
41
41
|
<th></th>
|
42
42
|
</tr>
|
43
43
|
</thead>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<% content_for(:title, translated_attribute(model.title)) %>
|
2
2
|
<p>
|
3
|
-
<%= decidim_sanitize html_truncate(translated_attribute(model.additional_info), length: 100, separator:
|
3
|
+
<%= decidim_sanitize html_truncate(translated_attribute(model.additional_info), length: 100, separator: "...") %>
|
4
4
|
</p>
|
@@ -2,10 +2,10 @@
|
|
2
2
|
<div class="filters__section">
|
3
3
|
<div class="filters__search">
|
4
4
|
<div class="input-group">
|
5
|
-
<%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(
|
5
|
+
<%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(".search") %>
|
6
6
|
<div class="input-group-button">
|
7
7
|
<button type="submit" class="button button--muted">
|
8
|
-
<%= icon "magnifying-glass", aria_label: t(
|
8
|
+
<%= icon "magnifying-glass", aria_label: t(".search") %>
|
9
9
|
</button>
|
10
10
|
</div>
|
11
11
|
</div>
|
@@ -15,17 +15,17 @@
|
|
15
15
|
<% if current_participatory_space.categories.any? %>
|
16
16
|
<%= form.categories_select :category_id,
|
17
17
|
current_participatory_space.categories,
|
18
|
-
legend_title: t(
|
18
|
+
legend_title: t(".category"),
|
19
19
|
disable_parents: false,
|
20
20
|
label: false,
|
21
|
-
prompt: t(
|
21
|
+
prompt: t(".category_prompt") %>
|
22
22
|
<% end %>
|
23
23
|
|
24
24
|
<%= form.collection_radio_buttons :state,
|
25
|
-
[["all", t(
|
25
|
+
[["all", t(".all")], ["active", t(".active")], ["cancelled", t(".cancelled")]],
|
26
26
|
:first,
|
27
27
|
:last,
|
28
|
-
legend_title: t(
|
28
|
+
legend_title: t(".state") %>
|
29
29
|
|
30
30
|
<%= hidden_field_tag :order, order, id: nil, class: "order_filter" %>
|
31
31
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="filters-controls hide-for-mediumlarge">
|
2
2
|
<button data-open="filter-box" class="filters-controls__trigger">
|
3
3
|
<%= t ".filter" %>
|
4
|
-
<%= icon "caret-bottom", class: "icon--small float-right", aria_label: t(
|
4
|
+
<%= icon "caret-bottom", class: "icon--small float-right", aria_label: t(".unfold"), role: "img" %>
|
5
5
|
</button>
|
6
6
|
</div>
|
7
7
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="card__author author-data author-data--small">
|
9
9
|
<%= render partial: "decidim/shared/author_reference", locals: { author: present(proposal).author } %>
|
10
10
|
</div>
|
11
|
-
<%=
|
11
|
+
<%= resource_reference(proposal, class: "reference--text-left") %>
|
12
12
|
</div>
|
13
13
|
<%= render partial: "proposal_badge", locals: { proposal: proposal } %>
|
14
14
|
<p><%= truncate(proposal.body, length: 100) %></p>
|
@@ -2,22 +2,22 @@
|
|
2
2
|
<article class="card card--sortition">
|
3
3
|
<div class="card__content">
|
4
4
|
<div class="card__header">
|
5
|
-
<%= link_to sortition do%>
|
5
|
+
<%= link_to sortition do %>
|
6
6
|
<h5 class="card__title"><%= translated_attribute sortition.title %></h5>
|
7
7
|
<% end %>
|
8
8
|
<div class="card__author author-data author-data--small">
|
9
9
|
<%= render partial: "sortition_author", locals: { sortition: sortition } %>
|
10
10
|
</div>
|
11
|
-
<%=
|
11
|
+
<%= resource_reference(sortition, class: "reference--text-left") %>
|
12
12
|
</div>
|
13
13
|
<p class="card__desc">
|
14
|
-
<%= decidim_sanitize html_truncate(translated_attribute(sortition.additional_info), length: 100, separator:
|
14
|
+
<%= decidim_sanitize html_truncate(translated_attribute(sortition.additional_info), length: 100, separator: "...") %>
|
15
15
|
</p>
|
16
16
|
<%= render partial: "tags", locals: { sortition: sortition } %>
|
17
17
|
</div>
|
18
18
|
<div class="card__footer">
|
19
19
|
<div class="card__support">
|
20
|
-
<div class="card__support__data"><%=t
|
20
|
+
<div class="card__support__data"><%= t ".selected_proposals", count: sortition.selected_proposals.count %></div>
|
21
21
|
<%= link_to t(".view_sortition"), sortition, class: "card__button button small secondary" %>
|
22
22
|
</div>
|
23
23
|
</div>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="row">
|
9
9
|
<div class="columns mediumlarge-4 large-3">
|
10
10
|
<%= render partial: "filters_small_view" %>
|
11
|
-
<div class="card card--secondary show-for-mediumlarge"
|
11
|
+
<div class="card card--secondary show-for-mediumlarge">
|
12
12
|
<%= render partial: "filters" %>
|
13
13
|
</div>
|
14
14
|
</div>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<div class="row column">
|
8
8
|
<div class="callout success">
|
9
|
-
<p><%=t ".introduction", reference: sortition.id, target_items: sortition.target_items %></p>
|
9
|
+
<p><%= t ".introduction", reference: sortition.id, target_items: sortition.target_items %></p>
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<%= render partial: "results_count", locals: { sortition: sortition } %>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
|
-
<%=
|
27
|
+
<%= resource_reference(sortition) %>
|
28
28
|
<%= render partial: "decidim/shared/share_modal" %>
|
29
29
|
<%= embed_modal_for sortition_sortition_widget_url(sortition, format: :js) %>
|
30
30
|
</div>
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<% if sortition.cancelled? %>
|
40
40
|
<div class="row column">
|
41
41
|
<div class="title-action">
|
42
|
-
<h2 class="title-action__title section-heading"><%=t ".cancelled" %></h2>
|
42
|
+
<h2 class="title-action__title section-heading"><%= t ".cancelled" %></h2>
|
43
43
|
</div>
|
44
44
|
<div class=section>
|
45
45
|
<div class="author-data">
|
@@ -54,7 +54,7 @@
|
|
54
54
|
|
55
55
|
<div class="row column">
|
56
56
|
<div class="title-action">
|
57
|
-
<h2 class="title-action__title section-heading"><%=t ".witnesses" %></h2>
|
57
|
+
<h2 class="title-action__title section-heading"><%= t ".witnesses" %></h2>
|
58
58
|
</div>
|
59
59
|
<div class="section">
|
60
60
|
<%= sanitize translated_attribute sortition.witnesses %>
|
@@ -65,7 +65,7 @@
|
|
65
65
|
<div class="row columns">
|
66
66
|
<div class="title-action">
|
67
67
|
<h2 id="proposals-count" class="title-action__title section-heading">
|
68
|
-
<%=t ".proposals_selected_by_sortition" %>
|
68
|
+
<%= t ".proposals_selected_by_sortition" %>
|
69
69
|
</h2>
|
70
70
|
</div>
|
71
71
|
<div class="row">
|
@@ -81,27 +81,27 @@
|
|
81
81
|
<div class="row column">
|
82
82
|
<section class="extended" id="sortition-details">
|
83
83
|
<div class="row column">
|
84
|
-
<h4 class="section-heading"><%=t ".sortition_reproducibility_details" %></h4>
|
84
|
+
<h4 class="section-heading"><%= t ".sortition_reproducibility_details" %></h4>
|
85
85
|
</div>
|
86
86
|
<div class=row>
|
87
87
|
<div class="columns small-centered mediumlarge-12 large-12 sortition-details">
|
88
88
|
<div class="sortition-details-item">
|
89
|
-
<span class="sortition-details-title sortition-details-text"><%=t ".dice_result" %></span>
|
89
|
+
<span class="sortition-details-title sortition-details-text"><%= t ".dice_result" %></span>
|
90
90
|
<span class=sortition-details-text><%= sortition.dice %></span>
|
91
91
|
</div>
|
92
92
|
|
93
93
|
<div class="sortition-details-item">
|
94
|
-
<span class="sortition-details-title sortition-details-text"><%=t ".time_seed" %></span>
|
94
|
+
<span class="sortition-details-title sortition-details-text"><%= t ".time_seed" %></span>
|
95
95
|
<span class=sortition-details-text><%= sortition.request_timestamp.to_i %></span>
|
96
96
|
</div>
|
97
97
|
|
98
98
|
<div class="sortition-details-item">
|
99
|
-
<span class="sortition-details-title sortition-details-text"><%=t ".mathematical_result" %></span>
|
99
|
+
<span class="sortition-details-title sortition-details-text"><%= t ".mathematical_result" %></span>
|
100
100
|
<span class=sortition-details-text><%= sortition.seed %></span>
|
101
101
|
</div>
|
102
102
|
|
103
103
|
<div class="sortition-details-item">
|
104
|
-
<span class="sortition-details-title sortition-details-text"><%=t ".algorithm" %></span><br
|
104
|
+
<span class="sortition-details-title sortition-details-text"><%= t ".algorithm" %></span><br />
|
105
105
|
<span class=sortition-details-text>
|
106
106
|
<%= link_to Decidim::Sortitions.sortition_algorithm,
|
107
107
|
Decidim::Sortitions.sortition_algorithm,
|
@@ -115,10 +115,10 @@
|
|
115
115
|
|
116
116
|
<section class=extended>
|
117
117
|
<div class="row column">
|
118
|
-
<h4 class="section-heading"><%=t ".candidate_proposal_ids" %></h4>
|
118
|
+
<h4 class="section-heading"><%= t ".candidate_proposal_ids" %></h4>
|
119
119
|
</div>
|
120
120
|
<div class="row columns">
|
121
|
-
<%=t ".candidate_proposals_info", category_label: sortition_category_label(sortition) %>:
|
121
|
+
<%= t ".candidate_proposals_info", category_label: sortition_category_label(sortition) %>:
|
122
122
|
</div>
|
123
123
|
<div class=row>
|
124
124
|
<div class="columns small-centered mediumlarge-12 large-12">
|
data/config/locales/ca.yml
CHANGED
@@ -1,155 +1,145 @@
|
|
1
|
-
---
|
2
1
|
ca:
|
3
2
|
activemodel:
|
4
3
|
attributes:
|
5
4
|
sortition:
|
5
|
+
additional_info: Informació sobre el sorteig
|
6
|
+
decidim_category_id: Categories del conjunt de propostes en què voleu aplicar el sorteig
|
7
|
+
decidim_proposals_component_id: Propostes establertes
|
8
|
+
dice: Resultat de la tirada de daus (tira un dau de sis cares o busca alguna altra manera de generar un número de 1 a 6) i introdueix-lo aquí, a diferència de ser testimoni del resultat. Això contribueix en la qualitat de l'aleatorietat
|
9
|
+
target_items: Nombre de propostes a seleccionar (indica el nombre de propostes que voleu seleccionar mitjançant el sorteig del grup de propostes que hàgiu triat prèviament)
|
6
10
|
title: Títol
|
7
|
-
dice: Resultat de la tirada de dau (tira un dau de 6 cares (o busca una altra manera aleatòria de generar un número de l'1 al 6) i introdueix aquí, davant de testimoni el nombre resultant, això contribueix a la qualitat i garanties de l'aleatorietat del resultat
|
8
|
-
target_items: Nombre de propostes a seleccionar (indica el nombre de propostes que vols que siguin seleccionades mitjançant sorteig del conjunt de propostes que has escollit prèviament)
|
9
|
-
decidim_category_id: Categories del conjunt de propostes en les que vols aplicar el sorteig
|
10
|
-
decidim_proposals_feature_id: Conjunt de propostes
|
11
11
|
witnesses: Testimonis
|
12
|
-
additional_info: Informació adicional
|
13
|
-
pages:
|
14
|
-
home:
|
15
|
-
statistics:
|
16
|
-
sortitions_count: Sortejos
|
17
12
|
decidim:
|
13
|
+
components:
|
14
|
+
sortitions:
|
15
|
+
name: Sortejos
|
16
|
+
settings:
|
17
|
+
global:
|
18
|
+
comments_enabled: Comentaris habilitats
|
18
19
|
events:
|
19
20
|
sortitions:
|
20
21
|
sortition_created:
|
21
|
-
email_intro:
|
22
|
-
email_outro:
|
23
|
-
email_subject:
|
24
|
-
notification_title:
|
22
|
+
email_intro: S'ha afegit el sorteig "%{resource_title}" a "%{participatory_space_title}", que segueixes.
|
23
|
+
email_outro: Has rebut aquesta notificació perquè estàs seguint "%{participatory_space_title}". Pots deixar de seguir-lo des de l'enllaç anterior.
|
24
|
+
email_subject: S'ha afegit un nou sorteig a %{participatory_space_title}
|
25
|
+
notification_title: El sorteig <a href="%{resource_path}">%{resource_title}</a> s'ha afegit a %{participatory_space_title}
|
25
26
|
participatory_processes:
|
26
27
|
statistics:
|
27
28
|
sortitions_count: Sortejos
|
28
|
-
features:
|
29
|
-
sortitions:
|
30
|
-
name: Sortejos
|
31
|
-
settings:
|
32
|
-
global:
|
33
|
-
comments_enabled: Comentaris habilitats
|
34
29
|
sortitions:
|
35
30
|
admin:
|
36
31
|
actions:
|
37
|
-
|
32
|
+
destroy: Cancel·la el sorteig
|
38
33
|
edit: Edita
|
34
|
+
new: Nou
|
39
35
|
show: Detalls del sorteig
|
40
|
-
destroy: Cancela el sorteig
|
41
36
|
models:
|
42
37
|
sortition:
|
43
|
-
name:
|
44
|
-
one: Sorteig
|
45
|
-
other: Sortejos
|
46
38
|
fields:
|
47
|
-
id: Identificador
|
48
|
-
title: Títol
|
49
|
-
reference: Referència
|
50
|
-
dice: Dau
|
51
|
-
request_timestamp: Hora del sorteig
|
52
|
-
target_items: Elements a seleccionar
|
53
|
-
seed: Llavor
|
54
39
|
category: Categoria
|
55
|
-
decidim_proposals_feature: Funcionalitat de propostes
|
56
|
-
similar_count: Sortejos similars
|
57
40
|
created_at: Data de creació
|
41
|
+
decidim_proposals_component: Component de propostes
|
42
|
+
dice: Daus
|
43
|
+
reference: Referència
|
44
|
+
request_timestamp: Temps de dibuixat
|
45
|
+
seed: Llavor
|
46
|
+
target_items: Elements a seleccionar
|
47
|
+
title: Títol
|
48
|
+
name:
|
49
|
+
one: Sorteig
|
50
|
+
other: Sortejos
|
58
51
|
sortitions:
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
52
|
+
confirm_destroy:
|
53
|
+
confirm_destroy: Estàs segur que vols cancel·lar aquest sorteig?
|
54
|
+
destroy: Cancel·lar el sorteig
|
55
|
+
title: Cancel·lació del sorteig
|
56
|
+
create:
|
57
|
+
error: S'ha produït un error en crear un nou sorteig.
|
58
|
+
success: El sorteig s'ha creat correctament
|
59
|
+
destroy:
|
60
|
+
error: No es pot cancel·lar el sorteig.
|
61
|
+
success: El sorteig s'ha cancel·lat correctament
|
69
62
|
edit:
|
70
|
-
title: Actualitza la informació sobre el
|
63
|
+
title: Actualitza la informació sobre el sorteig
|
71
64
|
update: Actualitzar
|
72
65
|
form:
|
73
|
-
title: Nou sorteig de propostes
|
74
66
|
all_categories: Totes les categories
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
67
|
+
select_proposal_component: Selecciona el grup de propostes
|
68
|
+
title: Nou sorteig per propostes
|
69
|
+
index:
|
70
|
+
title: Sortejos
|
71
|
+
new:
|
72
|
+
confirm: Pressionant el botó següent, Decidim registrarà la data i l'hora (amb precisió de segons) i, juntament amb la tirada de daus, aquesta informació s'utilitzarà per generar una selecció aleatòria. L'acció serà irreversible, una vegada que es faci clic al botó, es publicarà el resultat d'aquest sorteig, juntament amb les dades introduïdes en aquest formulari i que no es poden modificar. Si us plau, comprova el contingut acuradament
|
73
|
+
create: Crear
|
74
|
+
title: Nou sorteig
|
82
75
|
show:
|
83
|
-
selected_proposals: Propostes seleccionades per sorteig
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
76
|
+
selected_proposals: Propostes seleccionades per al sorteig
|
77
|
+
update:
|
78
|
+
error: S'ha produït un error en actualitzar el sorteig.
|
79
|
+
success: El sorteig s'ha actualitzat amb èxit
|
80
|
+
admin_log:
|
81
|
+
sortition:
|
82
|
+
create: "%{user_name} ha creat el sorteig %{resource_name} a %{space_name}"
|
83
|
+
delete: "%{user_name} ha cancel·lat el sorteig %{resource_name} a %{space_name}"
|
84
|
+
update: "%{user_name} ha actualitzat el sorteig %{resource_name} a %{space_name}"
|
91
85
|
sortitions:
|
92
86
|
count:
|
93
87
|
proposals_count:
|
94
88
|
one: 1 proposta
|
95
89
|
other: "%{count} propostes"
|
96
|
-
author:
|
97
|
-
deleted: Usuari eliminat
|
98
|
-
verified_user_group: Organització verificada
|
99
|
-
proposal:
|
100
|
-
view_proposal: Veure proposta
|
101
|
-
sortitions_count:
|
102
|
-
count:
|
103
|
-
one: 1 sorteig
|
104
|
-
other: "%{count} sortejos"
|
105
|
-
results_count:
|
106
|
-
count:
|
107
|
-
one: proposta seleccionada
|
108
|
-
other: propostes seleccionades
|
109
|
-
show:
|
110
|
-
witnesses: Testimonis
|
111
|
-
cancelled: Sorteig cancel·lat
|
112
|
-
sortition_reproducibility_details: Detalls de reproducibilitat del sorteig
|
113
|
-
proposals_selected_by_sortition: Propostes sel·leccionades per sorteig
|
114
|
-
introduction: >
|
115
|
-
Aquesta pàgina conté els resultats del sorteig %{reference}. Per mitjà d'aquest sorteig,
|
116
|
-
%{target_items} propostes s'han seleccionat a l'atzar i amb la mateixa distribució de
|
117
|
-
probabilitat del conjunt de propostes que es mostren a continuació. Juntament amb els resultats,
|
118
|
-
La informació que es mostra en aquesta pàgina proporciona tota la informació requerida per maximitzar les
|
119
|
-
garanties i reproduir els resultats. La clau per a la qualitat d'aquesta classificació és la doble
|
120
|
-
aleatorietat proporcionada pel llançament d'un dau (verificat per testimonis) i el temps exacte de
|
121
|
-
la classificació que proporciona l'entrada per a un algorisme que genera una selecció aleatòria.
|
122
|
-
La sembra de temps per a la classificació és tan precisa (segons) que és impossible de controlar pels
|
123
|
-
humans proporcionant així una doble entrada "incontrolable" per garantir un resultat just.
|
124
|
-
dice_result: (1) Resultat del dau
|
125
|
-
time_seed: (2) Llavor temporal
|
126
|
-
mathematical_result: Resultat (1) x (2)
|
127
|
-
algorithm: Codi de l'algoritme del sorteig
|
128
|
-
candidate_proposal_ids: Ordre de propostes del sorteig i identificadors
|
129
|
-
candidate_proposals_info: >
|
130
|
-
El sorteig es va dur a terme entre les següents propostes (%{category_label}), amb els següents
|
131
|
-
identificadors (en negreta les propostes seleccionades)
|
132
|
-
any_category: de totes les categories
|
133
|
-
category: De la categoria %{category}
|
134
90
|
filters:
|
135
|
-
|
91
|
+
active: Actius
|
92
|
+
all: Tots
|
93
|
+
cancelled: Cancel·lats
|
136
94
|
category: Categoria
|
137
95
|
category_prompt: Selecciona una categoria
|
96
|
+
search: Cerca
|
138
97
|
state: Estat
|
139
|
-
all: Tots
|
140
|
-
active: Actius
|
141
|
-
cancelled: Cancelats
|
142
98
|
filters_small_view:
|
143
|
-
close_modal:
|
144
|
-
filter:
|
145
|
-
filter_by:
|
99
|
+
close_modal: Tanca el modal
|
100
|
+
filter: Filtre
|
101
|
+
filter_by: Filtra per
|
146
102
|
unfold: Desplegar
|
103
|
+
linked_sortitions:
|
104
|
+
selected_proposals: Propostes seleccionades
|
147
105
|
orders:
|
148
|
-
label: '
|
106
|
+
label: 'Ordeneu els sortejos per:'
|
149
107
|
random: Aleatori
|
150
108
|
recent: Recent
|
109
|
+
proposal:
|
110
|
+
view_proposal: Veure proposta
|
111
|
+
results_count:
|
112
|
+
count:
|
113
|
+
one: proposta seleccionada
|
114
|
+
other: propostes seleccionades
|
115
|
+
show:
|
116
|
+
algorithm: Codi d'algoritme del sorteig
|
117
|
+
any_category: de totes les categories
|
118
|
+
cancelled: Sorteig cancel·lat
|
119
|
+
candidate_proposal_ids: Ordre i IDs de les propostes del sorteig
|
120
|
+
candidate_proposals_info: 'La resolució es va dur a terme entre les següents propostes (%{category_label}), amb les següents IDs (en negreta, les propostes seleccionades) '
|
121
|
+
category: de la categoria %{category}
|
122
|
+
dice_result: "(1) Resultat de la tirada de daus"
|
123
|
+
introduction: 'Aquesta pàgina conté els resultats del sorteig %{reference}. Mitjançant aquest sorteig, %{target_items} nombre de resultats han estat seleccionats aleatòriament i amb una distribució de probabilitat igual al conjunt de propostes que es mostra a continuació. Juntament amb els resultats, la informació que es mostra en aquesta pàgina proporciona tota la informació necessària per maximitzar les garanties i reproduir els resultats. La clau per a la qualitat d''aquest sorteig és l''aleatorietat doble proporcionada per una tirada d''un dau (verificat pels testimonis) i el temps precís de l''assentament que proporciona entrada per a un algorisme que genera una selecció aleatòria. El llindar de temps per a l''assaig és tan precís (segons) que és impossible de controlar pels humans, oferint així una doble entrada "incontrolable" per garantir un resultat just. '
|
124
|
+
mathematical_result: Resultat (1) x (2)
|
125
|
+
proposals_selected_by_sortition: Propostes seleccionades pel sorteig
|
126
|
+
sortition_reproducibility_details: Detalls de la reproductibilitat del sorteig
|
127
|
+
time_seed: "(2) Llavor de temps"
|
128
|
+
witnesses: Testimonis
|
151
129
|
sortition:
|
152
130
|
selected_proposals:
|
153
|
-
one: 1 proposta seleccionada
|
131
|
+
one: 1 proposta seleccionada
|
154
132
|
other: "%{count} propostes seleccionades"
|
155
|
-
view_sortition:
|
133
|
+
view_sortition: Mostra el sorteig
|
134
|
+
sortition_author:
|
135
|
+
deleted: Usuari eliminat
|
136
|
+
sortition_cancel_author:
|
137
|
+
deleted: Usuari eliminat
|
138
|
+
sortitions_count:
|
139
|
+
count:
|
140
|
+
one: 1 sorteig
|
141
|
+
other: "%{count} classificacions"
|
142
|
+
pages:
|
143
|
+
home:
|
144
|
+
statistics:
|
145
|
+
sortitions_count: Sortejos
|