decidim-core 0.19.0 → 0.19.1

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.

@@ -3,12 +3,21 @@ ru:
3
3
  attributes:
4
4
  account:
5
5
  delete_reason: Причина для удаления вашей учетной записи
6
+ group:
7
+ about: О группе
8
+ avatar: Аватар
9
+ document_number: Номер документа
10
+ email: Эл. адрес
11
+ name: Название
12
+ nickname: Псевдоним
13
+ phone: Телефон
6
14
  report:
7
15
  details: Дополнительные комментарии
8
16
  user:
9
17
  about: Об участнике
10
18
  email: Ваш адрес электронной почты
11
19
  name: Ваше имя
20
+ nickname: Псевдоним
12
21
  password: Пароль
13
22
  password_confirmation: Подтвердите свой пароль
14
23
  personal_url: Личный веб-адрес
@@ -16,7 +25,13 @@ ru:
16
25
  models:
17
26
  decidim/attachment_created_event: Прикрепленный файл
18
27
  decidim/component_published_event: Действующая составляющая
28
+ decidim/demoted_membership: Больше не администратор группы
29
+ decidim/gamification/badge_earned_event: Значок получен
30
+ decidim/gamification/level_up_event: Вы повысили свой уровень
31
+ decidim/join_request_accepted_event: Запрос на присоединение принят
32
+ decidim/join_request_rejected_event: Запрос на присоединение отклонен
19
33
  decidim/profile_updated_event: Профиль обновлен
34
+ decidim/removed_from_group: Удален из группы
20
35
  activerecord:
21
36
  attributes:
22
37
  decidim/user:
@@ -91,6 +106,10 @@ ru:
91
106
  update: "%{user_name} обновил приложение OAuth %{resource_name}"
92
107
  organization:
93
108
  update: "%{user_name} обновил настройки организации"
109
+ participatory_space_private_user:
110
+ create: "%{user_name} пригласил %{resource_name} стать частным участником"
111
+ create_via_csv: "%{user_name} пригласил %{resource_name} через csv стать частным участником"
112
+ delete: "%{user_name} удалил участника %{resource_name} как приватного участника"
94
113
  scope:
95
114
  create: "%{user_name} добавил охват %{resource_name}"
96
115
  create_with_parent: "%{user_name} создал охват %{resource_name} внутри охвата %{parent_scope}"
@@ -110,7 +129,36 @@ ru:
110
129
  user_group:
111
130
  reject: "%{user_name} отклонил подтверждение группы участников %{resource_name}"
112
131
  verify: "%{user_name} подтвердил группу участников %{resource_name}"
132
+ verify_via_csv: "%{user_name} подтвердил группу %{resource_name} через CSV файл"
113
133
  amendments:
134
+ accepted:
135
+ error: Произошла ошибка при принятии поправки.
136
+ success: Поправка была успешно принята.
137
+ amendable:
138
+ amended_by: Исправлено
139
+ button: Изменить %{model_name}
140
+ help_text: Улучшить этот %{model_name}, изменив его %{amendable_fields}
141
+ promote_button: Повысить до %{model_name}
142
+ compare_draft:
143
+ continue: Продолжить
144
+ edit_draft:
145
+ send: Предпросмотр
146
+ emendation:
147
+ actions:
148
+ button_accept: Принять
149
+ button_reject: Отклонить
150
+ new:
151
+ send: Создать
152
+ title: Создать черновик поправок
153
+ preview_draft:
154
+ modify: Изменить
155
+ publish: Опубликовать
156
+ title: Опубликовать черновик поправок
157
+ promoted:
158
+ error: Возникла проблема с опубликованием поправки в качестве нового предложения
159
+ success: Эта поправка была успешно опубликована как новое предложение
160
+ review:
161
+ back: Назад
114
162
  wizard_step_form:
115
163
  steps:
116
164
  '1': Create your amendment
@@ -167,7 +215,9 @@ ru:
167
215
  explanation: Срок действия подтверждения вашей личности истек. Чтобы выполнить это действие, вам необходимо снова подтвердить свою личность с помощью «%{authorization}».
168
216
  title: Срок действия подтверждения личности истек
169
217
  incomplete:
218
+ cancel: Отменить
170
219
  explanation: 'Несмотря на то, что вы подтвердили свою личность с помощью «%{authorization}», мы просим вас заново подтвердить свою личность, потому что нам не хватает следующих данных:'
220
+ invalid_field: "%{field}"
171
221
  reauthorize: Заново подтвердить свою личность
