decidim-core 0.29.1 → 0.29.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/activity_cell.rb +0 -3
- data/app/cells/decidim/author/show.erb +5 -4
- data/app/cells/decidim/author_cell.rb +26 -0
- data/app/cells/decidim/card_s/show.erb +5 -3
- data/app/cells/decidim/diff_cell.rb +4 -0
- data/app/cells/decidim/newsletter_templates/image_text_cta_cell.rb +1 -1
- data/app/cells/decidim/translation_bar/show.erb +2 -2
- data/app/cells/decidim/translation_bar_cell.rb +1 -1
- data/app/commands/decidim/destroy_account.rb +3 -0
- data/app/controllers/decidim/doorkeeper/credentials_controller.rb +1 -1
- data/app/controllers/decidim/links_controller.rb +1 -1
- data/app/controllers/decidim/profiles_controller.rb +4 -0
- data/app/helpers/concerns/decidim/user_role_checker.rb +46 -0
- data/app/helpers/decidim/cta_button_helper.rb +1 -1
- data/app/helpers/decidim/map_helper.rb +6 -1
- data/app/helpers/decidim/sanitize_helper.rb +11 -2
- data/app/models/decidim/attachment.rb +1 -1
- data/app/packs/src/decidim/append_redirect_url_to_modals.js +14 -6
- data/app/packs/src/decidim/direct_uploads/upload_field.js +21 -8
- data/app/packs/src/decidim/index.js +3 -0
- data/app/packs/src/decidim/remote_tooltips.js +38 -0
- data/app/packs/src/decidim/toggle.js +1 -1
- data/app/packs/src/decidim/tooltips.js +42 -22
- data/app/packs/stylesheets/decidim/_labels.scss +1 -1
- data/app/packs/stylesheets/decidim/_profile.scss +1 -1
- data/app/packs/stylesheets/decidim/_progress-bar.scss +1 -1
- data/app/packs/stylesheets/decidim/legacy/conference-diploma.scss +2 -1
- data/app/presenters/decidim/attachment_presenter.rb +1 -1
- data/app/services/decidim/base_diff_renderer.rb +26 -2
- data/app/services/decidim/email_notification_generator.rb +14 -5
- data/app/views/decidim/pages/_tabbed.html.erb +2 -2
- data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
- data/config/locales/ar.yml +16 -0
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +98 -0
- data/config/locales/ca.yml +13 -9
- data/config/locales/cs.yml +5 -0
- data/config/locales/de.yml +18 -14
- data/config/locales/el.yml +7 -0
- data/config/locales/en.yml +4 -0
- data/config/locales/es-MX.yml +5 -1
- data/config/locales/es-PY.yml +5 -1
- data/config/locales/es.yml +11 -7
- data/config/locales/eu.yml +198 -181
- data/config/locales/fi-plain.yml +4 -0
- data/config/locales/fi.yml +39 -35
- data/config/locales/fr-CA.yml +6 -2
- data/config/locales/fr.yml +5 -1
- data/config/locales/ga-IE.yml +9 -0
- data/config/locales/gl.yml +8 -0
- data/config/locales/hu.yml +3 -3
- data/config/locales/id-ID.yml +8 -0
- data/config/locales/is-IS.yml +8 -1
- data/config/locales/it.yml +19 -0
- data/config/locales/ja.yml +15 -13
- data/config/locales/lb.yml +9 -0
- data/config/locales/lt.yml +5 -1
- data/config/locales/lv.yml +8 -0
- data/config/locales/nl.yml +10 -1
- data/config/locales/no.yml +9 -0
- data/config/locales/pl.yml +1 -1
- data/config/locales/pt-BR.yml +2 -1
- data/config/locales/pt.yml +14 -0
- data/config/locales/ro-RO.yml +258 -135
- data/config/locales/ru.yml +8 -0
- data/config/locales/sk.yml +9 -1
- data/config/locales/sv.yml +7 -7
- data/config/locales/tr-TR.yml +10 -1
- data/config/locales/uk.yml +8 -1
- data/config/locales/zh-CN.yml +9 -0
- data/config/locales/zh-TW.yml +8 -0
- data/config/routes.rb +1 -0
- data/decidim-core.gemspec +4 -1
- data/lib/decidim/api/functions/component_list.rb +1 -1
- data/lib/decidim/api/functions/participatory_space_finder_base.rb +11 -1
- data/lib/decidim/api/interfaces/participatory_space_interface.rb +1 -1
- data/lib/decidim/api/types/component_type.rb +7 -0
- data/lib/decidim/api/types/user_group_type.rb +4 -0
- data/lib/decidim/api/types/user_type.rb +4 -0
- data/lib/decidim/attributes/rich_text.rb +38 -0
- data/lib/decidim/attributes/time_with_zone.rb +11 -1
- data/lib/decidim/attributes.rb +2 -0
- data/lib/decidim/content_parsers/blob_parser.rb +93 -0
- data/lib/decidim/content_parsers.rb +1 -0
- data/lib/decidim/content_renderers/blob_renderer.rb +90 -0
- data/lib/decidim/content_renderers.rb +1 -0
- data/lib/decidim/core/engine.rb +29 -1
- data/lib/decidim/core/test/factories.rb +28 -0
- data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +1 -1
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +15 -2
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/diffy_extension.rb +18 -0
- data/lib/decidim/form_builder.rb +1 -1
- data/lib/decidim/map/autocomplete.rb +1 -0
- data/lib/decidim/participatory_space_user.rb +4 -0
- data/lib/decidim/query_extensions.rb +0 -26
- data/lib/decidim/settings_manifest.rb +2 -0
- data/lib/decidim/translatable_attributes.rb +6 -1
- data/lib/tasks/upgrade/decidim_fix_categorization.rake +34 -8
- metadata +28 -7
@@ -41,7 +41,7 @@ module Decidim
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def parse_i18n_changeset(attribute, values, type, diff)
|
44
|
-
values.last.keys.each do |locale, _value|
|
44
|
+
(values.last.keys - ["machine_translations"]).each do |locale, _value|
|
45
45
|
first_value = values.first.try(:[], locale)
|
46
46
|
last_value = values.last.try(:[], locale)
|
47
47
|
next if first_value == last_value
|
@@ -56,6 +56,27 @@ module Decidim
|
|
56
56
|
}
|
57
57
|
)
|
58
58
|
end
|
59
|
+
|
60
|
+
return diff unless values.last.has_key?("machine_translations")
|
61
|
+
|
62
|
+
values.last.fetch("machine_translations").each_key do |locale, _value|
|
63
|
+
next unless I18n.available_locales.include?(locale.to_sym)
|
64
|
+
|
65
|
+
first_value = values.first.try(:[], "machine_translations").try(:[], locale)
|
66
|
+
last_value = values.last.try(:[], "machine_translations").try(:[], locale)
|
67
|
+
|
68
|
+
attribute_locale = :"#{attribute}_machine_translations_#{locale}"
|
69
|
+
|
70
|
+
diff.update(
|
71
|
+
attribute_locale => {
|
72
|
+
type:,
|
73
|
+
label: generate_i18n_label(attribute, locale, "decidim.machine_translations.automatic"),
|
74
|
+
old_value: first_value,
|
75
|
+
new_value: last_value
|
76
|
+
}
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
59
80
|
diff
|
60
81
|
end
|
61
82
|
|
@@ -108,7 +129,8 @@ module Decidim
|
|
108
129
|
end
|
109
130
|
|
110
131
|
# Returns a String.
|
111
|
-
|
132
|
+
# i18n-tasks-use t("decidim.machine_translations.automatic")
|
133
|
+
def generate_i18n_label(attribute, locale, postfix = "")
|
112
134
|
label = I18n.t(attribute, scope: i18n_scope)
|
113
135
|
locale_name = if I18n.available_locales.include?(locale.to_sym)
|
114
136
|
I18n.t("locale.name", locale:)
|
@@ -116,6 +138,8 @@ module Decidim
|
|
116
138
|
locale
|
117
139
|
end
|
118
140
|
|
141
|
+
locale_name = I18n.t(postfix, locale_name:, locale:) if postfix.present?
|
142
|
+
|
119
143
|
"#{label} (#{locale_name})"
|
120
144
|
end
|
121
145
|
|
@@ -36,20 +36,29 @@ module Decidim
|
|
36
36
|
return unless resource
|
37
37
|
return unless event_class.types.include?(:email)
|
38
38
|
|
39
|
-
|
40
|
-
|
39
|
+
send_to_followers
|
40
|
+
send_to_affected_users
|
41
|
+
end
|
41
42
|
|
42
|
-
|
43
|
-
end
|
43
|
+
private
|
44
44
|
|
45
|
+
def send_to_affected_users
|
45
46
|
affected_users.each do |recipient|
|
46
47
|
next unless ["all", "own-only"].include?(recipient.notification_types)
|
48
|
+
next if recipient.deleted? || recipient.blocked?
|
47
49
|
|
48
50
|
send_email_to(recipient, user_role: :affected_user)
|
49
51
|
end
|
50
52
|
end
|
51
53
|
|
52
|
-
|
54
|
+
def send_to_followers
|
55
|
+
followers.each do |recipient|
|
56
|
+
next unless ["all", "followed-only"].include?(recipient.notification_types)
|
57
|
+
next if recipient.deleted? || recipient.blocked?
|
58
|
+
|
59
|
+
send_email_to(recipient, user_role: :follower)
|
60
|
+
end
|
61
|
+
end
|
53
62
|
|
54
63
|
attr_reader :event, :event_class, :resource, :followers, :affected_users, :extra
|
55
64
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
</header>
|
11
11
|
|
12
12
|
<div class="vertical-tabs">
|
13
|
-
<nav>
|
13
|
+
<nav role="navigation" aria-label="<%= I18n.t("layouts.decidim.navigation.aria_label", title: translated_attribute(page.title)) %>">
|
14
14
|
<button id="dropdown-trigger-pages" data-component="dropdown" data-target="dropdown-menu-pages" data-open-md="true" data-auto-close="true">
|
15
15
|
<span>
|
16
16
|
<%= translated_attribute(page.title) %>
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<ul id="dropdown-menu-pages" class="vertical-tabs__list" role="menu">
|
22
22
|
<% pages.each do |sibling| %>
|
23
23
|
<li class="<%= "is-active" if page == sibling %>" role="menuitem">
|
24
|
-
<%= link_to translated_attribute(sibling.title), page_path(sibling.slug) %>
|
24
|
+
<%= link_to translated_attribute(sibling.title), page_path(sibling.slug), "aria-current": (page == sibling).to_s %>
|
25
25
|
</li>
|
26
26
|
<% end %>
|
27
27
|
</ul>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="menu-bar__breadcrumb-mobile__dropdown-trigger">
|
3
3
|
<span>
|
4
4
|
<% breadcrumb_items.last(2).each_with_index do |item, i| %>
|
5
|
-
<% item_label = decidim_escape_translated(item[:label]) %>
|
5
|
+
<% item_label = decidim_escape_translated(item[:label]).html_safe %>
|
6
6
|
<% if i.positive? %>
|
7
7
|
<span>/</span>
|
8
8
|
<% end %>
|
data/config/locales/ar.yml
CHANGED
@@ -91,6 +91,8 @@ ar:
|
|
91
91
|
'false': 'لا'
|
92
92
|
'true': 'نعم'
|
93
93
|
date:
|
94
|
+
buttons:
|
95
|
+
select: تحديد
|
94
96
|
formats:
|
95
97
|
decidim_short: "%d/%m/%Y"
|
96
98
|
decidim_short_with_month_name_short: "%d %b %Y"
|
@@ -282,6 +284,7 @@ ar:
|
|
282
284
|
withdrawn: |-
|
283
285
|
تم سحب هذا التعديل على %{amendable_type} %{amendable_link}
|
284
286
|
من قبل المؤلف.
|
287
|
+
name: تعديل
|
285
288
|
new:
|
286
289
|
amendment_author: مؤلف التعديل
|
287
290
|
send: إنشاء
|
@@ -454,6 +457,8 @@ ar:
|
|
454
457
|
description: الوصف
|
455
458
|
footer_sub_hero:
|
456
459
|
name: تذييل البطل الفرعي راية
|
460
|
+
global_menu:
|
461
|
+
name: القائمة العامة
|
457
462
|
hero_settings_form:
|
458
463
|
background_image: الصورة الخلفية
|
459
464
|
welcome_text: نص الترحيب
|
@@ -473,8 +478,12 @@ ar:
|
|
473
478
|
name: النشاط الاخير
|
474
479
|
title: النشاط الاخير
|
475
480
|
view_all: عرض الكل
|
481
|
+
metadata:
|
482
|
+
name: البيانات الوصفية
|
476
483
|
metrics:
|
477
484
|
name: مقاييس المنظمة
|
485
|
+
participatory_space_metrics:
|
486
|
+
name: المقاييس
|
478
487
|
participatory_space_stats:
|
479
488
|
name: الإحصائيات
|
480
489
|
social_networks_metadata:
|
@@ -493,6 +502,10 @@ ar:
|
|
493
502
|
name: احصائيات المنظمة
|
494
503
|
sub_hero:
|
495
504
|
name: البطل الفرعي راية
|
505
|
+
core:
|
506
|
+
application_helper:
|
507
|
+
filter_category_values:
|
508
|
+
all: الكل
|
496
509
|
devise:
|
497
510
|
omniauth_registrations:
|
498
511
|
new:
|
@@ -1252,6 +1265,7 @@ ar:
|
|
1252
1265
|
participatory_space_filters:
|
1253
1266
|
filters:
|
1254
1267
|
areas: المناطق
|
1268
|
+
scope: نطاق
|
1255
1269
|
select_an_area: اختر المنطقة
|
1256
1270
|
public_participation:
|
1257
1271
|
public_participation: إبراز حضوري علنا
|
@@ -1664,6 +1678,8 @@ ar:
|
|
1664
1678
|
whatsapp_web: واتساب
|
1665
1679
|
xing: شينغ
|
1666
1680
|
time:
|
1681
|
+
buttons:
|
1682
|
+
select: تحديد
|
1667
1683
|
formats:
|
1668
1684
|
day_of_month: "%b %d"
|
1669
1685
|
day_of_week: "%a"
|
@@ -0,0 +1 @@
|
|
1
|
+
bn:
|
@@ -0,0 +1,98 @@
|
|
1
|
+
---
|
2
|
+
bs:
|
3
|
+
activerecord:
|
4
|
+
models:
|
5
|
+
decidim/endorsement:
|
6
|
+
one: Podržavanje
|
7
|
+
few: Podržavanja
|
8
|
+
other: Podržavanja
|
9
|
+
decidim:
|
10
|
+
accessibility:
|
11
|
+
logo: "Zvanični logo %{organization}"
|
12
|
+
skip_button: Preskoči na glavni sadržaj
|
13
|
+
admin_log:
|
14
|
+
user:
|
15
|
+
show_email: "%{user_name} je pribavio e-mail adresu učesnika %{resource_name}"
|
16
|
+
application:
|
17
|
+
document:
|
18
|
+
download: Preuzmi datoteku
|
19
|
+
author:
|
20
|
+
endorsements:
|
21
|
+
one: podržavanje
|
22
|
+
few: podržavanja
|
23
|
+
other: podržavanja
|
24
|
+
content_blocks:
|
25
|
+
hero_settings_form:
|
26
|
+
background_image: Pozadinska slika
|
27
|
+
welcome_text: Tekst dobrodošlice
|
28
|
+
stats:
|
29
|
+
name: Statistika organizacije
|
30
|
+
endorsements:
|
31
|
+
identities:
|
32
|
+
done: Gotovo
|
33
|
+
select_identity: Izaberite identitet
|
34
|
+
events:
|
35
|
+
resource_endorsed:
|
36
|
+
email_intro: '%{endorser_name}%{endorser_nickname}, koga pratite, je podržao %{resource_title} i mislimo da bi vas to možda interesovalo. Pogledajte i doprinesite:'
|
37
|
+
email_outro: Dobili ste ovo obaveštenje jer pratite %{endorser_nickname}. Možete da prestanete da dobijate obaveštenja, ukoliko pratite prethodni link.
|
38
|
+
email_subject: "%{endorser_nickname} je podržao nešto"
|
39
|
+
messaging:
|
40
|
+
conversations:
|
41
|
+
add_conversation_users:
|
42
|
+
add_max_users: 'Dodajte korisnike u razgovor: najviše 9 korisnika'
|
43
|
+
add_users_placeholder: Pretraži...
|
44
|
+
modal_title: Novi razgovor
|
45
|
+
no_results: Nema rezultata
|
46
|
+
index:
|
47
|
+
new_conversation: Novi razgovor
|
48
|
+
next: Sledeće
|
49
|
+
newsletter_templates:
|
50
|
+
basic_only_text:
|
51
|
+
body_preview: 'Probni tekst za pasus: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.'
|
52
|
+
name: Osnovno (samo tekst)
|
53
|
+
basic_only_text_settings_form:
|
54
|
+
body: Glavni deo teksta
|
55
|
+
interpolations_hint: 'Mala pomoć: Možeš da napišeš "%{name}" bilo gde u tekstu ili naslovu i automatski će se zameniti sa imenom primaoca.'
|
56
|
+
image_text_cta:
|
57
|
+
body_preview: 'Probni tekst za pasus: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.'
|
58
|
+
cta_text_preview: Tekst Poziva na akciju
|
59
|
+
introduction_preview: 'Probni tekst za uvod: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.'
|
60
|
+
name: Dugme za sliku, tekst i Poziv na akciju
|
61
|
+
image_text_cta_settings_form:
|
62
|
+
body: Glavni deo teksta
|
63
|
+
cta_text: Tekst dugmeta poziva na akciju
|
64
|
+
cta_url: Link dugmeta poziva na akciju
|
65
|
+
interpolations_hint: 'Mala pomoć: Možeš da napišeš "%{name}" bilo gde u uvodu, glavnom delu teksta, pozivu na akciju ili naslovu i automatski će se zameniti sa imenom primaoca.'
|
66
|
+
introduction: Uvod
|
67
|
+
main_image: Glavna slika
|
68
|
+
notifications_settings:
|
69
|
+
show:
|
70
|
+
direct_messages: Primaj direktne poruke od svih bez ograničenja
|
71
|
+
pages:
|
72
|
+
participatory_space:
|
73
|
+
metrics:
|
74
|
+
headline: Metrika
|
75
|
+
link: Prikaži svu metriku
|
76
|
+
resource_endorsements:
|
77
|
+
create:
|
78
|
+
error: Nastao je problem pri podržavanju.
|
79
|
+
shared:
|
80
|
+
results_per_page:
|
81
|
+
title: Izaberite broj rezultata po stranici
|
82
|
+
user_contact_disabled: Ovaj učesnik ne prihvata direktne poruke.
|
83
|
+
errors:
|
84
|
+
messages:
|
85
|
+
invalid_time_zone: nije validna vremenska zona
|
86
|
+
locale:
|
87
|
+
name: Bosanski
|
88
|
+
time:
|
89
|
+
formats:
|
90
|
+
long_dashed: "%d-%m-%Y %H:%M:%S"
|
91
|
+
versions:
|
92
|
+
dropdown:
|
93
|
+
choose_diff_view_html: 'HTML režim gledanja:'
|
94
|
+
views:
|
95
|
+
pagination:
|
96
|
+
next_title: Veza ka sledećoj stranici
|
97
|
+
previous_title: Veza ka prethodnoj stranici
|
98
|
+
title: 'Redni broj stranice:'
|
data/config/locales/ca.yml
CHANGED
@@ -986,7 +986,7 @@ ca:
|
|
986
986
|
success: Sol·licitud d'incorporació rebutjada correctament.
|
987
987
|
actions:
|
988
988
|
are_you_sure: Segur?
|
989
|
-
promote_to_admin: Fer
|
989
|
+
promote_to_admin: Fer administradora
|
990
990
|
remove_from_group: Eliminar participant
|
991
991
|
index:
|
992
992
|
current_members_without_admins: 'Membres actuals (sense administradors):'
|
@@ -1084,6 +1084,8 @@ ca:
|
|
1084
1084
|
not_found: 'L''àmbit no s''ha trobat a la base de dades (ID: %{id})'
|
1085
1085
|
scope_type_presenter:
|
1086
1086
|
not_found: 'El tipus d''àmbit no s''ha trobat a la base de dades (ID: %{id})'
|
1087
|
+
machine_translations:
|
1088
|
+
automatic: traducció automàtica a %{locale_name}
|
1087
1089
|
managed_users:
|
1088
1090
|
expired_session: La sessió actual d'administració d'una participant ha caducat.
|
1089
1091
|
map:
|
@@ -1103,35 +1105,35 @@ ca:
|
|
1103
1105
|
comanagers_new_conversation:
|
1104
1106
|
admin_in_group: Reps aquesta notificació perquè administres el grup "%{group}".
|
1105
1107
|
greeting: Hola, %{recipient}!
|
1106
|
-
intro: "%{manager} ha iniciat una nova conversa en nom de %{group}.
|
1108
|
+
intro: "%{manager} ha iniciat una nova conversa en nom de %{group}. Per veure-la i respondre, inicia la teva sessió i fes clic a l'enllaç que trobaràs més avall:"
|
1107
1109
|
outro: Gaudeix de la plataforma!
|
1108
1110
|
subject: "%{manager} ha iniciat una nova conversa com a %{group}"
|
1109
1111
|
comanagers_new_message:
|
1110
1112
|
admin_in_group: Reps aquesta notificació perquè administres el grup "%{group}".
|
1111
1113
|
greeting: Hola, %{recipient}!
|
1112
|
-
intro: "%{manager} ha publicat nous
|
1114
|
+
intro: "%{manager} ha publicat nous missatges a una conversa en nom de %{group}. Per veure'ls i respondre, inicia la teva sessió i fes clic a l'enllaç que trobaràs més avall:"
|
1113
1115
|
outro: Gaudeix de la plataforma!
|
1114
1116
|
subject: "%{manager} ha enviat nous missatges com a %{group}"
|
1115
1117
|
new_conversation:
|
1116
1118
|
greeting: Hola, %{recipient}!
|
1117
|
-
intro: "%{sender} ha iniciat una nova conversa amb tu.
|
1119
|
+
intro: "%{sender} ha iniciat una nova conversa amb tu. Per veure-la i respondre, inicia la teva sessió i fes clic a l'enllaç que trobaràs més avall:"
|
1118
1120
|
outro: Gaudeix de la plataforma!
|
1119
1121
|
subject: "%{sender} ha iniciat una conversa amb tu"
|
1120
1122
|
new_group_conversation:
|
1121
1123
|
admin_in_group: Reps aquesta notificació perquè administres el grup "%{group}".
|
1122
1124
|
greeting: Hola, %{recipient}!
|
1123
|
-
intro: "%{sender} ha iniciat una nova conversa amb el %{group}.
|
1125
|
+
intro: "%{sender} ha iniciat una nova conversa amb el %{group}. Per veure-la i respondre, inicia la teva sessió i fes clic a l'enllaç que trobaràs més avall:"
|
1124
1126
|
outro: Gaudeix de la plataforma!
|
1125
1127
|
subject: "%{sender} ha iniciat una nova conversa amb %{group}"
|
1126
1128
|
new_group_message:
|
1127
1129
|
admin_in_group: Reps aquesta notificació perquè administres el grup "%{group}".
|
1128
1130
|
greeting: Hola, %{recipient}!
|
1129
|
-
intro: "%{sender} ha publicat nous missatge a una conversa amb el grup %{group}.
|
1131
|
+
intro: "%{sender} ha publicat nous missatge a una conversa amb el grup %{group}. Per veure'ls i respondre, inicia la teva sessió i fes clic a l'enllaç que trobaràs més avall:"
|
1130
1132
|
outro: Gaudeix de la plataforma!
|
1131
1133
|
subject: "%{group} té nous missatge de %{sender}"
|
1132
1134
|
new_message:
|
1133
1135
|
greeting: Hola, %{recipient}!
|
1134
|
-
intro: "%{sender} ha enviat nous missatges a la teva conversa.
|
1136
|
+
intro: "%{sender} ha enviat nous missatges a la teva conversa. Per veure'ls i respondre, inicia la teva sessió i fes clic a l'enllaç que trobaràs més avall:"
|
1135
1137
|
outro: Gaudeix de la plataforma!
|
1136
1138
|
subject: Tens nous missatges de %{sender}
|
1137
1139
|
conversations:
|
@@ -1172,7 +1174,7 @@ ca:
|
|
1172
1174
|
active: Actives
|
1173
1175
|
finished: 'Finalitzat el: %{end_date}'
|
1174
1176
|
not_started: No s'ha iniciat encara
|
1175
|
-
remaining: "
|
1177
|
+
remaining: "Resta(en) %{time_distance}"
|
1176
1178
|
metrics:
|
1177
1179
|
download:
|
1178
1180
|
csv: Descarregar les dades (csv)
|
@@ -1583,7 +1585,7 @@ ca:
|
|
1583
1585
|
user_update_mailer:
|
1584
1586
|
notify:
|
1585
1587
|
body_1: Reps aquest missatge per informar-te d'una actualització del teu compte.
|
1586
|
-
body_2: En el cas que no hagis estat tu qui ha realitzat aquesta actualització, si us plau, inicia la teva sessió i modifica la teva contrasenya. Si no poguessis iniciar la teva sessió, si
|
1588
|
+
body_2: En el cas que no hagis estat tu qui ha realitzat aquesta actualització, si us plau, inicia la teva sessió i modifica la teva contrasenya. Si no poguessis iniciar la teva sessió, si us plau, contacte amb el servei de suport a la plataforma.
|
1587
1589
|
greetings: Hola,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
|
1588
1590
|
hello: Hola %{user}
|
1589
1591
|
main_body: 'S''han modificat els següents detalls: %{updates}.'
|
@@ -1947,6 +1949,8 @@ ca:
|
|
1947
1949
|
expire_time_html: La vostra sessió caducarà en <b><span class="minutes">%{minutes}</span> minutes</b>.
|
1948
1950
|
language_chooser:
|
1949
1951
|
choose_language: Triar la llengua
|
1952
|
+
navigation:
|
1953
|
+
aria_label: 'Menú de navegació: %{title}'
|
1950
1954
|
notifications_dashboard:
|
1951
1955
|
mark_all_as_read: Marcar tot com a llegit
|
1952
1956
|
mark_as_read: Marcar com a llegit
|
data/config/locales/cs.yml
CHANGED
@@ -1127,6 +1127,8 @@ cs:
|
|
1127
1127
|
not_found: 'Oblast působnosti nebyla nalezena v databázi (ID: %{id})'
|
1128
1128
|
scope_type_presenter:
|
1129
1129
|
not_found: 'Typ oboru nebyl nalezen v databázi (ID: %{id})'
|
1130
|
+
machine_translations:
|
1131
|
+
automatic: automatický překlad do %{locale_name}
|
1130
1132
|
managed_users:
|
1131
1133
|
expired_session: Aktuální relace správy účastníka vypršela.
|
1132
1134
|
map:
|
@@ -1997,6 +1999,8 @@ cs:
|
|
1997
1999
|
expire_time_html: Platnost vaší relace vyprší za <b><span class="minutes">%{minutes}</span></b>.
|
1998
2000
|
language_chooser:
|
1999
2001
|
choose_language: Vyberte jazyk
|
2002
|
+
navigation:
|
2003
|
+
aria_label: Navigační menu - %{title}
|
2000
2004
|
notifications_dashboard:
|
2001
2005
|
mark_all_as_read: Označit vše jako přečtené
|
2002
2006
|
mark_as_read: Označit jako přečtené
|
@@ -2105,6 +2109,7 @@ cs:
|
|
2105
2109
|
long_with_particles: "%B %d, %Y v %H:%M"
|
2106
2110
|
short: "%d/%m/%Y %H:%M"
|
2107
2111
|
time_of_day: "%H:%M"
|
2112
|
+
tooltip: "%d-%m-%Y %H:%M %p %Z (GMT %:z)"
|
2108
2113
|
versions:
|
2109
2114
|
directions:
|
2110
2115
|
left: Smazané
|
data/config/locales/de.yml
CHANGED
@@ -81,7 +81,7 @@ de:
|
|
81
81
|
date:
|
82
82
|
buttons:
|
83
83
|
close: Schliessen
|
84
|
-
select:
|
84
|
+
select: Wählen
|
85
85
|
formats:
|
86
86
|
decidim_short: "%d/%m/%Y"
|
87
87
|
decidim_short_dashed: "%d-%m-%Y"
|
@@ -189,7 +189,7 @@ de:
|
|
189
189
|
cancel: Abbrechen
|
190
190
|
password_change:
|
191
191
|
alert: Sie müssen Ihr Passwort ändern, um fortzufahren.
|
192
|
-
notification:
|
192
|
+
notification: Admins müssen ihr Passwort alle %{days} Tage ändern.
|
193
193
|
admin_log:
|
194
194
|
area:
|
195
195
|
create: "%{user_name} hat den Bereich %{resource_name} erstellt"
|
@@ -854,7 +854,7 @@ de:
|
|
854
854
|
answer: Antwort
|
855
855
|
collaborative_draft: Kollaborativer Entwurf
|
856
856
|
dummy_resource: Dummy-Ressourcen
|
857
|
-
meeting:
|
857
|
+
meeting: Veranstaltungen
|
858
858
|
project: Projekte
|
859
859
|
proposal: Vorschläge
|
860
860
|
result: Ergebnisse
|
@@ -1089,6 +1089,8 @@ de:
|
|
1089
1089
|
not_found: 'Der Bereich wurde nicht in der Datenbank gefunden (ID: %{id})'
|
1090
1090
|
scope_type_presenter:
|
1091
1091
|
not_found: 'Der Bereichstyp wurde nicht in der Datenbank gefunden (ID: %{id})'
|
1092
|
+
machine_translations:
|
1093
|
+
automatic: automatische Übersetzung in %{locale_name}
|
1092
1094
|
managed_users:
|
1093
1095
|
expired_session: Die aktuelle Identitätswechselsitzung ist abgelaufen.
|
1094
1096
|
map:
|
@@ -1298,7 +1300,7 @@ de:
|
|
1298
1300
|
not_available_yet: Die Open Data-Dateien sind noch nicht verfügbar. Bitte versuchen Sie es in einigen Minuten erneut.
|
1299
1301
|
pad_iframe:
|
1300
1302
|
disclaimer: Der Inhalt dieses Blocks wird von registrierten Benutzern verfasst und gibt deren Meinung wieder. %{organization} kann nicht für den Inhalt verantwortlich gemacht werden.
|
1301
|
-
explanation: Verwenden Sie dieses Pad, um während
|
1303
|
+
explanation: Verwenden Sie dieses Pad, um während der Veranstaltung gemeinsam Notizen zu machen, was die Protokollerstellung erleichtert.
|
1302
1304
|
pad: Pad
|
1303
1305
|
pages:
|
1304
1306
|
home:
|
@@ -1306,9 +1308,9 @@ de:
|
|
1306
1308
|
debates: Diskussionen
|
1307
1309
|
debates_explanation: Teilen Sie Ihre Ansichten und bereichern Sie die aus Ihrer Sicht relevanten Themen.
|
1308
1310
|
how_to_participate: Wie nehme ich an einem Prozess teil?
|
1309
|
-
meetings:
|
1311
|
+
meetings: Veranstaltungen
|
1310
1312
|
meetings_explanation: Finden Sie heraus, wo und wann Sie an öffentlichen Veranstaltungen teilnehmen können.
|
1311
|
-
more_info: Mehr Informationen
|
1313
|
+
more_info: Mehr Informationen über %{resource_name}
|
1312
1314
|
proposals: Vorschläge
|
1313
1315
|
proposals_explanation: Machen Sie Vorschläge, unterstützen Sie bestehende und fördern Sie die Änderungen, die Sie sehen möchten.
|
1314
1316
|
footer_sub_hero:
|
@@ -1320,7 +1322,7 @@ de:
|
|
1320
1322
|
participate_title: Beteiligen Sie sich an den Prozessen auf dieser Plattform
|
1321
1323
|
welcome: Willkommen bei %{organization}!
|
1322
1324
|
statistics:
|
1323
|
-
headline:
|
1325
|
+
headline: Starea curentă a %{organization}
|
1324
1326
|
sub_hero:
|
1325
1327
|
register: Registrieren
|
1326
1328
|
register_title: Konto erstellen
|
@@ -1484,7 +1486,7 @@ de:
|
|
1484
1486
|
does_not_belong: Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört.
|
1485
1487
|
hide: Verbergen
|
1486
1488
|
hide_content: Diesen Inhalt verbergen
|
1487
|
-
offensive: Enthält Rassismus, Sexismus,
|
1489
|
+
offensive: Enthält Formen von Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder andere Formen von seelischer Gewalt.
|
1488
1490
|
reason: Begründung
|
1489
1491
|
report: Meldung erfassen
|
1490
1492
|
spam: Enthält Clickbait, Werbung, Scams oder Script Bots.
|
@@ -1496,7 +1498,7 @@ de:
|
|
1496
1498
|
description: Was ist unangebracht über den Benutzer?
|
1497
1499
|
does_not_belong: Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört.
|
1498
1500
|
hide: Alle dessen Inhalte verbergen
|
1499
|
-
offensive: Enthält Rassismus, Sexismus,
|
1501
|
+
offensive: Enthält Formen von Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder andere Formen von seelischer Gewalt.
|
1500
1502
|
report: Melden
|
1501
1503
|
spam: Enthält Clickbait, Werbung, Scams oder Script Bots.
|
1502
1504
|
title: Unangemessenen Nutzer melden
|
@@ -1513,7 +1515,7 @@ de:
|
|
1513
1515
|
filters:
|
1514
1516
|
area: Gebiet
|
1515
1517
|
areas: Bereiche
|
1516
|
-
scope:
|
1518
|
+
scope: Umfang
|
1517
1519
|
select_an_area: Wählen Sie einen Bereich aus
|
1518
1520
|
progress: Fortschritt
|
1519
1521
|
public_participation:
|
@@ -1536,7 +1538,7 @@ de:
|
|
1536
1538
|
share_to: Teilen mit %{service}
|
1537
1539
|
statistics:
|
1538
1540
|
comments_count: Kommentare
|
1539
|
-
endorsements_count:
|
1541
|
+
endorsements_count: Befürwortungen
|
1540
1542
|
followers_count: Follower
|
1541
1543
|
headline: Statistik
|
1542
1544
|
no_stats: Es gibt noch keine Statistiken.
|
@@ -1887,13 +1889,13 @@ de:
|
|
1887
1889
|
description: Beschreibung
|
1888
1890
|
name: Name
|
1889
1891
|
service: Service
|
1890
|
-
type:
|
1892
|
+
type: Typ
|
1891
1893
|
items:
|
1892
1894
|
_session_id:
|
1893
1895
|
description: Ermöglicht es Websites, sich an Benutzer zu erinnern, wenn diese verschiedene Seiten aufrufen.
|
1894
1896
|
service: Diese Website
|
1895
1897
|
decidim-consent:
|
1896
|
-
description: Speichert Informationen über die
|
1898
|
+
description: Speichert Informationen über die nutzendenseitig zugelassenen Cookies auf dieser Website.
|
1897
1899
|
service: Diese Website
|
1898
1900
|
pwaInstallPromptSeen:
|
1899
1901
|
description: Speichert den Status, wenn die progressive Web-Anwendung (PWA) Installationsbenachrichtigung bereits vom Nutzenden gesehen wurde.
|
@@ -1953,6 +1955,8 @@ de:
|
|
1953
1955
|
expire_time_html: Ihre Sitzung wird in <b><span class="minutes">%{minutes}</span> Minuten</b>ablaufen.
|
1954
1956
|
language_chooser:
|
1955
1957
|
choose_language: Sprache wählen
|
1958
|
+
navigation:
|
1959
|
+
aria_label: 'Navigationsmenü: %{title}'
|
1956
1960
|
notifications_dashboard:
|
1957
1961
|
mark_all_as_read: Alles als gelesen markieren
|
1958
1962
|
mark_as_read: Als gelesen markieren
|
@@ -2039,7 +2043,7 @@ de:
|
|
2039
2043
|
buttons:
|
2040
2044
|
close: Schliessen
|
2041
2045
|
reset: Zurücksetzen
|
2042
|
-
select:
|
2046
|
+
select: Wählen
|
2043
2047
|
formats:
|
2044
2048
|
day_of_month: "%d. %b"
|
2045
2049
|
day_of_week: "%a"
|
data/config/locales/el.yml
CHANGED
@@ -77,6 +77,8 @@ el:
|
|
77
77
|
'false': 'Όχι'
|
78
78
|
'true': 'Ναι'
|
79
79
|
date:
|
80
|
+
buttons:
|
81
|
+
select: Επιλέξτε
|
80
82
|
formats:
|
81
83
|
decidim_short: "%d/%m/%Y"
|
82
84
|
decidim_short_with_month_name_short: "%d %b %Y"
|
@@ -452,6 +454,9 @@ el:
|
|
452
454
|
core:
|
453
455
|
actions:
|
454
456
|
unauthorized: Δεν είστε εξουσιοδοτημένοι να εκτελέσετε αυτήν την ενέργεια.
|
457
|
+
application_helper:
|
458
|
+
filter_category_values:
|
459
|
+
all: Όλα
|
455
460
|
devise:
|
456
461
|
omniauth_registrations:
|
457
462
|
create:
|
@@ -1435,6 +1440,8 @@ el:
|
|
1435
1440
|
whatsapp_web: WhatsApp
|
1436
1441
|
xing: Xing
|
1437
1442
|
time:
|
1443
|
+
buttons:
|
1444
|
+
select: Επιλέξτε
|
1438
1445
|
formats:
|
1439
1446
|
day_of_month: "%b %d"
|
1440
1447
|
day_of_week: "%a"
|
data/config/locales/en.yml
CHANGED
@@ -1091,6 +1091,8 @@ en:
|
|
1091
1091
|
not_found: 'The scope was not found on the database (ID: %{id})'
|
1092
1092
|
scope_type_presenter:
|
1093
1093
|
not_found: 'The scope type was not found on the database (ID: %{id})'
|
1094
|
+
machine_translations:
|
1095
|
+
automatic: automatic translation in %{locale_name}
|
1094
1096
|
managed_users:
|
1095
1097
|
expired_session: The current administration session of a participant has expired.
|
1096
1098
|
map:
|
@@ -1955,6 +1957,8 @@ en:
|
|
1955
1957
|
expire_time_html: Your session will expire in <b><span class="minutes">%{minutes}</span> minutes</b>.
|
1956
1958
|
language_chooser:
|
1957
1959
|
choose_language: Choose language
|
1960
|
+
navigation:
|
1961
|
+
aria_label: Navigation menu- %{title}
|
1958
1962
|
notifications_dashboard:
|
1959
1963
|
mark_all_as_read: Mark all as read
|
1960
1964
|
mark_as_read: Mark as read
|
data/config/locales/es-MX.yml
CHANGED
@@ -1087,6 +1087,8 @@ es-MX:
|
|
1087
1087
|
not_found: 'No se encontró el ámbito en la base de datos (ID: %{id})'
|
1088
1088
|
scope_type_presenter:
|
1089
1089
|
not_found: 'No se encontró el tipo de ámbito en la base de datos (ID: %{id})'
|
1090
|
+
machine_translations:
|
1091
|
+
automatic: traducción automática a %{locale_name}
|
1090
1092
|
managed_users:
|
1091
1093
|
expired_session: La sesión de suplantación actual ha caducado.
|
1092
1094
|
map:
|
@@ -1175,7 +1177,7 @@ es-MX:
|
|
1175
1177
|
active: Activas
|
1176
1178
|
finished: 'Terminado el: %{end_date}'
|
1177
1179
|
not_started: Aún no ha comenzado
|
1178
|
-
remaining: "
|
1180
|
+
remaining: "Queda(n) %{time_distance}"
|
1179
1181
|
metrics:
|
1180
1182
|
download:
|
1181
1183
|
csv: Descargar datos (CSV)
|
@@ -1950,6 +1952,8 @@ es-MX:
|
|
1950
1952
|
expire_time_html: Su sesión expirará en <b><span class="minutes">%{minutes}</span> minutos</b>.
|
1951
1953
|
language_chooser:
|
1952
1954
|
choose_language: Elegir el idioma
|
1955
|
+
navigation:
|
1956
|
+
aria_label: 'Menú de navegación: %{title}'
|
1953
1957
|
notifications_dashboard:
|
1954
1958
|
mark_all_as_read: Marcar todo como leído
|
1955
1959
|
mark_as_read: Marcar como leído
|
data/config/locales/es-PY.yml
CHANGED
@@ -1087,6 +1087,8 @@ es-PY:
|
|
1087
1087
|
not_found: 'No se encontró el ámbito en la base de datos (ID: %{id})'
|
1088
1088
|
scope_type_presenter:
|
1089
1089
|
not_found: 'No se encontró el tipo de ámbito en la base de datos (ID: %{id})'
|
1090
|
+
machine_translations:
|
1091
|
+
automatic: traducción automática a %{locale_name}
|
1090
1092
|
managed_users:
|
1091
1093
|
expired_session: La sesión de suplantación actual ha caducado.
|
1092
1094
|
map:
|
@@ -1175,7 +1177,7 @@ es-PY:
|
|
1175
1177
|
active: Activas
|
1176
1178
|
finished: 'Terminado el: %{end_date}'
|
1177
1179
|
not_started: Aún no ha comenzado
|
1178
|
-
remaining: "
|
1180
|
+
remaining: "Queda(n) %{time_distance}"
|
1179
1181
|
metrics:
|
1180
1182
|
download:
|
1181
1183
|
csv: Descargar datos (CSV)
|
@@ -1950,6 +1952,8 @@ es-PY:
|
|
1950
1952
|
expire_time_html: Su sesión expirará en <b><span class="minutes">%{minutes}</span> minutos</b>.
|
1951
1953
|
language_chooser:
|
1952
1954
|
choose_language: Elegir el idioma
|
1955
|
+
navigation:
|
1956
|
+
aria_label: 'Menú de navegación: %{title}'
|
1953
1957
|
notifications_dashboard:
|
1954
1958
|
mark_all_as_read: Marcar todo como leído
|
1955
1959
|
mark_as_read: Marcar como leído
|