decidim-sortitions 0.29.2 → 0.30.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/commands/decidim/sortitions/admin/create_sortition.rb +2 -6
- data/app/controllers/decidim/sortitions/sortitions_controller.rb +2 -2
- data/app/forms/decidim/sortitions/admin/sortition_form.rb +6 -3
- data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +5 -3
- data/app/helpers/decidim/sortitions/sortitions_helper.rb +18 -20
- data/app/models/decidim/sortitions/sortition.rb +14 -2
- data/app/queries/decidim/sortitions/admin/participatory_space_proposals.rb +6 -9
- data/app/queries/decidim/sortitions/filtered_sortitions.rb +2 -2
- data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +19 -4
- data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +2 -2
- data/app/views/decidim/sortitions/sortitions/index.html.erb +8 -1
- data/app/views/decidim/sortitions/sortitions/show.html.erb +10 -9
- data/config/locales/ar.yml +0 -6
- data/config/locales/bg.yml +0 -6
- data/config/locales/ca.yml +11 -6
- data/config/locales/cs.yml +11 -6
- data/config/locales/de.yml +0 -6
- data/config/locales/el.yml +0 -6
- data/config/locales/en.yml +11 -6
- data/config/locales/es-MX.yml +11 -6
- data/config/locales/es-PY.yml +11 -6
- data/config/locales/es.yml +11 -6
- data/config/locales/eu.yml +11 -6
- data/config/locales/fi-plain.yml +0 -6
- data/config/locales/fi.yml +0 -6
- data/config/locales/fr-CA.yml +3 -6
- data/config/locales/fr.yml +3 -6
- data/config/locales/ga-IE.yml +0 -1
- data/config/locales/gl.yml +0 -6
- data/config/locales/hu.yml +0 -6
- data/config/locales/id-ID.yml +0 -6
- data/config/locales/is-IS.yml +0 -6
- data/config/locales/it.yml +0 -6
- data/config/locales/ja.yml +0 -6
- data/config/locales/lt.yml +0 -6
- data/config/locales/lv.yml +0 -6
- data/config/locales/nl.yml +0 -6
- data/config/locales/no.yml +0 -6
- data/config/locales/pl.yml +0 -6
- data/config/locales/pt-BR.yml +0 -6
- data/config/locales/pt.yml +0 -6
- data/config/locales/ro-RO.yml +10 -6
- data/config/locales/ru.yml +0 -6
- data/config/locales/sk.yml +0 -6
- data/config/locales/sv.yml +0 -6
- data/config/locales/tr-TR.yml +0 -6
- data/config/locales/uk.yml +0 -6
- data/config/locales/zh-CN.yml +0 -6
- data/config/locales/zh-TW.yml +0 -6
- data/db/migrate/20240828103823_add_deleted_at_to_decidim_sortitions_sortitions.rb +8 -0
- data/decidim-sortitions.gemspec +1 -1
- data/lib/decidim/api/sortition_type.rb +11 -12
- data/lib/decidim/api/sortitions_type.rb +4 -5
- data/lib/decidim/sortitions/component.rb +1 -0
- data/lib/decidim/sortitions/version.rb +1 -1
- metadata +19 -19
- data/app/views/decidim/sortitions/sortitions/_tags.html.erb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e300d2d8eac9304be8ba3bc3e2cb8833637698ed7a5e35b7214c2d3eb3c0bdc1
|
4
|
+
data.tar.gz: 515b3389c8474159fa189c3db384644ca1e9d35272afdcbb8fafade192936e3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2b5fb08323e3178187824a5056998a73174e84444e2ff09afb00901c76e5f7a28daa8f98f9a04c39de983761fe22fc42306f6d60c0a28ce36f9be75b7f46478
|
7
|
+
data.tar.gz: 6826e795353348fbdc155a841c48d9f6b1c823f511e68ebcea284e9a63b103e9ccf08c877fd56ece4e4902aac067e1cb75251f6e8ed236547b784a9a39aec5b0
|
@@ -49,16 +49,12 @@ module Decidim
|
|
49
49
|
additional_info: form.additional_info,
|
50
50
|
selected_proposals: [],
|
51
51
|
candidate_proposals: [],
|
52
|
-
|
52
|
+
taxonomizations: form.taxonomizations
|
53
53
|
)
|
54
54
|
end
|
55
55
|
|
56
|
-
def category
|
57
|
-
Decidim::Category.find(form.decidim_category_id) if form.decidim_category_id.present?
|
58
|
-
end
|
59
|
-
|
60
56
|
def select_proposals_for(sortition)
|
61
|
-
draw = Draw.new(sortition)
|
57
|
+
draw = Draw.new(sortition.reload)
|
62
58
|
|
63
59
|
sortition.update(
|
64
60
|
selected_proposals: draw.results,
|
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
def index
|
16
16
|
@sortitions = search
|
17
17
|
.result
|
18
|
-
.includes(:
|
18
|
+
.includes(:taxonomies)
|
19
19
|
|
20
20
|
@sortitions = reorder(@sortitions)
|
21
21
|
@sortitions = paginate(@sortitions)
|
@@ -38,7 +38,7 @@ module Decidim
|
|
38
38
|
def default_filter_params
|
39
39
|
{
|
40
40
|
search_text_cont: "",
|
41
|
-
|
41
|
+
with_any_taxonomies: nil,
|
42
42
|
with_any_state: "active"
|
43
43
|
}
|
44
44
|
end
|
@@ -4,13 +4,13 @@ module Decidim
|
|
4
4
|
module Sortitions
|
5
5
|
module Admin
|
6
6
|
class SortitionForm < Form
|
7
|
-
include TranslatableAttributes
|
7
|
+
include Decidim::TranslatableAttributes
|
8
|
+
include Decidim::HasTaxonomyFormAttributes
|
8
9
|
|
9
10
|
mimic :sortition
|
10
11
|
|
11
12
|
translatable_attribute :title, String
|
12
13
|
attribute :decidim_proposals_component_id, Integer
|
13
|
-
attribute :decidim_category_id, Integer
|
14
14
|
attribute :dice, Integer
|
15
15
|
attribute :target_items, Integer
|
16
16
|
translatable_attribute :witnesses, Decidim::Attributes::RichText
|
@@ -35,9 +35,12 @@ module Decidim
|
|
35
35
|
greater_than_or_equal_to: 1
|
36
36
|
}
|
37
37
|
|
38
|
-
delegate :categories, to: :current_participatory_space
|
39
38
|
delegate :current_participatory_space, to: :context
|
40
39
|
delegate :current_component, to: :context
|
40
|
+
|
41
|
+
def participatory_space_manifest
|
42
|
+
@participatory_space_manifest ||= current_component.participatory_space.manifest.name
|
43
|
+
end
|
41
44
|
end
|
42
45
|
end
|
43
46
|
end
|
@@ -6,6 +6,7 @@ module Decidim
|
|
6
6
|
module SortitionsHelper
|
7
7
|
include Decidim::TranslationsHelper
|
8
8
|
include Decidim::PaginateHelper
|
9
|
+
include Decidim::SanitizeHelper
|
9
10
|
|
10
11
|
# Converts a list of components into a list of selectable options
|
11
12
|
def components_options(components)
|
@@ -14,10 +15,11 @@ module Decidim
|
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
17
|
-
def
|
18
|
-
|
18
|
+
def sortition_taxonomies(sortition)
|
19
|
+
taxonomies = sortition.taxonomies.map { |taxonomy| decidim_sanitize_translated(taxonomy.name) }.join(", ")
|
20
|
+
return taxonomies if taxonomies.present?
|
19
21
|
|
20
|
-
I18n.t("sortitions.form.
|
22
|
+
I18n.t("sortitions.form.all_taxonomies", scope: "decidim.sortitions.admin")
|
21
23
|
end
|
22
24
|
end
|
23
25
|
end
|
@@ -14,39 +14,37 @@ module Decidim
|
|
14
14
|
(defined?(current_component) && translated_attribute(current_component&.name).presence) || t("decidim.components.sortitions.name")
|
15
15
|
end
|
16
16
|
|
17
|
-
# Generates the sortition
|
18
|
-
def
|
19
|
-
if sortition.
|
20
|
-
return I18n.t("show.
|
17
|
+
# Generates the sortition taxonomy labels
|
18
|
+
def sortition_taxonomy_labels(sortition)
|
19
|
+
if sortition.taxonomies.present?
|
20
|
+
return I18n.t("show.taxonomies",
|
21
21
|
scope: "decidim.sortitions.sortitions",
|
22
|
-
|
22
|
+
taxonomies: sortition.taxonomies.map { |taxonomy| decidim_sanitize_translated(taxonomy.name) }.join(", "))
|
23
23
|
end
|
24
24
|
|
25
|
-
I18n.t("show.
|
25
|
+
I18n.t("show.any_taxonomy", scope: "decidim.sortitions.sortitions")
|
26
26
|
end
|
27
27
|
|
28
28
|
# Show list of candidate proposals for a sortition. Selected sortition ids will appear with bold font.
|
29
29
|
def sortition_proposal_candidate_ids(sortition)
|
30
|
-
result =
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
30
|
+
result = sortition.candidate_proposals.map do |proposal_id|
|
31
|
+
if sortition.selected_proposals.include? proposal_id
|
32
|
+
"<b>#{proposal_id}</b>"
|
33
|
+
else
|
34
|
+
proposal_id.to_s
|
35
|
+
end
|
37
36
|
end
|
38
37
|
|
39
38
|
result.join(" - ").html_safe
|
40
39
|
end
|
41
40
|
|
42
41
|
def filter_sections_sortitions
|
43
|
-
sections = [{ method: :with_any_state, collection: filter_state_values,
|
44
|
-
|
45
|
-
sections.append(
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
)
|
42
|
+
sections = [{ method: :with_any_state, collection: filter_state_values, label: t("decidim.sortitions.sortitions.filters.state"), id: "state" }]
|
43
|
+
current_component.available_taxonomy_filters.each do |taxonomy_filter|
|
44
|
+
sections.append(method: "with_any_taxonomies[#{taxonomy_filter.root_taxonomy_id}]",
|
45
|
+
collection: filter_taxonomy_values_for(taxonomy_filter),
|
46
|
+
label: decidim_sanitize_translated(taxonomy_filter.name),
|
47
|
+
id: "taxonomy-#{taxonomy_filter.root_taxonomy_id}")
|
50
48
|
end
|
51
49
|
sections.reject { |item| item[:collection].blank? }
|
52
50
|
end
|
@@ -6,6 +6,7 @@ module Decidim
|
|
6
6
|
class Sortition < ApplicationRecord
|
7
7
|
include Decidim::Resourceable
|
8
8
|
include Decidim::HasCategory
|
9
|
+
include Decidim::Taxonomizable
|
9
10
|
include Decidim::Authorable
|
10
11
|
include Decidim::HasComponent
|
11
12
|
include Decidim::HasReference
|
@@ -43,7 +44,7 @@ module Decidim
|
|
43
44
|
def similar_count
|
44
45
|
Sortition.where(component:)
|
45
46
|
.where(decidim_proposals_component:)
|
46
|
-
.
|
47
|
+
.with_taxonomies(*taxonomies.map(&:id))
|
47
48
|
.where(target_items:)
|
48
49
|
.count
|
49
50
|
end
|
@@ -81,7 +82,18 @@ module Decidim
|
|
81
82
|
ransacker_i18n_multi :search_text, [:title, :additional_info, :witnesses]
|
82
83
|
|
83
84
|
def self.ransackable_scopes(_auth_object = nil)
|
84
|
-
[:with_any_state, :
|
85
|
+
[:with_any_state, :with_any_taxonomies]
|
86
|
+
end
|
87
|
+
|
88
|
+
def self.ransackable_attributes(_auth_object = nil)
|
89
|
+
%w(additional_info cancel_reason cancelled_by_user_id cancelled_on candidate_proposals comments_count created_at decidim_author_id
|
90
|
+
decidim_author_type decidim_component_id decidim_proposals_component_id dice id reference request_timestamp search_text selected_proposals
|
91
|
+
target_items title updated_at witnesses)
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.ransackable_associations(_auth_object = nil)
|
95
|
+
%w(author cancelled_by_user taxonomies comment_threads comments component decidim_proposals_component resource_links_from
|
96
|
+
resource_links_to resource_permission user_group versions)
|
85
97
|
end
|
86
98
|
end
|
87
99
|
end
|
@@ -14,7 +14,7 @@ module Decidim
|
|
14
14
|
# sortition - a sortition to select proposals
|
15
15
|
def initialize(sortition)
|
16
16
|
@sortition = sortition
|
17
|
-
@
|
17
|
+
@taxonomies = sortition.taxonomies
|
18
18
|
@request_timestamp = sortition.request_timestamp
|
19
19
|
end
|
20
20
|
|
@@ -26,22 +26,19 @@ module Decidim
|
|
26
26
|
.not_withdrawn
|
27
27
|
.published
|
28
28
|
.not_hidden
|
29
|
-
.where(
|
29
|
+
.where(decidim_proposals_proposals: { created_at: ...request_timestamp })
|
30
30
|
.where(component: sortition.decidim_proposals_component)
|
31
31
|
proposals = proposals.where.not(id: proposals.only_status(:rejected))
|
32
32
|
|
33
|
-
return proposals.order(id: :asc) if
|
33
|
+
return proposals.order(id: :asc) if taxonomies.blank?
|
34
34
|
|
35
|
-
#
|
36
|
-
proposals
|
37
|
-
.joins(:categorization)
|
38
|
-
.where(decidim_categorizations: { decidim_category_id: category.id })
|
39
|
-
.order(id: :asc)
|
35
|
+
# taxonomization -> taxonomy
|
36
|
+
proposals.with_taxonomies(*taxonomies.map(&:id)).order(id: :asc)
|
40
37
|
end
|
41
38
|
|
42
39
|
private
|
43
40
|
|
44
|
-
attr_reader :sortition, :
|
41
|
+
attr_reader :sortition, :taxonomies, :request_timestamp
|
45
42
|
end
|
46
43
|
end
|
47
44
|
end
|
@@ -28,8 +28,8 @@ module Decidim
|
|
28
28
|
# by a range of dates.
|
29
29
|
def query
|
30
30
|
sortitions = Decidim::Sortitions::Sortition.where(component: @components)
|
31
|
-
sortitions = sortitions.where(
|
32
|
-
sortitions = sortitions.where(
|
31
|
+
sortitions = sortitions.where(created_at: @start_at..) if @start_at.present?
|
32
|
+
sortitions = sortitions.where(created_at: ..@end_at) if @end_at.present?
|
33
33
|
sortitions
|
34
34
|
end
|
35
35
|
end
|
@@ -11,13 +11,28 @@
|
|
11
11
|
components_options(proposal_components),
|
12
12
|
prompt: t(".select_proposal_component") %>
|
13
13
|
</div>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
14
17
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
<% if @form.taxonomy_filters&.any? %>
|
19
|
+
<div class="card pt-4">
|
20
|
+
<div class="card-section">
|
21
|
+
<div class="row">
|
22
|
+
<h3 class="pb-4"><%= t(".select_taxonomies") %></h3>
|
23
|
+
<% @form.taxonomy_filters.each do |filter| %>
|
24
|
+
<div class="columns">
|
25
|
+
<%= filter_taxonomy_items_select_field form, :taxonomies, filter %>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
19
28
|
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<% end %>
|
20
32
|
|
33
|
+
<div class="card pt-4">
|
34
|
+
<div class="card-section">
|
35
|
+
<div class="row">
|
21
36
|
<div class="columns">
|
22
37
|
<%= form.number_field :target_items, min: 1, step: 1 %>
|
23
38
|
</div>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<th><%= t("models.sortition.fields.request_timestamp", scope: "decidim.sortitions.admin") %></th>
|
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
|
-
<th><%= t("models.sortition.fields.
|
15
|
+
<th><%= t("models.sortition.fields.taxonomies", scope: "decidim.sortitions.admin") %></th>
|
16
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>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<td><%= l sortition.request_timestamp, format: :long %></td>
|
24
24
|
<td><%= sortition.dice %></td>
|
25
25
|
<td><%= sortition.target_items %></td>
|
26
|
-
<td><%=
|
26
|
+
<td><%= sortition_taxonomies sortition %></td>
|
27
27
|
<td><%= translated_attribute sortition.decidim_proposals_component.name %></td>
|
28
28
|
<td><%= sortition.seed %></td>
|
29
29
|
<td></td>
|
@@ -1,4 +1,11 @@
|
|
1
|
-
<%
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
description: translated_attribute(current_component.participatory_space.try(:description)),
|
3
|
+
title: t("decidim.components.pagination.page_title",
|
4
|
+
component_name: component_name,
|
5
|
+
current_page: @sortitions.current_page,
|
6
|
+
total_pages: @sortitions.total_pages ),
|
7
|
+
url: sortitions_url,
|
8
|
+
resource: current_component) %>
|
2
9
|
|
3
10
|
<% content_for :aside do %>
|
4
11
|
<h1 class="title-decorator"><%= component_name %></h1>
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<% add_decidim_meta_tags(
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
description: decidim_sanitize_editor(translated_attribute(sortition.additional_info)),
|
3
|
+
title: decidim_escape_translated(sortition.title),
|
4
|
+
url: sortition_url(sortition.to_param),
|
5
|
+
resource: sortition) %>
|
6
6
|
|
7
7
|
<%
|
8
8
|
edit_link(
|
@@ -76,6 +76,10 @@ edit_link(
|
|
76
76
|
|
77
77
|
<section class="layout-main__section layout-main__buttons" data-buttons>
|
78
78
|
<%= cell "decidim/comments_button", nil %>
|
79
|
+
|
80
|
+
<div class="ml-auto lg:ml-0">
|
81
|
+
<%= cell "decidim/share_widget", sortition %>
|
82
|
+
</div>
|
79
83
|
</section>
|
80
84
|
|
81
85
|
<% content_for :aside do %>
|
@@ -123,7 +127,7 @@ edit_link(
|
|
123
127
|
<div class="sortition__aside-element bg-background p-4 rounded">
|
124
128
|
<div class="sortition__aside-element-item">
|
125
129
|
<span class="sortition__aside-element-item__title">
|
126
|
-
<%= t("candidate_proposals_info", scope: "decidim.sortitions.sortitions.show",
|
130
|
+
<%= t("candidate_proposals_info", scope: "decidim.sortitions.sortitions.show", taxonomy_labels: sortition_taxonomy_labels(sortition)) %>
|
127
131
|
</span>
|
128
132
|
<span class="sortition__aside-element-item__numbers">
|
129
133
|
<%= sortition_proposal_candidate_ids sortition %>
|
@@ -131,9 +135,6 @@ edit_link(
|
|
131
135
|
</div>
|
132
136
|
</div>
|
133
137
|
</section>
|
134
|
-
<section class="layout-aside__section actions__secondary">
|
135
|
-
<%= cell "decidim/share_button", nil %>
|
136
|
-
</section>
|
137
138
|
<% end %>
|
138
139
|
<% content_for :item_footer do %>
|
139
140
|
<%= comments_for sortition %>
|
data/config/locales/ar.yml
CHANGED
@@ -4,7 +4,6 @@ ar:
|
|
4
4
|
attributes:
|
5
5
|
sortition:
|
6
6
|
additional_info: معلومات التصنيف
|
7
|
-
decidim_category_id: فئات مجموعة المقترحات التي تريد تطبيق السحب عليها
|
8
7
|
decidim_proposals_component_id: مجموعة المقترحات
|
9
8
|
dice: نتيجة يموت لفة. قم بلف قالب من 6 جوانب ، أو ابحث عن طريقة عشوائية أخرى لإنشاء رقم من 1 إلى 6 ، وأدخل هنا الرقم الناتج أمام بعض الشهود. هذا يساهم في جودة وضمانات عشوائية النتيجة
|
10
9
|
target_items: عدد المقترحات التي سيتم اختيارها (يشير إلى عدد المقترحات التي تريد تحديدها عن طريق رسم الكثير من مجموعة المقترحات التي اخترتها سابقًا)
|
@@ -44,7 +43,6 @@ ar:
|
|
44
43
|
models:
|
45
44
|
sortition:
|
46
45
|
fields:
|
47
|
-
category: الفئة
|
48
46
|
created_at: تاريخ الإنشاء
|
49
47
|
decidim_proposals_component: مكون الاقتراحات
|
50
48
|
dice: حجر النرد
|
@@ -64,7 +62,6 @@ ar:
|
|
64
62
|
title: تحديث المعلومات حول الفرز
|
65
63
|
update: تحديث
|
66
64
|
form:
|
67
|
-
all_categories: جميع الفئات
|
68
65
|
select_proposal_component: حدد مجموعة المقترحات
|
69
66
|
index:
|
70
67
|
title: Sortitions
|
@@ -111,11 +108,8 @@ ar:
|
|
111
108
|
other: مقترحات مختارة
|
112
109
|
show:
|
113
110
|
algorithm: رمز خوارزمية التصنيف
|
114
|
-
any_category: من جميع الفئات
|
115
111
|
cancelled: فرز الملغاة
|
116
112
|
candidate_proposal_ids: ترتيب المقترحات الترتيب ومعرفات
|
117
|
-
candidate_proposals_info: 'تم تنفيذ التصنيف بين المقترحات التالية (%{category_label}) ، مع المعرفات التالية (بالخط العريض للمقترحات المختارة) '
|
118
|
-
category: من %{category} الفئة
|
119
113
|
dice_result: (1) نتيجة النرد
|
120
114
|
introduction: 'تحتوي هذه الصفحة على نتائج الفرز %{reference}. من خلال هذا sortition، %{target_items} تم اختيارها عشوائيا عدد من النتائج ومع التوزيع الاحتمالي على قدم المساواة من مجموعة من المقترحات المعروضة رفع الصوت عاليا. جنبًا إلى جنب مع النتائج ، توفر المعلومات المعروضة على هذه الصفحة جميع المعلومات المطلوبة لزيادة الضمانات وإعادة إنتاج النتائج. المفتاح لجودة هذا الفرز هو العشوائية المزدوجة التي يوفرها المتداول من الزهر (التحقق من قبل الشهود) والوقت الدقيق للترتيب الذي يوفر مدخلات لخوارزمية يولد اختيار عشوائي. إن البذر الزمني للفرز دقيق للغاية (بالثواني) بحيث يستحيل على البشر التحكم فيه ، مما يوفر مدخلات مزدوجة "لا يمكن السيطرة عليها" لضمان نتيجة عادلة. '
|
121
115
|
mathematical_result: النتيجة (1) × (2)
|
data/config/locales/bg.yml
CHANGED
@@ -4,7 +4,6 @@ bg:
|
|
4
4
|
attributes:
|
5
5
|
sortition:
|
6
6
|
additional_info: Информация за сортировката
|
7
|
-
decidim_category_id: Категории от набора от предложения, в които искате да приложите жребий
|
8
7
|
decidim_proposals_component_id: Предложенията са зададени
|
9
8
|
dice: Резултат от хвърлянето на зара. Хвърлете 6-странен зар или потърсете друг произволен начин за генериране на число от 1 до 6 и въведете тук полученото число пред няколко свидетели. Това допринася за качеството и гаранции за случайността на резултата
|
10
9
|
target_items: Брой на предложенията, които да бъдат избрани (указва броя на предложенията, които искате да бъдат избрани чрез хвърляне на жребий от групата предложения, които сте избрали по-рано)
|
@@ -44,7 +43,6 @@ bg:
|
|
44
43
|
models:
|
45
44
|
sortition:
|
46
45
|
fields:
|
47
|
-
category: Категория
|
48
46
|
created_at: Дата на създаване
|
49
47
|
decidim_proposals_component: Компонент Предложения
|
50
48
|
dice: Зар
|
@@ -68,7 +66,6 @@ bg:
|
|
68
66
|
title: Актуализирайте информацията за сортировката
|
69
67
|
update: Актуализация
|
70
68
|
form:
|
71
|
-
all_categories: Всички категории
|
72
69
|
select_proposal_component: Изберете набора от предложения
|
73
70
|
index:
|
74
71
|
title: Сортировки
|
@@ -111,11 +108,8 @@ bg:
|
|
111
108
|
other: Избрани предложения
|
112
109
|
show:
|
113
110
|
algorithm: Код на алгоритъма за жребия в сортировката
|
114
|
-
any_category: от всички категории
|
115
111
|
cancelled: Отменена сортировка
|
116
112
|
candidate_proposal_ids: Ред и ID номерата на предложенията в сортировката
|
117
|
-
candidate_proposals_info: 'Сортирането беше извършено сред следните предложения (%{category_label}), със следните идентификатори (с удебелен шрифт избраните предложения) '
|
118
|
-
category: от категорията %{category}
|
119
113
|
dice_result: Резултат от жребия
|
120
114
|
introduction: 'Тази страница съдържа резултатите от сортирането %{reference}. Чрез това сортиране, %{target_items} брой резултати са избрани на случаен принцип и с равно вероятностно разпределение от набора от предложения, показани по-долу. Заедно с резултатите, информацията, показана на тази страница, предоставя цялата информация, необходима за максимизиране на гаранциите и за възпроизвеждане на резултатите. Ключът към качеството на това сортиране е двойната случайност, осигурена от хвърлянето на зарове (потвърдено от свидетели) и точното време на сортирането, което осигурява вход за алгоритъм, който генерира случаен избор. Времето за начало за сортирането е толкова точно (секунди), че е невъзможно да се контролира от хора, като по този начин се осигурява двоен „неконтролируем“ вход, за да се гарантира справедлив резултат. '
|
121
115
|
mathematical_result: Резулатат (Зарове х Разбъркване)
|
data/config/locales/ca.yml
CHANGED
@@ -4,7 +4,6 @@ ca:
|
|
4
4
|
attributes:
|
5
5
|
sortition:
|
6
6
|
additional_info: Informació del sorteig
|
7
|
-
decidim_category_id: Categories del conjunt de propostes en què vols aplicar el sorteig
|
8
7
|
decidim_proposals_component_id: Propostes establertes
|
9
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 l'u al sis i introdueix-lo aquí davant d'algunes testimonies. Això contribueix en la qualitat i garantia de l'aletorietat del resultat
|
10
9
|
target_items: Nombre de propostes a seleccionar (indica el nombre de propostes que vols seleccionar mitjançant el sorteig del grup de propostes que hàgiu triat prèviament)
|
@@ -25,8 +24,13 @@ ca:
|
|
25
24
|
name: Sortejos
|
26
25
|
settings:
|
27
26
|
global:
|
27
|
+
clear_all: Netejar-ho tot
|
28
28
|
comments_enabled: Comentaris habilitats
|
29
29
|
comments_max_length: Longitud màxima dels comentaris (deixa 0 si vols mantenir la configuració per defecte)
|
30
|
+
define_taxonomy_filters: Si us plau, defineix algunes filtres per aquest espai de participació abans de fer servir aquesta configuració.
|
31
|
+
no_taxonomy_filters_found: No s'han trobat filtres de taxonomia.
|
32
|
+
taxonomy_filters: Seleccionar filtres pel component
|
33
|
+
taxonomy_filters_add: Afegir un filtre
|
30
34
|
events:
|
31
35
|
sortitions:
|
32
36
|
sortition_created:
|
@@ -44,7 +48,6 @@ ca:
|
|
44
48
|
models:
|
45
49
|
sortition:
|
46
50
|
fields:
|
47
|
-
category: Categoria
|
48
51
|
created_at: Data de creació
|
49
52
|
decidim_proposals_component: Component de Propostes
|
50
53
|
dice: Dau
|
@@ -52,6 +55,7 @@ ca:
|
|
52
55
|
request_timestamp: Temps de dibuixar
|
53
56
|
seed: Llavor
|
54
57
|
target_items: Elements a seleccionar
|
58
|
+
taxonomies: Taxonomies
|
55
59
|
title: Títol
|
56
60
|
sortitions:
|
57
61
|
confirm_destroy:
|
@@ -68,8 +72,9 @@ ca:
|
|
68
72
|
title: Actualitza la informació sobre el sorteig
|
69
73
|
update: Actualitzar
|
70
74
|
form:
|
71
|
-
|
75
|
+
all_taxonomies: Totes les taxonomies
|
72
76
|
select_proposal_component: Selecciona el grup de propostes
|
77
|
+
select_taxonomies: Taxonomies del conjunt de propostes del qual vols aplicar per dibuixar. Deixar buit per aplicar a totes les propostes de la taxonomia.
|
73
78
|
index:
|
74
79
|
title: Sortejos
|
75
80
|
new:
|
@@ -111,16 +116,16 @@ ca:
|
|
111
116
|
other: propostes seleccionades
|
112
117
|
show:
|
113
118
|
algorithm: Codi d'algoritme del sorteig
|
114
|
-
|
119
|
+
any_taxonomy: de totes les taxonomies
|
115
120
|
cancelled: Sorteig cancel·lat
|
116
121
|
candidate_proposal_ids: Ordre i IDs de les propostes del sorteig
|
117
|
-
candidate_proposals_info: 'La resolució es va dur a terme entre les següents propostes (%{
|
118
|
-
category: de la categoria %{category}
|
122
|
+
candidate_proposals_info: 'La resolució es va dur a terme entre les següents propostes (%{taxonomy_labels}), amb les següents IDs (en negreta, les propostes seleccionades) '
|
119
123
|
dice_result: (1) Resultat de la tirada de daus
|
120
124
|
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. '
|
121
125
|
mathematical_result: Resultat (1) x (2)
|
122
126
|
proposals_selected_by_sortition: Propostes seleccionades pel sorteig
|
123
127
|
sortition_reproducibility_details: Detalls de la reproductibilitat del sorteig
|
128
|
+
taxonomies: de les taxonomies %{taxonomies}
|
124
129
|
time_seed: (2) Llavor de temps
|
125
130
|
witnesses: Testimonis
|
126
131
|
sortition:
|
data/config/locales/cs.yml
CHANGED
@@ -4,7 +4,6 @@ cs:
|
|
4
4
|
attributes:
|
5
5
|
sortition:
|
6
6
|
additional_info: Informace o volbě losem
|
7
|
-
decidim_category_id: Kategorie sady návrhů, ve kterých chcete použít remízu
|
8
7
|
decidim_proposals_component_id: Návrhy jsou nastaveny
|
9
8
|
dice: Výsledek hodu kostkou. Hoďte šestistrannou kostkou nebo najděte jiný náhodný způsob, jak získat číslo od 1 do 6, a výsledné číslo sem před svědky vložte. To přispěje ke kvalitě a zaručí nahodilost výsledku
|
10
9
|
target_items: Počet návrhů, které mají být vybrány (udává počet návrhů, které chcete vybrat, čerpáním ze skupiny návrhů, které jste předtím vybrali)
|
@@ -27,8 +26,13 @@ cs:
|
|
27
26
|
name: Losování
|
28
27
|
settings:
|
29
28
|
global:
|
29
|
+
clear_all: Vymazat vše
|
30
30
|
comments_enabled: Komentáře povoleny
|
31
31
|
comments_max_length: Maximální délka komentáře (ponechte 0 pro výchozí hodnotu)
|
32
|
+
define_taxonomy_filters: Před použitím tohoto nastavení prosím definujte některé filtry pro tento participační prostor.
|
33
|
+
no_taxonomy_filters_found: Nebyly nalezeny žádné filtry taxonomie.
|
34
|
+
taxonomy_filters: Vyberte filtry pro komponentu
|
35
|
+
taxonomy_filters_add: Přidat filtr
|
32
36
|
events:
|
33
37
|
sortitions:
|
34
38
|
sortition_created:
|
@@ -46,7 +50,6 @@ cs:
|
|
46
50
|
models:
|
47
51
|
sortition:
|
48
52
|
fields:
|
49
|
-
category: Kategorie
|
50
53
|
created_at: Datum vytvoření
|
51
54
|
decidim_proposals_component: Součást návrhů
|
52
55
|
dice: Kostky
|
@@ -54,6 +57,7 @@ cs:
|
|
54
57
|
request_timestamp: Čas vržení kostek
|
55
58
|
seed: Založení
|
56
59
|
target_items: Položky k výběru
|
60
|
+
taxonomies: Taxonomie
|
57
61
|
title: Název
|
58
62
|
sortitions:
|
59
63
|
confirm_destroy:
|
@@ -70,8 +74,9 @@ cs:
|
|
70
74
|
title: Aktualizovat informace o volbě losem
|
71
75
|
update: Aktualizace
|
72
76
|
form:
|
73
|
-
|
77
|
+
all_taxonomies: Všechny taxonomie
|
74
78
|
select_proposal_component: Vyberte sadu návrhů
|
79
|
+
select_taxonomies: Taxonomie sady návrhů, ve kterých chcete losování použít. Chcete-li použít losování na všechny návrhy v dané taxonomii, ponechte prázdné.
|
75
80
|
index:
|
76
81
|
title: Losování
|
77
82
|
new:
|
@@ -117,16 +122,16 @@ cs:
|
|
117
122
|
other: vybrané návrhy
|
118
123
|
show:
|
119
124
|
algorithm: Kód algoritmu losování
|
120
|
-
|
125
|
+
any_taxonomy: ze všech taxonomií
|
121
126
|
cancelled: Zrušené losování
|
122
127
|
candidate_proposal_ids: Pořadí a ID návrhů k losování
|
123
|
-
candidate_proposals_info: 'Losování bylo provedeno mezi následujícími návrhy (%{
|
124
|
-
category: z kategorie %{category}
|
128
|
+
candidate_proposals_info: 'Losování bylo provedeno mezi následujícími návrhy (%{taxonomy_labels}), s následujícími ID (označené tučně vybrané návrhy) '
|
125
129
|
dice_result: (1) Výsledek hodu kostkou
|
126
130
|
introduction: "Tato stránka obsahuje výsledky losování %{reference}. Prostřednictvím tohoto losování bylo vybráno %{target_items} výsledků náhodně a se stejným rozdělením pravděpodobnosti ze souboru návrhů zobrazených níže. \n\nSpolu s výsledky informace zobrazené na této stránce poskytují všechny informace potřebné pro maximalizaci záruk a reprodukci výsledků. Klíčem ke kvalitě tohoto losování je dvojitá náhodnost, kterou poskytuje hod kostkou (ověřený svědky) a přesný čas výběru, který poskytuje vstup pro algoritmus, který generuje náhodný výběr. \n\nČasový základ pro losování je tak přesný (na sekundy), že není možné ovládat lidi, a tak lze poskytnout dvojitý \"nekontrolovatelný\" vstup, který zaručí spravedlivý výsledek. "
|
127
131
|
mathematical_result: Výsledek (1) x (2)
|
128
132
|
proposals_selected_by_sortition: Návrhy vybrané losováním
|
129
133
|
sortition_reproducibility_details: Detaily reprodukovatelnosti losování
|
134
|
+
taxonomies: z taxonomií %{taxonomies}
|
130
135
|
time_seed: (2) Časový základ
|
131
136
|
witnesses: Svědci
|
132
137
|
sortition:
|
data/config/locales/de.yml
CHANGED
@@ -4,7 +4,6 @@ de:
|
|
4
4
|
attributes:
|
5
5
|
sortition:
|
6
6
|
additional_info: Sortierinformationen
|
7
|
-
decidim_category_id: Kategorien der Vorschläge, in denen Sie die Auslosung anwenden möchten
|
8
7
|
decidim_proposals_component_id: Vorschläge festgelegt
|
9
8
|
dice: Ergebnis des Würfelwurfs. Wirf einen 6-seitigen Würfel oder suche nach einem anderen zufälligen Weg, um eine Zahl von 1 bis 6 zu erzeugen, und gib die resultierende Zahl vor einigen Zeugen ein. Dies trägt zur Qualität und zur Gewährleistung der Zufälligkeit des Ergebnisses bei
|
10
9
|
target_items: Anzahl der auszuwählenden Vorschläge (gibt die Anzahl der Vorschläge an, die Sie auswählen möchten, indem Sie viele der Vorschläge auswählen, die Sie zuvor ausgewählt haben)
|
@@ -44,7 +43,6 @@ de:
|
|
44
43
|
models:
|
45
44
|
sortition:
|
46
45
|
fields:
|
47
|
-
category: Kategorie
|
48
46
|
created_at: Erstellungsdatum
|
49
47
|
decidim_proposals_component: Vorschlagskomponente
|
50
48
|
dice: Würfel
|
@@ -68,7 +66,6 @@ de:
|
|
68
66
|
title: Informationen zur Sortierung aktualisieren
|
69
67
|
update: Aktualisieren
|
70
68
|
form:
|
71
|
-
all_categories: Alle Kategorien
|
72
69
|
select_proposal_component: Wählen Sie die Vorschläge aus
|
73
70
|
index:
|
74
71
|
title: Sortierungen
|
@@ -111,11 +108,8 @@ de:
|
|
111
108
|
other: ausgewählte Vorschläge
|
112
109
|
show:
|
113
110
|
algorithm: Sortieralgorithmuscode
|
114
|
-
any_category: aus allen Kategorien
|
115
111
|
cancelled: Stornierte Sortierung
|
116
112
|
candidate_proposal_ids: Reihenfolge der Sortierungsvorschläge und IDs
|
117
|
-
candidate_proposals_info: 'Die Sortierung wurde unter den folgenden Vorschlägen (%{category_label}) durchgeführt, mit den folgenden IDs (in Fettschrift die ausgewählten Vorschläge) '
|
118
|
-
category: aus der %{category} Kategorie
|
119
113
|
dice_result: (1) Würfelergebnis
|
120
114
|
introduction: 'Diese Seite enthält die Ergebnisse der Sortierung %{reference}. Durch diese Sortierung wurde %{target_items} Anzahl von Ergebnissen zufällig und mit einer gleichen Wahrscheinlichkeitsverteilung aus dem unten angezeigten Satz von Vorschlägen ausgewählt. Zusammen mit den Ergebnissen bieten die auf dieser Seite angezeigten Informationen alle Informationen, die erforderlich sind, um die Garantien zu maximieren und die Ergebnisse zu reproduzieren. Der Schlüssel zur Qualität dieser Sortierung ist die doppelte Zufälligkeit, die durch das Rollen eines Würfels (verifiziert durch Zeugen) und den genauen Zeitpunkt der Sortierung bereitgestellt wird, der eine Eingabe für einen Algorithmus liefert, der eine zufällige Auswahl erzeugt. Der Zeitsaat für die Sortierung ist so genau (Sekunden), dass es unmöglich ist, von Menschen kontrolliert zu werden, wodurch eine doppelte "unkontrollierbare" Eingabe bereitgestellt wird, um ein faires Ergebnis zu garantieren. '
|
121
115
|
mathematical_result: Ergebnis (1) x (2)
|