172
222
  title: Пожалуйста, заново подтвердите свою личность
173
223
  missing:
@@ -183,7 +233,14 @@ ru:
183
233
  invalid_field: "Для %{field} недопустимо значение %{value}."
184
234
  ok: Хорошо
185
235
  title: Не подтвердили свою личность
236
+ unconfirmed:
237
+ title: Подтвердите вашу электронную почту
186
238
  collapsible_list:
239
+ hidden_elements_count:
240
+ one: и еще %{count}
241
+ few: и еще %{count}
242
+ many: и еще %{count}
243
+ other: и еще %{count}
187
244
  see_less: "(читать меньше)"
188
245
  see_more: "(читать подробнее)"
189
246
  components:
@@ -212,12 +269,22 @@ ru:
212
269
  name: Баннер рекомендуемого содержимого
213
270
  how_to_participate:
214
271
  name: Как принять участие
272
+ html:
273
+ html_content: HTML-содержимое
274
+ name: HTML-блок
275
+ last_activity:
276
+ name: Последняя активность
277
+ title: Последняя активность
278
+ view_all: Посмотреть всё
279
+ metrics:
280
+ name: Метрики организации
215
281
  stats:
216
282
  name: Статистика организации
217
283
  sub_hero:
218
284
  name: Под-богатырский баннер
219
285
  core:
220
286
  actions:
287
+ login_before_access: Пожалуйста, войдите под вашей учётной записью перед получением доступа
221
288
  unauthorized: Вы не имеете прав для выполнения этого действия
222
289
  data_portability:
223
290
  export:
@@ -226,12 +293,15 @@ ru:
226
293
  download_data: Загрузить данные
227
294
  download_data_description: Файл со всеми сведениями, связанными с учетной записью, будет отправлен на <strong>%{user_email}</strong>
228
295
  request_data: Запросить данные
296
+ datepicker:
297
+ help_text: 'Ожидаемый формат: %{datepicker_format}'
229
298
  devise:
230
299
  omniauth_registrations:
231
300
  create:
232
301
  email_already_exists: Другая учетная запись использует тот же адрес электронной почты
233
302
  new:
234
303
  complete_profile: Заполните профиль
304
+ nickname_help: Ваш псевдоним в %{organization}
235
305
  sign_up: Пожалуйста, заполните свой профиль
236
306
  subtitle: Пожалуйста, заполните следующую форму, чтобы завершить регистрацию
237
307
  username_help: Общедоступное имя, которое отображается в ваших сообщениях. В целях обеспечения анонимности оно может быть любым.
@@ -240,6 +310,8 @@ ru:
240
310
  already_have_an_account?: У вас уже есть учетная запись?
241
311
  newsletter: Получать время от времени рассылку со свежими новостями
242
312
  newsletter_title: Разрешение на связь с вами
313
+ nickname_help: Ваш псевдоним в %{organization}
314
+ password_help: "Минимум %{minimun_characters} символов, не должен быть слишком распространенным (например, 123456) и должен отличаться от вашего имени и электронной почты."
243
315
  sign_in: Войти
244
316
  sign_up: Зарегистрироваться
245
317
  sign_up_as:
@@ -253,6 +325,8 @@ ru:
253
325
  new:
254
326
  are_you_new?: Вы впервые на этой площадке?
255
327
  register: Создать учетную запись
328
+ sign_in_disabled: Вы можете получить доступ с помощью внешней учетной записи
329
+ sign_up_disabled: Регистрация отключена, вы можете использовать существующую учетную запись для доступа
256
330
  shared:
257
331
  newsletter_modal:
258
332
  buttons:
@@ -288,6 +362,16 @@ ru:
288
362
  content_doesnt_exist: Этот адрес неверен или был удален.
289
363
  title: Не удается найти страницу, которую вы ищете
290
364
  events:
365
+ amendments:
366
+ amendment_accepted:
367
+ affected_user:
368
+ email_intro: 'Для %{amendable_title} была принята поправка. Вы можете увидеть ее на этой странице:'
369
+ email_outro: Вы получили это уведомление, потому что вы автор %{amendable_title}.
370
+ email_subject: Принята поправка для %{amendable_title} от %{emendation_author_nickname}
371
+ notification_title: <a href="%{emendation_path}">Эта поправка</a> создана <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> была принята для <a href="%{amendable_path}">%{amendable_title}</a>.
372
+ follower:
373
+ email_intro: 'Для %{amendable_title} была принята поправка. Вы можете увидеть ее на этой странице:'
374
+ email_outro: Вы получили это уведомление, потому что вы следите за «%{amendable_title}». Вы можете отписаться от уведомлений, перейдя по приведенной выше ссылке.
291
375
  attachments:
292
376
  attachment_created:
293
377
  email_intro: 'В %{resource_title} добавили новый документ. Вы можете посмотреть его на странице:'
@@ -354,6 +438,48 @@ ru:
354
438
  errors:
355
439
  error: В этом поле есть ошибка.
356
440
  remove_this_file: Удалить этот файл
441
+ gamification:
442
+ badges:
443
+ index:
444
+ how: Как вы можете его получить
445
+ title: Значки
446
+ invitations:
447
+ name: Приглашения
448
+ level: Уровень %{level}
449
+ group_admins:
450
+ actions:
451
+ demote_admin: Удалить админа
452
+ index:
453
+ current_admins: 'Текущие администраторы:'
454
+ manage_admins: Управление админами
455
+ group_invites:
456
+ accept_invitation: Принять
457
+ index:
458
+ invite: Пригласить
459
+ reject_invitation: Отклонить
460
+ group_members:
461
+ actions:
462
+ are_you_sure: Вы уверены?
463
+ remove_from_group: Удалить участника
464
+ index:
465
+ manage_members: Управление участниками
466
+ groups:
467
+ actions:
468
+ are_you_sure: Вы уверены?
469
+ edit:
470
+ edit_user_group: Изменить группу
471
+ update_user_group: Обновить группу
472
+ form:
473
+ document_number_help: Не использовать дефисы и пробелы
474
+ email_help: Электронная почта вашей организации, ассоциации, коллектива, группы и т.д.
475
+ phone_help: Не использовать дефисы и пробелы
476
+ join:
477
+ error: Возникла проблема при присоединении к группе
478
+ success: Запрос на присоединение успешно создан. Администратор рассмотрит ваш запрос перед тем, как принять вас в группу.
479
+ last_activities:
480
+ all: Все виды активности
481
+ index:
482
+ last_activity: Последняя активность
357
483
  log:
358
484
  base_presenter:
359
485
  create: "%{user_name} добавил %{resource_name}"
@@ -376,6 +502,7 @@ ru:
376
502
  managed_users:
377
503
  expired_session: Текущий сеанс выступления в роли участника истек.
378
504
  menu:
505
+ help: Справка
379
506
  home: Главная
380
507
  messaging:
381
508
  conversation_mailer:
@@ -395,6 +522,7 @@ ru:
395
522
  index:
396
523
  no_conversations: У вас еще нет бесед
397
524
  reply:
525
+ send: Отправить
398
526
  title: Ответить
399
527
  start:
400
528
  send: Отправить
@@ -508,8 +636,17 @@ ru:
508
636
  show:
509
637
  followers: Читают
510
638
  following: Следит за
639
+ sidebar:
640
+ badges:
641
+ info: Значки заработаны за выполнение определенных действий на платформе.
642
+ title: Значки
511
643
  user:
644
+ confirmation_instructions_sent: Письмо с инструкциями по подтверждению отправлено
645
+ create_user_group: Создать группу
512
646
  edit_profile: Редактировать профиль
647
+ edit_user_group: Изменить профиль группы
648
+ fill_in_email_to_confirm_it: Пожалуйста, заполните электронную почту вашей группы для подтверждения
649
+ invite_user: Пригласить участника
513
650
  reported_mailer:
514
651
  hide:
515
652
  hello: Здравствуйте, %{name}!
@@ -556,6 +693,8 @@ ru:
556
693
  report: Пожаловаться
557
694
  spam: Содержит кликоловки (манипулятивно-сенсационные заголовки), рекламу, мошенничество или лохотроны.
558
695
  title: Пожаловаться на проблему
696
+ floating_help:
697
+ help: Справка
559
698
  follow_button:
560
699
  sign_in_before_follow: Пожалуйста, войдите в учетную запись, прежде чем выполнять это действие
561
700
  login_modal:
@@ -571,14 +710,54 @@ ru:
571
710
  share_link: Поделиться ссылкой
572
711
  version_author:
573
712
  deleted: Удаленный участник
713
+ wizard_step_form:
714
+ wizard_aside:
715
+ back: Назад
716
+ wizard_header:
717
+ see_steps: посмотреть шаги
718
+ step_of: Шаг %{current_step} из %{total_steps}
574
719
  devise:
720
+ confirmations:
721
+ confirmed: Ваш адрес электронной почты был успешно подтвержден.
722
+ new:
723
+ resend_confirmation_instructions: Повторно отправить инструкции по подтверждению
724
+ send_instructions: Вы получите письмо с инструкциями по подтверждению вашего адреса электронной почты в течение нескольких минут.
725
+ send_paranoid_instructions: Если ваш адрес электронной почты существует в нашей базе данных, вы получите письмо с инструкциями по подтверждению вашего адреса электронной почты в течение нескольких минут.
726
+ failure:
727
+ already_authenticated: Вы уже авторизованы.
728
+ inactive: Ваш аккаунт еще не активирован.
729
+ invalid: Неверный %{authentication_keys} или пароль.
730
+ invited: У вас есть приглашение, примите его, чтобы завершить создание учетной записи.
731
+ last_attempt: У вас есть еще одна попытка, прежде чем ваша учетная запись будет заблокирована.
732
+ locked: Ваша учетная запись заблокирована.
733
+ not_found_in_database: Неверный %{authentication_keys} или пароль.
734
+ timeout: Ваша сессия истекла. Пожалуйста, войдите снова, чтобы продолжить.
735
+ unauthenticated: Вам нужно войти или зарегистрироваться, чтобы продолжить.
575
736
  invitations:
576
737
  edit:
577
738
  header: Завершите создание своей учетной записи
578
739
  nickname_help: Ваш уникальный псевдоним в %{organization}.
579
740
  submit_button: Сохранить
580
741
  subtitle: Если вы принимаете приглашение, укажите, пожалуйста, свой псевдоним и пароль.
742
+ invitation_removed: Ваше приглашение было удалено.
743
+ invitation_token_invalid: Предоставленный токен приглашения недействителен!
744
+ new:
745
+ header: Отправить приглашение
746
+ submit_button: Отправить приглашение
747
+ no_invitations_remaining: Приглашений не осталось
748
+ send_instructions: Приглашение было отправлено на %{email}.
749
+ updated: Ваш пароль был успешно установлен. Вы вошли в систему.
750
+ updated_not_active: Ваш пароль был успешно установлен.
581
751
  mailer:
752
+ confirmation_instructions:
753
+ action: Подтвердить мой аккаунт
754
+ greeting: Добро пожаловать %{recipient}!
755
+ instruction: 'Вы можете подтвердить вашу учетную запись электронной почты по ссылке ниже:'
756
+ subject: Инструкции по подтверждению
757
+ email_changed:
758
+ greeting: Здравствуйте, %{recipient}!
759
+ message: Мы связываемся с вами, чтобы уведомить о том, что ваш адрес электронной почты изменен на %{email}.
760
+ subject: Адрес электронной почты изменен
582
761
  invitation_instructions:
583
762
  accept: Принять приглашение
584
763
  accept_until: Срок действия этого приглашения закончится %{due_date}.
@@ -591,6 +770,7 @@ ru:
591
770
  someone_invited_you: Кто-то пригласил вас в %{application}. Вы можете принять это приглашение по ссылке ниже.
592
771
  someone_invited_you_as_admin: Кто-то пригласил вас в качестве администратора %{application}, вы можете принять это приглашение по ссылке ниже.
593
772
  someone_invited_you_as_private_user: Кто-то пригласил вас в качестве частного участника %{application}, вы можете принять это приглашение по ссылке ниже.
773
+ subject: Инструкция по приглашению
594
774
  invite_admin:
595
775
  subject: Вам было предложено распоряжаться %{organization}
596
776
  invite_collaborator:
@@ -606,11 +786,38 @@ ru:
606
786
  passwords:
607
787
  edit:
608
788
  new_password: Пароль
789
+ registrations:
790
+ new:
791
+ sign_up: Зарегистрироваться
792
+ signed_up: Добро пожаловать! Вы успешно зарегистрировались.
793
+ signed_up_but_inactive: Вы успешно зарегистрировались. Однако вы не можете войти в систему, потому что учетная запись еще не активирована.
794
+ signed_up_but_locked: Вы успешно зарегистрировались. Однако вы не можете войти в систему, потому что ваша учетная запись заблокирована.
795
+ sessions:
796
+ new:
797
+ sign_in: Войти
798
+ signed_in: Вход выполнен успешно.
799
+ signed_out: Вы вышли.
800
+ shared:
801
+ links:
802
+ back: Назад
803
+ didn_t_receive_confirmation_instructions: Не получили инструкцию по подтверждению?
804
+ didn_t_receive_unlock_instructions: Не получили инструкцию по разблокировке?
805
+ forgot_your_password: Забыли пароль?
806
+ sign_in: Войти
807
+ sign_in_with_provider: Войти с помощью %{provider}
808
+ sign_up: Зарегистрироваться
809
+ unlocks:
810
+ new:
811
+ resend_unlock_instructions: Повторно отправить инструкции по разблокировке
812
+ send_instructions: Вы получите письмо с инструкциями по разблокированию учетной записи в течение нескольких минут.
813
+ send_paranoid_instructions: Если ваша учетная запись существует, вы получите письмо с инструкциями о том, как ее разблокировать в течение нескольких минут.
814
+ unlocked: Ваша учетная запись успешно разблокирована. Пожалуйста, войдите, чтобы продолжить.
609
815
  doorkeeper:
610
816
  scopes:
611
817
  public: Обнародованные сведения о вас.
612
818
  errors:
613
819
  messages:
820
+ already_confirmed: уже был подтвержден, попробуйте войти
614
821
  content_type_whitelist_error: этот тип файла недопустим
615
822
  cycle_detected: родитель охвата не может быть одним из его потомков
616
823
  file_size_is_less_than_or_equal_to: размер файла должен быть меньше или равен %{count}
@@ -152,7 +152,10 @@ sv:
152
152
  section_heading: Ändringar (%{count})
153
153
  compare_draft:
154
154
  continue: Fortsätt
155
+ created:
156
+ error: Ett fel uppstod när ändringsutkastet skulle skapas.
155
157
  edit_draft:
158
+ discard: Släng utkastet
156
159
  send: Förhandsvisa
157
160
  emendation:
158
161
  actions:
@@ -550,6 +553,9 @@ sv:
550
553
  current_image: Nuvarande bild
551
554
  default_image: Förvald bild
552
555
  errors:
556
+ decidim/user:
557
+ password: Lösenordet är för kort.
558
+ password_confirmation: Lösenordsbekräftelsen måste stämma överens med angivet lösenord.
553
559
  error: Det finns ett fel i det här fältet.
554
560
  remove_this_file: Ta bort den här filen
555
561
  gamification:
@@ -42,3 +42,4 @@ require "decidim/core/test/shared_examples/amendable/amendment_accepted_event_ex
42
42
  require "decidim/core/test/shared_examples/amendable/amendment_rejected_event_examples"
43
43
  require "decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples"
44
44
  require "decidim/core/test/shared_examples/uncommentable_component_examples"
45
+ require "decidim/core/test/shared_examples/has_private_users"
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ shared_examples_for "has private users" do
6
+ let(:factory_name) { described_class.name.demodulize.underscore.to_sym }
7
+
8
+ let!(:public_space) do
9
+ create(factory_name, private_space: false, published_at: Time.current)
10
+ end
11
+
12
+ let!(:private_space) do
13
+ create(factory_name, private_space: true, published_at: Time.current)
14
+ end
15
+
16
+ def create_space_private_user(space, user = create(:user, organization: space.organization))
17
+ Decidim::ParticipatorySpacePrivateUser.create(privatable_to: space, user: user)
18
+ end
19
+
20
+ describe ".public_spaces" do
21
+ let(:scope) { described_class.send(:public_spaces) }
22
+
23
+ it { expect(scope).to eq([public_space]) }
24
+ end
25
+
26
+ describe ".visible_for" do
27
+ let(:scope) { described_class.send(:visible_for, user) }
28
+
29
+ before { create_space_private_user(private_space) }
30
+
31
+ context "without user" do
32
+ let(:user) { nil }
33
+
34
+ it { expect(scope).to contain_exactly(public_space) }
35
+ end
36
+
37
+ context "with non-private user" do
38
+ let(:user) { create(:user) }
39
+
40
+ it { expect(scope).to contain_exactly(public_space) }
41
+ end
42
+
43
+ context "with private user" do
44
+ let(:user) { private_space.users.first }
45
+
46
+ it { expect(scope).to contain_exactly(public_space, private_space) }
47
+ end
48
+
49
+ context "when the space is both public and has private users" do
50
+ # Visible spaces for non-private user.
51
+ let(:user) { create(:user) }
52
+
53
+ before do
54
+ # Public space has multiple private users.
55
+ create_space_private_user(public_space)
56
+ create_space_private_user(public_space)
57
+ end
58
+
59
+ # Expect no duplicate results.
60
+ it { expect(scope).to contain_exactly(public_space) }
61
+ end
62
+ end
63
+ end