decidim-core 0.26.8 → 0.26.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/version_cell.rb +1 -1
  3. data/app/cells/decidim/versions_list_cell.rb +1 -1
  4. data/app/commands/decidim/endorse_resource.rb +2 -0
  5. data/app/commands/decidim/unendorse_resource.rb +1 -1
  6. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  7. data/app/controllers/decidim/links_controller.rb +1 -1
  8. data/app/controllers/decidim/user_timeline_controller.rb +1 -1
  9. data/app/forms/decidim/account_form.rb +1 -1
  10. data/app/forms/decidim/notifications_settings_form.rb +0 -8
  11. data/app/forms/decidim/registration_form.rb +1 -1
  12. data/app/helpers/decidim/resource_helper.rb +2 -0
  13. data/app/jobs/decidim/data_portability_export_job.rb +3 -0
  14. data/app/jobs/decidim/open_data_job.rb +2 -0
  15. data/app/models/decidim/user.rb +9 -1
  16. data/app/packs/src/decidim/geocoding/attach_input.js +4 -1
  17. data/app/packs/src/decidim/geocoding/provider/here.js +17 -21
  18. data/app/packs/src/decidim/geocoding/provider/photon.js +1 -1
  19. data/app/views/decidim/notifications_settings/show.html.erb +1 -1
  20. data/config/environment.rb +3 -0
  21. data/config/locales/ar.yml +8 -13
  22. data/config/locales/bg.yml +0 -16
  23. data/config/locales/ca.yml +8 -5
  24. data/config/locales/cs.yml +15 -12
  25. data/config/locales/de.yml +37 -34
  26. data/config/locales/el.yml +6 -12
  27. data/config/locales/en.yml +3 -0
  28. data/config/locales/eo.yml +2 -3
  29. data/config/locales/es-MX.yml +11 -8
  30. data/config/locales/es-PY.yml +11 -8
  31. data/config/locales/es.yml +7 -4
  32. data/config/locales/eu.yml +379 -339
  33. data/config/locales/fi-plain.yml +5 -2
  34. data/config/locales/fi.yml +16 -13
  35. data/config/locales/fr-CA.yml +12 -9
  36. data/config/locales/fr.yml +7 -4
  37. data/config/locales/ga-IE.yml +0 -5
  38. data/config/locales/gl.yml +2 -17
  39. data/config/locales/hu.yml +9 -13
  40. data/config/locales/id-ID.yml +0 -19
  41. data/config/locales/is-IS.yml +1 -2
  42. data/config/locales/it.yml +8 -13
  43. data/config/locales/ja.yml +20 -18
  44. data/config/locales/lb.yml +8 -13
  45. data/config/locales/lt.yml +52 -7
  46. data/config/locales/lv.yml +0 -16
  47. data/config/locales/nl.yml +6 -11
  48. data/config/locales/no.yml +1 -6
  49. data/config/locales/pl.yml +14 -5
  50. data/config/locales/pt-BR.yml +49 -6
  51. data/config/locales/pt.yml +1 -6
  52. data/config/locales/ro-RO.yml +1 -6
  53. data/config/locales/ru.yml +0 -17
  54. data/config/locales/sk.yml +1 -17
  55. data/config/locales/sl.yml +0 -5
  56. data/config/locales/sq-AL.yml +1 -0
  57. data/config/locales/sv.yml +22 -12
  58. data/config/locales/th-TH.yml +1 -0
  59. data/config/locales/tr-TR.yml +9 -11
  60. data/config/locales/uk.yml +0 -14
  61. data/config/locales/zh-CN.yml +0 -6
  62. data/config/locales/zh-TW.yml +0 -5
  63. data/db/migrate/20231027142329_change_default_value_for_decidim_endorsements.rb +11 -0
  64. data/db/seeds.rb +1 -0
  65. data/lib/decidim/core/test/shared_examples/comments_examples.rb +24 -0
  66. data/lib/decidim/core/test/shared_examples/errors.rb +2 -0
  67. data/lib/decidim/core/version.rb +1 -1
  68. data/lib/decidim/core.rb +1 -1
  69. data/lib/decidim/dependency_resolver.rb +14 -8
  70. data/lib/decidim/endorsable.rb +1 -1
  71. data/lib/decidim/exporters.rb +10 -1
  72. data/lib/tasks/upgrade/decidim_deduplicate_endorsements.rake +53 -0
  73. metadata +10 -9
  74. data/app/helpers/decidim/layout_helper.rb.orig +0 -225
  75. data/app/packs/stylesheets/decidim/modules/_dropdown_menu.scss +0 -9
  76. data/app/views/decidim/devise/registrations/new.html.erb.orig +0 -231
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ddc4e551d59fc9b95f5121333870c4e91a77eb2f53d03f659d63e16bea7ca7f
4
- data.tar.gz: dd766575d88dfe729ce7f8ea151967642b40e875c0596443962d0a6d8d5cd101
3
+ metadata.gz: cf3c9d5d244854479aaa3a2f418d00e15bff17f048d7fac9e51b12a2532355e9
4
+ data.tar.gz: a9f60f1356480f9773e55d5fe2172855bc6cb553b0451a9b8d1cdf4a1ad1ce73
5
5
  SHA512:
