decidim-proposals 0.17.2 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/decidim/proposals/proposals_controller.rb +1 -0
- data/app/controllers/decidim/proposals/versions_controller.rb +3 -2
- data/app/forms/decidim/proposals/admin/import_participatory_text_form.rb +33 -13
- data/app/helpers/decidim/proposals/control_version_helper.rb +16 -29
- data/app/models/decidim/proposals/proposal.rb +25 -1
- data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +7 -1
- data/app/services/decidim/proposals/proposal_search.rb +2 -2
- data/app/views/decidim/proposals/proposals/_filters.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/_proposal.html.erb +1 -5
- data/app/views/decidim/proposals/proposals/show.html.erb +1 -1
- data/app/views/decidim/proposals/versions/show.html.erb +1 -4
- data/config/locales/ar-SA.yml +4 -0
- data/config/locales/ar.yml +801 -0
- data/config/locales/ca.yml +4 -0
- data/config/locales/cs.yml +4 -0
- data/config/locales/de.yml +4 -0
- data/config/locales/en.yml +4 -0
- data/config/locales/es-MX.yml +4 -0
- data/config/locales/es-PY.yml +4 -0
- data/config/locales/es.yml +4 -0
- data/config/locales/eu.yml +4 -0
- data/config/locales/fi-plain.yml +4 -0
- data/config/locales/fi.yml +4 -0
- data/config/locales/fr.yml +4 -0
- data/config/locales/gl.yml +4 -0
- data/config/locales/hu.yml +4 -0
- data/config/locales/id-ID.yml +4 -0
- data/config/locales/it.yml +5 -1
- data/config/locales/nl.yml +4 -0
- data/config/locales/pl.yml +4 -0
- data/config/locales/pt-BR.yml +4 -0
- data/config/locales/pt.yml +4 -0
- data/config/locales/sv.yml +4 -0
- data/config/locales/tr-TR.yml +4 -0
- data/lib/decidim/proposals/commentable_proposal.rb +4 -0
- data/lib/decidim/proposals/component.rb +2 -0
- data/lib/decidim/proposals/proposal_serializer.rb +1 -0
- data/lib/decidim/proposals/version.rb +1 -1
- metadata +32 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 273bb9b6fd8eb0de9832a682120112c71568c54a2efc33b9c812c7f9e937340d
|
4
|
+
data.tar.gz: c0919c4c4a0fb106e85028ed028945b47626bbcd9fa0be538ea5dc7e617b690c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91f2235a6033966349814688acb5ae463c01e0411c22a6bdb9b954d7220e1c392724bb310426ec1ba94445b6cdfbcc41f22dbf6f88b43214063c985bdd02ebf3
|
7
|
+
data.tar.gz: 56435636e8b3d94ae31f725c63fefe2b4ab48bd3d1346d474d57db1a76795b78653f25203fb5ae9d273af6c4f9238bcd8485ff1232aaac807cdbac0c8d81db7f
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Proposals
|
5
|
-
# Exposes
|
5
|
+
# Exposes Proposals versions so users can see how a Proposal/CollaborativeDraft
|
6
6
|
# has been updated through time.
|
7
7
|
class VersionsController < Decidim::Proposals::ApplicationController
|
8
8
|
helper Decidim::TraceabilityHelper
|
@@ -19,7 +19,8 @@ module Decidim
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def current_version
|
22
|
-
return nil
|
22
|
+
return nil unless params[:id].to_i.positive?
|
23
|
+
|
23
24
|
@current_version ||= item.versions[params[:id].to_i - 1]
|
24
25
|
end
|
25
26
|
end
|
@@ -15,29 +15,49 @@ module Decidim
|
|
15
15
|
attribute :document
|
16
16
|
|
17
17
|
validates :title, translatable_presence: true
|
18
|
-
|
18
|
+
validates :document, presence: true, if: :new_participatory_text?
|
19
|
+
validate :document_type_must_be_valid, if: :document
|
19
20
|
|
20
|
-
|
21
|
-
|
21
|
+
# Assume it's a NEW participatory_text if there are no proposals
|
22
|
+
# Validate document presence while CREATING proposals from document
|
23
|
+
# Allow skipping document validation while UPDATING title/description
|
24
|
+
def new_participatory_text?
|
25
|
+
Decidim::Proposals::Proposal.where(component: current_component).blank?
|
22
26
|
end
|
23
27
|
|
24
|
-
def
|
25
|
-
|
28
|
+
def document_type_must_be_valid
|
29
|
+
return if valid_mime_types.include?(document_type)
|
30
|
+
|
31
|
+
errors.add(:document, i18n_invalid_document_type_text)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Return ACCEPTED_MIME_TYPES plus `text/plain` for better markdown support
|
35
|
+
def valid_mime_types
|
36
|
+
ACCEPTED_MIME_TYPES.values + [Decidim::Proposals::DocToMarkdown::TEXT_PLAIN_MIME_TYPE]
|
26
37
|
end
|
27
38
|
|
28
39
|
def document_type
|
29
40
|
document.content_type
|
30
41
|
end
|
31
42
|
|
32
|
-
def
|
33
|
-
|
34
|
-
|
43
|
+
def i18n_invalid_document_type_text
|
44
|
+
I18n.t("invalid_document_type",
|
45
|
+
scope: "activemodel.errors.models.participatory_text.attributes.document",
|
46
|
+
valid_mime_types: i18n_valid_mime_types_text)
|
47
|
+
end
|
48
|
+
|
49
|
+
def i18n_valid_mime_types_text
|
50
|
+
ACCEPTED_MIME_TYPES.keys.map do |mime_type|
|
51
|
+
I18n.t(mime_type, scope: "decidim.proposals.admin.participatory_texts.new_import.accepted_mime_types")
|
52
|
+
end.join(", ")
|
53
|
+
end
|
54
|
+
|
55
|
+
def default_locale
|
56
|
+
current_participatory_space.organization.default_locale
|
57
|
+
end
|
35
58
|
|
36
|
-
|
37
|
-
|
38
|
-
valid_mime_types: ACCEPTED_MIME_TYPES.keys.map do |m|
|
39
|
-
I18n.t("decidim.proposals.admin.participatory_texts.new_import.accepted_mime_types.#{m}")
|
40
|
-
end.join(", ")))
|
59
|
+
def document_text
|
60
|
+
@document_text ||= document&.read
|
41
61
|
end
|
42
62
|
end
|
43
63
|
end
|
@@ -3,56 +3,43 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Proposals
|
5
5
|
# Custom helpers, scoped to the proposals engine.
|
6
|
-
#
|
7
6
|
module ControlVersionHelper
|
8
|
-
def
|
9
|
-
|
10
|
-
|
11
|
-
false
|
12
|
-
end
|
13
|
-
|
14
|
-
def proposal?
|
15
|
-
return true if item.class == Decidim::Proposals::Proposal
|
16
|
-
|
17
|
-
false
|
7
|
+
def item_name
|
8
|
+
item.model_name.singular_route_key.to_sym
|
18
9
|
end
|
19
10
|
|
20
11
|
def back_to_resource_path_text
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
t("versions.stats.back_to_collaborative_draft", scope: "decidim.proposals")
|
12
|
+
case item_name
|
13
|
+
when :proposal
|
14
|
+
t("back_to_proposal", scope: "decidim.proposals.versions.stats")
|
15
|
+
when :collaborative_draft
|
16
|
+
t("back_to_collaborative_draft", scope: "decidim.proposals.versions.stats")
|
27
17
|
end
|
28
18
|
end
|
29
19
|
|
30
20
|
def back_to_resource_path
|
31
|
-
|
32
|
-
|
33
|
-
if proposal?
|
21
|
+
case item_name
|
22
|
+
when :proposal
|
34
23
|
proposal_path(item)
|
35
|
-
|
24
|
+
when :collaborative_draft
|
36
25
|
collaborative_draft_path(item)
|
37
26
|
end
|
38
27
|
end
|
39
28
|
|
40
29
|
def resource_version_path(index)
|
41
|
-
|
42
|
-
|
43
|
-
if proposal?
|
30
|
+
case item_name
|
31
|
+
when :proposal
|
44
32
|
proposal_version_path(item, index + 1)
|
45
|
-
|
33
|
+
when :collaborative_draft
|
46
34
|
collaborative_draft_version_path(item, index + 1)
|
47
35
|
end
|
48
36
|
end
|
49
37
|
|
50
38
|
def resource_all_versions_path
|
51
|
-
|
52
|
-
|
53
|
-
if proposal?
|
39
|
+
case item_name
|
40
|
+
when :proposal
|
54
41
|
proposal_versions_path(item)
|
55
|
-
|
42
|
+
when :collaborative_draft
|
56
43
|
collaborative_draft_versions_path(item)
|
57
44
|
end
|
58
45
|
end
|
@@ -22,12 +22,12 @@ module Decidim
|
|
22
22
|
include Decidim::Hashtaggable
|
23
23
|
include Decidim::Proposals::ParticipatoryTextSection
|
24
24
|
include Decidim::Amendable
|
25
|
+
include Decidim::NewsletterParticipant
|
25
26
|
|
26
27
|
fingerprint fields: [:title, :body]
|
27
28
|
|
28
29
|
amendable(
|
29
30
|
fields: [:title, :body],
|
30
|
-
ignore: [:published_at, :reference, :state, :answered_at, :answer],
|
31
31
|
form: "Decidim::Proposals::ProposalForm"
|
32
32
|
)
|
33
33
|
|
@@ -90,6 +90,30 @@ module Decidim
|
|
90
90
|
.where("decidim_coauthorships.decidim_author_id = ? AND decidim_coauthorships.decidim_author_type = ? ", author.id, author.class.base_class.name)
|
91
91
|
end
|
92
92
|
|
93
|
+
def self.retrieve_proposals_for(component)
|
94
|
+
Decidim::Proposals::Proposal.where(component: component).joins(:coauthorships)
|
95
|
+
.includes(:votes, :endorsements)
|
96
|
+
.where(decidim_coauthorships: { decidim_author_type: "Decidim::UserBaseEntity" })
|
97
|
+
.not_hidden
|
98
|
+
.published
|
99
|
+
.except_withdrawn
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.newsletter_participant_ids(component)
|
103
|
+
proposals = retrieve_proposals_for(component).uniq
|
104
|
+
|
105
|
+
coauthors_recipients_ids = proposals.map { |p| p.notifiable_identities.pluck(:id) }.flatten.compact.uniq
|
106
|
+
|
107
|
+
participants_has_voted_ids = Decidim::Proposals::ProposalVote.joins(:proposal).where(proposal: proposals).joins(:author).map(&:decidim_author_id).flatten.compact.uniq
|
108
|
+
|
109
|
+
endorsements_participants_ids = Decidim::Proposals::ProposalEndorsement.joins(:proposal)
|
110
|
+
.where(proposal: proposals)
|
111
|
+
.where(decidim_author_type: "Decidim::UserBaseEntity")
|
112
|
+
.map(&:decidim_author_id).flatten.compact.uniq
|
113
|
+
|
114
|
+
(endorsements_participants_ids + participants_has_voted_ids + coauthors_recipients_ids).flatten.compact.uniq
|
115
|
+
end
|
116
|
+
|
93
117
|
# Public: Updates the vote count of this proposal.
|
94
118
|
#
|
95
119
|
# Returns nothing.
|
@@ -34,7 +34,13 @@ module Decidim
|
|
34
34
|
def retrieve_proposals(from_start = false)
|
35
35
|
@proposals ||= Decidim::Proposals::Proposal.where(component: @resource).joins(:coauthorships)
|
36
36
|
.includes(:votes, :endorsements)
|
37
|
-
.where(decidim_coauthorships: {
|
37
|
+
.where(decidim_coauthorships: {
|
38
|
+
decidim_author_type: [
|
39
|
+
"Decidim::UserBaseEntity",
|
40
|
+
"Decidim::Organization",
|
41
|
+
"Decidim::Meetings::Meeting"
|
42
|
+
]
|
43
|
+
})
|
38
44
|
.where("decidim_proposals_proposals.published_at <= ?", end_time)
|
39
45
|
.except_withdrawn
|
40
46
|
|
@@ -84,9 +84,9 @@ module Decidim
|
|
84
84
|
def search_type
|
85
85
|
case type
|
86
86
|
when "proposals"
|
87
|
-
query.
|
87
|
+
query.only_amendables
|
88
88
|
when "amendments"
|
89
|
-
query.
|
89
|
+
query.only_emendations
|
90
90
|
else
|
91
91
|
query
|
92
92
|
end
|
@@ -12,7 +12,7 @@
|
|
12
12
|
</div>
|
13
13
|
</div>
|
14
14
|
|
15
|
-
<% if
|
15
|
+
<% if Decidim::Proposals::Proposal.only_emendations.any? %>
|
16
16
|
<%= form.collection_radio_buttons :type, filter_type_values, :first, :last, legend_title: t(".amendment_type") %>
|
17
17
|
<% end %>
|
18
18
|
<% if component_settings.official_proposals_enabled %>
|
@@ -30,7 +30,7 @@ edit_link(
|
|
30
30
|
</div>
|
31
31
|
<div class="row">
|
32
32
|
<div class="columns section view-side mediumlarge-4 mediumlarge-push-8 large-3 large-push-9">
|
33
|
-
<%
|
33
|
+
<% if @proposal.amendable? %>
|
34
34
|
<div class="card text-center">
|
35
35
|
<div class="card__content">
|
36
36
|
<div>
|
@@ -7,10 +7,7 @@
|
|
7
7
|
<div class="row">
|
8
8
|
<div class="mediumlarge-8 columns">
|
9
9
|
<div class="section">
|
10
|
-
|
11
|
-
<h3 class="section-heading"><%= data[:label] %></h3>
|
12
|
-
<%= render_diff_data(data) %>
|
13
|
-
<% end %>
|
10
|
+
<%= cell("decidim/diff", current_version) %>
|
14
11
|
</div>
|
15
12
|
</div>
|
16
13
|
|
data/config/locales/ar-SA.yml
CHANGED
@@ -41,6 +41,10 @@ ar:
|
|
41
41
|
attributes:
|
42
42
|
attachment:
|
43
43
|
needs_to_be_reattached: يحتاج إلى إعادة ربط
|
44
|
+
body:
|
45
|
+
identical: لا يمكن أن يكون العنوان متطابقًا
|
46
|
+
title:
|
47
|
+
identical: و الجسم لا يمكن أن تكون متطابقة
|
44
48
|
models:
|
45
49
|
decidim/proposals/accepted_proposal_event: تم قبول الاقتراح
|
46
50
|
decidim/proposals/admin/update_proposal_category_event: تم تغيير فئة الاقتراح
|
@@ -0,0 +1,801 @@
|
|
1
|
+
ar:
|
2
|
+
activemodel:
|
3
|
+
attributes:
|
4
|
+
collaborative_draft:
|
5
|
+
address: عنوان
|
6
|
+
body: الجسم
|
7
|
+
category_id: الفئة
|
8
|
+
decidim_scope_id: نطاق
|
9
|
+
has_address: لديه عنوان
|
10
|
+
state: حالة
|
11
|
+
title: عنوان
|
12
|
+
user_group_id: إنشاء مسودة تعاونية كـ
|
13
|
+
proposal:
|
14
|
+
address: عنوان
|
15
|
+
answer: إجابة
|
16
|
+
answered_at: أجاب في
|
17
|
+
automatic_hashtags: علامات التصنيف المضافة تلقائيًا
|
18
|
+
body: الجسم
|
19
|
+
category_id: الفئة
|
20
|
+
has_address: لديه عنوان
|
21
|
+
scope_id: نطاق
|
22
|
+
state: حالة
|
23
|
+
suggested_hashtags: الهاشتاج المقترحة
|
24
|
+
title: عنوان
|
25
|
+
user_group_id: إنشاء اقتراح باسم
|
26
|
+
proposal_answer:
|
27
|
+
answer: إجابة
|
28
|
+
proposals_copy:
|
29
|
+
copy_proposals: أدرك أن هذا سيؤدي إلى استيراد جميع المقترحات من المكون المحدد إلى المكون الحالي وأنه لا يمكن عكس هذا الإجراء.
|
30
|
+
origin_component_id: مكون لنسخ المقترحات من
|
31
|
+
proposals_import:
|
32
|
+
import_proposals: مقترحات الاستيراد
|
33
|
+
keep_authors: الحفاظ على المؤلفين الأصلي
|
34
|
+
errors:
|
35
|
+
models:
|
36
|
+
participatory_text:
|
37
|
+
attributes:
|
38
|
+
document:
|
39
|
+
invalid_document_type: 'نوع المستند غير صالح. التنسيقات المقبولة هي: %{valid_mime_types}'
|
40
|
+
proposal:
|
41
|
+
attributes:
|
42
|
+
attachment:
|
43
|
+
needs_to_be_reattached: يحتاج إلى إعادة ربط
|
44
|
+
body:
|
45
|
+
identical: لا يمكن أن يكون العنوان متطابقًا
|
46
|
+
title:
|
47
|
+
identical: و الجسم لا يمكن أن تكون متطابقة
|
48
|
+
models:
|
49
|
+
decidim/proposals/accepted_proposal_event: تم قبول الاقتراح
|
50
|
+
decidim/proposals/admin/update_proposal_category_event: تم تغيير فئة الاقتراح
|
51
|
+
decidim/proposals/creation_enabled_event: تمكين إنشاء الاقتراح
|
52
|
+
decidim/proposals/endorsing_enabled_event: تمكين اقتراح الاقتراح
|
53
|
+
decidim/proposals/evaluating_proposal_event: يجري تقييم الاقتراح
|
54
|
+
decidim/proposals/proposal_endorsed_event: تمت الموافقة على الاقتراح
|
55
|
+
decidim/proposals/proposal_mentioned_event: الاقتراح المذكور
|
56
|
+
decidim/proposals/publish_proposal_event: تم نشر الاقتراح
|
57
|
+
decidim/proposals/rejected_proposal_event: تم رفض الاقتراح
|
58
|
+
decidim/proposals/voting_enabled_event: تم تمكين التصويت على الاقتراح
|
59
|
+
activerecord:
|
60
|
+
models:
|
61
|
+
decidim/proposals/collaborative_draft:
|
62
|
+
zero: المسودات التعاونية
|
63
|
+
one: مشروع تعاوني
|
64
|
+
two: المسودات التعاونية
|
65
|
+
few: المسودات التعاونية
|
66
|
+
many: المسودات التعاونية
|
67
|
+
other: المسودات التعاونية
|
68
|
+
decidim/proposals/proposal:
|
69
|
+
zero: اقتراحات
|
70
|
+
one: اقتراح
|
71
|
+
two: اقتراحات
|
72
|
+
few: اقتراحات
|
73
|
+
many: اقتراحات
|
74
|
+
other: اقتراحات
|
75
|
+
decidim/proposals/proposal_endorsement:
|
76
|
+
zero: موافقات
|
77
|
+
one: المصادقة
|
78
|
+
two: موافقات
|
79
|
+
few: موافقات
|
80
|
+
many: موافقات
|
81
|
+
other: موافقات
|
82
|
+
decidim/proposals/proposal_note:
|
83
|
+
zero: ملاحظات
|
84
|
+
one: ملحوظة
|
85
|
+
two: ملاحظات
|
86
|
+
few: ملاحظات
|
87
|
+
many: ملاحظات
|
88
|
+
other: ملاحظات
|
89
|
+
decidim/proposals/proposal_vote:
|
90
|
+
zero: الدعم
|
91
|
+
one: الدعم
|
92
|
+
two: الدعم
|
93
|
+
few: الدعم
|
94
|
+
many: الدعم
|
95
|
+
other: الدعم
|
96
|
+
decidim:
|
97
|
+
components:
|
98
|
+
proposals:
|
99
|
+
actions:
|
100
|
+
create: إنشاء
|
101
|
+
endorse: تأييد
|
102
|
+
vote: الدعم
|
103
|
+
withdraw: سحب
|
104
|
+
name: اقتراحات
|
105
|
+
settings:
|
106
|
+
global:
|
107
|
+
amendments_enabled: تم تمكين التعديلات
|
108
|
+
announcement: إعلان
|
109
|
+
attachments_allowed: السماح للمرفقات
|
110
|
+
can_accumulate_supports_beyond_threshold: يمكن أن تتراكم الدعم وراء العتبة
|
111
|
+
collaborative_drafts_enabled: تم تمكين المسودات التعاونية
|
112
|
+
comments_enabled: تم تمكين التعليقات
|
113
|
+
geocoding_enabled: تم تمكين الترميز الجغرافي
|
114
|
+
minimum_votes_per_user: الحد الأدنى من الدعم لكل مستخدم
|
115
|
+
new_proposal_help_text: نص مساعدة اقتراح جديد
|
116
|
+
official_proposals_enabled: تم تمكين المقترحات الرسمية
|
117
|
+
participatory_texts_enabled: تم تمكين النصوص التشاركية
|
118
|
+
proposal_answering_enabled: تم تمكين الرد على الاقتراح
|
119
|
+
proposal_edit_before_minutes: يمكن تحرير المقترحات من قبل المؤلفين قبل مرور عدة دقائق
|
120
|
+
proposal_length: الحد الأقصى لطول الاقتراح المقترح
|
121
|
+
proposal_limit: حد الاقتراح لكل مشارك
|
122
|
+
proposal_wizard_step_1_help_text: اقتراح الاقتراح "إنشاء" نص مساعدة الخطوة
|
123
|
+
proposal_wizard_step_2_help_text: اقتراح الاقتراح "قارن" نص خطوة المساعدة
|
124
|
+
proposal_wizard_step_3_help_text: نص اقتراح "إكمال" تعليمات نص المعالج
|
125
|
+
proposal_wizard_step_4_help_text: اقتراح الاقتراح "نشر" نص تعليمات الخطوة
|
126
|
+
resources_permissions_enabled: يمكن تعيين أذونات الإجراءات لكل اقتراح
|
127
|
+
threshold_per_proposal: عتبة لكل اقتراح
|
128
|
+
vote_limit: حد الدعم لكل مشارك
|
129
|
+
step:
|
130
|
+
announcement: إعلان
|
131
|
+
automatic_hashtags: علامات التصنيف المضافة إلى جميع المقترحات
|
132
|
+
comments_blocked: تم حظر التعليقات
|
133
|
+
creation_enabled: تمكين إنشاء الاقتراح
|
134
|
+
endorsements_blocked: المصادقة المحظورة
|
135
|
+
endorsements_enabled: تم التصديق
|
136
|
+
proposal_answering_enabled: تم تمكين الرد على الاقتراح
|
137
|
+
suggested_hashtags: اقترح علامات التصنيف للمشاركين لتقديم مقترحات جديدة
|
138
|
+
votes_blocked: يدعم المحظورة
|
139
|
+
votes_enabled: يدعم تمكين
|
140
|
+
votes_hidden: يدعم مخفي (إذا تم تمكين الدعم ، سيؤدي تحديد هذا إلى إخفاء عدد الدعم)
|
141
|
+
events:
|
142
|
+
proposals:
|
143
|
+
collaborative_draft_access_accepted:
|
144
|
+
email_intro: 'تم قبول %{requester_name} للوصول كمساهم في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.'
|
145
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك متعاون مع <a href="%{resource_path}">%{resource_title}</a>.
|
146
|
+
email_subject: "تم قبول %{requester_name} للوصول كمساهم في %{resource_title}."
|
147
|
+
notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> كان <strong>مقبولة للوصول كمساهم</strong> من <a href="%{resource_path}">%{resource_title}</a> مشروع تعاوني.
|
148
|
+
collaborative_draft_access_rejected:
|
149
|
+
email_intro: 'تم رفض %{requester_name} للوصول كمساهم في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.'
|
150
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك متعاون مع <a href="%{resource_path}">%{resource_title}</a>.
|
151
|
+
email_subject: "تم رفض %{requester_name} للوصول كمساهم في المسودة التعاونية %{resource_title}."
|
152
|
+
notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> تم رفض الوصول إلى <strong>كمساهم</strong> في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.
|
153
|
+
collaborative_draft_access_requested:
|
154
|
+
email_intro: '%{requester_name} طلب الوصول كمساهم. يمكنك <strong>قبول أو رفض طلب</strong> من <a href="%{resource_path}">%{resource_title}</a> مشروع الصفحة التعاونية.'
|
155
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك متعاون مع <a href="%{resource_path}">%{resource_title}</a>.
|
156
|
+
email_subject: "%{requester_name} طلب الوصول للمساهمة في %{resource_title}."
|
157
|
+
notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> طلب الوصول للمساهمة في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a> . يرجى <strong>قبول أو رفض الطلب</strong>.
|
158
|
+
collaborative_draft_access_requester_accepted:
|
159
|
+
email_intro: لقد تم قبولك للدخول كمساهم في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.
|
160
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك طلبت أن تصبح متعاونًا مع <a href="%{resource_path}">%{resource_title}</a>.
|
161
|
+
email_subject: تم قبولك كمساهم بـ %{resource_title}.
|
162
|
+
notification_title: لقد تم قبول <strong>للدخول كمساهم</strong> في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.
|
163
|
+
collaborative_draft_access_requester_rejected:
|
164
|
+
email_intro: لقد تم رفض وصولك كمساهم في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.
|
165
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك طلبت أن تصبح متعاونًا مع <a href="%{resource_path}">%{resource_title}</a>.
|
166
|
+
email_subject: لقد تم رفضك كمساهم بـ %{resource_title}.
|
167
|
+
notification_title: لقد تم رفض دخولك <strong>كمساهم</strong> في المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.
|
168
|
+
collaborative_draft_withdrawn:
|
169
|
+
email_intro: <a href="%{author_path}">%{author_name} %{author_nickname}</a> سحبت المسودة التعاونية <a href="%{resource_path}">%{resource_title}</a>.
|
170
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك متعاون مع <a href="%{resource_path}">%{resource_title}</a>.
|
171
|
+
email_subject: "%{author_name} %{author_nickname} سحب المشروع %{resource_title} التعاوني."
|
172
|
+
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <strong>سحبت</strong> مشروع <a href="%{resource_path}">%{resource_title}</a> التعاوني.
|
173
|
+
creation_enabled:
|
174
|
+
email_intro: 'يمكنك الآن إنشاء مقترحات جديدة في %{participatory_space_title}! ابدأ المشاركة في هذه الصفحة:'
|
175
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك تتابع %{participatory_space_title}. يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
|
176
|
+
email_subject: مقترحات متاحة الآن في %{participatory_space_title}
|
177
|
+
notification_title: يمكنك الآن طرح <a href="%{resource_path}">مقترحات جديدة</a> في <a href="%{participatory_space_url}">%{participatory_space_title}</a>
|
178
|
+
endorsing_enabled:
|
179
|
+
email_intro: 'يمكنك تأييد المقترحات في %{participatory_space_title}! ابدأ المشاركة في هذه الصفحة:'
|
180
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك تتابع %{participatory_space_title}. يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
|
181
|
+
email_subject: بدأت اقتراحات الموافقة على %{participatory_space_title}
|
182
|
+
notification_title: يمكنك الآن بدء <a href="%{resource_path}">تأييد مقترحات</a> في <a href="%{participatory_space_url}">%{participatory_space_title}</a>
|
183
|
+
proposal_accepted:
|
184
|
+
affected_user:
|
185
|
+
email_intro: 'تم قبول اقتراحك "%{resource_title}". يمكنك قراءة الإجابة في هذه الصفحة:'
|
186
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف "%{resource_title}".
|
187
|
+
email_subject: تم قبول الاقتراح الخاص بك
|
188
|
+
notification_title: تم قبول اقتراحك <a href="%{resource_path}">%{resource_title}</a>.
|
189
|
+
proposal_endorsed:
|
190
|
+
email_intro: '%{endorser_name} %{endorser_nickname}، الذي تتابعه ، وافق للتو على الاقتراح "%{resource_title}" ونعتقد أنه قد يكون مثيرا للاهتمام بالنسبة لك. التحقق من ذلك والمساهمة:'
|
191
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك تتابع %{endorser_nickname}. يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
|
192
|
+
email_subject: "%{endorser_nickname} قد صادق على اقتراح جديد"
|
193
|
+
notification_title: تمت الموافقة على اقتراح <a href="%{resource_path}">%{resource_title}</a> من قبل <a href="%{endorser_path}">%{endorser_name} %{endorser_nickname}</a>.
|
194
|
+
proposal_evaluating:
|
195
|
+
affected_user:
|
196
|
+
email_intro: 'يتم حاليًا تقييم الاقتراح الخاص بك "%{resource_title}". يمكنك التحقق من وجود إجابة في هذه الصفحة:'
|
197
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف "%{resource_title}".
|
198
|
+
email_subject: يتم تقييم الاقتراح الخاص بك
|
199
|
+
notification_title: يتم تقييم الاقتراح الخاص بك <a href="%{resource_path}">%{resource_title}</a>.
|
200
|
+
proposal_mentioned:
|
201
|
+
email_intro: لقد تم ذكر اقتراحك "%{mentioned_proposal_title}" <a href="%{resource_path}">في هذه المساحة</a> في التعليقات.
|
202
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف "%{resource_title}".
|
203
|
+
email_subject: تم ذكر اقتراحك "%{mentioned_proposal_title}"
|
204
|
+
notification_title: لقد تم ذكر اقتراحك "%{mentioned_proposal_title}" <a href="%{resource_path}">في هذه المساحة</a> في التعليقات.
|
205
|
+
proposal_published:
|
206
|
+
email_intro: '%{author_name} %{author_nickname}، الذي تتابعه ، بنشر اقتراح جديد يسمى "%{resource_title}". التحقق من ذلك والمساهمة:'
|
207
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك تتابع %{author_nickname}. يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
|
208
|
+
email_subject: اقتراح جديد "%{resource_title}" من %{author_nickname}
|
209
|
+
notification_title: تم نشر مقترح <a href="%{resource_path}">%{resource_title}</a> بواسطة <a href="%{author_path}">%{author_name} %{author_nickname}</a>.
|
210
|
+
proposal_published_for_space:
|
211
|
+
email_intro: تمت إضافة الاقتراح "%{resource_title}" إلى "%{participatory_space_title}" الذي تتابعه.
|
212
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك تتابع "%{participatory_space_title}". يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
|
213
|
+
email_subject: تمت إضافة اقتراح جديد "%{resource_title}" إلى %{participatory_space_title}
|
214
|
+
notification_title: تمت إضافة الاقتراح <a href="%{resource_path}">%{resource_title}</a> إلى %{participatory_space_title}
|
215
|
+
proposal_rejected:
|
216
|
+
affected_user:
|
217
|
+
email_intro: 'تم رفض اقتراحك "%{resource_title}". يمكنك قراءة الإجابة في هذه الصفحة:'
|
218
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف "%{resource_title}".
|
219
|
+
email_subject: تم رفض اقتراحك
|
220
|
+
notification_title: تم رفض اقتراحك <a href="%{resource_path}">%{resource_title}</a>.
|
221
|
+
proposal_update_category:
|
222
|
+
email_intro: 'قام المشرف بتحديث فئة اقتراحك "%{resource_title}" ، تحقق من ذلك في هذه الصفحة:'
|
223
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف الاقتراح.
|
224
|
+
email_subject: تم تحديث فئة %{resource_title} اقتراح
|
225
|
+
notification_title: تم تحديث فئة اقتراح <a href="%{resource_path}">%{resource_title}</a> بواسطة مسؤول.
|
226
|
+
voting_enabled:
|
227
|
+
email_intro: 'يمكنك دعم المقترحات في %{participatory_space_title}! ابدأ المشاركة في هذه الصفحة:'
|
228
|
+
email_outro: لقد تلقيت هذا الإشعار لأنك تتابع %{participatory_space_title}. يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
|
229
|
+
email_subject: بدأ دعم الاقتراح لمدة %{participatory_space_title}
|
230
|
+
notification_title: يمكنك الآن بدء <a href="%{resource_path}">دعم المقترحات</a> في <a href="%{participatory_space_url}">%{participatory_space_title}</a>
|
231
|
+
gamification:
|
232
|
+
badges:
|
233
|
+
accepted_proposals:
|
234
|
+
conditions:
|
235
|
+
- اختر مساحة المشاركة التي تهمك مع تمكين تقديم المقترحات
|
236
|
+
- حاول تقديم مقترحات يمكن تنفيذها. بهذه الطريقة هم أكثر عرضة للقبول.
|
237
|
+
description: تُمنح هذه الشارة عندما تشارك بفعالية في المقترحات الجديدة ويتم قبولها.
|
238
|
+
description_another: هذا المشارك لديه %{score} مقترحات مقبولة.
|
239
|
+
description_own: حصلت على %{score} مقترحات مقبولة.
|
240
|
+
name: مقترحات مقبولة
|
241
|
+
next_level_in: احصل على %{score} مقترحات أخرى مقبولة للوصول إلى المستوى التالي!
|
242
|
+
unearned_another: هذا المشارك لم يكن لديه أي مقترحات مقبولة.
|
243
|
+
unearned_own: لم تحصل على اقتراحات مقبولة حتى الآن.
|
244
|
+
proposal_votes:
|
245
|
+
conditions:
|
246
|
+
- تصفح وقضاء بعض الوقت في قراءة اقتراحات الآخرين
|
247
|
+
- قدم الدعم للمقترحات التي تحبها أو تجدها مثيرة للاهتمام
|
248
|
+
description: تُمنح هذه الشارة عند دعم اقتراحات الآخرين.
|
249
|
+
description_another: قدم هذا المشارك الدعم إلى %{score} مقترحات.
|
250
|
+
description_own: لقد قدمت الدعم إلى %{score} مقترحات.
|
251
|
+
name: يدعم الاقتراح
|
252
|
+
next_level_in: تقديم الدعم ل %{score} مقترحات أخرى للوصول إلى المستوى التالي!
|
253
|
+
unearned_another: لم يقدم هذا المشارك الدعم لأي مقترحات حتى الآن.
|
254
|
+
unearned_own: لقد قدمت الدعم لأية مقترحات حتى الآن.
|
255
|
+
proposals:
|
256
|
+
conditions:
|
257
|
+
- اختر مساحة المشاركة التي تهمك مع تمكين تقديم المقترحات
|
258
|
+
- إنشاء اقتراح جديد
|
259
|
+
description: تُمنح هذه الشارة عندما تشارك بنشاط في مقترحات جديدة.
|
260
|
+
description_another: قام هذا المشارك بإنشاء %{score} مقترحات.
|
261
|
+
description_own: لقد قمت بإنشاء %{score} مقترحات.
|
262
|
+
name: اقتراحات
|
263
|
+
next_level_in: إنشاء %{score} المزيد من المقترحات للوصول إلى المستوى التالي!
|
264
|
+
unearned_another: لم ينشئ هذا المشارك أي مقترحات حتى الآن.
|
265
|
+
unearned_own: لم تنشئ اقتراحات بعد.
|
266
|
+
metrics:
|
267
|
+
accepted_proposals:
|
268
|
+
description: عدد المقترحات المقبولة
|
269
|
+
object: اقتراحات
|
270
|
+
title: مقترحات مقبولة
|
271
|
+
endorsements:
|
272
|
+
description: عدد موافقات المقترحات
|
273
|
+
object: موافقات
|
274
|
+
title: موافقات
|
275
|
+
proposals:
|
276
|
+
description: عدد المقترحات
|
277
|
+
object: اقتراحات
|
278
|
+
title: اقتراحات
|
279
|
+
votes:
|
280
|
+
description: عدد الدعم للمقترحات
|
281
|
+
object: الدعم
|
282
|
+
title: الدعم
|
283
|
+
participatory_processes:
|
284
|
+
participatory_process_groups:
|
285
|
+
highlighted_proposals:
|
286
|
+
proposals: اقتراحات
|
287
|
+
participatory_spaces:
|
288
|
+
highlighted_proposals:
|
289
|
+
see_all: شاهد الكل (%{count})
|
290
|
+
proposals:
|
291
|
+
actions:
|
292
|
+
answer: إجابة
|
293
|
+
edit_proposal: تعديل الاقتراح
|
294
|
+
import: استيراد من مكون آخر
|
295
|
+
new: عرض جديد
|
296
|
+
participatory_texts: النصوص التشاركية
|
297
|
+
private_notes: ملاحظات خاصة
|
298
|
+
title: أفعال
|
299
|
+
admin:
|
300
|
+
actions:
|
301
|
+
preview: معاينة
|
302
|
+
exports:
|
303
|
+
comments: تعليقات
|
304
|
+
proposals: اقتراحات
|
305
|
+
models:
|
306
|
+
proposal:
|
307
|
+
name: اقتراح
|
308
|
+
participatory_texts:
|
309
|
+
bulk-actions:
|
310
|
+
are_you_sure: هل أنت متأكد من تجاهل مشروع النص التشاركي بأكمله؟
|
311
|
+
discard_all: تجاهل كل
|
312
|
+
import_doc: استيراد المستند
|
313
|
+
discard:
|
314
|
+
success: تم تجاهل جميع المسودات النصية التشاركية.
|
315
|
+
import:
|
316
|
+
invalid: النموذج غير صالح!
|
317
|
+
success: مبروك ، تم تحويل الأقسام التالية إلى مقترحات. يمكنك الآن مراجعتها وضبطها قبل النشر.
|
318
|
+
index:
|
319
|
+
info_1: تم تحويل الأقسام التالية إلى مقترحات. يمكنك الآن مراجعتها وضبطها قبل النشر.
|
320
|
+
publish_document: نشر المستند
|
321
|
+
save_draft: حفظ المسودة
|
322
|
+
title: عرض نص المشاركة
|
323
|
+
new_import:
|
324
|
+
accepted_mime_types:
|
325
|
+
md: تخفيض السعر
|
326
|
+
odt: ODT
|
327
|
+
bottom_hint: "(سوف تكون قادرًا على معاينة وفرز أقسام المستندات)"
|
328
|
+
document_legend: 'أضف مستندًا أقل من 2 ميغابايت ، وسيتم تحليل كل قسم حتى عمق 3 مستويات في الاقتراحات. التنسيقات المدعومة هي: %{valid_mime_types}'
|
329
|
+
title: إضافة وثيقة
|
330
|
+
upload_document: تحميل المستند
|
331
|
+
publish:
|
332
|
+
invalid: لا يمكن نشر المقترحات
|
333
|
+
success: تم نشر جميع المقترحات
|
334
|
+
sections:
|
335
|
+
article: "<em>المادة</em>"
|
336
|
+
section: "<em>القسم:</em> <strong>%{title}</strong>"
|
337
|
+
sub-section: "<em>القسم الفرعي:</em> %{title}"
|
338
|
+
update:
|
339
|
+
success: تم تحديث النص التشاركي بنجاح.
|
340
|
+
proposal_answers:
|
341
|
+
edit:
|
342
|
+
accepted: وافقت
|
343
|
+
answer_proposal: إجابة
|
344
|
+
evaluating: تقييم
|
345
|
+
rejected: مرفوض
|
346
|
+
title: الإجابة على الاقتراح %{title}
|
347
|
+
proposal_notes:
|
348
|
+
create:
|
349
|
+
error: حدثت مشكلة أثناء إنشاء مذكرة الاقتراح هذه
|
350
|
+
success: تم إنشاء ملاحظة الاقتراح بنجاح
|
351
|
+
form:
|
352
|
+
note: ملحوظة
|
353
|
+
submit: خضع
|
354
|
+
leave_your_note: اترك ملاحظتك
|
355
|
+
title: ملاحظات خاصة
|
356
|
+
proposals:
|
357
|
+
answer:
|
358
|
+
invalid: كانت هناك مشكلة في الإجابة على هذا الاقتراح
|
359
|
+
success: تم الرد على الاقتراح بنجاح
|
360
|
+
create:
|
361
|
+
invalid: كانت هناك مشكلة في إنشاء هذا الاقتراح
|
362
|
+
success: تم إنشاء الاقتراح بنجاح
|
363
|
+
edit:
|
364
|
+
title: تحديث الاقتراح
|
365
|
+
update: تحديث
|
366
|
+
form:
|
367
|
+
attachment_legend: "(اختياري) إضافة مرفق"
|
368
|
+
created_in_meeting: هذا الاقتراح يأتي من اجتماع
|
369
|
+
select_a_category: اختر تصنيف
|
370
|
+
select_a_meeting: اختيار اجتماع
|
371
|
+
index:
|
372
|
+
actions: أفعال
|
373
|
+
cancel: إلغاء
|
374
|
+
change_category: تغيير الفئة
|
375
|
+
merge: دمج في واحدة جديدة
|
376
|
+
merge_button: دمج
|
377
|
+
select_component: حدد المكون
|
378
|
+
selected: المحدد
|
379
|
+
split: تقسيم المقترحات
|
380
|
+
split_button: انشق، مزق
|
381
|
+
title: اقتراحات
|
382
|
+
update: تحديث
|
383
|
+
new:
|
384
|
+
create: إنشاء
|
385
|
+
title: إنشاء اقتراح
|
386
|
+
update_category:
|
387
|
+
invalid: 'هذه المقترحات لديها بالفعل فئة %{category} : %{proposals}.'
|
388
|
+
select_a_category: الرجاء تحديد الفئة
|
389
|
+
select_a_proposal: يرجى اختيار الاقتراح
|
390
|
+
success: 'تم تحديث الاقتراحات بنجاح إلى فئة %{category} : %{proposals}.'
|
391
|
+
proposals_imports:
|
392
|
+
create:
|
393
|
+
invalid: كانت هناك مشكلة في استيراد المقترحات
|
394
|
+
success: "%{number} مقترحات تم استيرادها بنجاح"
|
395
|
+
new:
|
396
|
+
create: مقترحات الاستيراد
|
397
|
+
no_components: لا توجد مكونات اقتراح أخرى في هذه المساحة التشاركية لاستيراد المقترحات منها.
|
398
|
+
select_component: يرجى اختيار عنصر
|
399
|
+
select_states: تحقق من حالة مقترحات الاستيراد
|
400
|
+
proposals_merges:
|
401
|
+
create:
|
402
|
+
invalid: كانت هناك مشكلة في دمج المقترحات المحددة.
|
403
|
+
success: دمج المقترحات بنجاح في واحدة جديدة.
|
404
|
+
proposals_splits:
|
405
|
+
create:
|
406
|
+
invalid: كانت هناك مشكلة في تقسيم المقترحات المحددة.
|
407
|
+
success: تم تقسيم المقترحات بنجاح إلى مقترحات جديدة.
|
408
|
+
shared:
|
409
|
+
info_proposal:
|
410
|
+
body: الجسم
|
411
|
+
created_at: تاريخ الإنشاء
|
412
|
+
proposal_votes_count: يدعم العد
|
413
|
+
proposals: اقتراحات
|
414
|
+
admin_log:
|
415
|
+
proposal:
|
416
|
+
answer: "%{user_name} أجاب على الاقتراح %{resource_name} على %{space_name} الفضاء"
|
417
|
+
create: "%{user_name} بإنشاء الاقتراح %{resource_name} على الحيز %{space_name} كمقترح رسمي"
|
418
|
+
update: "%{user_name} تحديث الاقتراح الرسمي %{resource_name} على %{space_name} الفضاء"
|
419
|
+
proposal_note:
|
420
|
+
create: "غادر %{user_name} ملاحظة خاصة على الاقتراح %{resource_name} على %{space_name} الفضاء"
|
421
|
+
answers:
|
422
|
+
accepted: وافقت
|
423
|
+
evaluating: تقييم
|
424
|
+
not_answered: بلا جواب
|
425
|
+
rejected: مرفوض
|
426
|
+
withdrawn: سحب
|
427
|
+
application_helper:
|
428
|
+
filter_origin_values:
|
429
|
+
all: الكل
|
430
|
+
citizens: المواطنون
|
431
|
+
meetings: اجتماعات
|
432
|
+
user_groups: المجموعات
|
433
|
+
filter_state_values:
|
434
|
+
accepted: وافقت
|
435
|
+
all: الكل
|
436
|
+
evaluating: تقييم
|
437
|
+
rejected: مرفوض
|
438
|
+
filter_type_values:
|
439
|
+
all: الكل
|
440
|
+
amendments: تعديلات
|
441
|
+
proposals: اقتراحات
|
442
|
+
collaborative_drafts:
|
443
|
+
collaborative_draft:
|
444
|
+
publish:
|
445
|
+
error: حدثت مشكلة أثناء نشر المسودة التعاونية.
|
446
|
+
irreversible_action_modal:
|
447
|
+
body: بعد نشر المسودة كاقتراح ، لن تكون المسودة قابلة للتحرير بعد الآن. لن يقبل الاقتراح مؤلفين أو مساهمات جديدة.
|
448
|
+
cancel: إلغاء
|
449
|
+
ok: نشر كاقتراح
|
450
|
+
title: الإجراء التالي لا رجعة فيه
|
451
|
+
success: مسودة تعاونية تم نشرها بنجاح كمقترح
|
452
|
+
view_collaborative_draft: عرض المسودة التعاونية
|
453
|
+
withdraw:
|
454
|
+
error: حدثت مشكلة أثناء إغلاق المسودة التعاونية.
|
455
|
+
irreversible_action_modal:
|
456
|
+
body: بعد إغلاق المسودة ، لن تكون المسودة قابلة للتحرير بعد الآن. لن يقبل المسودة مؤلفين أو مساهمات جديدة.
|
457
|
+
cancel: إلغاء
|
458
|
+
ok: سحب المسودة التعاونية
|
459
|
+
title: الإجراء التالي لا رجعة فيه
|
460
|
+
success: تم سحب مشروع تعاوني بنجاح.
|
461
|
+
compare:
|
462
|
+
mine_is_different: مسودتي التعاونية مختلفة
|
463
|
+
no_similars_found: أحسنت! لم يتم العثور على مسودات تعاونية مماثلة
|
464
|
+
title: مسودات تعاونية مماثلة
|
465
|
+
complete:
|
466
|
+
send: إرسال
|
467
|
+
title: أكمل مسودتك التعاونية
|
468
|
+
count:
|
469
|
+
drafts_count:
|
470
|
+
zero: "%{count} مسودات تعاونية"
|
471
|
+
one: "%{count} مشروع تعاوني"
|
472
|
+
two: "%{count} مسودات تعاونية"
|
473
|
+
few: "%{count} مسودات تعاونية"
|
474
|
+
many: "%{count} مسودات تعاونية"
|
475
|
+
other: "%{count} مسودات تعاونية"
|
476
|
+
create:
|
477
|
+
error: كانت هناك مشكلة في إنشاء هذه المسودات التعاونية
|
478
|
+
success: تم إنشاء مشروع تعاوني بنجاح.
|
479
|
+
edit:
|
480
|
+
attachment_legend: "(اختياري) إضافة مرفق"
|
481
|
+
back: الى الخلف
|
482
|
+
select_a_category: الرجاء تحديد الفئة
|
483
|
+
send: إرسال
|
484
|
+
title: تحرير المسودة التعاونية
|
485
|
+
filters:
|
486
|
+
all: الكل
|
487
|
+
amendment: تعديلات
|
488
|
+
category: الفئة
|
489
|
+
category_prompt: الفئة موجه
|
490
|
+
open: افتح
|
491
|
+
published: نشرت
|
492
|
+
related_to: متعلق ب
|
493
|
+
search: بحث
|
494
|
+
state: الحالة
|
495
|
+
withdrawn: سحب
|
496
|
+
filters_small_view:
|
497
|
+
close_modal: إغلاق مشروط
|
498
|
+
filter: منقي
|
499
|
+
filter_by: مصنف بواسطة
|
500
|
+
unfold: كشف
|
501
|
+
new:
|
502
|
+
send: استمر
|
503
|
+
title: إنشاء مسودتك التعاونية
|
504
|
+
new_collaborative_draft_button:
|
505
|
+
new_collaborative_draft: مشروع تعاوني جديد
|
506
|
+
orders:
|
507
|
+
label: 'ترتيب المسودات حسب:'
|
508
|
+
most_contributed: التي تحصلت على معظم المساهمات
|
509
|
+
random: عشوائية
|
510
|
+
recent: الأخيرة
|
511
|
+
requests:
|
512
|
+
accepted_request:
|
513
|
+
error: لا يمكن قبول كمتعاون ، يرجى المحاولة مرة أخرى في وقت لاحق.
|
514
|
+
success: "تم قبول @%{user} كمتعاون بنجاح"
|
515
|
+
access_requested:
|
516
|
+
error: تعذر إكمال طلبك ، يرجى إعادة المحاولة لاحقًا.
|
517
|
+
success: تم إرسال طلبك للتعاون بنجاح
|
518
|
+
collaboration_requests:
|
519
|
+
accept_request: قبول
|
520
|
+
reject_request: رفض
|
521
|
+
title: طلبات التعاون
|
522
|
+
rejected_request:
|
523
|
+
error: لا يمكن الرفض كمتعاون ، يرجى المحاولة مرة أخرى لاحقًا.
|
524
|
+
success: "تم رفض @%{user} بنجاح كمتعاون"
|
525
|
+
show:
|
526
|
+
back: الى الخلف
|
527
|
+
edit: تحرير المسودة التعاونية
|
528
|
+
final_proposal: الاقتراح النهائي
|
529
|
+
final_proposal_help_text: انتهى هذا المشروع. تحقق من الاقتراح النهائي
|
530
|
+
hidden_authors_count:
|
531
|
+
zero: و %{count} المزيد من الناس
|
532
|
+
one: و %{count} شخص آخر
|
533
|
+
two: و %{count} المزيد من الناس
|
534
|
+
few: و %{count} المزيد من الناس
|
535
|
+
many: و %{count} المزيد من الناس
|
536
|
+
other: و %{count} المزيد من الناس
|
537
|
+
info-message: هذا هو <strong>مشروع تعاوني</strong> لاقتراح. هذا يعني أنه يمكنك مساعدة مؤلفيها في صياغة الاقتراح باستخدام قسم التعليقات أدناه أو تحسينه مباشرةً من خلال طلب الوصول لتحريره. بمجرد أن يمنحك المؤلفون حق الوصول ، ستتمكن من إجراء تغييرات على هذه المسودة.
|
538
|
+
of_versions: "(من %{number})"
|
539
|
+
publish: نشر
|
540
|
+
publish_info: نشر هذا الإصدار من المسودة أو
|
541
|
+
published_proposal: الاقتراح المنشور
|
542
|
+
request_access: طلب الدخول
|
543
|
+
requested_access: طلب الوصول
|
544
|
+
see_other_versions: رؤية الإصدارات الأخرى
|
545
|
+
version: الإصدار %{number}
|
546
|
+
version_history: انظر تاريخ الإصدار لهذا الاقتراح
|
547
|
+
withdraw: سحب المشروع
|
548
|
+
states:
|
549
|
+
open: افتح
|
550
|
+
published: نشرت
|
551
|
+
withdrawn: سحب
|
552
|
+
update:
|
553
|
+
error: حدثت مشكلة في حفظ المسودة التعاونية.
|
554
|
+
success: تم تحديث المسودة التعاونية بنجاح.
|
555
|
+
wizard_aside:
|
556
|
+
back: الى الخلف
|
557
|
+
info: إنك لعلى خلق <strong>مشروع تعاوني</strong>.
|
558
|
+
wizard_steps:
|
559
|
+
see_steps: عرض الخطوات
|
560
|
+
step_1: إنشاء مسودتك التعاونية
|
561
|
+
step_2: قارن مع المسودات التعاونية
|
562
|
+
step_3: أكمل مسودتك التعاونية
|
563
|
+
step_of: الخطوة %{current_step_num} من %{total_steps}
|
564
|
+
create:
|
565
|
+
error: كانت هناك مشكلة في حفظ الاقتراح.
|
566
|
+
success: تم إنشاء الاقتراح بنجاح. تم الحفظ كمسودة.
|
567
|
+
destroy_draft:
|
568
|
+
error: حدثت مشكلة في حذف المسودة التعاونية.
|
569
|
+
success: تم حذف مسودة الاقتراح بنجاح.
|
570
|
+
last_activity:
|
571
|
+
new_proposal_at_html: "<span>اقتراح جديد في %{link}</span>"
|
572
|
+
models:
|
573
|
+
collaborative_draft:
|
574
|
+
fields:
|
575
|
+
authors: المؤلفون
|
576
|
+
comments: تعليقات
|
577
|
+
contributions: مساهمات
|
578
|
+
proposal:
|
579
|
+
fields:
|
580
|
+
category: الفئة
|
581
|
+
comments: تعليقات
|
582
|
+
endorsements: موافقات
|
583
|
+
id: هوية شخصية
|
584
|
+
notes: ملاحظات
|
585
|
+
official_proposal: الاقتراح الرسمي
|
586
|
+
published_at: نشرت في
|
587
|
+
scope: نطاق
|
588
|
+
state: الحالة
|
589
|
+
title: عنوان
|
590
|
+
votes: الأصوات
|
591
|
+
new:
|
592
|
+
limit_reached: لا يمكنك إنشاء مقترحات جديدة لأنك تجاوزت الحد.
|
593
|
+
participatory_text_proposal:
|
594
|
+
alternative_title: لا توجد نصوص تشاركية في الوقت الحالي
|
595
|
+
buttons:
|
596
|
+
amend: تعديل
|
597
|
+
comment: تعليق
|
598
|
+
comments: تعليقات
|
599
|
+
endorse: تأييد
|
600
|
+
proposal_endorsements:
|
601
|
+
create:
|
602
|
+
error: كانت هناك مشكلة في تأييد الاقتراح.
|
603
|
+
identities:
|
604
|
+
done: فعله
|
605
|
+
select_identity: حدد الهوية
|
606
|
+
proposal_endorsements_helper:
|
607
|
+
endorsement_button:
|
608
|
+
already_endorsed: أيد
|
609
|
+
endorse: تأييد
|
610
|
+
render_endorsements_button_card_part:
|
611
|
+
endorse: تأييد
|
612
|
+
proposal_votes:
|
613
|
+
create:
|
614
|
+
error: كانت هناك مشكلة في دعم الاقتراح.
|
615
|
+
proposals:
|
616
|
+
compare:
|
617
|
+
continue: استمر
|
618
|
+
no_similars_found: أحسنت! لم يتم العثور على مقترحات مماثلة
|
619
|
+
title: مقترحات مماثلة
|
620
|
+
complete:
|
621
|
+
send: إرسال
|
622
|
+
title: أكمل اقتراحك
|
623
|
+
count:
|
624
|
+
proposals_count:
|
625
|
+
zero: "%{count} مقترحات"
|
626
|
+
one: "%{count} اقتراح"
|
627
|
+
two: "%{count} مقترحات"
|
628
|
+
few: "%{count} مقترحات"
|
629
|
+
many: "%{count} مقترحات"
|
630
|
+
other: "%{count} مقترحات"
|
631
|
+
edit:
|
632
|
+
attachment_legend: "(اختياري) إضافة مرفق"
|
633
|
+
back: الى الخلف
|
634
|
+
select_a_category: الرجاء تحديد الفئة
|
635
|
+
send: إرسال
|
636
|
+
title: تعديل الاقتراح
|
637
|
+
edit_draft:
|
638
|
+
discard: تجاهل هذه المسودة
|
639
|
+
discard_confirmation: هل أنت متأكد من أنك تريد التخلص من مسودة الاقتراح؟
|
640
|
+
send: معاينة
|
641
|
+
title: تحرير مسودة الاقتراح
|
642
|
+
endorsement_identities_cabin:
|
643
|
+
endorse: تأييد
|
644
|
+
endorsements_card_row:
|
645
|
+
comments: تعليقات
|
646
|
+
filters:
|
647
|
+
activity: نشاط
|
648
|
+
amendment_type: نوع
|
649
|
+
category: الفئة
|
650
|
+
category_prompt: اختر تصنيف
|
651
|
+
origin: الأصل
|
652
|
+
related_to: متعلق ب
|
653
|
+
search: بحث
|
654
|
+
state: الحالة
|
655
|
+
voted: أيد
|
656
|
+
filters_small_view:
|
657
|
+
close_modal: إغلاق مشروط
|
658
|
+
filter: منقي
|
659
|
+
filter_by: مصنف بواسطة
|
660
|
+
unfold: كشف
|
661
|
+
index:
|
662
|
+
collaborative_drafts_list: الوصول إلى المسودات التعاونية
|
663
|
+
new_proposal: عرض جديد
|
664
|
+
see_all_withdrawn: الاطلاع على جميع المقترحات المسحوبة
|
665
|
+
view_proposal: عرض الاقتراح
|
666
|
+
linked_proposals:
|
667
|
+
proposal_votes:
|
668
|
+
zero: الدعم
|
669
|
+
one: الدعم
|
670
|
+
two: الدعم
|
671
|
+
few: الدعم
|
672
|
+
many: الدعم
|
673
|
+
other: الدعم
|
674
|
+
new:
|
675
|
+
send: استمر
|
676
|
+
title: إنشاء اقتراحك
|
677
|
+
orders:
|
678
|
+
label: 'ترتيب المقترحات حسب:'
|
679
|
+
most_voted: التي تحصلت على أكبر دعم
|
680
|
+
random: عشوائية
|
681
|
+
recent: الأخيرة
|
682
|
+
participatory_texts:
|
683
|
+
index:
|
684
|
+
document_index: فهرس الوثيقة
|
685
|
+
view_index:
|
686
|
+
see_index: انظر الفهرس
|
687
|
+
preview:
|
688
|
+
modify: تعديل الاقتراح
|
689
|
+
proposal_edit_before_minutes:
|
690
|
+
zero: ستتمكن من تعديل هذا الاقتراح خلال الدقائق %{count} الأولى بعد نشر الاقتراح. بمجرد مرور هذه النافذة الزمنية ، لن تتمكن من تعديل الاقتراح.
|
691
|
+
one: ستتمكن من تعديل هذا الاقتراح خلال الدقيقة الأولى بعد نشر الاقتراح. بمجرد مرور هذه النافذة الزمنية ، لن تتمكن من تعديل الاقتراح.
|
692
|
+
two: ستتمكن من تعديل هذا الاقتراح خلال الدقائق %{count} الأولى بعد نشر الاقتراح. بمجرد مرور هذه النافذة الزمنية ، لن تتمكن من تعديل الاقتراح.
|
693
|
+
few: ستتمكن من تعديل هذا الاقتراح خلال الدقائق %{count} الأولى بعد نشر الاقتراح. بمجرد مرور هذه النافذة الزمنية ، لن تتمكن من تعديل الاقتراح.
|
694
|
+
many: ستتمكن من تعديل هذا الاقتراح خلال الدقائق %{count} الأولى بعد نشر الاقتراح. بمجرد مرور هذه النافذة الزمنية ، لن تتمكن من تعديل الاقتراح.
|
695
|
+
other: ستتمكن من تعديل هذا الاقتراح خلال الدقائق %{count} الأولى بعد نشر الاقتراح. بمجرد مرور هذه النافذة الزمنية ، لن تتمكن من تعديل الاقتراح.
|
696
|
+
publish: نشر
|
697
|
+
title: نشر اقتراحك
|
698
|
+
proposal:
|
699
|
+
creation_date: 'الإنشاء: %{date}'
|
700
|
+
view_proposal: عرض الاقتراح
|
701
|
+
show:
|
702
|
+
back_to: ارجع الى
|
703
|
+
edit_proposal: تعديل الاقتراح
|
704
|
+
endorsements_list: قائمة المصادقة
|
705
|
+
hidden_endorsers_count:
|
706
|
+
zero: و %{count} المزيد من الناس
|
707
|
+
one: و %{count} شخص آخر
|
708
|
+
two: و %{count} المزيد من الناس
|
709
|
+
few: و %{count} المزيد من الناس
|
710
|
+
many: و %{count} المزيد من الناس
|
711
|
+
other: و %{count} المزيد من الناس
|
712
|
+
link_to_collaborative_draft_help_text: هذا الاقتراح هو نتيجة لمشروع تعاوني. مراجعة التاريخ
|
713
|
+
link_to_collaborative_draft_text: انظر المسودة التعاونية
|
714
|
+
proposal_accepted_reason: 'تم قبول هذا الاقتراح بسبب:'
|
715
|
+
proposal_in_evaluation_reason: هذا الاقتراح قيد التقييم
|
716
|
+
proposal_rejected_reason: 'تم رفض هذا الاقتراح بسبب:'
|
717
|
+
report: أبلغ عن
|
718
|
+
withdraw_btn_hint: يمكنك سحب اقتراحك إذا غيرت رأيك ، طالما أنك لم تتلق أي دعم. لم يتم حذف الاقتراح ، وسوف يظهر في قائمة المقترحات المسحوبة.
|
719
|
+
withdraw_confirmation: هل أنت متأكد أنك تريد سحب هذا الاقتراح؟
|
720
|
+
withdraw_proposal: سحب الاقتراح
|
721
|
+
tags:
|
722
|
+
changed_from: "(تم التغيير من <u>%{previous_category}</u> بواسطة مسؤول)"
|
723
|
+
filed_as: قدم كما
|
724
|
+
vote_button:
|
725
|
+
already_voted: معتمد بالفعل
|
726
|
+
already_voted_hover: سحب الدعم
|
727
|
+
maximum_votes_reached: تم الوصول إلى حد الدعم
|
728
|
+
no_votes_remaining: لا يدعم المتبقية
|
729
|
+
vote: الدعم
|
730
|
+
votes_blocked: يدعم المعوقين
|
731
|
+
votes_count:
|
732
|
+
count:
|
733
|
+
zero: يدعم
|
734
|
+
one: الدعم
|
735
|
+
two: يدعم
|
736
|
+
few: يدعم
|
737
|
+
many: يدعم
|
738
|
+
other: يدعم
|
739
|
+
most_popular_proposal: الاقتراح الأكثر شعبية
|
740
|
+
need_more_votes: بحاجة الى مزيد من الدعم
|
741
|
+
voting_rules:
|
742
|
+
can_accumulate_supports_beyond_threshold:
|
743
|
+
description: كل اقتراح يمكن أن تتراكم أكثر من %{limit} يدعم
|
744
|
+
minimum_votes_per_user:
|
745
|
+
description: يجب عليك توزيع ما لا يقل عن %{votes} دعما بين المقترحات المختلفة.
|
746
|
+
given_enough_votes: لقد قدمت ما يكفي من الدعم.
|
747
|
+
supports_remaining: يجب عليك دعم %{remaining_votes} مقترحات أخرى ليتم أخذها في الاعتبار.
|
748
|
+
proposal_limit:
|
749
|
+
description: يمكنك إنشاء ما يصل إلى %{limit} مقترحات.
|
750
|
+
threshold_per_proposal:
|
751
|
+
description: من أجل التحقق من صحة المقترحات تحتاج إلى الوصول إلى %{limit} الدعم
|
752
|
+
title: 'الدعامات تخضع للقواعد التالية:'
|
753
|
+
vote_limit:
|
754
|
+
description: يمكنك دعم ما يصل إلى %{limit} مقترحات.
|
755
|
+
left: متبق
|
756
|
+
votes: الدعم
|
757
|
+
wizard_aside:
|
758
|
+
back: الى الخلف
|
759
|
+
info: إنك بصدد إنشاء <strong>اقتراح</strong>.
|
760
|
+
wizard_steps:
|
761
|
+
see_steps: عرض الخطوات
|
762
|
+
step_1: إنشاء اقتراحك
|
763
|
+
step_2: قارن
|
764
|
+
step_3: إكمال
|
765
|
+
step_4: انشر اقتراحك
|
766
|
+
step_of: الخطوة %{current_step_num} من %{total_steps}
|
767
|
+
publish:
|
768
|
+
error: كانت هناك مشكلة في نشر الاقتراح.
|
769
|
+
success: تم نشر الاقتراح بنجاح.
|
770
|
+
update:
|
771
|
+
error: كانت هناك مشكلة في حفظ الاقتراح.
|
772
|
+
success: تم تحديث الاقتراح بنجاح.
|
773
|
+
update_draft:
|
774
|
+
error: حدثت مشكلة في حفظ المسودة التعاونية.
|
775
|
+
success: تم تحديث مسودة الاقتراح بنجاح.
|
776
|
+
versions:
|
777
|
+
changes_at_title: التغييرات في "%{title}"
|
778
|
+
index:
|
779
|
+
title: إصدارات
|
780
|
+
stats:
|
781
|
+
back_to_collaborative_draft: العودة إلى المسودة التعاونية
|
782
|
+
back_to_proposal: العودة إلى الاقتراح
|
783
|
+
number_of_versions: إصدارات
|
784
|
+
show_all_versions: عرض جميع الإصدارات
|
785
|
+
version_author: مؤلف الإصدار
|
786
|
+
version_created_at: تم إنشاء الإصدار في
|
787
|
+
version_number: رقم الإصدار
|
788
|
+
version_number_out_of_total: "%{current_version} من %{total_count}"
|
789
|
+
version:
|
790
|
+
version_index: الإصدار %{index}
|
791
|
+
withdraw:
|
792
|
+
errors:
|
793
|
+
has_supports: لا يمكن سحب هذا الاقتراح لأنه تلقى دعما مِن قَبل.
|
794
|
+
resource_links:
|
795
|
+
copied_from_component:
|
796
|
+
proposal_proposal: المقترحات ذات الصلة
|
797
|
+
included_projects:
|
798
|
+
project_result: 'النتائج التي تظهر في هذا المشروع:'
|
799
|
+
included_proposals:
|
800
|
+
proposal_project: 'اقتراح يظهر في هذه المشاريع:'
|
801
|
+
proposal_result: 'اقتراح يظهر في هذه النتائج:'
|