decidim-core 0.27.3 → 0.27.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/cells/decidim/activities_cell.rb +1 -7
- data/app/cells/decidim/collapsible_list/show.erb +1 -1
- data/app/cells/decidim/content_blocks/last_activity_cell.rb +1 -4
- data/app/cells/decidim/tags_cell.rb +13 -2
- data/app/commands/decidim/create_omniauth_registration.rb +2 -2
- data/app/controllers/decidim/authorization_modals_controller.rb +1 -1
- data/app/controllers/decidim/last_activities_controller.rb +1 -7
- data/app/controllers/decidim/short_links_controller.rb +1 -1
- data/app/forms/decidim/notifications_settings_form.rb +1 -1
- data/app/forms/url_validator.rb +1 -1
- data/app/helpers/decidim/layout_helper.rb +4 -1
- data/app/helpers/decidim/layout_helper.rb.orig +225 -0
- data/app/models/decidim/organization.rb +6 -0
- data/app/models/decidim/user.rb +4 -2
- data/app/packs/src/decidim/input_character_counter.js +1 -1
- data/app/packs/src/decidim/map/controller/drag_marker.js +0 -2
- data/app/packs/src/decidim/map/controller/markers.js +0 -1
- data/app/packs/src/decidim/map/controller/static.js +0 -1
- data/app/packs/src/decidim/map/controller.js +0 -2
- data/app/packs/src/decidim/map/factory.js +4 -1
- data/app/packs/src/decidim/map/icon.js +0 -1
- data/app/packs/src/decidim/map/legacy.js +0 -1
- data/app/packs/src/decidim/map/provider/default.js +2 -0
- data/app/packs/src/decidim/map/provider/here.js +2 -1
- data/app/packs/stylesheets/decidim/modules/_dropdown_menu.scss +9 -0
- data/app/queries/decidim/last_activity.rb +96 -0
- data/app/queries/decidim/metrics/users_metric_manage.rb +6 -6
- data/app/queries/decidim/public_activities.rb +5 -57
- data/app/services/decidim/email_notification_generator.rb +7 -1
- data/app/services/decidim/send_push_notification.rb +1 -1
- data/app/uploaders/decidim/application_uploader.rb +2 -0
- data/app/views/decidim/devise/registrations/new.html.erb.orig +231 -0
- data/config/environment.rb +0 -0
- data/config/locales/ar.yml +3 -3
- data/config/locales/bg.yml +4 -0
- data/config/locales/ca.yml +7 -6
- data/config/locales/cs.yml +23 -7
- data/config/locales/de.yml +74 -11
- data/config/locales/el.yml +147 -0
- data/config/locales/en.yml +1 -0
- data/config/locales/eo.yml +3 -0
- data/config/locales/es-MX.yml +2 -1
- data/config/locales/es-PY.yml +4 -3
- data/config/locales/es.yml +7 -6
- data/config/locales/eu.yml +5 -5
- data/config/locales/fi-plain.yml +22 -0
- data/config/locales/fi.yml +1 -0
- data/config/locales/fr-CA.yml +6 -5
- data/config/locales/fr.yml +7 -6
- data/config/locales/ga-IE.yml +4 -0
- data/config/locales/gl.yml +8 -1
- data/config/locales/hu.yml +23 -2
- data/config/locales/id-ID.yml +8 -0
- data/config/locales/is-IS.yml +3 -1
- data/config/locales/it.yml +10 -6
- data/config/locales/ja.yml +16 -1
- data/config/locales/kaa.yml +10 -0
- data/config/locales/lb.yml +12 -8
- data/config/locales/lt.yml +1 -1
- data/config/locales/lv.yml +4 -0
- data/config/locales/nl.yml +6 -6
- data/config/locales/no.yml +8 -4
- data/config/locales/pl.yml +4 -0
- data/config/locales/pt-BR.yml +5 -1
- data/config/locales/pt.yml +5 -1
- data/config/locales/ro-RO.yml +4 -0
- data/config/locales/ru.yml +2 -0
- data/config/locales/sk.yml +21 -7
- data/config/locales/sr-CS.yml +8 -0
- data/config/locales/sv.yml +11 -11
- data/config/locales/tr-TR.yml +4 -0
- data/config/locales/uk.yml +2 -0
- data/config/locales/zh-CN.yml +4 -0
- data/config/locales/zh-TW.yml +17 -3
- data/db/migrate/20181030090144_destroy_deleted_users_follows.rb +1 -1
- data/db/migrate/20181204110723_remove_following_users_count_from_users.rb +11 -2
- data/db/migrate/20181214101250_add_notification_types_to_users.rb +6 -1
- data/db/migrate/20190412131728_fix_user_names.rb +9 -2
- data/db/migrate/20200211173227_add_direct_message_types_to_users.rb +6 -1
- data/db/migrate/20210302150803_invalidate_all_sessions_for_deleted_users.rb +10 -3
- data/db/migrate/20210310120640_add_followable_counter_cache_to_users.rb +13 -3
- data/db/seeds.rb +4 -3
- data/lib/decidim/core/test/shared_examples/map_examples.rb +4 -1
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/core.rb +17 -0
- data/lib/decidim/form_builder.rb +6 -13
- data/lib/tasks/upgrade/decidim_user_moderation.rake +14 -0
- metadata +17 -11
@@ -22,7 +22,7 @@ module Decidim
|
|
22
22
|
# contained in any of them as spaces.
|
23
23
|
# :scopes - a collection of `Decidim::Scope`. It will return any activity that
|
24
24
|
# took place in any of those scopes.
|
25
|
-
class PublicActivities <
|
25
|
+
class PublicActivities < LastActivity
|
26
26
|
def initialize(organization, options = {})
|
27
27
|
@organization = organization
|
28
28
|
@resource_name = options[:resource_name]
|
@@ -33,26 +33,19 @@ module Decidim
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def query
|
36
|
-
query =
|
37
|
-
.where(visibility: visibility)
|
38
|
-
.where(organization: organization)
|
36
|
+
query = base_query
|
39
37
|
|
40
38
|
query = query.where(user: user) if user
|
41
39
|
query = query.where(resource_type: resource_name) if resource_name.present?
|
42
40
|
|
43
41
|
query = filter_follows(query)
|
44
|
-
query =
|
45
|
-
|
46
|
-
query.order(created_at: :desc)
|
42
|
+
query = filter_moderated(query)
|
43
|
+
filter_spaces(query)
|
47
44
|
end
|
48
45
|
|
49
46
|
private
|
50
47
|
|
51
|
-
attr_reader :
|
52
|
-
|
53
|
-
def visibility
|
54
|
-
%w(public-only all)
|
55
|
-
end
|
48
|
+
attr_reader :resource_name, :user, :follows, :scopes
|
56
49
|
|
57
50
|
def filter_follows(query)
|
58
51
|
conditions = []
|
@@ -79,51 +72,6 @@ module Decidim
|
|
79
72
|
query.where(chained_conditions)
|
80
73
|
end
|
81
74
|
|
82
|
-
def filter_hidden(query)
|
83
|
-
# Filter out the items that have been moderated.
|
84
|
-
query = query.joins(
|
85
|
-
<<~SQL.squish
|
86
|
-
LEFT JOIN decidim_moderations
|
87
|
-
ON decidim_moderations.decidim_reportable_type = decidim_action_logs.resource_type
|
88
|
-
AND decidim_moderations.decidim_reportable_id = decidim_action_logs.resource_id
|
89
|
-
AND decidim_moderations.hidden_at IS NOT NULL
|
90
|
-
SQL
|
91
|
-
).where(decidim_moderations: { id: nil })
|
92
|
-
|
93
|
-
# Filter out the private space items that should not be visible for the
|
94
|
-
# current user.
|
95
|
-
current_user_id = current_user&.id.to_i
|
96
|
-
Decidim.participatory_space_manifests.map do |manifest|
|
97
|
-
klass = manifest.model_class_name.constantize
|
98
|
-
next unless klass.include?(Decidim::HasPrivateUsers)
|
99
|
-
|
100
|
-
table = klass.table_name
|
101
|
-
query = query.joins(
|
102
|
-
Arel.sql(
|
103
|
-
<<~SQL.squish
|
104
|
-
LEFT JOIN #{table}
|
105
|
-
ON decidim_action_logs.participatory_space_type = '#{manifest.model_class_name}'
|
106
|
-
AND #{table}.id = decidim_action_logs.participatory_space_id
|
107
|
-
LEFT JOIN decidim_participatory_space_private_users AS #{manifest.name}_private_users
|
108
|
-
ON #{manifest.name}_private_users.privatable_to_type = '#{manifest.model_class_name}'
|
109
|
-
AND #{table}.id = #{manifest.name}_private_users.privatable_to_id
|
110
|
-
AND #{table}.private_space = 't'
|
111
|
-
SQL
|
112
|
-
).to_s
|
113
|
-
).where(
|
114
|
-
Arel.sql(
|
115
|
-
<<~SQL.squish
|
116
|
-
#{table}.id IS NULL OR
|
117
|
-
#{table}.private_space = 'f' OR
|
118
|
-
#{manifest.name}_private_users.decidim_user_id = #{current_user_id}
|
119
|
-
SQL
|
120
|
-
).to_s
|
121
|
-
)
|
122
|
-
end
|
123
|
-
|
124
|
-
query
|
125
|
-
end
|
126
|
-
|
127
75
|
def followed_users_conditions(follows)
|
128
76
|
followed_users = follows.where(decidim_followable_type: "Decidim::UserBaseEntity")
|
129
77
|
return [] if followed_users.empty?
|
@@ -63,7 +63,7 @@ module Decidim
|
|
63
63
|
# Returns nothing.
|
64
64
|
def send_email_to(recipient, user_role:)
|
65
65
|
return unless recipient
|
66
|
-
return unless recipient
|
66
|
+
return unless should_send_email?(recipient)
|
67
67
|
return if resource.respond_to?(:can_participate?) && !resource.can_participate?(recipient)
|
68
68
|
|
69
69
|
wait_time = 0
|
@@ -81,6 +81,12 @@ module Decidim
|
|
81
81
|
.deliver_later(wait: wait_time)
|
82
82
|
end
|
83
83
|
|
84
|
+
def should_send_email?(recipient)
|
85
|
+
return extra[:force_email] if extra.has_key?(:force_email)
|
86
|
+
|
87
|
+
recipient.notifications_sending_frequency == "real_time"
|
88
|
+
end
|
89
|
+
|
84
90
|
def component
|
85
91
|
return resource.component if resource.is_a?(Decidim::HasComponent)
|
86
92
|
|
@@ -16,7 +16,7 @@ module Decidim
|
|
16
16
|
#
|
17
17
|
# Returns the result of the dispatch or nil if user or subscription are empty
|
18
18
|
def perform(notification)
|
19
|
-
return unless Rails.application.secrets.vapid
|
19
|
+
return unless Rails.application.secrets.dig(:vapid, :enabled)
|
20
20
|
|
21
21
|
I18n.with_locale(notification.user.locale || notification.user.organization.default_locale) do
|
22
22
|
notification.user.notifications_subscriptions.values.map do |subscription|
|
@@ -0,0 +1,231 @@
|
|
1
|
+
<% add_decidim_page_title(t(".sign_up")) %>
|
2
|
+
|
3
|
+
<% content_for :devise_links do %>
|
4
|
+
<%= render "decidim/devise/shared/links" %>
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<%= render layout: "layouts/decidim/shared/layout_center" do %>
|
8
|
+
<div class="flex justify-center">
|
9
|
+
<h1 class="h3 md:h1 decorator my-12"><%= t("decidim.devise.registrations.new.sign_up") %></h1>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div class="login__info">
|
13
|
+
<p>
|
14
|
+
<%= t("decidim.devise.registrations.new.subtitle") %>
|
15
|
+
</p>
|
16
|
+
<p class="font-semibold">
|
17
|
+
<%= t("decidim.devise.registrations.new.already_have_an_account?") %>
|
18
|
+
<%= link_to t("decidim.devise.registrations.new.sign_in"), new_user_session_path %>
|
19
|
+
</p>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div class="login__info-required">
|
23
|
+
<%= form_required_explanation %>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<div class="login__omniauth-container">
|
27
|
+
<% cache current_organization do %>
|
28
|
+
<%= render "decidim/devise/shared/omniauth_buttons" %>
|
29
|
+
<% end %>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<%= decidim_form_for(@form, namespace: "registration", as: resource_name, url: registration_path(resource_name), html: { id: "register-form" }) do |f| %>
|
33
|
+
<%= invisible_captcha %>
|
34
|
+
|
35
|
+
<div class="form__wrapper">
|
36
|
+
<%= f.text_field :name, help_text: t("decidim.devise.registrations.new.username_help"), autocomplete: "name", placeholder: "John Doe" %>
|
37
|
+
|
38
|
+
<%= f.text_field :nickname, help_text: t("decidim.devise.registrations.new.nickname_help", organization: current_organization.name), autocomplete: "nickname", placeholder: "johndoe" %>
|
39
|
+
|
40
|
+
<%= f.email_field :email, autocomplete: "email", placeholder: "hi@email.com" %>
|
41
|
+
|
42
|
+
<%= f.password_field :password, password_field_options_for(:user) %>
|
43
|
+
|
44
|
+
<%= f.password_field :password_confirmation, password_field_options_for(:user).except(:help_text) %>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div id="card__tos" class="form__wrapper-block">
|
48
|
+
<h4 class="h4"><%= t("decidim.devise.registrations.new.tos_title") %></h4>
|
49
|
+
|
50
|
+
<div class="tos-text">
|
51
|
+
<% terms_of_service_summary_content_blocks.each do |content_block| %>
|
52
|
+
<%= cell content_block.manifest.cell, content_block %>
|
53
|
+
<% end %>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
<%= f.check_box :tos_agreement, label: t("decidim.devise.registrations.new.tos_agreement", link: link_to(t("decidim.devise.registrations.new.terms"), page_path("terms-of-service"))), label_options: { class: "form__wrapper-checkbox-label" } %>
|
57
|
+
</div>
|
58
|
+
|
59
|
+
<div id="card__newsletter" class="form__wrapper-block">
|
60
|
+
<h4 class="h4"><%= t("decidim.devise.registrations.new.newsletter_title") %></h4>
|
61
|
+
<%= f.check_box :newsletter, label: t("decidim.devise.registrations.new.newsletter"), checked: @form.newsletter, label_options: { class: "form__wrapper-checkbox-label" } %>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<div class="form__wrapper-block">
|
65
|
+
<button type="submit" class="button button__lg button__secondary">
|
66
|
+
<%= t("decidim.devise.registrations.new.sign_up") %>
|
67
|
+
<%= icon "arrow-right-line", class: "fill-current" %>
|
68
|
+
</button>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<div class="login__links">
|
72
|
+
<%= render "decidim/devise/shared/redesigned_links" %>
|
73
|
+
</div>
|
74
|
+
<% end %>
|
75
|
+
<% end %>
|
76
|
+
|
77
|
+
<<<<<<< HEAD
|
78
|
+
||||||| parent of 4e14afa36c (add password toggle via unobstructive javascript)
|
79
|
+
<div class="row">
|
80
|
+
<div class="columns large-6 medium-10 medium-centered">
|
81
|
+
|
82
|
+
<%= decidim_form_for(@form, namespace: "registration", as: resource_name, url: registration_path(resource_name), html: { class: "register-form new_user", id: "register-form" }) do |f| %>
|
83
|
+
<%= invisible_captcha %>
|
84
|
+
<div class="card">
|
85
|
+
<div class="card__content">
|
86
|
+
<%= form_required_explanation %>
|
87
|
+
|
88
|
+
<div class="user-person">
|
89
|
+
<div class="field">
|
90
|
+
<%= f.text_field :name, help_text: t(".username_help"), autocomplete: "name" %>
|
91
|
+
</div>
|
92
|
+
</div>
|
93
|
+
|
94
|
+
<div class="user-nickname">
|
95
|
+
<div class="field">
|
96
|
+
<%= f.text_field :nickname, help_text: t(".nickname_help", organization: current_organization.name), prefix: { value: "@", small: 1, large: 1 }, autocomplete: "nickname" %>
|
97
|
+
</div>
|
98
|
+
</div>
|
99
|
+
|
100
|
+
<div class="field">
|
101
|
+
<%= f.email_field :email, autocomplete: "email" %>
|
102
|
+
</div>
|
103
|
+
|
104
|
+
<div class="field">
|
105
|
+
<%= f.password_field :password, password_field_options_for(:user) %>
|
106
|
+
</div>
|
107
|
+
|
108
|
+
<div class="field">
|
109
|
+
<%= f.password_field :password_confirmation, password_field_options_for(:user).except(:help_text) %>
|
110
|
+
</div>
|
111
|
+
</div>
|
112
|
+
</div>
|
113
|
+
|
114
|
+
<div class="card" id="card__tos">
|
115
|
+
<div class="card__content">
|
116
|
+
<h3><%= t(".tos_title") %></h3>
|
117
|
+
|
118
|
+
<p class="tos-text">
|
119
|
+
<%= strip_tags(translated_attribute(terms_and_conditions_page.content)) %>
|
120
|
+
</p>
|
121
|
+
|
122
|
+
<div class="field">
|
123
|
+
<%= f.check_box :tos_agreement, label: t(".tos_agreement", link: link_to(t(".terms"), page_path("terms-and-conditions"))) %>
|
124
|
+
</div>
|
125
|
+
</div>
|
126
|
+
</div>
|
127
|
+
|
128
|
+
<div class="card" id="card__newsletter">
|
129
|
+
<div class="card__content">
|
130
|
+
<h3><%= t(".newsletter_title") %></h3>
|
131
|
+
<div class="field">
|
132
|
+
<%= f.check_box :newsletter, label: t(".newsletter"), checked: @form.newsletter %>
|
133
|
+
</div>
|
134
|
+
</div>
|
135
|
+
</div>
|
136
|
+
|
137
|
+
<div class="card">
|
138
|
+
<div class="card__content">
|
139
|
+
<div class="actions">
|
140
|
+
<%= f.submit t("devise.registrations.new.sign_up"), class: "button expanded" %>
|
141
|
+
</div>
|
142
|
+
<%= yield :devise_links %>
|
143
|
+
</div>
|
144
|
+
</div>
|
145
|
+
<% end %>
|
146
|
+
</div>
|
147
|
+
</div>
|
148
|
+
</div>
|
149
|
+
</div>
|
150
|
+
=======
|
151
|
+
<div class="row">
|
152
|
+
<div class="columns large-6 medium-10 medium-centered">
|
153
|
+
|
154
|
+
<%= decidim_form_for(@form, namespace: "registration", as: resource_name, url: registration_path(resource_name), html: { class: "register-form new_user", id: "register-form" }) do |f| %>
|
155
|
+
<%= invisible_captcha %>
|
156
|
+
<div class="card">
|
157
|
+
<div class="card__content">
|
158
|
+
<%= form_required_explanation %>
|
159
|
+
|
160
|
+
<div class="user-person">
|
161
|
+
<div class="field">
|
162
|
+
<%= f.text_field :name, help_text: t(".username_help"), autocomplete: "off" %>
|
163
|
+
</div>
|
164
|
+
</div>
|
165
|
+
|
166
|
+
<div class="user-nickname">
|
167
|
+
<div class="field">
|
168
|
+
<%= f.text_field :nickname, help_text: t(".nickname_help", organization: current_organization.name), prefix: { value: "@", small: 1, large: 1 }, autocomplete: "off" %>
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
|
172
|
+
<div class="field">
|
173
|
+
<%= f.email_field :email, autocomplete: "email" %>
|
174
|
+
</div>
|
175
|
+
|
176
|
+
<div class="user-password">
|
177
|
+
<div class="field">
|
178
|
+
<%= f.password_field :password, password_field_options_for(:user) %>
|
179
|
+
</div>
|
180
|
+
</div>
|
181
|
+
|
182
|
+
<div class="user-password-confirmation">
|
183
|
+
<div class="field">
|
184
|
+
<%= f.password_field :password_confirmation, password_field_options_for(:user).except(:help_text) %>
|
185
|
+
</div>
|
186
|
+
</div>
|
187
|
+
</div>
|
188
|
+
</div>
|
189
|
+
|
190
|
+
<div class="card" id="card__tos">
|
191
|
+
<div class="card__content">
|
192
|
+
<h3><%= t(".tos_title") %></h3>
|
193
|
+
|
194
|
+
<p class="tos-text">
|
195
|
+
<%= strip_tags(translated_attribute(terms_and_conditions_page.content)) %>
|
196
|
+
</p>
|
197
|
+
|
198
|
+
<div class="field">
|
199
|
+
<%= f.check_box :tos_agreement, label: t(".tos_agreement", link: link_to(t(".terms"), page_path("terms-and-conditions"))) %>
|
200
|
+
</div>
|
201
|
+
</div>
|
202
|
+
</div>
|
203
|
+
|
204
|
+
<div class="card" id="card__newsletter">
|
205
|
+
<div class="card__content">
|
206
|
+
<h3><%= t(".newsletter_title") %></h3>
|
207
|
+
<div class="field">
|
208
|
+
<%= f.check_box :newsletter, label: t(".newsletter"), checked: @form.newsletter %>
|
209
|
+
</div>
|
210
|
+
</div>
|
211
|
+
</div>
|
212
|
+
|
213
|
+
<div class="card">
|
214
|
+
<div class="card__content">
|
215
|
+
<div class="actions">
|
216
|
+
<%= f.submit t("devise.registrations.new.sign_up"), class: "button expanded" %>
|
217
|
+
</div>
|
218
|
+
<%= yield :devise_links %>
|
219
|
+
</div>
|
220
|
+
</div>
|
221
|
+
<% end %>
|
222
|
+
</div>
|
223
|
+
</div>
|
224
|
+
</div>
|
225
|
+
</div>
|
226
|
+
>>>>>>> 4e14afa36c (add password toggle via unobstructive javascript)
|
227
|
+
<%= render "decidim/devise/shared/newsletter_modal" %>
|
228
|
+
|
229
|
+
<% content_for :js_content do %>
|
230
|
+
<%= javascript_pack_tag "decidim_registrations" %>
|
231
|
+
<% end %>
|
File without changes
|
data/config/locales/ar.yml
CHANGED
@@ -1482,7 +1482,7 @@ ar:
|
|
1482
1482
|
index:
|
1483
1483
|
add_max_users: 'يمكن إضافة مستخدمين إلى المحادثة: 9 مستخدمين كحد أقصى'
|
1484
1484
|
add_users_placeholder: البحث…
|
1485
|
-
close:
|
1485
|
+
close: قريب
|
1486
1486
|
conversations_info: المحادثات خاصة. لا يمكن لأحد آخر أن يراها. يمكن بدء محادثة مع أي مشارك أو مجموعة مسجلة على المنصة.
|
1487
1487
|
from: من
|
1488
1488
|
last_message: آخر رسالة
|
@@ -1503,7 +1503,7 @@ ar:
|
|
1503
1503
|
back: عرض كافة المحادثات
|
1504
1504
|
deleted_accounts: لا يمكن أن يكون لديك محادثة مع حسابات محذوفة.
|
1505
1505
|
not_allowed: هذا المستخدم لم يعد يستقبل المزيد من الرسائل المباشرة.
|
1506
|
-
title:
|
1506
|
+
title: المحادثة مع %{usernames}
|
1507
1507
|
update:
|
1508
1508
|
error: لم يتم إرسال الرسالة. حاول مرة أخرى في وقت لاحق
|
1509
1509
|
user_interests:
|
@@ -1749,7 +1749,7 @@ ar:
|
|
1749
1749
|
description: وصف
|
1750
1750
|
name: اسم
|
1751
1751
|
service: الخدمة
|
1752
|
-
type:
|
1752
|
+
type: نوع
|
1753
1753
|
items:
|
1754
1754
|
_session_id:
|
1755
1755
|
description: يسمح للمواقع بتذكر المستخدم داخل الموقع عندما ينتقل بين صفحات الويب.
|
data/config/locales/bg.yml
CHANGED
data/config/locales/ca.yml
CHANGED
@@ -421,7 +421,7 @@ ca:
|
|
421
421
|
request_confirmation_instructions: Sol·licita instruccions de confirmació
|
422
422
|
title: Confirma el teu correu electrònic
|
423
423
|
show:
|
424
|
-
close_modal:
|
424
|
+
close_modal: Tancar el modal
|
425
425
|
block_user_mailer:
|
426
426
|
notify:
|
427
427
|
body_1: El teu compte ha estat bloquejat.
|
@@ -557,7 +557,7 @@ ca:
|
|
557
557
|
newsletter_modal:
|
558
558
|
buttons:
|
559
559
|
check: Marca i continua
|
560
|
-
close_modal:
|
560
|
+
close_modal: Tancar el modal
|
561
561
|
uncheck: Deixa desmarcada
|
562
562
|
notice: |-
|
563
563
|
<p>Hola, segur que no vols rebre un butlletí?<br>
|
@@ -975,7 +975,7 @@ ca:
|
|
975
975
|
body_1: Estàs a punt de visitar un enllaç extern i et recomanem que siguis prudent pel que fa als continguts en pàgines externes.
|
976
976
|
body_2: Assegura't que l'enllaç que visitaràs és d'un lloc segur abans de seguir.
|
977
977
|
cancel: Cancel·lar
|
978
|
-
close_modal:
|
978
|
+
close_modal: Tancar el modal
|
979
979
|
proceed: Continuar
|
980
980
|
title: Obrir enllaç extern
|
981
981
|
log:
|
@@ -1068,7 +1068,7 @@ ca:
|
|
1068
1068
|
ok: D'acord
|
1069
1069
|
index:
|
1070
1070
|
ago: fa
|
1071
|
-
close:
|
1071
|
+
close: Tancar el modal
|
1072
1072
|
from: De
|
1073
1073
|
groups: Els meus grups
|
1074
1074
|
last_message: Darrer missatge
|
@@ -1260,7 +1260,7 @@ ca:
|
|
1260
1260
|
modal_btn_continue: Acceptar els termes i condicions d'ús, i continuar
|
1261
1261
|
modal_btn_exit: Ho revisaré més tard
|
1262
1262
|
modal_button: Rebutjar els termes i condicions d'ús
|
1263
|
-
modal_close:
|
1263
|
+
modal_close: Tancar el modal
|
1264
1264
|
modal_title: Confirmes que no acceptes els Termes i Condicions actualitzats?
|
1265
1265
|
required_review:
|
1266
1266
|
alert: Hem actualitzat els nostres Termes de Servei, si us plau revisa'ls.
|
@@ -1379,7 +1379,7 @@ ca:
|
|
1379
1379
|
ok: D'acord
|
1380
1380
|
title: Confirmar
|
1381
1381
|
embed_modal:
|
1382
|
-
close_window:
|
1382
|
+
close_window: Tancar finestra
|
1383
1383
|
embed: Si us plau, enganxa aquest codi a la teva pàgina
|
1384
1384
|
embed_link: Incrusta
|
1385
1385
|
extended_navigation_bar:
|
@@ -1703,6 +1703,7 @@ ca:
|
|
1703
1703
|
too_many_marks: Estàs fent servir massa signes de puntuació consecutius (p. ex. i?)
|
1704
1704
|
too_much_caps: Estàs utilitzant massa lletres majúscules (més del 25% del text)
|
1705
1705
|
too_short: és massa curt (menys %{count} caràcters)
|
1706
|
+
url_format: El format d'aquesta URL és incorrecte
|
1706
1707
|
forms:
|
1707
1708
|
correct_errors: Hi ha errors al formulari, si us plau corregeix-los per continuar.
|
1708
1709
|
length_validator:
|
data/config/locales/cs.yml
CHANGED
@@ -127,6 +127,21 @@ cs:
|
|
127
127
|
few: "%{count} hodiny"
|
128
128
|
many: "%{count} hodin"
|
129
129
|
other: "%{count} hodin"
|
130
|
+
x_minutes:
|
131
|
+
one: 1 minuta
|
132
|
+
few: "%{count} minuty"
|
133
|
+
many: "%{count} minut"
|
134
|
+
other: "%{count} minut"
|
135
|
+
x_months:
|
136
|
+
one: 1 měsíc
|
137
|
+
few: "%{count} měsíce"
|
138
|
+
many: "%{count} měsíců"
|
139
|
+
other: "%{count} měsíců"
|
140
|
+
x_seconds:
|
141
|
+
one: 1 sekunda
|
142
|
+
few: "%{count} sekundy"
|
143
|
+
many: "%{count} sekund"
|
144
|
+
other: "%{count} sekund"
|
130
145
|
decidim:
|
131
146
|
accessibility:
|
132
147
|
external_link: Externí odkaz
|
@@ -441,7 +456,7 @@ cs:
|
|
441
456
|
request_confirmation_instructions: Požádejte o pokyny pro potvrzení
|
442
457
|
title: Potvrdit svůj email
|
443
458
|
show:
|
444
|
-
close_modal: Zavřít
|
459
|
+
close_modal: Zavřít modální
|
445
460
|
block_user_mailer:
|
446
461
|
notify:
|
447
462
|
body_1: Váš účet byl zablokován.
|
@@ -579,7 +594,7 @@ cs:
|
|
579
594
|
newsletter_modal:
|
580
595
|
buttons:
|
581
596
|
check: Zkontrolujte a pokračujte
|
582
|
-
close_modal: Zavřít
|
597
|
+
close_modal: Zavřít modální
|
583
598
|
uncheck: Ponechat nezaškrtnuté
|
584
599
|
notice: |-
|
585
600
|
<p>Hej, jste si jisti, že nechcete dostávat zpravodaj?<br>
|
@@ -1003,7 +1018,7 @@ cs:
|
|
1003
1018
|
body_1: Chystáte se navštívit externí odkaz a chtěli bychom, abyste byli opatrní, pokud jde o obsah na externím webu.
|
1004
1019
|
body_2: Zkontrolujte prosím odkaz, který se chystáte navštívit, a než budete pokračovat, ujistěte se, že jste jej rozpoznali jako bezpečný web.
|
1005
1020
|
cancel: Zrušit
|
1006
|
-
close_modal: Zavřít
|
1021
|
+
close_modal: Zavřít modální
|
1007
1022
|
proceed: Pokračovat
|
1008
1023
|
title: Otevřít externí odkaz
|
1009
1024
|
log:
|
@@ -1096,7 +1111,7 @@ cs:
|
|
1096
1111
|
ok: OK
|
1097
1112
|
index:
|
1098
1113
|
ago: před
|
1099
|
-
close: Zavřít
|
1114
|
+
close: Zavřít modální
|
1100
1115
|
from: Od
|
1101
1116
|
groups: Moje skupiny
|
1102
1117
|
last_message: Poslední zpráva
|
@@ -1288,7 +1303,7 @@ cs:
|
|
1288
1303
|
modal_btn_continue: Přijmout podmínky a pokračovat
|
1289
1304
|
modal_btn_exit: Později to přezkoumám
|
1290
1305
|
modal_button: Odmítnout podmínky
|
1291
|
-
modal_close: Zavřít
|
1306
|
+
modal_close: Zavřít modální
|
1292
1307
|
modal_title: Opravdu odmítáte aktualizované smluvní podmínky?
|
1293
1308
|
required_review:
|
1294
1309
|
alert: Aktualizovali jsme Smluvní podmínky, přečtěte si je.
|
@@ -1519,7 +1534,7 @@ cs:
|
|
1519
1534
|
back: Zobrazit všechny konverzace
|
1520
1535
|
deleted_accounts: Nemůžete mít konverzaci s odstraněnými účty.
|
1521
1536
|
not_allowed: Tento uživatel již nepřijímá žádné přímé zprávy.
|
1522
|
-
title: Konverzace s %{usernames}
|
1537
|
+
title: Konverzace s číslem %{usernames}
|
1523
1538
|
update:
|
1524
1539
|
error: Zpráva nebyla odeslána. Zkuste to později
|
1525
1540
|
user_interests:
|
@@ -1559,7 +1574,7 @@ cs:
|
|
1559
1574
|
version: Verze %{number}
|
1560
1575
|
versions_list:
|
1561
1576
|
show:
|
1562
|
-
back_to_resource:
|
1577
|
+
back_to_resource: Jít zpět
|
1563
1578
|
changes_at_title: Změny v "%{title}"
|
1564
1579
|
number_of_versions: Verze
|
1565
1580
|
title: Verze
|
@@ -1738,6 +1753,7 @@ cs:
|
|
1738
1753
|
too_many_marks: používá příliš mnoho po sobě jdoucích interpunkčních znamének (např.! a?)
|
1739
1754
|
too_much_caps: používá příliš mnoho velkých písmen (více než 25% textu)
|
1740
1755
|
too_short: je příliš krátká (pod %{count} znaků)
|
1756
|
+
url_format: Tato adresa URL je v nesprávném formátu
|
1741
1757
|
forms:
|
1742
1758
|
correct_errors: Na formuláři jsou chyby, opravte je a pokračujte.
|
1743
1759
|
length_validator:
|