6
- metadata.gz: dcbcc2625fe80e646c9f5e05c0e187485004542bcb73c33978bd8f2b1f78f31c2e0a4f4dba6904ba0b660e5b4408977a21d13e0c02fe2d46cba8bdb13c399321
7
- data.tar.gz: a1abc1c25bfe4c99875d00822beeefeadb20bd214672772b1491d07e515ce3990b6b24c96d5400e4bc71d1accb8c8484d7e57c6ed006f63fd19e23f8378234ce
6
+ metadata.gz: 6a3f8d5a0954486996979555e20426d19869752bd0f66606d53cb11219e2e3cf86bbaf842ea4c274710b2ed617e075a1a820a4a742197479154c36ca43049eaf
7
+ data.tar.gz: f443a55b6d8776e613c82275cc7acc971d05e03326ac374f2855de36517db3378b81cd3159bc392ff676ec0382b38610dbfa20e0fb0d10161dbd5bddb663e259
@@ -77,7 +77,7 @@ module Decidim
77
77
  end
78
78
 
79
79
  def resource_path
80
- resource_locator(versioned_resource).path
80
+ Decidim::ResourceLocatorPresenter.new(versioned_resource).path
81
81
  end
82
82
  end
83
83
  end
@@ -13,7 +13,7 @@ module Decidim
13
13
  end
14
14
 
15
15
  def resource_path
16
- resource_locator(versioned_resource).path
16
+ Decidim::ResourceLocatorPresenter.new(versioned_resource).path
17
17
  end
18
18
 
19
19
  def i18n_changes_title
@@ -31,6 +31,8 @@ module Decidim
31
31
  else
32
32
  broadcast(:invalid)
33
33
  end
34
+ rescue ActiveRecord::RecordNotUnique
35
+ broadcast(:invalid)
34
36
  end
35
37
 
36
38
  private
@@ -31,7 +31,7 @@ module Decidim
31
31
  query = if @current_group.present?
32
32
  @resource.endorsements.where(decidim_user_group_id: @current_group&.id)
33
33
  else
34
- @resource.endorsements.where(author: @current_user, decidim_user_group_id: nil)
34
+ @resource.endorsements.where(author: @current_user, decidim_user_group_id: 0)
35
35
  end
36
36
  query.destroy_all
37
37
  end
@@ -37,7 +37,7 @@ module Decidim
37
37
  end
38
38
 
39
39
  on(:invalid) do
40
- flash.now[:alert] = @form.errors.full_messages.join(", ") if @form.errors.full_messages.any?
40
+ flash.now[:alert] = t("error", scope: "decidim.devise.registrations.create")
41
41
  render :new
42
42
  end
43
43
  end
@@ -35,7 +35,7 @@ module Decidim
35
35
  end
36
36
 
37
37
  def external_url
38
- @external_url ||= URI.parse(params[:external_url])
38
+ @external_url ||= URI.parse(URI::Parser.new.escape(params[:external_url]))
39
39
  end
40
40
  end
41
41
  end
@@ -12,7 +12,7 @@ module Decidim
12
12
  helper_method :activities, :resource_types, :user
13
13
 
14
14
  def index
15
- raise ActionController::RoutingError, "Not Found" if current_user != user
15
+ raise ActionController::RoutingError, "Not Found" unless user && current_user == user
16
16
  end
17
17
 
18
18
  private
@@ -24,7 +24,7 @@ module Decidim
24
24
  validates :nickname, presence: true, format: { with: Decidim::User::REGEXP_NICKNAME }
25
25
 
26
26
  validates :nickname, length: { maximum: Decidim::User.nickname_max_length, allow_blank: true }
27
- validates :password, confirmation: true
27
+ validates :password, confirmation: { message: I18n.t("errors.messages.password_confirmation_message") }
28
28
  validates :password, password: { name: :name, email: :email, username: :nickname }, if: -> { password.present? }
29
29
  validates :password_confirmation, presence: true, if: :password_present
30
30
  validates :avatar, passthru: { to: Decidim::User }
@@ -41,13 +41,5 @@ module Decidim
41
41
  def direct_message_types
42
42
  allow_public_contact ? "all" : "followed-only"
43
43
  end
44
-
45
- def user_is_moderator?(user)
46
- Decidim.participatory_space_manifests.map do |manifest|
47
- participatory_space_type = manifest.model_class_name.constantize
48
- return true if participatory_space_type.moderators(user.organization).exists?(id: user.id)
49
- end
50
- false
51
- end
52
44
  end
53
45
  end
@@ -17,7 +17,7 @@ module Decidim
17
17
  validates :name, presence: true, format: { with: Decidim::User::REGEXP_NAME }
18
18
  validates :nickname, presence: true, format: { with: Decidim::User::REGEXP_NICKNAME }, length: { maximum: Decidim::User.nickname_max_length }
19
19
  validates :email, presence: true, "valid_email_2/email": { disposable: true }
20
- validates :password, confirmation: true
20
+ validates :password, confirmation: { message: I18n.t("errors.messages.password_confirmation_message") }
21
21
  validates :password, password: { name: :name, email: :email, username: :nickname }
22
22
  validates :password_confirmation, presence: true
23
23
  validates :tos_agreement, allow_nil: false, acceptance: true
@@ -67,6 +67,8 @@ module Decidim
67
67
 
68
68
  # Returns an instance of ResourceLocatorPresenter with the given resource
69
69
  def resource_locator(resource)
70
+ return resource.resource_locator if resource.respond_to?(:resource_locator)
71
+
70
72
  ::Decidim::ResourceLocatorPresenter.new(resource)
71
73
  end
72
74
 
@@ -13,6 +13,9 @@ module Decidim
13
13
  save_or_upload_file(user, path)
14
14
 
15
15
  ExportMailer.data_portability_export(user, filename, password).deliver_later
16
+
17
+ # Deletes temporary file
18
+ File.delete(path)
16
19
  end
17
20
 
18
21
  private
@@ -11,6 +11,8 @@ module Decidim
11
11
  raise "Couldn't generate Open Data export" unless exporter.export.positive?
12
12
 
13
13
  organization.open_data_file.attach(io: File.open(path, "rb"), filename: organization.open_data_file_path)
14
+ # Deletes the temporary file file
15
+ File.delete(path)
14
16
  end
15
17
  end
16
18
  end
@@ -202,7 +202,7 @@ module Decidim
202
202
  end
203
203
 
204
204
  def admin_terms_accepted?
205
- return true if admin_terms_accepted_at
205
+ admin_terms_accepted_at.present?
206
206
  end
207
207
 
208
208
  # Whether this user can be verified against some authorization or not.
@@ -253,6 +253,14 @@ module Decidim
253
253
  Arel.sql(%{("decidim_users"."last_sign_in_at")::text})
254
254
  end
255
255
 
256
+ def moderator?
257
+ Decidim.participatory_space_manifests.map do |manifest|
258
+ participatory_space_type = manifest.model_class_name.constantize
259
+ return true if participatory_space_type.moderators(organization).exists?(id: id)
260
+ end
261
+ false
262
+ end
263
+
256
264
  protected
257
265
 
258
266
  # Overrides devise email required validation.
@@ -125,7 +125,10 @@ export default function attachGeocoding($input, options, callback) {
125
125
  $input.on("geocoder-suggest-coordinates.decidim", (_ev, coordinates) => {
126
126
  setCoordinates(coordinates);
127
127
  geocoded = true;
128
- callback(coordinates)
128
+ if (typeof callback === "function") {
129
+ callback(coordinates);
130
+ return;
131
+ }
129
132
  });
130
133
 
131
134
  // Set the initial values if the field defines the coordinates
@@ -34,26 +34,28 @@ $(() => {
34
34
  if (`${query}`.trim().length < queryMinLength) {
35
35
  return;
36
36
  }
37
-
37
+ // Changes to the autocomplete api call based on:
38
+ // https://developer.here.com/documentation/geocoding-search-api/migration_guide/migration-geocoder/topics-api/autocomplete.html
38
39
  currentSuggestionQuery = setTimeout(() => {
39
40
  $.ajax({
40
41
  method: "GET",
41
- url: "https://autocomplete.geocoder.ls.hereapi.com/6.2/suggest.json",
42
+ url: "https://autocomplete.search.hereapi.com/v1/autocomplete",
42
43
  data: {
43
44
  apiKey: config.apiKey,
44
- query: query,
45
- language: language
45
+ // eslint-disable-next-line
46
+ q: query,
47
+ lang: language
46
48
  },
47
49
  dataType: "json"
48
50
  }).done((resp) => {
49
- if (resp.suggestions) {
50
- return callback(resp.suggestions.map((item) => {
51
+ if (resp.items) {
52
+ return callback(resp.items.map((item) => {
51
53
  const label = generateAddressLabel(item.address, addressFormat);
52
54
 
53
55
  return {
54
56
  key: label,
55
57
  value: label,
56
- locationId: item.locationId
58
+ locationId: item.id
57
59
  }
58
60
  }));
59
61
  }
@@ -65,30 +67,24 @@ $(() => {
65
67
  $input.on("geocoder-suggest-select.decidim", (_ev, selectedItem) => {
66
68
  $.ajax({
67
69
  method: "GET",
68
- url: "https://geocoder.ls.hereapi.com/6.2/geocode.json",
70
+ url: "https://lookup.search.hereapi.com/v1/lookup",
69
71
  data: {
70
72
  apiKey: config.apiKey,
71
- gen: 9,
72
- jsonattributes: 1,
73
- locationid: selectedItem.locationId
73
+ id: selectedItem.locationId
74
74
  },
75
75
  dataType: "json"
76
76
  }).done((resp) => {
77
- if (!resp.response || !Array.isArray(resp.response.view) ||
78
- resp.response.view.length < 1
77
+ if (!resp || Object.keys(resp).length < 1
79
78
  ) {
80
79
  return;
81
80
  }
82
-
83
- const view = resp.response.view[0];
84
- if (!Array.isArray(view.result) || view.result.length < 1) {
85
- return;
81
+ const position = resp.position;
82
+ if (!position || !position.lat || !position.lng) {
83
+ return
86
84
  }
87
-
88
- const result = view.result[0];
89
85
  const coordinates = [
90
- result.location.displayPosition.latitude,
91
- result.location.displayPosition.longitude
86
+ position.lat,
87
+ position.lng
92
88
  ];
93
89
 
94
90
  $input.trigger(
@@ -59,7 +59,7 @@ $(() => {
59
59
  return {
60
60
  key: label,
61
61
  value: label,
62
- coordinates: item.geometry.coordinates
62
+ coordinates: item.geometry.coordinates.reverse()
63
63
  }
64
64
  }));
65
65
  }
@@ -45,7 +45,7 @@
45
45
  </label>
46
46
  </div>
47
47
 
48
- <% if @notifications_settings.user_is_moderator?(current_user) %>
48
+ <% if current_user.moderator? %>
49
49
  <p><strong><%= t(".administrators") %></strong></p>
50
50
  <div class="switch tiny switch-with-label email_on_moderations">
51
51
  <label>
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Empty line for playing nice with tpope/vim-rails
@@ -391,7 +391,7 @@ ar:
391
391
  request_confirmation_instructions: طلب تعليمات التأكيد
392
392
  title: تأكيد البريد الإلكتروني
393
393
  show:
394
- close_modal: إغلاق مشروط
394
+ close_modal: اغلاق النموذج
395
395
  block_user_mailer:
396
396
  notify:
397
397
  body_1: تم حظر الحساب الخاص بك.
@@ -514,9 +514,8 @@ ar:
514
514
  already_have_an_account?: هل لديك حساب؟
515
515
  newsletter: تلقي رسالة إخبارية من حين لآخر مع المعلومات ذات الصلة
516
516
  newsletter_title: الاتصال إذن
517
- nickname_help: الاسم المستعار الخاص بك في %{organization}. يمكن أن يحتوي فقط على أحرف وأرقام، و '-' و '_'.
517
+ nickname_help: الاسم المستعار الخاص بك في %{organization}. يمكن أن يحتوي فقط على أحرف وأرقام '-' و '_'.
518
518
  password_help: "%{minimun_characters} أحرف كحد أدنى، يجب أن لا تكون شائعة جدا (مثل 123456) ويجب أن تكون مختلفة عن اسمك المستعار وعن بريدك الإلكتروني."
519
- sign_in: تسجيل الدخول
520
519
  sign_up: انشئ حسابًا
521
520
  sign_up_as:
522
521
  legend: الاشتراك باسم
@@ -537,7 +536,7 @@ ar:
537
536
  newsletter_modal:
538
537
  buttons:
539
538
  check: تحقق واستمر
540
- close_modal: إغلاق مشروط
539
+ close_modal: اغلاق النموذج
541
540
  uncheck: إبقاءه غير مختار
542
541
  notice: |-
543
542
  <p>مهلا ، هل أنت متأكد أنك لا تريد تلقي رسالة إخبارية؟<br>
@@ -574,7 +573,7 @@ ar:
574
573
  success: تم تحميل الصورة بنجاح
575
574
  drag_and_drop_help: يمكن إضافة صور عن طريق سحبها وإسقاطها أو لصقها.
576
575
  endorsable:
577
- endorsements: موافقات
576
+ endorsements: الدعم والتأييد
578
577
  endorsements_count: عد أصوات التأييدات
579
578
  endorsements:
580
579
  identities:
@@ -921,7 +920,7 @@ ar:
921
920
  body_1: أنت على وشك زيارة رابط خارجي ونرجو منك أن تتحلى بالحذر فيما يتعلق بالمحتوى الموجود في الموقع الخارجي.
922
921
  body_2: الرجاء التحقق من الرابط الذي توشك على زيارته والتأكد من التعرف عليه كموقع آمن قبل المتابعة.
923
922
  cancel: إلغاء
924
- close_modal: إغلاق مشروط
923
+ close_modal: اغلاق النموذج
925
924
  proceed: المواصلة
926
925
  title: فتح رابط خارجي
927
926
  log:
@@ -1011,7 +1010,7 @@ ar:
1011
1010
  ok: حسناً
1012
1011
  index:
1013
1012
  ago: منذ
1014
- close: إغلاق مشروط
1013
+ close: اغلاق النموذج
1015
1014
  from: من
1016
1015
  groups: فِرَقي
1017
1016
  last_message: آخر رسالة
@@ -1143,7 +1142,6 @@ ar:
1143
1142
  proposals: اقتراحات
1144
1143
  proposals_explanation: تقديم مقترحات ، ودعم المقترحات الحالية وتعزيز التغييرات التي تريد رؤيتها.
1145
1144
  footer_sub_hero:
1146
- footer_sub_hero_body: دعونا نبني مجتمعًا أكثر انفتاحًا وشفافية وتعاونًا.<br /> انضموا وشاركوا وقرّروا.
1147
1145
  footer_sub_hero_headline: مرحبًا بكم على المنصة التشاركية لـ %{organization}.
1148
1146
  register: تسجيل
1149
1147
  hero:
@@ -1174,7 +1172,7 @@ ar:
1174
1172
  refuse:
1175
1173
  modal_body: إذا رفضت ، فلن تتمكن من استخدام النظام الأساسي ، يمكنك <a href="%{data_portability_path}">تنزيل بياناتك</a> و / أو <a href="%{delete_path}">حذف حسابك</a>.
1176
1174
  modal_btn_exit: سأراجعها لاحقًا
1177
- modal_close: إغلاق مشروط
1175
+ modal_close: اغلاق النموذج
1178
1176
  modal_title: هل ترفض حقًا الأحكام والشروط المحدثة؟
1179
1177
  required_review:
1180
1178
  alert: لقد قمنا بتحديث شروط الخدمة الخاصة بنا ، يرجى مراجعتها.
@@ -1268,7 +1266,7 @@ ar:
1268
1266
  future: مستقبل
1269
1267
  past: الماضي
1270
1268
  filters_small_view:
1271
- close_modal: إغلاق مشروط
1269
+ close_modal: اغلاق النموذج
1272
1270
  filter: منقي
1273
1271
  filter_by: مصنف بواسطة
1274
1272
  unfold: كشف
@@ -1564,8 +1562,6 @@ ar:
1564
1562
  updated: تم تحديث حسابك بنجاح.
1565
1563
  sessions:
1566
1564
  already_signed_out: تم الخروج بنجاح
1567
- new:
1568
- sign_in: تسجيل الدخول
1569
1565
  signed_in: تم تسجيل الدخول بنجاح
1570
1566
  signed_out: تم الخروج بنجاح
1571
1567
  shared:
@@ -1574,7 +1570,6 @@ ar:
1574
1570
  didn_t_receive_confirmation_instructions: لم تتلق تعليمات التأكيد؟
1575
1571
  didn_t_receive_unlock_instructions: لم تتلق تعليمات فتح؟
1576
1572
  forgot_your_password: نسيت رقمك السري؟
1577
- sign_in: تسجيل الدخول
1578
1573
  sign_in_with_provider: تسجيل الدخول مع %{provider}
1579
1574
  sign_up: انشئ حسابًا
1580
1575
  minimum_password_length:
@@ -300,8 +300,6 @@ bg:
300
300
  explanation_html: За да изпълните това действие, първо се идентифицирайте, но преди това потвърдете вашата ел. поща <strong>%{email}</strong>.
301
301
  request_confirmation_instructions: Заявка на инструкции за потвърждение
302
302
  title: Потвърдете Вашата ел. поща
303
- show:
304
- close_modal: Затвори прозорчето
305
303
  collapsible_list:
306
304
  hidden_elements_count:
307
305
  one: и още %{count}
@@ -398,7 +396,6 @@ bg:
398
396
  newsletter: Получавайте извънреден бюлетин с подходяща информация
399
397
  newsletter_title: Разрешение за контакт с Вас
400
398
  password_help: "Минимум %{minimun_characters} символа, не трябва да са разпространени (например, 123456) и трябва да са различни от вашите име и ел. поща."
401
- sign_in: Вход
402
399
  sign_up: Регистрация
403
400
  sign_up_as:
404
401
  legend: Регистрация като
@@ -417,7 +414,6 @@ bg:
417
414
  newsletter_modal:
418
415
  buttons:
419
416
  check: Маркирай и продължи
420
- close_modal: Затвори прозорчето
421
417
  notice: |-
422
418
  <p>Наистина ли не желаете да получавате писма с новини за дейностите в платформата?<br> Още веднъж преценете, дали да не поставите отметка по-долу.<br> Важно е понякога да получавате актуална информация. Винаги можете да се откажете от страницата с настройки.</p> <p>Когато това поле не е маркирано, може да пропуснете възможности за съвместна работа.<br> Ако все пак не желаете да Ви информираме за общите ни дела, уважаваме Вашето решение.</p> <p>Благодарим Ви, че прочетохте това!</p>
423
419
  title: Известия за новости
@@ -438,8 +434,6 @@ bg:
438
434
  this_application_will_not_be_able_to: 'Това приложение не може:'
439
435
  update_profile: Обновете профила си
440
436
  wants_to_use_your_account_html: "<strong>%{application_name}</strong> желае да ползва профила Ви"
441
- endorsable:
442
- endorsements: Одобрявания
443
437
  endorsement_buttons_cell:
444
438
  already_endorsed: Одобрен
445
439
  endorse: Одобрявам
@@ -751,9 +745,6 @@ bg:
751
745
  index:
752
746
  last_activity: Последна активност
753
747
  resource_type: Тип
754
- links:
755
- warning:
756
- close_modal: Затвори прозорчето
757
748
  log:
758
749
  base_presenter:
759
750
  create: "%{user_name} създаде %{resource_name}"
@@ -827,7 +818,6 @@ bg:
827
818
  error: Разговора не започна. Опитайте по-късно
828
819
  index:
829
820
  ago: преди
830
- close: Затвори прозорчето
831
821
  from: Oт
832
822
  groups: Моите Групи
833
823
  last_message: Последно съобщение
@@ -942,7 +932,6 @@ bg:
942
932
  proposals: Предложения
943
933
  proposals_explanation: Правете предложения, подкрепяйте съществуващите и обявете промените, които искате да видите.
944
934
  footer_sub_hero:
945
- footer_sub_hero_body: Нека изградим по-отворено, прозрачно и задружно общество.<br /> Присъединете се, участвайте и решавайте.
946
935
  footer_sub_hero_headline: Добре дошли в платформата за сътрудничество %{organization}!
947
936
  register: Регистрация
948
937
  hero:
@@ -973,7 +962,6 @@ bg:
973
962
  refuse:
974
963
  modal_body: Ако откажете, не може да използвате платформата, но можете да<a href="%{data_portability_path}">свалите данните си</a> и/или <a href="%{delete_path}">изтриете профила</a>.
975
964
  modal_btn_exit: Ще ги прегледам по-късно
976
- modal_close: Затвори прозорчето
977
965
  modal_title: Наистина ли отказвате обновените Общи условия?
978
966
  required_review:
979
967
  alert: Обновихме нашите Общи условия, моля прегледайте ги.
@@ -1050,7 +1038,6 @@ bg:
1050
1038
  future: Бъдещи
1051
1039
  past: Минали
1052
1040
  filters_small_view:
1053
- close_modal: Затвори прозорчето
1054
1041
  filter: Филтър
1055
1042
  filter_by: Филтър по
1056
1043
  unfold: Разгъване
@@ -1287,8 +1274,6 @@ bg:
1287
1274
  updated: Профилът Ви беше обновен успешно.
1288
1275
  sessions:
1289
1276
  already_signed_out: Излязохте успешно.
1290
- new:
1291
- sign_in: Вход
1292
1277
  signed_in: Влязохте успешно.
1293
1278
  signed_out: Излязохте успешно.
1294
1279
  shared:
@@ -1297,7 +1282,6 @@ bg:
1297
1282
  didn_t_receive_confirmation_instructions: Не получихте инструкции за потвърждение?
1298
1283
  didn_t_receive_unlock_instructions: Не получихте инструкции за отключване?
1299
1284
  forgot_your_password: Забравили сте паролата си?
1300
- sign_in: Вход
1301
1285
  sign_in_with_provider: Влез със %{provider}
1302
1286
  sign_up: Регистрация
1303
1287
  minimum_password_length:
@@ -490,6 +490,8 @@ ca:
490
490
  subtitle: Si us plau, omple el següent formulari per tal de completar la teva inscripció
491
491
  username_help: Nom públic que apareix als teus missatges. Amb l'objectiu de garantir l'anonimat, pot ser qualsevol nom.
492
492
  registrations:
493
+ create:
494
+ error: S'ha produït un error en crear el teu compte.
493
495
  new:
494
496
  already_have_an_account?: Ja tens un compte?
495
497
  newsletter: Vull rebre un butlletí ocasional amb informació rellevant
@@ -1126,7 +1128,7 @@ ca:
1126
1128
  proposals: Propostes
1127
1129
  proposals_explanation: Realitza propostes, dóna suport a les ja existents i promociona els canvis que vols veure.
1128
1130
  footer_sub_hero:
1129
- footer_sub_hero_body: Construïm una societat més oberta, transparent i col·laborativa.<br />Uneix-te, participa i decideix.
1131
+ footer_sub_hero_body: Construïm una societat més oberta, transparent i col·laborativa.<br /> Uneix-te, participa i decideix.
1130
1132
  footer_sub_hero_headline: Benvinguda a la plataforma participativa %{organization}.
1131
1133
  register: Registra't
1132
1134
  hero:
@@ -1258,7 +1260,7 @@ ca:
1258
1260
  close_modal: Tancar el modal
1259
1261
  filter: Filtra
1260
1262
  filter_by: Filtra per
1261
- unfold: Desplega
1263
+ unfold: Desplegar
1262
1264
  results:
1263
1265
  results:
1264
1266
  one: "%{count} resultat"
@@ -1327,7 +1329,7 @@ ca:
1327
1329
  label: 'Resultats per pàgina:'
1328
1330
  title: Seleccionar el nombre de resultats per pàgina
1329
1331
  share_modal:
1330
- close_window: Tanca la finestra
1332
+ close_window: Tancar finestra
1331
1333
  copy_share_link: Còpia
1332
1334
  copy_share_link_clarification: Copia l'enllaç al porta-retalls
1333
1335
  copy_share_link_copied: Copiat!
@@ -1550,7 +1552,7 @@ ca:
1550
1552
  sessions:
1551
1553
  already_signed_out: Sessió finalitzada correctament.
1552
1554
  new:
1553
- sign_in: Iniciar sessió
1555
+ sign_in: Entra
1554
1556
  signed_in: Sessió iniciada correctament.
1555
1557
  signed_out: S'ha iniciat la sessió correctament.
1556
1558
  shared:
@@ -1559,7 +1561,7 @@ ca:
1559
1561
  didn_t_receive_confirmation_instructions: No has rebut instruccions de confirmació?
1560
1562
  didn_t_receive_unlock_instructions: No has rebut instruccions de desbloqueig?
1561
1563
  forgot_your_password: Has oblidat la teva contrasenya?
1562
- sign_in: Iniciar sessió
1564
+ sign_in: Entra
1563
1565
  sign_in_with_provider: Inicia sessió amb %{provider}
1564
1566
  sign_up: Registra't
1565
1567
  minimum_password_length:
@@ -1591,6 +1593,7 @@ ca:
1591
1593
  not_saved:
1592
1594
  one: 'S''ha produït un error en processar la teva sol·licitud:'
1593
1595
  other: 'S''han produït múltiples errors en processar la vostra sol·licitud:'
1596
+ password_confirmation_message: '"Confirma la teva contrasenya" no coincideix amb la Contrasenya'
1594
1597
  too_many_marks: Estàs fent servir massa signes de puntuació consecutius (p. ex. i?)
1595
1598
  too_much_caps: Estàs utilitzant massa lletres majúscules (més del 25% del text)
1596
1599
  too_short: és massa curt (menys %{count} caràcters)