From 6a5914fbb40dda2727d1299c7a0b5ab6ec4e6660 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:36:48 +0300 Subject: [PATCH 01/90] Backport 'Fix published conferences order' to v0.26 (#9688) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andrés Pereira de Lucena --- .../conferences/organization_published_conferences.rb | 2 +- .../queries/organization_published_conferences_spec.rb | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb b/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb index 99de42d302d1b..8436ef584a736 100644 --- a/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb +++ b/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb @@ -14,7 +14,7 @@ def query OrganizationConferences.new(@organization), VisibleConferences.new(@user), PublishedConferences.new - ).query + ).query.order(start_date: :desc) end end end diff --git a/decidim-conferences/spec/queries/organization_published_conferences_spec.rb b/decidim-conferences/spec/queries/organization_published_conferences_spec.rb index 9034b12c08a03..9c98c68671c72 100644 --- a/decidim-conferences/spec/queries/organization_published_conferences_spec.rb +++ b/decidim-conferences/spec/queries/organization_published_conferences_spec.rb @@ -9,7 +9,9 @@ module Decidim::Conferences let!(:organization) { create(:organization) } let!(:published_conferences) do - create_list(:conference, 3, :published, organization: organization) + create(:conference, :published, organization: organization, start_date: 1.year.ago, end_date: 1.year.ago + 3.days) + create(:conference, :published, organization: organization, start_date: 30.days.ago, end_date: 30.days.ago + 7.days) + create(:conference, :published, organization: organization, start_date: 7.days.from_now, end_date: 7.days.from_now + 4.days) end let!(:unpublished_conferences) do @@ -32,6 +34,10 @@ module Decidim::Conferences it "excludes other organization's published conferences" do expect(subject).not_to include(*foreign_conferences) end + + it "order conferences by start date" do + expect(subject.to_a.first.start_date).to eq 7.days.from_now.to_date + end end end end From 1e29f6e2a47dc90e6e4dbaf2b4718fd8d962d716 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:38:30 +0300 Subject: [PATCH 02/90] Backport 'Fix creation notification when editing a comment ' to v0.26 (#9690) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add spec for UpdateComment command * Fix typos * Fix creation notification on editing a comment Co-authored-by: Andrés Pereira de Lucena --- .../comments/edit_comment_modal_form_cell.rb | 2 +- .../decidim/comments/update_comment.rb | 7 -- .../spec/commands/update_comment_spec.rb | 101 ++++++++++++++++++ .../decidim/proposals/update_proposal_spec.rb | 2 +- 4 files changed, 103 insertions(+), 9 deletions(-) create mode 100644 decidim-comments/spec/commands/update_comment_spec.rb diff --git a/decidim-comments/app/cells/decidim/comments/edit_comment_modal_form_cell.rb b/decidim-comments/app/cells/decidim/comments/edit_comment_modal_form_cell.rb index f304856b06bb6..cd68c489032ec 100644 --- a/decidim-comments/app/cells/decidim/comments/edit_comment_modal_form_cell.rb +++ b/decidim-comments/app/cells/decidim/comments/edit_comment_modal_form_cell.rb @@ -2,7 +2,7 @@ module Decidim module Comments - # A cell to display a form for edditing a comment. + # A cell to display a form for editing a comment. class EditCommentModalFormCell < Decidim::ViewModel delegate :current_user, :user_signed_in?, to: :controller alias comment model diff --git a/decidim-comments/app/commands/decidim/comments/update_comment.rb b/decidim-comments/app/commands/decidim/comments/update_comment.rb index c06e74f1d9fef..9870e598b07db 100644 --- a/decidim-comments/app/commands/decidim/comments/update_comment.rb +++ b/decidim-comments/app/commands/decidim/comments/update_comment.rb @@ -48,14 +48,7 @@ def update_comment edit: true ) - mentioned_users = parsed.metadata[:user].users - mentioned_groups = parsed.metadata[:user_group].groups CommentCreation.publish(@comment, parsed.metadata) - send_notifications(mentioned_users, mentioned_groups) - end - - def send_notifications(mentioned_users, mentioned_groups) - NewCommentNotificationCreator.new(comment, mentioned_users, mentioned_groups).create end end end diff --git a/decidim-comments/spec/commands/update_comment_spec.rb b/decidim-comments/spec/commands/update_comment_spec.rb new file mode 100644 index 0000000000000..3cf1aa9d90f7b --- /dev/null +++ b/decidim-comments/spec/commands/update_comment_spec.rb @@ -0,0 +1,101 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Comments + describe UpdateComment do + let(:organization) { create(:organization) } + let(:participatory_process) { create(:participatory_process, organization: organization) } + let(:component) { create(:component, participatory_space: participatory_process) } + let(:author) { create(:user, organization: organization) } + let(:dummy_resource) { create :dummy_resource, component: component } + let(:commentable) { dummy_resource } + let(:comment) { create :comment, author: author, commentable: commentable } + let(:body) { "This is a reasonable comment" } + let(:form_params) do + { + "comment" => { + "body" => body, + "commentable" => commentable + } + } + end + let(:form) do + Decidim::Comments::CommentForm.from_params( + form_params + ).with_context( + current_organization: organization + ) + end + let(:current_user) { author } + let(:command) { described_class.new(comment, current_user, form) } + + describe "call" do + describe "when the form is not valid" do + before do + allow(form).to receive(:invalid?).and_return(true) + end + + it "broadcasts invalid" do + expect { command.call }.to broadcast(:invalid) + end + + it "doesn't update the comment" do + expect { command.call }.not_to change(comment, :body) + end + end + + describe "when the comment is not authored by the user" do + before do + allow(comment).to receive(:authored_by?).and_return(false) + end + + it "broadcasts invalid" do + expect { command.call }.to broadcast(:invalid) + end + + it "doesn't update the comment" do + expect { command.call }.not_to change(comment, :body) + end + end + + describe "when the form is valid" do + it "broadcasts ok" do + expect { command.call }.to broadcast(:ok) + end + + it "updates the comment" do + command.call + comment.reload + expect(comment.body).to be_kind_of(Hash) + expect(comment.body["en"]).to eq body + end + + it "does not notify the followers" do + expect(Decidim::EventsManager).not_to receive(:publish) + + command.call + end + + it "traces the action", versioning: true do + expect(Decidim.traceability) + .to receive(:update!) + .with( + Decidim::Comments::Comment, + author, + { body: { en: "This is a reasonable comment" } }, + { edit: true, visibility: "public-only" } + ) + .and_call_original + + expect { command.call }.to change(Decidim::ActionLog, :count) + action_log = Decidim::ActionLog.last + expect(action_log.version).to be_present + expect(action_log.version.event).to eq "update" + end + end + end + end + end +end diff --git a/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb b/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb index 3fdee750967b3..dbc65d171b422 100644 --- a/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb +++ b/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb @@ -94,7 +94,7 @@ module Proposals end end - context "when the author changinng the author to one that has reached the proposal limit" do + context "when the author changing the author to one that has reached the proposal limit" do let!(:other_proposal) { create :proposal, component: component, users: [author], user_groups: [user_group] } let(:component) { create(:proposal_component, :with_proposal_limit) } From 3f287755851f4bc7c515458d9000f35fbb72d409 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:39:21 +0300 Subject: [PATCH 03/90] Backport 'Remove margin-bottom on votings navigation' to v0.26 (#9692) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove margin-bottom on votings navigation * Add margin-top on votings landing page Co-authored-by: Andrés Pereira de Lucena --- .../votings/content_blocks/landing_page/description/show.erb | 2 +- .../decidim/votings/content_blocks/landing_page/header/show.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb b/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb index 54c8b570ca37c..07a853b2ec63b 100644 --- a/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb +++ b/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb @@ -1,4 +1,4 @@ -
+
<% if introductory_image.attached? %>
diff --git a/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb b/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb index 5793742eab240..cb34f235bf72f 100644 --- a/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb +++ b/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb @@ -24,6 +24,6 @@
-
+
<%= extended_navigation_bar(navigation_items) %>
From 627d6cfb36922fede4e4f4f90e90e292c1a09506 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:40:22 +0300 Subject: [PATCH 04/90] Backport 'Use public link on initiatives mailer' to v0.26 (#9694) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Use described_class instead of hardcoding class name * Add spec * Use public link instead of admin link on mailer Co-authored-by: Andrés Pereira de Lucena --- .../initiatives_mailer/notify_creation.html.erb | 2 +- .../initiatives/initiatives_mailer_spec.rb | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb b/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb index fc7217dcf5196..846b5488fb29a 100644 --- a/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb +++ b/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb @@ -18,5 +18,5 @@

<%= t("check_initiative_details", scope: "decidim.initiatives.initiatives_mailer.initiative_link") %> <%= link_to t("here", scope: "decidim.initiatives.initiatives_mailer.initiative_link"), - decidim_admin_initiatives.initiative_url(@initiative, host: @organization.host) %> + decidim_initiatives.initiative_url(@initiative, host: @organization.host) %>

diff --git a/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb b/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb index 8d74c8ee60195..7b90415dd6227 100644 --- a/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb +++ b/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb @@ -5,10 +5,13 @@ module Decidim module Initiatives describe InitiativesMailer, type: :mailer do - let(:initiative) { create(:initiative) } + let(:organization) { create(:organization, host: "1.lvh.me") } + let(:initiative) { create(:initiative, organization: organization) } + let(:router) { Decidim::Initiatives::Engine.routes.url_helpers } + let(:admin_router) { Decidim::Initiatives::AdminEngine.routes.url_helpers } context "when notifies creation" do - let(:mail) { InitiativesMailer.notify_creation(initiative) } + let(:mail) { described_class.notify_creation(initiative) } it "renders the headers" do expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created") @@ -18,10 +21,15 @@ module Initiatives it "renders the body" do expect(mail.body.encoded).to match(initiative.title["en"]) end + + it "renders the correct link" do + expect(mail).to have_link(router.initiative_url(initiative, host: initiative.organization.host)) + expect(mail).not_to have_link(admin_router.initiative_url(initiative, host: initiative.organization.host)) + end end context "when notifies state change" do - let(:mail) { InitiativesMailer.notify_state_change(initiative, initiative.author) } + let(:mail) { described_class.notify_state_change(initiative, initiative.author) } it "renders the headers" do expect(mail.subject).to eq("The initiative #{initiative.title["en"]} has changed its status") @@ -34,7 +42,7 @@ module Initiatives end context "when notifies progress" do - let(:mail) { InitiativesMailer.notify_progress(initiative, initiative.author) } + let(:mail) { described_class.notify_progress(initiative, initiative.author) } it "renders the headers" do expect(mail.subject).to eq("Summary about the initiative: #{initiative.title["en"]}") From 55020a24762b3a1c672fafd0d3b09cab61f8adfd Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:41:54 +0300 Subject: [PATCH 05/90] Backport 'Disallow creating grandchildren results' to v0.26 (#9698) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Disallows creating grandchildren results * Add system spec Co-authored-by: Andrés Pereira de Lucena --- .../accountability/admin/permissions.rb | 8 ++++++- .../admin/results/index.html.erb | 2 +- .../accountability/admin/permissions_spec.rb | 21 +++++++++++++++++++ .../shared/manage_child_results_examples.rb | 1 + 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/decidim-accountability/app/permissions/decidim/accountability/admin/permissions.rb b/decidim-accountability/app/permissions/decidim/accountability/admin/permissions.rb index f30b8aec5c497..d673e9f7d5f8e 100644 --- a/decidim-accountability/app/permissions/decidim/accountability/admin/permissions.rb +++ b/decidim-accountability/app/permissions/decidim/accountability/admin/permissions.rb @@ -30,9 +30,10 @@ def timeline_entry def can_perform_actions_on?(subject, resource) return unless permission_action.subject == subject + return false if can_create_grandchildren_results? case permission_action.action - when :create + when :create, :create_children true when :update, :destroy resource.present? @@ -40,6 +41,11 @@ def can_perform_actions_on?(subject, resource) false end end + + def can_create_grandchildren_results? + result&.parent&.present? && + permission_action.action == :create_children + end end end end diff --git a/decidim-accountability/app/views/decidim/accountability/admin/results/index.html.erb b/decidim-accountability/app/views/decidim/accountability/admin/results/index.html.erb index a814b409c4d43..967ed96a23601 100644 --- a/decidim-accountability/app/views/decidim/accountability/admin/results/index.html.erb +++ b/decidim-accountability/app/views/decidim/accountability/admin/results/index.html.erb @@ -74,7 +74,7 @@ <%= icon_link_to "eye", resource_locator(result).path, t("actions.preview", scope: "decidim.accountability"), class: "action-icon--preview", target: :blank %> - <% if allowed_to? :update, :result, result: result %> + <% if allowed_to? :create_children, :result, result: result %> <%= icon_link_to "plus", results_path(parent_id: result.id), t("actions.new", scope: "decidim.accountability", name: t("models.result.name", scope: "decidim.accountability.admin")), class: "action-icon--plus" %> <% end %> diff --git a/decidim-accountability/spec/permissions/decidim/accountability/admin/permissions_spec.rb b/decidim-accountability/spec/permissions/decidim/accountability/admin/permissions_spec.rb index bb765c315b0f4..0c1ee17c03212 100644 --- a/decidim-accountability/spec/permissions/decidim/accountability/admin/permissions_spec.rb +++ b/decidim-accountability/spec/permissions/decidim/accountability/admin/permissions_spec.rb @@ -71,6 +71,27 @@ let(:extra_context) { { result: resource } } it_behaves_like "crud permissions" + + describe "creating a children" do + let(:resource) { create :result, component: accountability_component } + let(:action_subject) { :result } + let(:extra_context) { { result: resource } } + let(:action) do + { scope: :admin, action: :create_children, subject: action_subject } + end + + it { is_expected.to be true } + end + + describe "creating a grandchildren" do + let(:parent_result) { create :result, component: accountability_component } + let(:resource) { create :result, parent: parent_result } + let(:action) do + { scope: :admin, action: :create_children, subject: action_subject } + end + + it_behaves_like "permission is not set" + end end describe "status" do diff --git a/decidim-accountability/spec/shared/manage_child_results_examples.rb b/decidim-accountability/spec/shared/manage_child_results_examples.rb index d2c2df17d2928..b0099159b901b 100644 --- a/decidim-accountability/spec/shared/manage_child_results_examples.rb +++ b/decidim-accountability/spec/shared/manage_child_results_examples.rb @@ -67,6 +67,7 @@ within "table" do expect(page).to have_content("My result") + expect(page).not_to have_selector(".action-icon--plus"), "results grandchildren creation is disallowed" end end From 6e6b645bcb36236e43ad773c1566d17ddbd0de80 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:42:46 +0300 Subject: [PATCH 06/90] Backport 'Prevent showing announcement on meetings registrations' to v0.26 (#9700) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andrés Pereira de Lucena --- .../forms/questionnaires/show.html.erb | 2 +- .../spec/system/meeting_registrations_spec.rb | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb b/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb index 54d0a2f75992c..3f9b58a30e239 100644 --- a/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb +++ b/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb @@ -5,7 +5,7 @@ <% columns = allow_answers? && visitor_can_answer? && @form.responses.map(&:question).any?(&:matrix?) ? 9 : 6 %> -<%= render partial: "decidim/shared/component_announcement" %> +<%= render partial: "decidim/shared/component_announcement" if current_component.manifest_name == "surveys" %>

<%= translated_attribute questionnaire.title %>

diff --git a/decidim-meetings/spec/system/meeting_registrations_spec.rb b/decidim-meetings/spec/system/meeting_registrations_spec.rb index ee4e7b94ba54e..6441124cca3ce 100644 --- a/decidim-meetings/spec/system/meeting_registrations_spec.rb +++ b/decidim-meetings/spec/system/meeting_registrations_spec.rb @@ -339,6 +339,26 @@ def questionnaire_public_path expect(page).to have_content("Needs to be reattached") end + + context "and the announcement for the meeting is configured" do + before do + component.update!( + settings: { + announcement: { + en: "An important announcement", + es: "Un aviso muy importante", + ca: "Un avís molt important" + } + } + ) + end + + it "the user should not see it" do + visit questionnaire_public_path + + expect(page).not_to have_content("An important announcement") + end + end end end From f8405a54181882213134db25a61c9306210a5dcd Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:47:02 +0300 Subject: [PATCH 07/90] Backport 'Fix for initiative mailer when promoting committee is disabled' to v0.26 (#9696) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andrés Pereira de Lucena --- .../notify_creation.html.erb | 2 +- .../initiatives/initiatives_mailer_spec.rb | 36 ++++++++++++++++--- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb b/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb index 846b5488fb29a..4d6fbf230d541 100644 --- a/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb +++ b/decidim-initiatives/app/views/decidim/initiatives/initiatives_mailer/notify_creation.html.erb @@ -3,7 +3,7 @@ <%= link_to t("decidim.initiatives.initiatives_mailer.more_information"), decidim.page_url("initiatives", host: @organization.host) %>

-<% if @initiative.created_by_individual? %> +<% if @initiative.promoting_committee_enabled? %>

<%= t "decidim.initiatives.initiatives_mailer.promotal_committee_help", member_count: Decidim::Initiatives.minimum_committee_members %> diff --git a/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb b/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb index 7b90415dd6227..cde0b0f0ee7ae 100644 --- a/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb +++ b/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb @@ -13,13 +13,39 @@ module Initiatives context "when notifies creation" do let(:mail) { described_class.notify_creation(initiative) } - it "renders the headers" do - expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created") - expect(mail.to).to eq([initiative.author.email]) + context "when the promoting committee is enabled" do + it "renders the headers" do + expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created") + expect(mail.to).to eq([initiative.author.email]) + end + + it "renders the body" do + expect(mail.body.encoded).to match(initiative.title["en"]) + end + + it "renders the promoter committee help" do + expect(mail.body).to match("Forward the following link to invite people to the promoter committee") + end end - it "renders the body" do - expect(mail.body.encoded).to match(initiative.title["en"]) + context "when the promoting committee is disabled" do + let(:organization) { create(:organization) } + let(:initiatives_type) { create(:initiatives_type, organization: organization, promoting_committee_enabled: false) } + let(:scoped_type) { create(:initiatives_type_scope, type: initiatives_type) } + let(:initiative) { create(:initiative, organization: organization, scoped_type: scoped_type) } + + it "renders the headers" do + expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created") + expect(mail.to).to eq([initiative.author.email]) + end + + it "renders the body" do + expect(mail.body.encoded).to match(initiative.title["en"]) + end + + it "doesn't render the promoter committee help" do + expect(mail.body).not_to match("Forward the following link to invite people to the promoter committee") + end end it "renders the correct link" do From 6d223028ea8dc89019b06262578f747210c64f31 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:48:56 +0300 Subject: [PATCH 08/90] Backport 'Improve steps election check page with census' to v0.26 (#9702) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Do not show minimum answers and max selections as valid if there are no questions * Fix wrong information in steps election mgmt * add census checks * validate census if required * fix rubo * add system specs * fix test Co-authored-by: Txus Bach Co-authored-by: Ivan Vergés Co-authored-by: Txus Bach --- .../decidim/elections/admin/setup_form.rb | 42 +++++++++ .../app/models/decidim/elections/election.rb | 4 +- .../admin/steps/_create_election.html.erb | 15 ++- decidim-elections/config/locales/en.yml | 7 ++ .../elections/admin/setup_form_spec.rb | 94 +++++++++++++++++++ .../admin_manages_election_steps_spec.rb | 40 ++++++++ 6 files changed, 199 insertions(+), 3 deletions(-) diff --git a/decidim-elections/app/forms/decidim/elections/admin/setup_form.rb b/decidim-elections/app/forms/decidim/elections/admin/setup_form.rb index d13a645d517e4..640df169ac06c 100644 --- a/decidim-elections/app/forms/decidim/elections/admin/setup_form.rb +++ b/decidim-elections/app/forms/decidim/elections/admin/setup_form.rb @@ -13,6 +13,12 @@ class SetupForm < Decidim::Form validations.each do |message, t_args, valid| errors.add(message, I18n.t("steps.create_election.errors.#{message}", **t_args, scope: "decidim.elections.admin")) unless valid end + + if needs_census? + census_validations.each do |message, t_args, valid| + errors.add(message, I18n.t("steps.create_election.errors.#{message}", **t_args, scope: "decidim.elections.admin")) unless valid + end + end end def current_step; end @@ -40,12 +46,28 @@ def validations ].freeze end + def census_validations + return [] unless needs_census? + + @census_validations ||= [ + [:census_uploaded, {}, census.present? && census.data.exists?], + [:census_codes_generated, {}, census_codes_generated?], + [:census_frozen, {}, census&.freeze?] + ].freeze + end + def messages @messages ||= validations.map do |message, t_args, _valid| [message, I18n.t("steps.create_election.requirements.#{message}", **t_args, scope: "decidim.elections.admin")] end.to_h end + def census_messages + @census_messages ||= census_validations.to_h do |message, t_args, _valid| + [message, I18n.t("steps.create_election.requirements.#{message}", **t_args, scope: "decidim.elections.admin")] + end + end + def participatory_space_trustees @participatory_space_trustees ||= Decidim::Elections::Trustees::ByParticipatorySpace.new(election.component.participatory_space).to_a end @@ -58,6 +80,26 @@ def bulletin_board @bulletin_board ||= context[:bulletin_board] || Decidim::Elections.bulletin_board end + def needs_census? + vote_flow.is_a?(Decidim::Votings::CensusVoteFlow) + end + + def vote_flow + @vote_flow ||= election.participatory_space.try(:vote_flow_for, election) + end + + def census_codes_generated? + return unless needs_census? + + census&.codes_generated? || census&.exporting_codes? || census&.freeze? + end + + def census + return unless needs_census? + + @census ||= election.component.participatory_space.dataset + end + def main_button? true end diff --git a/decidim-elections/app/models/decidim/elections/election.rb b/decidim-elections/app/models/decidim/elections/election.rb index fd52e5a22aa3d..62225cf1a08a8 100644 --- a/decidim-elections/app/models/decidim/elections/election.rb +++ b/decidim-elections/app/models/decidim/elections/election.rb @@ -86,7 +86,7 @@ def maximum_hours_before_start? # # Returns a boolean. def minimum_answers? - questions.all? { |question| question.answers.size > 1 } + questions.any? && questions.all? { |question| question.answers.size > 1 } end # Public: Checks if the election results are published and election finished @@ -107,7 +107,7 @@ def results? # # Returns a boolean. def valid_questions? - questions.all?(&:valid_max_selection?) + questions.any? && questions.all?(&:valid_max_selection?) end # Public: Gets the voting period status of the election diff --git a/decidim-elections/app/views/decidim/elections/admin/steps/_create_election.html.erb b/decidim-elections/app/views/decidim/elections/admin/steps/_create_election.html.erb index a85baa3b4715b..756d1f6369ed1 100644 --- a/decidim-elections/app/views/decidim/elections/admin/steps/_create_election.html.erb +++ b/decidim-elections/app/views/decidim/elections/admin/steps/_create_election.html.erb @@ -14,10 +14,23 @@ <% end %> + <% if form.needs_census? %> +

<%= t(".census") %>

+
    + <% form.census_messages.each do |key, value| %> + <% if form.errors.include?(key) %> +
  • <%= icon "x", class: "text-alert", role: "img", "aria-hidden": true %> <%= form.errors.messages[key][0].html_safe %>
  • + <% else %> +
  • <%= icon "check", class: "text-success", role: "img", "aria-hidden": true %> <%= value.html_safe %>
  • + <% end %> + <% end %> +
+ <% end %> +

<%= t(".trustees") %>

    <% if form.participatory_space_trustees.none? %> -
  • <%= t(".no_trustees") %>
  • +
  • <%= icon "x", class: "text-alert", role: "img", "aria-hidden": true %> <%= t(".no_trustees") %>
  • <% end %> <% form.participatory_space_trustees.map {|trustee| [trustee, form.trustees.none? || form.trustees.include?(trustee)] } diff --git a/decidim-elections/config/locales/en.yml b/decidim-elections/config/locales/en.yml index 95fb3da11d84b..1f3ffc93c2983 100644 --- a/decidim-elections/config/locales/en.yml +++ b/decidim-elections/config/locales/en.yml @@ -231,7 +231,11 @@ en: success: Question successfully updated steps: create_election: + census: Census errors: + census_codes_generated: Election codes for the census are not generated. + census_frozen: Election codes are not exported. + census_uploaded: There is no census uploaded for this election. component_published: The election component is not published. max_selections: The questions do not have a correct value for amount of answers minimum_answers: Questions must have at least two answers. @@ -246,6 +250,9 @@ en: 'false': does not have a public key 'true': has a public key requirements: + census_codes_generated: Census codes are generated. + census_frozen: Codes are exported and census is frozen. + census_uploaded: Census is uploaded. component_published: The election component is published. max_selections: All the questions have a correct value for maximum of answers. minimum_answers: Each question has at least 2 answers. diff --git a/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb b/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb index 61a45f149f594..8eed6dc3c0382 100644 --- a/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb +++ b/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb @@ -40,6 +40,11 @@ ) end + it "does not validate census presence" do + expect(subject).not_to be_needs_census + expect(subject.census_validations).to be_blank + end + context "when the election is not ready for the setup" do let(:election) { create :election } @@ -49,11 +54,28 @@ subject.valid? expect(subject.errors.messages).to eq({ minimum_questions: ["The election must have at least one question."], + minimum_answers: ["Questions must have at least two answers."], + max_selections: ["The questions do not have a correct value for amount of answers"], published: ["The election is not published."] }) end end + context "when there are no answers created" do + let(:election) { create :election, :published } + let!(:question) { create :question, election: election, weight: 1 } + + it { is_expected.to be_invalid } + + it "shows errors" do + subject.valid? + expect(subject.errors.messages).to eq({ + minimum_answers: ["Questions must have at least two answers."], + max_selections: ["The questions do not have a correct value for amount of answers"] + }) + end + end + context "when there are no trustees for the election" do let(:trustees) { [] } @@ -84,4 +106,76 @@ it { is_expected.to match_array(trustees.pluck(:id)) } end + + context "when census is required" do + let(:election) { create :election, :ready_for_setup, trustee_keys: [], component: component } + + let(:voting) { create :voting } + let(:component) { create :elections_component, participatory_space: voting } + + it { is_expected.not_to be_valid } + + it "validates census presence" do + expect(subject).to be_needs_census + expect(subject.census_validations).not_to be_blank + end + + context "and census is valid" do + let!(:dataset) { create :dataset, :with_data, :frozen, voting: voting } + + it { is_expected.to be_valid } + + it "shows messages" do + expect(subject.census_messages).to match( + hash_including({ + census_uploaded: "Census is uploaded.", + census_codes_generated: "Census codes are generated.", + census_frozen: "Codes are exported and census is frozen." + }) + ) + end + end + + context "and census is empty" do + let!(:dataset) { create :dataset, voting: voting } + + it { is_expected.to be_invalid } + + it "shows errors" do + subject.valid? + expect(subject.errors.messages).to eq({ + census_uploaded: ["There is no census uploaded for this election."], + census_codes_generated: ["Election codes for the census are not generated."], + census_frozen: ["Election codes are not exported."] + }) + end + end + + context "and census has no codes generated" do + let!(:dataset) { create :dataset, :with_data, voting: voting } + + it { is_expected.to be_invalid } + + it "shows errors" do + subject.valid? + expect(subject.errors.messages).to eq({ + census_codes_generated: ["Election codes for the census are not generated."], + census_frozen: ["Election codes are not exported."] + }) + end + end + + context "and census is not frozen" do + let!(:dataset) { create :dataset, :codes_generated, voting: voting } + + it { is_expected.to be_invalid } + + it "shows errors" do + subject.valid? + expect(subject.errors.messages).to eq({ + census_frozen: ["Election codes are not exported."] + }) + end + end + end end diff --git a/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb b/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb index 972186c5a2184..424a2b1e280e5 100644 --- a/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb +++ b/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb @@ -22,6 +22,9 @@ expect(page).to have_content("The setup is being done at least 3 hours before the election starts.") expect(page).to have_content("The participatory space has at least 3 trustees with public key.") expect(page).to have_content("has a public key", minimum: 2) + expect(page).not_to have_content("Census is uploaded.") + expect(page).not_to have_content("Census codes are generated.") + expect(page).not_to have_content("Codes are exported and census is frozen.") click_button "Setup election" end @@ -33,6 +36,43 @@ expect(page).to have_content("Start the key ceremony") end end + + context "when census is required" do + let!(:voting) { create(:voting, organization: organization) } + let(:participatory_space) { voting } + + it "shows invalid census messages" do + visit_steps_page + + within "form.create_election" do + expect(page).to have_content("The election has at least 1 question.") + expect(page).to have_content("Each question has at least 2 answers.") + expect(page).to have_content("All the questions have a correct value for maximum of answers.") + expect(page).to have_content("The election is published.") + expect(page).to have_content("The election component is published.") + expect(page).to have_content("The setup is being done at least 3 hours before the election starts.") + expect(page).to have_content("The participatory space has at least 3 trustees with public key.") + expect(page).to have_content("has a public key", minimum: 2) + expect(page).to have_content("There is no census uploaded for this election.") + expect(page).to have_content("Election codes for the census are not generated.") + expect(page).to have_content("Election codes are not exported.") + end + end + + context "with valid census" do + let!(:dataset) { create(:dataset, :codes_generated, :frozen, voting: voting) } + + it "shows valid census messages" do + visit_steps_page + + within "form.create_election" do + expect(page).to have_content("Census is uploaded.") + expect(page).to have_content("Census codes are generated.") + expect(page).to have_content("Codes are exported and census is frozen.") + end + end + end + end end describe "start the key ceremony" do From c09d9e8c3d14a038d2b9ff29072192a895ab5fc1 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 10:51:42 +0300 Subject: [PATCH 09/90] Backport 'Fix translated attributes field type change' to v0.26 (#9704) * Fix issue when the attribute is changed from string to translatable * Test the translated attribute conversion when the original value is a string --- .../lib/decidim/translatable_attributes.rb | 9 ++++++++- .../spec/lib/translatable_attributes_spec.rb | 14 +++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/decidim-core/lib/decidim/translatable_attributes.rb b/decidim-core/lib/decidim/translatable_attributes.rb index 8deb3338b9fce..13901f6a6fd50 100644 --- a/decidim-core/lib/decidim/translatable_attributes.rb +++ b/decidim-core/lib/decidim/translatable_attributes.rb @@ -43,7 +43,14 @@ def translatable_attribute(name, type, *options) define_method attribute_name do field = public_send(name) || {} - value = field[locale.to_s] || field[locale.to_sym] + value = + if field.is_a?(Hash) + field[locale.to_s] || field[locale.to_sym] + else + # The value may not be a hash in case the attribute type was + # changed and the old value is still stored against the record. + field + end attribute_set[attribute_name].coerce(value) end diff --git a/decidim-core/spec/lib/translatable_attributes_spec.rb b/decidim-core/spec/lib/translatable_attributes_spec.rb index 2dbf39244dee8..dd4e87e272535 100644 --- a/decidim-core/spec/lib/translatable_attributes_spec.rb +++ b/decidim-core/spec/lib/translatable_attributes_spec.rb @@ -24,7 +24,7 @@ def self.model_name allow(Decidim).to receive(:available_locales).and_return available_locales end - describe "#translatable_attribute do" do + describe "#translatable_attribute" do before do klass.class_eval do translatable_attribute :name, String @@ -53,6 +53,18 @@ def self.model_name model.name_en = 1 expect(model.name_en).to eq("1") end + + context "when the stored value is a string" do + before do + allow(model).to receive(:name).and_return("Hello") + end + + it "returns the stored value for the locale specific getters" do + expect(model.name_en).to eq("Hello") + expect(model.name_ca).to eq("Hello") + expect(model.name_pt__BR).to eq("Hello") + end + end end end end From 9240a202f41a4df82a17995a2e1b64208424489c Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:00:58 +0300 Subject: [PATCH 10/90] Backport 'Prevent missing ActionLog entries to break the application' to v0.26 (#9706) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * prevent missing actionlog entries to break the application * to_s before camelizing * refactor & test missing constants in actionlog * fix check for can_participate? Co-authored-by: Ivan Vergés --- decidim-core/app/models/decidim/action_log.rb | 18 +++++++++--------- .../spec/models/decidim/action_log_spec.rb | 13 +++++++++++++ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/decidim-core/app/models/decidim/action_log.rb b/decidim-core/app/models/decidim/action_log.rb index 3c5d81dc9dc8f..2515e6e212a33 100644 --- a/decidim-core/app/models/decidim/action_log.rb +++ b/decidim-core/app/models/decidim/action_log.rb @@ -130,16 +130,16 @@ def self.lazy_relation(id_method, klass_name, cache) end # Whether this activity or log is visible for a given user (can also be nil) - # - # Returns a True/False. def visible_for?(user) - return false if resource_lazy.blank? - return false if participatory_space_lazy.blank? - return false if resource_lazy.respond_to?(:deleted?) && resource_lazy.deleted? - return false if resource_lazy.respond_to?(:hidden?) && resource_lazy.hidden? - return false if resource_lazy.respond_to?(:can_participate?) && !resource_lazy.can_participate?(user) - - true + resource_lazy.present? && + participatory_space_lazy.present? && + !resource_lazy.try(:deleted?) && + !resource_lazy.try(:hidden?) && + (!resource_lazy.respond_to?(:can_participate?) || resource_lazy.try(:can_participate?, user)) + rescue NameError => e + Rails.logger.warn "Failed resource for #{self.class.name}(id=#{id}): #{e.message}" + + false end end end diff --git a/decidim-core/spec/models/decidim/action_log_spec.rb b/decidim-core/spec/models/decidim/action_log_spec.rb index 6e6cffd043b71..345fe18f88f9d 100644 --- a/decidim-core/spec/models/decidim/action_log_spec.rb +++ b/decidim-core/spec/models/decidim/action_log_spec.rb @@ -118,6 +118,19 @@ it { is_expected.to be_falsey } end + context "when resource does not exist" do + before do + allow(Rails.logger).to receive(:warn).at_least(:once) + action_log.resource_type = "ANonExistingClass" + action_log.participatory_space.save! + end + + it "creates a log entry" do + expect(subject).to be_falsey + expect(Rails.logger).to have_received(:warn).with(/Failed resource/).once + end + end + it { is_expected.to be_truthy } end end From e0692172b50cd35420a917e46f4a7a448c4c7315 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:05:20 +0300 Subject: [PATCH 11/90] Backport 'Fix publish event on official proposals' to v0.26 (#9708) * Fix publish event on official proposals * Ruby offsense * Use official check method * Add missing translation and rewording * Remove period * Test proper scenario Co-authored-by: Fernando Blat --- .../decidim/proposals/publish_proposal_event.rb | 8 ++++++++ decidim-proposals/config/locales/en.yml | 1 + .../decidim/proposals/publish_proposal_event_spec.rb | 12 ++++++++++++ 3 files changed, 21 insertions(+) diff --git a/decidim-proposals/app/events/decidim/proposals/publish_proposal_event.rb b/decidim-proposals/app/events/decidim/proposals/publish_proposal_event.rb index 5a8bc07ae1d0a..3a91d39bafaa5 100644 --- a/decidim-proposals/app/events/decidim/proposals/publish_proposal_event.rb +++ b/decidim-proposals/app/events/decidim/proposals/publish_proposal_event.rb @@ -13,6 +13,8 @@ def resource_text end def i18n_options + return super if author.blank? + author_path = link_to("@#{author.nickname}", profile_path(author.nickname)) author_string = "#{author.name} #{author_path}" super.merge({ author: author_string }) @@ -35,6 +37,12 @@ def safe_resource_translated_text I18n.with_locale(I18n.locale) { translated_attribute(resource_text, nil, true).to_s.html_safe } end + def notification_title + i18n_key = resource.official? ? "notification_title_official" : "notification_title" + + I18n.t(i18n_key, **i18n_options).html_safe + end + private def i18n_scope diff --git a/decidim-proposals/config/locales/en.yml b/decidim-proposals/config/locales/en.yml index 638919dd2a01a..1029e2c535036 100644 --- a/decidim-proposals/config/locales/en.yml +++ b/decidim-proposals/config/locales/en.yml @@ -303,6 +303,7 @@ en: email_outro: You have received this notification because you are following "%{participatory_space_title}". You can stop receiving notifications following the previous link. email_subject: New proposal "%{resource_title}" added to %{participatory_space_title} notification_title: The proposal %{resource_title} has been added to %{participatory_space_title} by %{author} + notification_title_official: The official proposal %{resource_title} has been added to %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Your proposal "%{resource_title}" has been rejected. You can read the answer in this page:' diff --git a/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb b/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb index d2db5c188c6f3..151625cfc51e6 100644 --- a/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb +++ b/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb @@ -59,6 +59,18 @@ module Proposals end end + context "when the proposal is official" do + let(:resource) { create :proposal, :official, title: "A nice proposal" } + let(:extra) { { participatory_space: resource.participatory_space } } + + describe "notification_title" do + it "is generated correctly" do + expect(subject.notification_title) + .to include("The official proposal #{resource_title} has been added to #{participatory_space_title}") + end + end + end + context "when the target are the participatory space followers" do let(:event_name) { "decidim.events.proposals.proposal_published_for_space" } let(:extra) { { participatory_space: true } } From 42f923b2b36bf703a27cdb1f685e0415f7ae60ea Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:06:27 +0300 Subject: [PATCH 12/90] Backport 'Add help text for proposals' 'publish answers immediately' setting ' to v0.26 (#9712) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add support for HTML on settings' help * Add help text for proposals' 'publish answers immediately' setting * Add documentation to SettingsHelper * Add spec for help texts feature * Add spec for #text_for_setting Co-authored-by: Andrés Pereira de Lucena --- .../helpers/decidim/admin/settings_helper.rb | 68 ++++++++++++++++--- .../spec/helpers/settings_helper_spec.rb | 63 +++++++++++++++++ decidim-dev/config/locales/en.yml | 6 ++ decidim-proposals/config/locales/en.yml | 1 + 4 files changed, 127 insertions(+), 11 deletions(-) diff --git a/decidim-admin/app/helpers/decidim/admin/settings_helper.rb b/decidim-admin/app/helpers/decidim/admin/settings_helper.rb index 30d871d6eddd5..56a6abc95cfda 100644 --- a/decidim-admin/app/helpers/decidim/admin/settings_helper.rb +++ b/decidim-admin/app/helpers/decidim/admin/settings_helper.rb @@ -18,16 +18,19 @@ module SettingsHelper time: :datetime_field }.freeze - # Public: Renders a form field that matches a settings attribute's - # type. + # Renders a form field that matches a settings attribute's type. + # Besides the field itself, it also renders all the metadata (like the labels and help texts) # - # form - The form in which to render the field. - # attribute - The Settings::Attribute instance with the - # description of the attribute. - # name - The name of the field. - # options - Extra options to be passed to the field helper. - # - # Returns a rendered form field. + # @param form [Decidim::Admin::FormBuilder] The form in which to render the field + # @param attribute [Decidim::SettingsManifest::Attribute] The Settings::Attribute instance with the + # description of the attribute. + # @param name [Symbol] The name of the field. + # @param i18n_scope [String] The scope where it'll find all the texts for the internationalization (locales) + # @param options [Hash] Extra options to be passed to the field helper. + # @option options [String] :tabs_prefix The type of the setting. + # It can be "global-settings" or "step-N-settings", where N is the number of the step. + # @option options [nil, Boolean] :readonly True if the input is readonly. + # @return [ActiveSupport::SafeBuffer] Rendered form field. def settings_attribute_input(form, attribute, name, i18n_scope, options = {}) form_method = form_method_for_attribute(attribute) @@ -62,6 +65,18 @@ def settings_attribute_input(form, attribute, name, i18n_scope, options = {}) private + # Renders a select field collection input for the given attribute + # + # @param form (see #settings_attribute_input) + # @param attribute (see #settings_attribute_input) + # @param name (see #settings_attribute_input) + # @param i18n_scope (see #settings_attribute_input) + # @param options (see #settings_attribute_input) + # @option :tabs_prefix (see #settings_attribute_input) + # @option :readonly (see #settings_attribute_input) + # @option options [String] :label The label that this field has + # @option options [String] :help_text The help text shown after the input field + # @return (see #settings_attribute_input) def render_select_form_field(form, attribute, name, i18n_scope, options) html = form.select( name, @@ -73,6 +88,17 @@ def render_select_form_field(form, attribute, name, i18n_scope, options) end # Returns a radio buttons collection input for the given attribute + # + # @param form (see #settings_attribute_input) + # @param attribute (see #settings_attribute_input) + # @param name (see #settings_attribute_input) + # @param i18n_scope (see #settings_attribute_input) + # @param options (see #settings_attribute_input) + # @option :tabs_prefix (see #settings_attribute_input) + # @option :readonly (see #settings_attribute_input) + # @option :label (see #render_select_form_field) + # @option :help_text (see #render_select_form_field) + # @return (see #settings_attribute_input) def render_enum_form_field(form, attribute, name, i18n_scope, options) html = label_tag(name) do concat options[:label] @@ -88,13 +114,25 @@ def render_enum_form_field(form, attribute, name, i18n_scope, options) html end + # Get the translation for a given attribute # Returns a translation or nil. If nil, ZURB Foundation won't add the help_text. + # + # @param name (see #settings_attribute_input) + # @param suffix [String] What suffix the i18n key has + # @param i18n_scope (see #settings_attribute_input) + # @return [String, nil] def text_for_setting(name, suffix, i18n_scope) + html_key = "#{i18n_scope}.#{name}_#{suffix}_html" + return t(html_key) if I18n.exists?(html_key) + key = "#{i18n_scope}.#{name}_#{suffix}" return t(key) if I18n.exists?(key) end - # Returns the FormBuilder's method used to render + # Which form method is being used for this attribute + # + # @param attribute [Decidim::SettingsManifest::Attribute] + # @return [Symbol] The FormBuilder's method used to render def form_method_for_attribute(attribute) return :editor if attribute.type.to_sym == :text && attribute.editor? @@ -102,7 +140,9 @@ def form_method_for_attribute(attribute) end # Handles special cases. - # Returns an empty Hash or a Hash with extra HTML options. + # + # @param input_type [Symbol] + # @return [Hash] Empty Hash or a Hash with extra HTML options. def extra_options_for_type(input_type) case input_type when :text_area @@ -113,6 +153,12 @@ def extra_options_for_type(input_type) end # Build options for enum attributes + # Get the translation for a given attribute of type choice + # + # @param name (see #settings_attribute_input) + # @param i18n_scope (see #settings_attribute_input) + # @param choices [Array] + # @return [Array>] def build_enum_choices(name, i18n_scope, choices) choices.map do |choice| [t("#{name}_choices.#{choice}", scope: i18n_scope), choice] diff --git a/decidim-admin/spec/helpers/settings_helper_spec.rb b/decidim-admin/spec/helpers/settings_helper_spec.rb index a218bb5fc0ba1..df1f51f89bbb7 100644 --- a/decidim-admin/spec/helpers/settings_helper_spec.rb +++ b/decidim-admin/spec/helpers/settings_helper_spec.rb @@ -161,6 +161,69 @@ def render_input render_input end end + + describe "help texts" do + let(:form) { Decidim::Admin::FormBuilder.new(:foo, double(name => value), template, {}) } + let(:template) { Class.new(ActionView::Base).new(ActionView::LookupContext.new(ActionController::Base.view_paths), {}, []) } + let(:type) { :boolean } + let(:name) { :guided } + + it "renders the help text" do + expect(render_input).to include(%(Help text)) + end + + context "with HTML enriched help text" do + let(:name) { :guided_rich } + + it "renders the HTML formatted help text" do + expect(render_input).to include(%(HTML help text)) + end + end + end + + describe "#text_for_setting" do + let(:name) { :guided } + + context "with inexistent suffix" do + let(:suffix) { :inexistent } + + it "doesn't render anything" do + expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to be_nil + end + end + + context "with readonly" do + let(:suffix) { "readonly" } + + it "renders the text" do + expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("Disabled input") + end + + context "with HTML enriched text" do + let(:name) { :guided_rich } + + it "renders the HTML formatted text" do + expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("HTML help text for disabled input") + end + end + end + + context "with help" do + let(:suffix) { "help" } + + it "renders the text" do + expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("Help text") + end + + context "with HTML enriched text" do + let(:name) { :guided_rich } + + it "renders the HTML formatted text" do + expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("HTML help text") + end + end + end + end end end end diff --git a/decidim-dev/config/locales/en.yml b/decidim-dev/config/locales/en.yml index f52b5db61f94e..2a4b2a3758822 100644 --- a/decidim-dev/config/locales/en.yml +++ b/decidim-dev/config/locales/en.yml @@ -15,6 +15,12 @@ en: dummy: settings: global: + guided: Guided input + guided_help: Help text + guided_readonly: Disabled input + guided_rich: Guided rich input + guided_rich_help_html: HTML help text + guided_rich_readonly_html: HTML help text for disabled input readonly_attribute: Readonly attribute test: A test test_choices: diff --git a/decidim-proposals/config/locales/en.yml b/decidim-proposals/config/locales/en.yml index 1029e2c535036..b6a8bcf152a38 100644 --- a/decidim-proposals/config/locales/en.yml +++ b/decidim-proposals/config/locales/en.yml @@ -214,6 +214,7 @@ en: endorsements_enabled: Endorsements enabled proposal_answering_enabled: Proposal answering enabled publish_answers_immediately: Publish proposal answers immediately + publish_answers_immediately_help_html: Mind that if you answer any proposal without this enabled, you'll need to publish them manually by selecting them and using the action for publication. For more info on how this works, see proposals' answers documentation page. suggested_hashtags: Hashtags suggested to participants for new proposals votes_blocked: Supports blocked votes_enabled: Supports enabled From 8ed1177dec385a640b701eb325a4595d5907e57b Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:07:09 +0300 Subject: [PATCH 13/90] Backport 'Return 404 when there isn't a valid component in program' to v0.26 (#9717) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andrés Pereira de Lucena --- .../decidim/conferences/conference_program_controller.rb | 2 +- .../controllers/conference_program_controller_spec.rb | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb b/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb index 02d0b6a1e7bf3..088b6b3818e0c 100644 --- a/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb +++ b/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb @@ -26,7 +26,7 @@ def meeting_component end def meetings - return unless meeting_component.published? || !meeting_component.presence + return unless meeting_component&.published? || !meeting_component.presence @meetings ||= Decidim::Meetings::Meeting.where(component: meeting_component).visible_meeting_for(current_user).order(:start_time) end diff --git a/decidim-conferences/spec/controllers/conference_program_controller_spec.rb b/decidim-conferences/spec/controllers/conference_program_controller_spec.rb index 4c92d606bd668..c7af7fae5046f 100644 --- a/decidim-conferences/spec/controllers/conference_program_controller_spec.rb +++ b/decidim-conferences/spec/controllers/conference_program_controller_spec.rb @@ -27,12 +27,19 @@ module Conferences describe "GET show" do context "when conference has no meetings" do - it "redirects to 404" do + it "returns 404" do expect { get :show, params: { conference_slug: conference.slug, id: component.id } } .to raise_error(ActionController::RoutingError) end end + context "when conference has an invalid component id" do + it "returns 404" do + expect { get :show, params: { conference_slug: conference.slug, id: 999 } } + .to raise_error(ActionController::RoutingError) + end + end + context "when conference has meetings" do let!(:meetings) do create_list( From 15e6227bb9a170df41e40d98542c34b009855dc8 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:07:47 +0300 Subject: [PATCH 14/90] Backport 'Fix budgets seeds on non development apps' to v0.26 (#9719) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andrés Pereira de Lucena --- decidim-budgets/lib/decidim/budgets/component.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/decidim-budgets/lib/decidim/budgets/component.rb b/decidim-budgets/lib/decidim/budgets/component.rb index f52389af467e1..291861b8a7840 100644 --- a/decidim-budgets/lib/decidim/budgets/component.rb +++ b/decidim-budgets/lib/decidim/budgets/component.rb @@ -123,7 +123,7 @@ settings: { landing_page_content: landing_page_content, more_information_modal: Decidim::Faker::Localized.paragraph(sentence_count: 4), - workflow: %w(one random all).sample + workflow: Decidim::Budgets.workflows.keys.sample } ) From e9f5257b5f0ff3788c0bd8b8e5d5c35091e02682 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:13:35 +0300 Subject: [PATCH 15/90] Backport 'Fix creating automatic nicknames when taken by user_groups' to v0.26 (#9721) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ivan Vergés --- decidim-core/lib/decidim/nicknamizable.rb | 2 +- decidim-core/spec/lib/nicknamizable_spec.rb | 32 +++++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/decidim-core/lib/decidim/nicknamizable.rb b/decidim-core/lib/decidim/nicknamizable.rb index 8239cbd5dfdc8..615a71328ff08 100644 --- a/decidim-core/lib/decidim/nicknamizable.rb +++ b/decidim-core/lib/decidim/nicknamizable.rb @@ -52,7 +52,7 @@ def disambiguate(name, scope) candidate = name 2.step do |n| - return candidate unless exists?(scope.merge(nickname: candidate)) + return candidate if Decidim::UserBaseEntity.where("nickname ILIKE ?", candidate.downcase).where(scope).empty? candidate = numbered_variation_of(name, n) end diff --git a/decidim-core/spec/lib/nicknamizable_spec.rb b/decidim-core/spec/lib/nicknamizable_spec.rb index 9f8aa399ffd9d..e0cb4f7f4dcec 100644 --- a/decidim-core/spec/lib/nicknamizable_spec.rb +++ b/decidim-core/spec/lib/nicknamizable_spec.rb @@ -41,24 +41,32 @@ class DummyTestUser < ApplicationRecord expect(nickname.length).to eq(20) end - it "resolves conflicts with current nicknames" do - create(:user, nickname: "ana_pastor") + shared_examples "resolves existing conflicts" do |factory| + it "resolves conflicts with current nicknames" do + create(factory, nickname: "ana_pastor") - expect(subject.nicknamize("ana_pastor")).to eq("ana_pastor_2") - end + expect(subject.nicknamize("ana_pastor")).to eq("ana_pastor_2") + end + + it "resolves conflicts with long current nicknames" do + create(factory, nickname: "felipe_rocks_so_much") - it "resolves conflicts with long current nicknames" do - create(:user, nickname: "felipe_rocks_so_much") + expect(subject.nicknamize("Felipe Rocks So Much")).to eq("felipe_rocks_so_mu_2") + end + + it "resolves conflicts with other existing nicknames" do + create(factory, nickname: "existing") + create(factory, nickname: "existing_1") + create(factory, nickname: "existing_2") - expect(subject.nicknamize("Felipe Rocks So Much")).to eq("felipe_rocks_so_mu_2") + expect(subject.nicknamize("existing")).to eq("existing_3") + end end - it "resolves conflicts with other existing nicknames" do - create(:user, nickname: "existing") - create(:user, nickname: "existing_1") - create(:user, nickname: "existing_2") + it_behaves_like "resolves existing conflicts", :user - expect(subject.nicknamize("existing")).to eq("existing_3") + context "when user groups have the same nickname" do + it_behaves_like "resolves existing conflicts", :user_group end end end From 1c7d6e085f464169753f2c6e2f58e520c6296327 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:15:29 +0300 Subject: [PATCH 16/90] Backport 'Fix resource endorsed notification with Debates' to v0.26 (#9723) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix resource endorsed notification with Debates * Add resource type in ResourceEndorsedEvent spec * Extract 'resource endorsed event' to a shared example * Extract resource_text so it can be defined on callers * Add failing spec * Fix when resource doesn't have a body * Add specs for Proposals and Blog Posts * Fix the trait name for 0.26 Co-authored-by: Andrés Pereira de Lucena --- .../decidim/resource_endorsed_event_spec.rb | 11 ++++ .../events/decidim/resource_endorsed_event.rb | 3 +- decidim-core/lib/decidim/core/test.rb | 1 + .../resource_endorsed_event_examples.rb | 60 +++++++++++++++++++ .../decidim/resource_endorsed_event_spec.rb | 56 +---------------- .../decidim/resource_endorsed_event_spec.rb | 11 ++++ .../decidim/resource_endorsed_event_spec.rb | 11 ++++ 7 files changed, 99 insertions(+), 54 deletions(-) create mode 100644 decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb create mode 100644 decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb create mode 100644 decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb create mode 100644 decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb diff --git a/decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb new file mode 100644 index 0000000000000..2d978f92779ab --- /dev/null +++ b/decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Decidim::ResourceEndorsedEvent do + let(:resource) { create :post, title: { en: "My blog post" } } + let(:resource_type) { "Post" } + let(:resource_text) { resource.body } + + it_behaves_like "resource endorsed event" +end diff --git a/decidim-core/app/events/decidim/resource_endorsed_event.rb b/decidim-core/app/events/decidim/resource_endorsed_event.rb index 898aa7c5228b4..0263703402e1b 100644 --- a/decidim-core/app/events/decidim/resource_endorsed_event.rb +++ b/decidim-core/app/events/decidim/resource_endorsed_event.rb @@ -15,7 +15,8 @@ def endorser_path end def resource_text - resource.body + return resource.body if resource.respond_to? :body + return resource.description if resource.respond_to? :description end def resource_type diff --git a/decidim-core/lib/decidim/core/test.rb b/decidim-core/lib/decidim/core/test.rb index e4134ed340941..6d6021dfbf46c 100644 --- a/decidim-core/lib/decidim/core/test.rb +++ b/decidim-core/lib/decidim/core/test.rb @@ -71,3 +71,4 @@ require "decidim/core/test/shared_examples/assembly_announcements_examples" require "decidim/core/test/shared_examples/translated_event_examples" require "decidim/core/test/shared_examples/conversations_examples" +require "decidim/core/test/shared_examples/resource_endorsed_event_examples" diff --git a/decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb new file mode 100644 index 0000000000000..9bf6fd0d306f7 --- /dev/null +++ b/decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require "spec_helper" + +shared_examples_for "resource endorsed event" do + include_context "when a simple event" + + let(:event_name) { "decidim.events.resource_endorsed" } + let(:author) { create :user, organization: resource.organization } + + let(:extra) { { endorser_id: author.id } } + let(:endorsement) { create :endorsement, resource: resource, author: author } + let(:resource_path) { resource_locator(resource).path } + let(:follower) { create(:user, organization: resource.organization) } + let(:follow) { create(:follow, followable: author, user: follower) } + + it_behaves_like "a simple event" + + describe "types" do + subject { described_class } + + it "supports notifications" do + expect(subject.types).to include :notification + end + + it "supports emails" do + expect(subject.types).to include :email + end + end + + describe "email_subject" do + it "is generated correctly" do + expect(subject.email_subject).to eq("#{author_presenter.nickname} has performed a new endorsement") + end + end + + describe "email_intro" do + it "is generated correctly" do + expect(subject.email_intro) + .to eq("#{author.name} #{author_presenter.nickname}, who you are following," \ + " has just endorsed \"#{translated resource.title}\" and we think it may be interesting to you. Check it out and contribute:") + end + end + + describe "notification_title" do + it "is generated correctly" do + expect(subject.notification_title) + .to include("The #{translated resource.title} #{resource_type} has been endorsed by ") + + expect(subject.notification_title) + .to include("#{author.name} #{author_presenter.nickname}.") + end + end + + describe "resource_text" do + it "shows the resource text" do + expect(subject.resource_text).to eq resource_text + end + end +end diff --git a/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb index 64a42e69435f9..a5ff09ac63df0 100644 --- a/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb +++ b/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb @@ -3,59 +3,9 @@ require "spec_helper" describe Decidim::ResourceEndorsedEvent do - include_context "when a simple event" - - let(:event_name) { "decidim.events.resource_endorsed" } - let(:author) { create :user, organization: resource.organization } - - let(:extra) { { endorser_id: author.id } } let(:resource) { create :dummy_resource, title: { en: "My super dummy resource" } } - let(:endorsement) { create :endorsement, resource: resource, author: author } - let(:resource_path) { resource_locator(resource).path } - let(:follower) { create(:user, organization: resource.organization) } - let(:follow) { create(:follow, followable: author, user: follower) } - - it_behaves_like "a simple event" - - describe "types" do - subject { described_class } - - it "supports notifications" do - expect(subject.types).to include :notification - end - - it "supports emails" do - expect(subject.types).to include :email - end - end - - describe "email_subject" do - it "is generated correctly" do - expect(subject.email_subject).to eq("#{author_presenter.nickname} has performed a new endorsement") - end - end - - describe "email_intro" do - it "is generated correctly" do - expect(subject.email_intro) - .to eq("#{author.name} #{author_presenter.nickname}, who you are following," \ - " has just endorsed \"#{translated resource.title}\" and we think it may be interesting to you. Check it out and contribute:") - end - end - - describe "notification_title" do - it "is generated correctly" do - expect(subject.notification_title) - .to include("The #{translated resource.title} Dummy resource has been endorsed by ") - - expect(subject.notification_title) - .to include("#{author.name} #{author_presenter.nickname}.") - end - end + let(:resource_type) { "Dummy resource" } + let(:resource_text) { resource.body } - describe "resource_text" do - it "shows the resource body" do - expect(subject.resource_text).to eq resource.body - end - end + it_behaves_like "resource endorsed event" end diff --git a/decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb new file mode 100644 index 0000000000000..7e77e5474ee9f --- /dev/null +++ b/decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Decidim::ResourceEndorsedEvent do + let(:resource) { create :debate, title: { en: "My debate" } } + let(:resource_type) { "Debate" } + let(:resource_text) { resource.description } + + it_behaves_like "resource endorsed event" +end diff --git a/decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb new file mode 100644 index 0000000000000..599483491eae7 --- /dev/null +++ b/decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Decidim::ResourceEndorsedEvent do + let(:resource) { create :proposal, :citizen_author, title: { en: "My proposal" } } + let(:resource_type) { "Proposal" } + let(:resource_text) { resource.body } + + it_behaves_like "resource endorsed event" +end From 2d2bc4f43feb773b5a34d78c9be99c43e77833f8 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:37:49 +0300 Subject: [PATCH 17/90] Backport 'Fix agenda_item association with agenda' to v0.26 (#9728) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix agenda_item association whith agenda In some circumstances like Decidim::Meetings::AgendaItem.last.agenda the query fails because the association sets an order by position which is in the agenda items table but the join with agendas table is not specified * Simplify association of AgendaItem with Agenda Co-authored-by: Eduardo Martínez --- decidim-meetings/app/models/decidim/meetings/agenda_item.rb | 2 +- .../spec/models/decidim/meetings/agenda_item_spec.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/decidim-meetings/app/models/decidim/meetings/agenda_item.rb b/decidim-meetings/app/models/decidim/meetings/agenda_item.rb index 0f9207559263a..6044650bf5824 100644 --- a/decidim-meetings/app/models/decidim/meetings/agenda_item.rb +++ b/decidim-meetings/app/models/decidim/meetings/agenda_item.rb @@ -11,7 +11,7 @@ class AgendaItem < Meetings::ApplicationRecord translatable_fields :title, :description - belongs_to :agenda, -> { order(:position) }, foreign_key: "decidim_agenda_id", class_name: "Decidim::Meetings::Agenda" + belongs_to :agenda, foreign_key: "decidim_agenda_id", class_name: "Decidim::Meetings::Agenda" has_many :agenda_item_children, foreign_key: "parent_id", class_name: "Decidim::Meetings::AgendaItem", inverse_of: :parent, dependent: :destroy belongs_to :parent, class_name: "Decidim::Meetings::AgendaItem", inverse_of: :agenda_item_children, optional: true diff --git a/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb b/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb index f7ee67c17ef9a..0ac3248f6f63c 100644 --- a/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb +++ b/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb @@ -30,6 +30,7 @@ module Meetings it "has an associated agenda" do expect(agenda_item.agenda).to be_a(Decidim::Meetings::Agenda) + expect(Decidim::Meetings::AgendaItem.last.agenda).to be_a(Decidim::Meetings::Agenda) end describe ".first_class" do From 29251519fbaca11561847fdfb6753140d04e501e Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:41:04 +0300 Subject: [PATCH 18/90] Backport 'Fix absolute urls on 'managed user error' event' to v0.26 (#9730) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix absolute urls on 'managed user error' event * Remove unecessary requires for simple_event examples * Fix bug on factory where two users could be on different organizations * Fix absolute urls on 'managed user error' event * Using EngineRouter for generating the conflict_url * Changing the event to other participant * Wrap only the EngineRouter for URLs * Change 'other participant' string in email subject too * Update specs with latest changes * Fix spec difference for 0.26 (link without port) Co-authored-by: Andrés Pereira de Lucena --- .../decidim/blogs/create_post_event_spec.rb | 1 - .../sortitions/create_sortition_event_spec.rb | 1 - .../verifications/managed_user_error_event.rb | 15 ++++++++++++--- decidim-verifications/config/locales/en.yml | 8 ++++---- .../lib/decidim/verifications/test/factories.rb | 2 +- .../managed_user_error_event_spec.rb | 11 ++++++----- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb b/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb index 940cb1de9c7ee..e4ab01ab7b199 100644 --- a/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb +++ b/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require "spec_helper" -require "decidim/core/test/shared_examples/simple_event" describe Decidim::Blogs::CreatePostEvent do let(:resource) { create :post } diff --git a/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb b/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb index 73bf13be7526e..d1143ae01eb42 100644 --- a/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb +++ b/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require "spec_helper" -require "decidim/core/test/shared_examples/simple_event" describe Decidim::Sortitions::CreateSortitionEvent do let(:resource) { create :sortition } diff --git a/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb b/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb index 694343d8516d3..83fb06199ab1e 100644 --- a/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb +++ b/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb @@ -6,13 +6,12 @@ class ManagedUserErrorEvent < Decidim::Events::SimpleEvent include Rails.application.routes.mounted_helpers delegate :profile_path, :profile_url, :name, to: :updated_user + delegate :conflicts_path, :conflicts_url, to: :decidim_admin def i18n_scope "decidim.events.verifications.verify_with_managed_user" end - delegate :conflicts_path, to: :decidim_admin - def resource_path profile_path end @@ -26,7 +25,13 @@ def resource_title end def default_i18n_options - super.merge({ conflicts_path: conflicts_path, managed_user_path: managed_user.profile_path, managed_user_name: managed_user.name }) + super.merge({ + conflicts_path: conflicts_path, + conflicts_url: conflicts_url, + managed_user_path: managed_user.profile_path, + managed_user_url: managed_user.profile_url, + managed_user_name: managed_user.name + }) end private @@ -38,6 +43,10 @@ def updated_user def managed_user @managed_user ||= Decidim::UserPresenter.new(resource.managed_user) end + + def decidim_admin + @decidim_admin ||= Decidim::EngineRouter.new("decidim_admin", { host: managed_user.organization.host }) + end end end end diff --git a/decidim-verifications/config/locales/en.yml b/decidim-verifications/config/locales/en.yml index cc7889bd1fe52..908dfc52ce8e6 100644 --- a/decidim-verifications/config/locales/en.yml +++ b/decidim-verifications/config/locales/en.yml @@ -79,10 +79,10 @@ en: events: verifications: verify_with_managed_user: - email_intro: The participant %{resource_title} has tried to verify themself with the data of the managed participant %{managed_user_name}. - email_outro: Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue. - email_subject: Failed verification attempt against a managed participant - notification_title: The participant %{resource_title} has tried to verify themself with the data of the managed participant %{managed_user_name}. + email_intro: The participant %{resource_title} has tried to verify themself with the data of another participant (%{managed_user_name}). + email_outro: Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue. + email_subject: Failed verification attempt against another participant + notification_title: The participant %{resource_title} has tried to verify themself with the data of another participant (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/lib/decidim/verifications/test/factories.rb b/decidim-verifications/lib/decidim/verifications/test/factories.rb index 9fa7d32c05ec2..e0c2128f50ed3 100644 --- a/decidim-verifications/lib/decidim/verifications/test/factories.rb +++ b/decidim-verifications/lib/decidim/verifications/test/factories.rb @@ -11,7 +11,7 @@ factory :conflict, class: "Decidim::Verifications::Conflict" do current_user { create(:user) } - managed_user { create(:user, managed: true) } + managed_user { create(:user, managed: true, organization: current_user.organization) } unique_id { "12345678X" } times { 1 } end diff --git a/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb b/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb index a47039abd8661..480cd64a0f545 100644 --- a/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb +++ b/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb @@ -7,6 +7,7 @@ let(:event_name) { "decidim.events.verifications.managed_user_error_event" } let(:resource) { create :conflict } + let(:organization_host) { resource.current_user.organization.host } describe "resource_title" do it "is generated correctly" do @@ -22,7 +23,7 @@ describe "resource_url" do it "is generated correctly" do - expect(subject.resource_url).to eq("http://#{resource.current_user.organization.host}/profiles/#{resource.current_user.nickname}") + expect(subject.resource_url).to eq("http://#{organization_host}/profiles/#{resource.current_user.nickname}") end end @@ -38,25 +39,25 @@ describe "notification_title" do it "is generated correctly" do - expect(subject.notification_title).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of the managed participant #{resource.managed_user.name}.") + expect(subject.notification_title).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of another participant (#{resource.managed_user.name}).") end end describe "email_subject" do it "is generated correctly" do - expect(subject.email_subject).to eq("Failed verification attempt against a managed participant") + expect(subject.email_subject).to eq("Failed verification attempt against another participant") end end describe "email_intro" do it "is generated correctly" do - expect(subject.email_intro).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of the managed participant #{resource.managed_user.name}.") + expect(subject.email_intro).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of another participant (#{resource.managed_user.name}).") end end describe "email_outro" do it "is generated correctly" do - expect(subject.email_outro).to eq("Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue.") + expect(subject.email_outro).to eq("Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue.") end end end From 3ccc162b196b02a82a32544b9112d65871356b72 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 11:44:36 +0300 Subject: [PATCH 19/90] Backport 'Fix mobile notifications switch component overlaps' to v0.26 (#9732) * Fix mobile notifications switch component overlaps * don't set a fixed height * remove row class * fix test * Remove notification sections related to 0.27 functionality Co-authored-by: Hugoren Martinako --- .../stylesheets/decidim/modules/_forms.scss | 5 + .../decidim/data_portability/show.html.erb | 2 +- .../notifications_settings/show.html.erb | 100 +++++++++--------- .../decidim/user_interests/show.html.erb | 24 ++--- .../spec/system/data_portability_spec.rb | 2 +- 5 files changed, 67 insertions(+), 66 deletions(-) diff --git a/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss b/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss index 2d62dff902c04..503caca0bdb6e 100644 --- a/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss +++ b/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss @@ -77,6 +77,11 @@ label > [type="radio"]{ margin-right: 1rem; flex-shrink: 0; } + + &, + &.tiny{ + height: auto; + } } .switch{ diff --git a/decidim-core/app/views/decidim/data_portability/show.html.erb b/decidim-core/app/views/decidim/data_portability/show.html.erb index 55c1163208c6f..bd5a55f7c908a 100644 --- a/decidim-core/app/views/decidim/data_portability/show.html.erb +++ b/decidim-core/app/views/decidim/data_portability/show.html.erb @@ -1,7 +1,7 @@ <% add_decidim_page_title(t("my_data", scope: "layouts.decidim.user_profile")) %> <% content_for(:subtitle) { t("my_data", scope: "layouts.decidim.user_profile") } %> -
    +
    <%= t(".download_data") %>

    <%= t(".download_data_description", user_email: current_user.email).html_safe %>

    <%= button_to t(".request_data"), export_data_portability_path, class: "button", data: { disable: true } %> diff --git a/decidim-core/app/views/decidim/notifications_settings/show.html.erb b/decidim-core/app/views/decidim/notifications_settings/show.html.erb index dad88811faf50..097354d3d6839 100644 --- a/decidim-core/app/views/decidim/notifications_settings/show.html.erb +++ b/decidim-core/app/views/decidim/notifications_settings/show.html.erb @@ -1,62 +1,60 @@ <% add_decidim_page_title(t("notifications_settings", scope: "layouts.decidim.user_profile")) %> <% content_for(:subtitle) { t("notifications_settings", scope: "layouts.decidim.user_profile") } %> -
    - <%= form_for(@notifications_settings, url: notifications_settings_path, method: :put, class: "user-form") do |f| %> -

    <%= t(".receive_notifications_about") %>

    -
    - <%= f.label :notifications_from_own_activity do %> - <%= f.check_box :notifications_from_own_activity, label: false, class: "switch-input" %> - - <%= t(".own_activity") %> - <% end %> -
    -
    - <%= f.label :notifications_from_followed do %> - <%= f.check_box :notifications_from_followed, label: false, class: "switch-input" %> - - <%= t(".everything_followed") %> - <% end %> -
    +<%= form_for(@notifications_settings, url: notifications_settings_path, method: :put, class: "user-form") do |f| %> +

    <%= t(".receive_notifications_about") %>

    +
    + <%= f.label :notifications_from_own_activity do %> + <%= f.check_box :notifications_from_own_activity, label: false, class: "switch-input" %> + + <%= t(".own_activity") %> + <% end %> +
    +
    + <%= f.label :notifications_from_followed do %> + <%= f.check_box :notifications_from_followed, label: false, class: "switch-input" %> + + <%= t(".everything_followed") %> + <% end %> +
    -

    <%= t(".send_notifications_by_email") %>

    - +

    <%= t(".send_notifications_by_email") %>

    + -

    <%= t(".newsletters") %>

    - +

    <%= t(".newsletters") %>

    + + +

    <%= t(".direct_messages") %>

    +
    + +
    -

    <%= t(".direct_messages") %>

    -
    + <% if @notifications_settings.user_is_moderator?(current_user) %> +

    <%= t(".administrators") %>

    + - - <% if @notifications_settings.user_is_moderator?(current_user) %> -

    <%= t(".administrators") %>

    - - <% end %> - - <%= f.submit t(".update_notifications_settings") %> <% end %> -
    + + <%= f.submit t(".update_notifications_settings") %> +<% end %> diff --git a/decidim-core/app/views/decidim/user_interests/show.html.erb b/decidim-core/app/views/decidim/user_interests/show.html.erb index 8d62edda37d23..811249bae16d3 100644 --- a/decidim-core/app/views/decidim/user_interests/show.html.erb +++ b/decidim-core/app/views/decidim/user_interests/show.html.erb @@ -1,17 +1,15 @@ <% add_decidim_page_title(t("my_interests", scope: "layouts.decidim.user_profile")) %> <% content_for(:subtitle) { t("my_interests", scope: "layouts.decidim.user_profile") } %> -
    -

    <%= t(".select_your_interests") %>

    - <%= form_for(@user_interests, url: user_interests_path, method: :put, class: "user-form") do |f| %> -

    <%= t(".my_interests") %>

    - <% if @user_interests.scopes.any? %> -
    - <%= render partial: "scopes", locals: { scopes: @user_interests.scopes, f: f } %> -
    - <%= f.submit t(".update_my_interests") %> - <% else %> -

    <%= t(".no_scopes") %>

    - <% end %> +

    <%= t(".select_your_interests") %>

    +<%= form_for(@user_interests, url: user_interests_path, method: :put, class: "user-form") do |f| %> +

    <%= t(".my_interests") %>

    + <% if @user_interests.scopes.any? %> +
    + <%= render partial: "scopes", locals: { scopes: @user_interests.scopes, f: f } %> +
    + <%= f.submit t(".update_my_interests") %> + <% else %> +

    <%= t(".no_scopes") %>

    <% end %> -
    +<% end %> diff --git a/decidim-core/spec/system/data_portability_spec.rb b/decidim-core/spec/system/data_portability_spec.rb index bd9086dc2361a..b1c07664e8e0d 100644 --- a/decidim-core/spec/system/data_portability_spec.rb +++ b/decidim-core/spec/system/data_portability_spec.rb @@ -18,7 +18,7 @@ describe "show button export data" do it "export the user's data" do - within ".row.data-portability" do + within ".data-portability" do expect(page).to have_content("Download the data") expect(page).to have_content(user.email) end From 4dca298dc3abf850da8be1cb992b306f49577782 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 12:28:09 +0300 Subject: [PATCH 20/90] Backport 'Fix blocked user nickname and avatar in user presenter' to v0.26 (#9741) * modify nickname and avatar in user presenter * add spec * modify nickname Co-authored-by: eliegaboriau <93646702+eliegaboriau@users.noreply.github.com> --- .../app/presenters/decidim/user_presenter.rb | 5 ++++- .../spec/presenters/decidim/user_presenter_spec.rb | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/decidim-core/app/presenters/decidim/user_presenter.rb b/decidim-core/app/presenters/decidim/user_presenter.rb index cf4ed24318445..697fabe5c8025 100644 --- a/decidim-core/app/presenters/decidim/user_presenter.rb +++ b/decidim-core/app/presenters/decidim/user_presenter.rb @@ -13,6 +13,8 @@ class UserPresenter < SimpleDelegator # nickname presented in a twitter-like style # def nickname + return "" if __getobj__.blocked? + "@#{__getobj__.nickname}" end @@ -33,13 +35,14 @@ def avatar end def avatar_url(variant = nil) + return default_avatar_url if __getobj__.blocked? return avatar.default_url unless avatar.attached? avatar.path(variant: variant) end def default_avatar_url - attached_uploader.default_url + attached_uploader(:avatar).default_url end def profile_path diff --git a/decidim-core/spec/presenters/decidim/user_presenter_spec.rb b/decidim-core/spec/presenters/decidim/user_presenter_spec.rb index cd2b6f5f29301..69e2ddbda9bde 100644 --- a/decidim-core/spec/presenters/decidim/user_presenter_spec.rb +++ b/decidim-core/spec/presenters/decidim/user_presenter_spec.rb @@ -9,7 +9,17 @@ module Decidim describe "#nickname" do subject { described_class.new(user).nickname } - it { is_expected.to eq("@#{user.nickname}") } + context "when not blocked" do + it { is_expected.to eq("@#{user.nickname}") } + end + + context "when blocked" do + before do + user.blocked = true + end + + it { is_expected.to eq("") } + end end context "when user is not officialized" do From 085df25a6a21e3abb1d3fefa37d55d8d551d173a Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 12:30:21 +0300 Subject: [PATCH 21/90] Backport 'Fix form error overlap with character counter in the admin panel' to v0.26 (#9749) * Fix mixin issue in proposal title * Fix reviewer's comments Co-authored-by: Sina Eftekhar <104360479+sinaeftekhar@users.noreply.github.com> --- .../app/packs/stylesheets/decidim/admin/modules/_forms.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/decidim-admin/app/packs/stylesheets/decidim/admin/modules/_forms.scss b/decidim-admin/app/packs/stylesheets/decidim/admin/modules/_forms.scss index 519b151442c65..b4e3e52803c30 100644 --- a/decidim-admin/app/packs/stylesheets/decidim/admin/modules/_forms.scss +++ b/decidim-admin/app/packs/stylesheets/decidim/admin/modules/_forms.scss @@ -116,6 +116,12 @@ label, margin-bottom: $input-margin; } +.form-input-extra-before{ + margin-bottom: $form-spacing * 1.5; + display: block; + margin-top: $form-spacing * -1; +} + .custom-error{ @extend .form-error; } From d1717df357c2298c6858122f666e15b6afb3445e Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 12:32:31 +0300 Subject: [PATCH 22/90] Backport 'Fix the endorsement permissions' to v0.26 (#9734) * Fix the endorsement permissions * linter * fix permissions * fix tests * linter ruby 3.1 * Fix syntax error with the previous Ruby version for 0.26 Co-authored-by: eliegaboriau <93646702+eliegaboriau@users.noreply.github.com> --- decidim-core/app/permissions/decidim/permissions.rb | 6 ++++-- .../shared_examples/with_endorsable_permissions_examples.rb | 2 +- decidim-core/spec/permissions/decidim/permissions_spec.rb | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/decidim-core/app/permissions/decidim/permissions.rb b/decidim-core/app/permissions/decidim/permissions.rb index 73ab21062e8fb..9fe2d9896068f 100644 --- a/decidim-core/app/permissions/decidim/permissions.rb +++ b/decidim-core/app/permissions/decidim/permissions.rb @@ -116,9 +116,11 @@ def amend_action? end def apply_endorsement_permissions - return disallow! if !current_settings.endorsements_enabled || current_settings.endorsements_blocked + is_allowed = current_settings.endorsements_enabled && + !current_settings.endorsements_blocked && + authorized?(:endorse, resource: context.fetch(:resource, nil)) - allow! + toggle_allow(is_allowed) end def notification_action? diff --git a/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb index f16fab533f9af..5d4500fb16b68 100644 --- a/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +++ b/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb @@ -5,7 +5,7 @@ # users of this test should delare the `subject` variable. shared_examples "with endorsable permissions can perform actions related to endorsable" do let(:action_subject) { :endorsement } - let(:resource) { create :dummy_resource } + let(:resource) { create :dummy_resource, component: component } before do context[:current_settings] = double(current_settings) context[:resource] = resource diff --git a/decidim-core/spec/permissions/decidim/permissions_spec.rb b/decidim-core/spec/permissions/decidim/permissions_spec.rb index 540a28ff49769..d5648d435bcd5 100644 --- a/decidim-core/spec/permissions/decidim/permissions_spec.rb +++ b/decidim-core/spec/permissions/decidim/permissions_spec.rb @@ -264,6 +264,8 @@ context "with a user" do let(:user) { create :user } + let(:component) { create :component, :published, organization: user.organization } + let(:context) { { current_component: component } } context "when user is a user manager" do let(:user) { create :user, :user_manager } From 3095f9790a3e23bbceddc3f80845c1aac7d52b07 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 12:58:58 +0300 Subject: [PATCH 23/90] Backport 'Fix order when filtering Meetings' to v0.26 (#9751) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix order when filtering Meetings (#9505) * Change date meetings filters checkboxes to radio buttons * Fix default upcoming filter on meetings' controller * Order filtered meetings by start_time * Use Faker::Date in meetings' seeds * Convert let definitions to one line blocks * Fix typo * Add default filter specs for Upcoming meetings * Add specs for 'date filters' on meetings * Reintroduces the 'All' filter for meetings dates * Remove uneceessary instance variable Co-authored-by: Antti Hukkanen * Fix for 500 errors on static maps * Preserve the currently selected per_page value with filter forms * Fix the broken specs due to changes in the per_page configuration * Do not use concat in helpers that are used in cells * Rubocop Co-authored-by: Antti Hukkanen * Use the correct legacy search API in 0.26 * Do not use the per_page filter as it is not relevant in 0.26 * Target the correct search element in 0.26 * Fix the share URL dialog after filtering the view Co-authored-by: Andrés Pereira de Lucena --- .../app/helpers/decidim/filters_helper.rb | 6 +- .../meetings/directory/meetings_controller.rb | 3 +- .../decidim/meetings/meetings_controller.rb | 5 +- .../decidim/meetings/application_helper.rb | 12 +- .../meetings/directory/application_helper.rb | 12 +- .../directory/meetings/_filters.html.erb | 2 +- .../meetings/meetings/_filters.html.erb | 2 +- .../decidim/meetings/meetings/index.js.erb | 6 + .../lib/decidim/meetings/component.rb | 4 +- .../system/explore_meeting_directory_spec.rb | 113 +++++++---- .../spec/system/explore_meetings_spec.rb | 175 +++++++++++++++++- .../spec/system/meeting_registrations_spec.rb | 3 + 12 files changed, 280 insertions(+), 63 deletions(-) diff --git a/decidim-core/app/helpers/decidim/filters_helper.rb b/decidim-core/app/helpers/decidim/filters_helper.rb index ac180a826a89f..9166252c02f63 100644 --- a/decidim-core/app/helpers/decidim/filters_helper.rb +++ b/decidim-core/app/helpers/decidim/filters_helper.rb @@ -24,7 +24,11 @@ def filter_form_for(filter, url = url_for, html_options = {}) remote: true, html: { id: nil }.merge(html_options) ) do |form| - yield form + # Cannot use `concat()` here because it's not available in cells + inner = [] + inner << hidden_field_tag("per_page", params[:per_page], id: nil) if params[:per_page] + inner << capture { yield form } + inner.join.html_safe end end end diff --git a/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb b/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb index abaf64f1ab94d..04aef3c17464e 100644 --- a/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb +++ b/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb @@ -25,7 +25,8 @@ def calendar private def meetings - @meetings ||= paginate(search.results) + is_past_meetings = params.dig("filter", "date")&.include?("past") + @meetings ||= paginate(search.results.order(start_time: is_past_meetings ? :desc : :asc)) end def search_klass diff --git a/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb b/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb index 905b7b8fe6f1c..a16e9c985f3d1 100644 --- a/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb +++ b/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb @@ -108,7 +108,8 @@ def meeting end def meetings - @meetings ||= paginate(search.results.order(start_time: :desc)) + is_past_meetings = params.dig("filter", "date")&.include?("past") + @meetings ||= paginate(search.results.order(start_time: is_past_meetings ? :desc : :asc)) end def registration @@ -126,7 +127,7 @@ def meeting_form def default_filter_params { search_text: "", - date: %w(upcoming), + date: "upcoming", activity: "all", scope_id: default_filter_scope_params, category_id: default_filter_category_params, diff --git a/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb b/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb index c9ffa1f4fd892..a008603313d11 100644 --- a/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb +++ b/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb @@ -41,13 +41,11 @@ def filter_type_values end def filter_date_values - TreeNode.new( - TreePoint.new("", t("decidim.meetings.meetings.filters.date_values.all")), - [ - TreePoint.new("upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")), - TreePoint.new("past", t("decidim.meetings.meetings.filters.date_values.past")) - ] - ) + [ + ["all", t("decidim.meetings.meetings.filters.date_values.all")], + ["upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")], + ["past", t("decidim.meetings.meetings.filters.date_values.past")] + ] end # Options to filter meetings by activity. diff --git a/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb b/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb index f9c52e83320d6..550484b316d4f 100644 --- a/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb +++ b/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb @@ -27,13 +27,11 @@ def filter_type_values end def filter_date_values - TreeNode.new( - TreePoint.new("", t("decidim.meetings.meetings.filters.date_values.all")), - [ - TreePoint.new("upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")), - TreePoint.new("past", t("decidim.meetings.meetings.filters.date_values.past")) - ] - ) + [ + ["all", t("decidim.meetings.meetings.filters.date_values.all")], + ["upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")], + ["past", t("decidim.meetings.meetings.filters.date_values.past")] + ] end def directory_filter_scopes_values diff --git a/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb b/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb index 7baa6f029a252..0280c870a46d6 100644 --- a/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb +++ b/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb @@ -15,7 +15,7 @@
    <% unless @forced_past_meetings %> - <%= form.check_boxes_tree :date, filter_date_values, legend_title: t("decidim.meetings.meetings.filters.date") %> + <%= form.collection_radio_buttons :date, filter_date_values, :first, :last, legend_title: t("decidim.meetings.meetings.filters.date") %> <% end %> <%= form.check_boxes_tree :type, filter_type_values, legend_title: t("decidim.meetings.meetings.filters.type") %> diff --git a/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb b/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb index e44e3962d5fc2..ee7121455ad87 100644 --- a/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +++ b/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb @@ -17,7 +17,7 @@ <%= form.hidden_field "state", value: params.dig("filter", "state") %> <% unless @forced_past_meetings %> - <%= form.check_boxes_tree :date, filter_date_values, legend_title: t(".date") %> + <%= form.collection_radio_buttons :date, filter_date_values, :first, :last, legend_title: t(".date") %> <% end %> <%= form.check_boxes_tree :type, filter_type_values, legend_title: t(".type") %> diff --git a/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb b/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb index f0a3a09e4a202..a7588f69add44 100644 --- a/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +++ b/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb @@ -1,12 +1,18 @@ var $meetings = $('#meetings'); var $meetingsCount = $('#meetings-count'); +// make sure that calendar modal will use the updated filter values +var $calendarShare = $('#calendarShare'); +$calendarShare.remove(); + $meetings.html('<%= j(render partial: "meetings").strip.html_safe %>'); $meetingsCount.html('<%= j(render partial: "count").strip.html_safe %>'); var $dropdownMenu = $('.dropdown.menu', $meetings); $dropdownMenu.foundation(); +$("#calendarShare").foundation(); // initialize export calendar on the page + var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded_and_valid?)).to_json.html_safe %>'); var $map = $("#map"); diff --git a/decidim-meetings/lib/decidim/meetings/component.rb b/decidim-meetings/lib/decidim/meetings/component.rb index 76f018497a7eb..89974ef98be24 100644 --- a/decidim-meetings/lib/decidim/meetings/component.rb +++ b/decidim-meetings/lib/decidim/meetings/component.rb @@ -127,7 +127,7 @@ end 2.times do - start_time = [rand(1..20).weeks.from_now, rand(1..20).weeks.ago].sample + start_time = Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now) end_time = start_time + [rand(1..4).hours, rand(1..20).days].sample params = { component: component, @@ -282,7 +282,7 @@ author = user_group.users.sample end - start_time = [rand(1..20).weeks.from_now, rand(1..20).weeks.ago].sample + start_time = Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now) params = { component: component, scope: Faker::Boolean.boolean(true_ratio: 0.5) ? global : scopes.sample, diff --git a/decidim-meetings/spec/system/explore_meeting_directory_spec.rb b/decidim-meetings/spec/system/explore_meeting_directory_spec.rb index 789a6e887edff..90c104ba1762d 100644 --- a/decidim-meetings/spec/system/explore_meeting_directory_spec.rb +++ b/decidim-meetings/spec/system/explore_meeting_directory_spec.rb @@ -3,9 +3,7 @@ require "spec_helper" describe "Explore meeting directory", type: :system do - let(:directory) do - Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path - end + let(:directory) { Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path } let(:organization) { create(:organization) } let(:participatory_process) { create :participatory_process, organization: organization } let(:components) do @@ -22,12 +20,30 @@ visit directory end - it "shows all the upcoming meetings" do - within "#meetings" do - expect(page).to have_css(".card--meeting", count: 6) + describe "with default filter" do + let!(:past_meeting) { create(:meeting, :published, start_time: 2.weeks.ago, component: components.first) } + let!(:upcoming_meeting) { create(:meeting, :published, :not_official, component: components.first) } + + it "shows all the upcoming meetings" do + visit directory + + within ".date_collection_radio_buttons_filter" do + expect(find("input[value='upcoming']").checked?).to be(true) + end + + within "#meetings" do + expect(page).to have_css(".card--meeting", count: 7) + end + + expect(page).to have_css("#meetings-count", text: "7 MEETINGS") + expect(page).to have_content(translated(upcoming_meeting.title)) end - expect(page).to have_css("#meetings-count", text: "6 MEETINGS") + it "doesn't show past meetings" do + within "#meetings" do + expect(page).not_to have_content(translated(past_meeting.title)) + end + end end describe "category filter" do @@ -143,12 +159,8 @@ describe "type filter" do context "when there are only online meetings" do - let!(:online_meeting1) do - create(:meeting, :published, :online, component: components.last) - end - let!(:online_meeting2) do - create(:meeting, :published, :online, component: components.last) - end + let!(:online_meeting1) { create(:meeting, :published, :online, component: components.last) } + let!(:online_meeting2) { create(:meeting, :published, :online, component: components.last) } it "allows filtering by type 'online'" do within ".type_check_boxes_tree_filter" do @@ -163,9 +175,7 @@ end context "when there are only in-person meetings" do - let!(:in_person_meeting) do - create(:meeting, :published, :in_person, component: components.last) - end + let!(:in_person_meeting) { create(:meeting, :published, :in_person, component: components.last) } it "allows filtering by type 'in-person'" do within ".type_check_boxes_tree_filter" do @@ -179,9 +189,7 @@ end context "when there are hybrid meetings" do - let!(:online_meeting) do - create(:meeting, :published, :hybrid, component: components.last) - end + let!(:online_meeting) { create(:meeting, :published, :hybrid, component: components.last) } it "allows filtering by type 'both'" do within ".type_check_boxes_tree_filter" do @@ -194,19 +202,59 @@ end end - context "when there's a past meeting" do - let!(:past_meeting) do - create(:meeting, :published, component: components.last, start_time: 1.week.ago) + describe "date filter" do + let!(:past_meeting1) { create(:meeting, :published, component: components.last, start_time: 1.week.ago) } + let!(:past_meeting2) { create(:meeting, :published, component: components.last, start_time: 3.months.ago) } + let!(:past_meeting3) { create(:meeting, :published, component: components.last, start_time: 2.days.ago) } + let!(:upcoming_meeting1) { create(:meeting, :published, component: components.last, start_time: 1.week.from_now) } + let!(:upcoming_meeting2) { create(:meeting, :published, component: components.last, start_time: 3.months.from_now) } + let!(:upcoming_meeting3) { create(:meeting, :published, component: components.last, start_time: 2.days.from_now) } + + context "with all meetings" do + it "orders them by start date" do + visit directory + + within ".date_collection_radio_buttons_filter" do + choose "All" + end + + expect(page).to have_css("#meetings-count", text: "12 MEETINGS") + + result = page.find("#meetings .card-grid").text + expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(past_meeting1.title)) + expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting3.title)) + expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(upcoming_meeting1.title)) + expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title)) + expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title)) + end end - it "allows filtering by past events" do - within ".date_check_boxes_tree_filter" do - uncheck "All" - check "Past" + context "with past meetings" do + it "orders them by start date" do + visit directory + + within ".date_collection_radio_buttons_filter" do + choose "Past" + end + + expect(page).to have_css("#meetings-count", text: "3 MEETINGS") + + result = page.find("#meetings .card-grid").text + expect(result.index(translated(past_meeting3.title))).to be < result.index(translated(past_meeting1.title)) + expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting2.title)) end + end - expect(page).to have_content(past_meeting.title["en"]) - expect(page).to have_css("#meetings-count", text: "1 MEETING") + context "with upcoming meetings" do + it "orders them by start date" do + visit directory + + expect(page).to have_css("#meetings-count", text: "9 MEETINGS") + + result = page.find("#meetings .card-grid").text + expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title)) + expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title)) + end end end @@ -232,9 +280,8 @@ # have_content to wait for the card list to change. This is a hack to # reset the contents to no meetings at all, and then showing only the upcoming # assembly meetings. - within ".date_check_boxes_tree_filter" do - uncheck "All" - check "Past" + within ".date_collection_radio_buttons_filter" do + choose "Past" end expect(page).to have_no_css(".card--meeting") @@ -243,8 +290,8 @@ check "Assemblies" end - within ".date_check_boxes_tree_filter" do - check "Upcoming" + within ".date_collection_radio_buttons_filter" do + choose "Upcoming" end expect(page).to have_content(assembly_meeting.title["en"]) diff --git a/decidim-meetings/spec/system/explore_meetings_spec.rb b/decidim-meetings/spec/system/explore_meetings_spec.rb index f8125bddc0b75..476a51e3cd566 100644 --- a/decidim-meetings/spec/system/explore_meetings_spec.rb +++ b/decidim-meetings/spec/system/explore_meetings_spec.rb @@ -27,6 +27,66 @@ end end + context "with default filter" do + let!(:past_meeting) { create(:meeting, :published, start_time: 2.weeks.ago, component: component) } + let!(:upcoming_meeting) { create(:meeting, :published, :not_official, component: component) } + + it "shows all the upcoming meetings" do + visit_component + within ".date_collection_radio_buttons_filter" do + expect(find("input[value='upcoming']").checked?).to be(true) + end + + within "#meetings" do + expect(page).to have_css(".card--meeting", count: 6) + end + + expect(page).to have_css("#meetings-count", text: "6 MEETINGS") + expect(page).to have_content(translated(upcoming_meeting.title)) + end + + it "doesn't show past meetings" do + visit_component + within "#meetings" do + expect(page).not_to have_content(translated(past_meeting.title)) + end + end + end + + context "when checking withdrawn meetings" do + context "when there are no withrawn meetings" do + let!(:meeting) { create_list(:meeting, 3, :published, component: component) } + + before do + visit_component + click_link "See all withdrawn meetings" + end + + it "shows an empty page with a message" do + expect(page).to have_content("No meetings match your search criteria or there isn't any meeting scheduled.") + within ".callout.warning", match: :first do + expect(page).to have_content("You are viewing the list of meetings withdrawn by their authors.") + end + end + end + + context "when there are withrawn meetings" do + let!(:withdrawn_meetings) { create_list(:meeting, 3, :withdrawn, :published, component: component) } + + before do + visit_component + click_link "See all withdrawn meetings" + end + + it "shows all the withdrawn meetings" do + expect(page).to have_css(".card--meeting.alert", count: 3) + within ".callout.warning", match: :first do + expect(page).to have_content("You are viewing the list of meetings withdrawn by their authors.") + end + end + end + end + context "with hidden meetings" do let(:meeting) { meetings.last } @@ -143,24 +203,123 @@ expect(page).to have_content(translated(meetings.first.title)) end - it "allows filtering by date" do + context "when filtering by date" do + let!(:past_meeting1) { create(:meeting, :published, component: component, start_time: 1.week.ago) } + let!(:past_meeting2) { create(:meeting, :published, component: component, start_time: 3.months.ago) } + let!(:past_meeting3) { create(:meeting, :published, component: component, start_time: 2.days.ago) } + let!(:upcoming_meeting1) { create(:meeting, :published, component: component, start_time: 1.week.from_now) } + let!(:upcoming_meeting2) { create(:meeting, :published, component: component, start_time: 3.months.from_now) } + let!(:upcoming_meeting3) { create(:meeting, :published, component: component, start_time: 2.days.from_now) } + + it "lists filtered meetings" do + visit_component + + within ".date_collection_radio_buttons_filter" do + choose "Past" + end + + expect(page).to have_css(".card--meeting", count: 3) + expect(page).to have_content(translated(past_meeting1.title)) + expect(page).not_to have_content(translated(upcoming_meeting1.title)) + + within ".date_collection_radio_buttons_filter" do + choose "Upcoming" + end + + expect(page).to have_content(translated(upcoming_meeting1.title)) + expect(page).not_to have_content(translated(past_meeting1.title)) + + expect(page).to have_css(".card--meeting", count: 8) + + within ".date_collection_radio_buttons_filter" do + choose "All" + end + + expect(page).to have_css(".card--meeting", count: 8) + expect(page).to have_content(translated(past_meeting1.title)) + expect(page).to have_content(translated(upcoming_meeting1.title)) + end + + context "when there are multiple past meetings" do + it "orders them by start date" do + visit_component + within ".date_collection_radio_buttons_filter" do + choose "Past" + end + + expect(page).to have_css("#meetings-count", text: "3 MEETINGS") + + result = page.find("#meetings .card-grid").text + expect(result.index(translated(past_meeting3.title))).to be < result.index(translated(past_meeting1.title)) + expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting2.title)) + end + end + + context "when there are multiple upcoming meetings" do + it "orders them by start date" do + visit_component + within ".date_collection_radio_buttons_filter" do + choose "Upcoming" + end + + expect(page).to have_css("#meetings-count", text: "8 MEETINGS") + + result = page.find("#meetings .card-grid").text + expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title)) + expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title)) + end + end + + context "when there are multiple meetings" do + it "orders them by start date" do + visit_component + within ".date_collection_radio_buttons_filter" do + choose "All" + end + + expect(page).to have_css("#meetings-count", text: "11 MEETINGS") + + result = page.find("#meetings .card-grid").text + expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(past_meeting1.title)) + expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting3.title)) + expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(upcoming_meeting1.title)) + expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title)) + expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title)) + end + end + end + + it "allows linking to the filtered view using a short link" do past_meeting = create(:meeting, :published, component: component, start_time: 1.day.ago) visit_component - within ".date_check_boxes_tree_filter" do - uncheck "All" - check "Past" + within ".date_collection_radio_buttons_filter" do + choose "Past" end expect(page).to have_css(".card--meeting", count: 1) expect(page).to have_content(translated(past_meeting.title)) - within ".date_check_boxes_tree_filter" do - uncheck "All" - check "Upcoming" + filter_params = CGI.parse(URI.parse(page.current_url).query) + base_url = "http://#{organization.host}" + + click_button "Export calendar" + expect(page).to have_content("Calendar URL:") + expect(page).to have_css("#calendarShare", visible: :visible) + share_url = nil + within "#calendarShare" do + input = find("input[readonly]") + share_url = input.value + expect(share_url).to match(%r{^#{base_url}:[0-9]+/processes/#{participatory_process.slug}/f/#{component.id}/calendar$}) end - expect(page).to have_css(".card--meeting", count: 5) + visit share_url + expect(page).to have_css(".card--meeting", count: 1) + expect(page).to have_content(translated(past_meeting.title)) + expect(page).to have_current_path(/^#{main_component_path(component)}/) + + current_params = CGI.parse(URI.parse(page.current_url).query) + expect(current_params).to eq(filter_params) end it "allows filtering by scope" do diff --git a/decidim-meetings/spec/system/meeting_registrations_spec.rb b/decidim-meetings/spec/system/meeting_registrations_spec.rb index 6441124cca3ce..048d1c730d3a2 100644 --- a/decidim-meetings/spec/system/meeting_registrations_spec.rb +++ b/decidim-meetings/spec/system/meeting_registrations_spec.rb @@ -37,6 +37,9 @@ def questionnaire_public_path available_slots: available_slots, registration_terms: registration_terms ) + + # Make static map requests not to fail with HTTP 500 (causes JS error) + stub_request(:get, Regexp.new(Decidim.maps.fetch(:static).fetch(:url))).to_return(body: "") end context "when meeting registrations are not enabled" do From 68df9c9f5ac24fc43ee219799a554ad45e8170f2 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 13:00:39 +0300 Subject: [PATCH 24/90] Backport 'Fix redundant notification on comments with linked proposals' to v0.26 (#9746) * Fix redundant notification on comments with linked proposals * Fix redundant email notification bug * Add unit test * trigger GitHub actions * Fix syntax issues with older Ruby version Co-authored-by: Sina Eftekhar <104360479+sinaeftekhar@users.noreply.github.com> --- .../notify_proposals_mentioned_job.rb | 2 +- .../notify_proposals_mentioned_job_spec.rb | 39 ++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/decidim-proposals/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb b/decidim-proposals/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb index 9a22f108b83a8..1d39f67d5f774 100644 --- a/decidim-proposals/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb +++ b/decidim-proposals/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb @@ -8,7 +8,7 @@ def perform(comment_id, linked_proposals) linked_proposals.each do |proposal_id| proposal = Proposal.find(proposal_id) - affected_users = proposal.notifiable_identities + affected_users = proposal.notifiable_identities - [comment.author] Decidim::EventsManager.publish( event: "decidim.events.proposals.proposal_mentioned", diff --git a/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb b/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb index ef0cf02e26187..044be2a1cb8bb 100644 --- a/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb +++ b/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb @@ -12,8 +12,10 @@ module Proposals let(:comment) { create(:comment, commentable: commentable) } let(:proposal_component) { create(:proposal_component, organization: organization) } let(:proposal_metadata) { Decidim::ContentParsers::ProposalParser::Metadata.new([]) } - let(:linked_proposal) { create(:proposal, component: proposal_component) } + let(:users) { [create(:user, :confirmed, organization: organization)] } + let(:linked_proposal) { create(:proposal, component: proposal_component, users: users) } let(:linked_proposal_official) { create(:proposal, :official, component: proposal_component) } + let(:author) { create(:user, organization: commentable.organization) } describe "integration" do it "is correctly scheduled" do @@ -69,6 +71,41 @@ module Proposals subject.perform_now(comment.id, linked_proposals) end + + context "when the author is the same as proposal user" do + before do + comment.update(author: users.first) + end + + it "does not notify the same user" do + expect(Decidim::EventsManager) + .not_to receive(:publish) + .with( + event: "decidim.events.proposals.proposal_mentioned", + event_class: Decidim::Proposals::ProposalMentionedEvent, + resource: commentable, + affected_users: [linked_proposal.creator_author], + extra: { + comment_id: comment.id, + mentioned_proposal_id: linked_proposal.id + } + ) + expect(Decidim::EventsManager) + .to receive(:publish) + .with( + event: "decidim.events.proposals.proposal_mentioned", + event_class: Decidim::Proposals::ProposalMentionedEvent, + resource: commentable, + affected_users: [space_admin], + extra: { + comment_id: comment.id, + mentioned_proposal_id: linked_proposal_official.id + } + ) + + subject.perform_now(comment.id, linked_proposals) + end + end end end end From 8100f30cfba1d9d0bdb33a834fb37a1d59ef4dd7 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 13:17:38 +0300 Subject: [PATCH 25/90] Backport 'Make the HERE Map display in the currently selected language' to v0.26 (#9714) * Make the HERE map display in the currently selected language * Refactor HERE map language codes method Co-authored-by: Sergei Krylov --- .../decidim/map/provider/dynamic_map/here.rb | 47 ++++++++++++++++++- .../lib/map/provider/dynamic_map/here_spec.rb | 32 ++++++++++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb b/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb index 0bd725633c02b..7e35a2b079b28 100644 --- a/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb +++ b/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb @@ -33,7 +33,7 @@ def tile_layer_configuration ) end - base_config.merge(api_key: api_key) + base_config.merge(api_key: api_key, language: language_code) end # A builder for the HERE maps which needs to be configured differently @@ -44,6 +44,51 @@ def javascript_snippets template.javascript_pack_tag("decidim_map_provider_here", defer: false) end end + + private + + def language_code + primary = I18n.locale.to_s + secondary = primary.split("-")[0] + available_language_codes[primary] || available_language_codes[secondary] || "" + end + + def available_language_codes + @available_language_codes ||= { + "ar" => "ara", # Arabic + "eu" => "baq", # Basque + "ca" => "cat", # Catalan + "zh" => "chi", # Chinese (simplified) + # "" => "cht", # Chinese (traditional) + "cs" => "cze", # Czech + "da" => "dan", # Danish + "nl" => "dut", # Dutch + "en" => "eng", # English + "fi" => "fin", # Finnish + "fr" => "fre", # French + "de" => "ger", # German + "ga" => "gle", # Gaelic + "el" => "gre", # Greek + "he" => "heb", # Hebrew + "hi" => "hin", # Hindi + "id" => "ind", # Indonesian + "it" => "ita", # Italian + "no" => "nor", # Norwegian + "fa" => "per", # Persian + "pl" => "pol", # Polish + "pt" => "por", # Portuguese + "ru" => "rus", # Russian + "si" => "sin", # Sinhalese + "es" => "spa", # Spanish + "sv" => "swe", # Swedish + "th" => "tha", # Thai + "tr" => "tur", # Turkish + "uk" => "ukr", # Ukrainian + "ur" => "urd", # Urdu + "vi" => "vie", # Vietnamese + "cy" => "wel" # Welsh + } + end end end end diff --git a/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb b/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb index 9b669b4fa16af..14732ca800953 100644 --- a/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb +++ b/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb @@ -31,11 +31,41 @@ module DynamicMap expect(subject.builder_options).to eq( marker_color: "#ef604d", tile_layer: { - api_key: "key1234", foo: "bar" + api_key: "key1234", foo: "bar", language: "eng" } ) end + context "with different locale configuration" do + before do + allow(I18n.config).to receive(:enforce_available_locales).and_return(false) + end + + after do + I18n.locale = "en" + end + + it "returns the correct builder options for CA" do + I18n.locale = "ca" + expect(subject.builder_options).to eq( + marker_color: "#ef604d", + tile_layer: { + api_key: "key1234", foo: "bar", language: "cat" + } + ) + end + + it "returns the correct builder options for ES" do + I18n.locale = "es" + expect(subject.builder_options).to eq( + marker_color: "#ef604d", + tile_layer: { + api_key: "key1234", foo: "bar", language: "spa" + } + ) + end + end + context "with legacy style API key configuration" do let(:config) do { From 4be25ca14d2668035d52326603cb8e938b8ee886 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 14:35:35 +0300 Subject: [PATCH 26/90] Backport 'Fix admin language selector with more than 4 locales' to v0.26 (#9710) * Fix language selector doesn't work for newly created fields. The field disappears when there are errors in the form and select a different language for this field. * Fix translations of language with errors for language selector. * Disable require-jsdoc * Revert "Fix translations of language with errors for language selector." This reverts commit cda01acf * Refactoring of onchange function calls, reimplement without jQuery. * Refactor select change event * Fix linters * Update decidim-admin/app/packs/src/decidim/admin/choose_language.js Typo. Change back "click" to "change" Co-authored-by: Antti Hukkanen Co-authored-by: Antti Hukkanen Co-authored-by: Sergei Krylov --- .../app/packs/entrypoints/decidim_admin.js | 6 +++++- .../src/decidim/admin/choose_language.js | 20 ++++++++++--------- .../decidim/admin/dynamic_fields.component.js | 1 + .../packs/src/decidim/forms/admin/forms.js | 3 +++ 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/decidim-admin/app/packs/entrypoints/decidim_admin.js b/decidim-admin/app/packs/entrypoints/decidim_admin.js index b577f68cf8a91..98e1bbc937461 100644 --- a/decidim-admin/app/packs/entrypoints/decidim_admin.js +++ b/decidim-admin/app/packs/entrypoints/decidim_admin.js @@ -14,7 +14,7 @@ import "jquery.autocomplete" import "jquery-serializejson" import "src/decidim/admin/tab_focus" -import "src/decidim/admin/choose_language" +import initLanguageChangeSelect from "src/decidim/admin/choose_language" import "src/decidim/admin/application" import "src/decidim/admin/resources_permissions" import "src/decidim/admin/welcome_notification" @@ -40,3 +40,7 @@ import "entrypoints/decidim_admin.scss"; // This needs to be loaded after confirm dialog to bind properly Rails.start() + +window.addEventListener("DOMContentLoaded", () => { + initLanguageChangeSelect(document.querySelectorAll("select.language-change")); +}); diff --git a/decidim-admin/app/packs/src/decidim/admin/choose_language.js b/decidim-admin/app/packs/src/decidim/admin/choose_language.js index a378ccf68ad65..631256d4da9f7 100644 --- a/decidim-admin/app/packs/src/decidim/admin/choose_language.js +++ b/decidim-admin/app/packs/src/decidim/admin/choose_language.js @@ -1,12 +1,14 @@ /* eslint-disable no-invalid-this */ +/* eslint-disable require-jsdoc */ -$(() => { - $("select.language-change").change(function () { - let $select = $(this); - let targetTabPaneSelector = $select.val(); - let $tabsContent = $select.parent().parent().siblings(); +export default function initLanguageChangeSelect(elements) { + elements.forEach((select) => { + select.addEventListener("change", () => { + let targetTabPaneSelector = select.value; + let tabsContent = select.parentElement.parentElement.nextElementSibling; - $tabsContent.children(".is-active").removeClass("is-active"); - $tabsContent.children(targetTabPaneSelector).addClass("is-active"); - }) -}); + tabsContent.querySelector(".is-active").classList.remove("is-active"); + tabsContent.querySelector(targetTabPaneSelector).classList.add("is-active"); + }) + }); +} diff --git a/decidim-admin/app/packs/src/decidim/admin/dynamic_fields.component.js b/decidim-admin/app/packs/src/decidim/admin/dynamic_fields.component.js index f52f4c925afd5..85fd6b165de5b 100644 --- a/decidim-admin/app/packs/src/decidim/admin/dynamic_fields.component.js +++ b/decidim-admin/app/packs/src/decidim/admin/dynamic_fields.component.js @@ -70,6 +70,7 @@ class DynamicFieldsComponent { $(this).replaceAttribute("for", placeholder, value); $(this).replaceAttribute("tabs_id", placeholder, value); $(this).replaceAttribute("href", placeholder, value); + $(this).replaceAttribute("value", placeholder, value); return this; } diff --git a/decidim-forms/app/packs/src/decidim/forms/admin/forms.js b/decidim-forms/app/packs/src/decidim/forms/admin/forms.js index 69a5865128652..f94709aaa9468 100644 --- a/decidim-forms/app/packs/src/decidim/forms/admin/forms.js +++ b/decidim-forms/app/packs/src/decidim/forms/admin/forms.js @@ -11,6 +11,7 @@ import createSortList from "src/decidim/admin/sort_list.component" import createDynamicFields from "src/decidim/admin/dynamic_fields.component" import createFieldDependentInputs from "src/decidim/admin/field_dependent_inputs.component" import createQuillEditor from "src/decidim/editor" +import initLanguageChangeSelect from "src/decidim/admin/choose_language" export default function createEditableForm() { const wrapperSelector = ".questionnaire-questions"; @@ -392,6 +393,8 @@ export default function createEditableForm() { autoLabelByPosition.run(); autoButtonsByPosition.run(); + + initLanguageChangeSelect($field.find("select.language-change").toArray()); }, onRemoveField: ($field) => { autoLabelByPosition.run(); From 3630fb998fceef4292847284399d6ce98d6a4481 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 12 Sep 2022 14:36:31 +0300 Subject: [PATCH 27/90] Backport 'Fix doorkeeper initialization after 5.6.0 release' to v0.26 (#9788) --- decidim-core/lib/decidim/core/engine.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/decidim-core/lib/decidim/core/engine.rb b/decidim-core/lib/decidim/core/engine.rb index adb9e7c29a948..cb9665fccfb24 100644 --- a/decidim-core/lib/decidim/core/engine.rb +++ b/decidim-core/lib/decidim/core/engine.rb @@ -254,7 +254,7 @@ class Engine < ::Rails::Engine Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Core::Engine.root}/app/views") # for partials end - initializer "doorkeeper" do + initializer "doorkeeper", before: "doorkeeper.params.filter" do Doorkeeper.configure do orm :active_record From 1d94a9cf96cbc3c534c01a83cdc9938c7d0dd328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Tue, 13 Sep 2022 11:20:52 +0200 Subject: [PATCH 28/90] Backport 'Ignore participatory spaces without models in meetings visible_for scope' to v0.26 (#9794) * Ignore participatory spaces without models in meetings visible_for scope * ignore participatory spaces without models in highlighted elements * add a test * fix old scope name --- .../app/models/decidim/meetings/meeting.rb | 7 +++-- decidim-meetings/spec/models/meeting_spec.rb | 29 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/decidim-meetings/app/models/decidim/meetings/meeting.rb b/decidim-meetings/app/models/decidim/meetings/meeting.rb index 8d447951ff6ba..d79fa1efc3500 100644 --- a/decidim-meetings/app/models/decidim/meetings/meeting.rb +++ b/decidim-meetings/app/models/decidim/meetings/meeting.rb @@ -63,9 +63,12 @@ class Meeting < Meetings::ApplicationRecord scope :visible_meeting_for, lambda { |user| (all.distinct if user&.admin?) || if user.present? - spaces = Decidim.participatory_space_registry.manifests.map do |manifest| + spaces = Decidim.participatory_space_registry.manifests.filter_map do |manifest| + table_name = manifest.model_class_name.constantize.try(:table_name) + next if table_name.blank? + { - name: manifest.model_class_name.constantize.table_name.singularize, + name: table_name.singularize, class_name: manifest.model_class_name } end diff --git a/decidim-meetings/spec/models/meeting_spec.rb b/decidim-meetings/spec/models/meeting_spec.rb index fb2e086dd15d1..e0ecdbc32b855 100644 --- a/decidim-meetings/spec/models/meeting_spec.rb +++ b/decidim-meetings/spec/models/meeting_spec.rb @@ -66,6 +66,35 @@ module Decidim::Meetings end end + describe "#visible_meeting_for" do + subject { Decidim::Meetings::Meeting.visible_meeting_for(user) } + + let(:meeting) { create :meeting, :published } + let(:user) { create :user, organization: meeting.component.organization } + + it "returns published meetings" do + expect(subject).to include(meeting) + end + + context "when the meeting is not published" do + let(:meeting) { create :meeting } + + it "does not returns the meeting" do + expect(subject).not_to include(meeting) + end + end + + context "when some participatory space does not have a model" do + before do + allow(Decidim::Assembly).to receive(:table_name).and_return(nil) + end + + it "does not return an exception" do + expect(subject).to include(meeting) + end + end + end + describe "#can_be_joined_by?" do subject { meeting.can_be_joined_by?(user) } From 191d68386f011bb29233dad70a41fe1d91a01119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Tue, 13 Sep 2022 13:17:10 +0200 Subject: [PATCH 29/90] Backport 'Fix leaking emails on admin user search controller' to 0.26 (#9797) * Fix leaking emails on admin user search controller (#9791) * rename test * fix leaking emails on admin user search controller # Conflicts: # decidim-admin/spec/controllers/organizations_controller_spec.rb * lint spec # Conflicts: # decidim-admin/spec/controllers/organizations_contoller_spec.rb * lint for 2.7 --- .../decidim/admin/organization_controller.rb | 6 +- .../organizations_contoller_spec.rb | 115 ----------- .../organizations_controller_spec.rb | 181 ++++++++++++++++++ .../app/models/decidim/user_base_entity.rb | 1 + 4 files changed, 185 insertions(+), 118 deletions(-) delete mode 100644 decidim-admin/spec/controllers/organizations_contoller_spec.rb create mode 100644 decidim-admin/spec/controllers/organizations_controller_spec.rb diff --git a/decidim-admin/app/controllers/decidim/admin/organization_controller.rb b/decidim-admin/app/controllers/decidim/admin/organization_controller.rb index 14be01e7c8230..e9ca3c2e15241 100644 --- a/decidim-admin/app/controllers/decidim/admin/organization_controller.rb +++ b/decidim-admin/app/controllers/decidim/admin/organization_controller.rb @@ -30,11 +30,11 @@ def update end def users - search(current_organization.users) + search(current_organization.users.available) end def user_entities - search(current_organization.user_entities) + search(current_organization.user_entities.available) end private @@ -51,7 +51,7 @@ def search(relation) query.where("email ILIKE ?", "%#{term}%") ) end - render json: query.all.collect { |u| { value: u.id, label: "#{u.name} (@#{u.nickname}) #{u.email}" } } + render json: query.all.collect { |u| { value: u.id, label: "#{u.name} (@#{u.nickname})" } } else render json: [] end diff --git a/decidim-admin/spec/controllers/organizations_contoller_spec.rb b/decidim-admin/spec/controllers/organizations_contoller_spec.rb deleted file mode 100644 index 3e782cf9b8ba1..0000000000000 --- a/decidim-admin/spec/controllers/organizations_contoller_spec.rb +++ /dev/null @@ -1,115 +0,0 @@ -# frozen_string_literal: true - -require "spec_helper" - -module Decidim - module Admin - describe OrganizationController, type: :controller do - routes { Decidim::Admin::Engine.routes } - - let(:organization) { create :organization } - let(:current_user) { create(:user, :admin, :confirmed, organization: organization) } - - before do - request.env["decidim.current_organization"] = organization - sign_in current_user, scope: :user - end - - describe "GET users and user groups in json format" do - let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization, email: "d.mail@example.org") } - let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o", email: "d.mail.o@example.org") } - let!(:user_group) do - create( - :user_group, - :verified, - name: "Daisy Organization", - nickname: "daisy_org", - email: "d.mail.org@example.org", - users: [user], - organization: organization - ) - end - let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) } - - context "when searching by name" do - it "returns the id, name, email and nickname for filtered users and user groups" do - get :user_entities, format: :json, params: { term: "daisy" } - expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }) - expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname}) #{user_group.email}" }) - expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname}) #{other_user.email}" }) - end - end - - context "when searching by nickname" do - it "returns the id, name, email and nickname for filtered users and user groups" do - get :user_entities, format: :json, params: { term: "@daisy" } - expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }) - expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname}) #{user_group.email}" }) - expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname}) #{other_user.email}" }) - end - end - - context "when searching by email" do - it "returns the id, name, email and nickname for filtered users and user groups" do - get :user_entities, format: :json, params: { term: "d.mail" } - expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }) - expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname}) #{user_group.email}" }) - expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname}) #{other_user.email}" }) - end - end - end - - describe "GET users in json format" do - let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } - let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o") } - let!(:user_group) do - create( - :user_group, - :verified, - name: "Daisy Organization", - nickname: "daysy_org", - users: [user], - organization: organization - ) - end - - let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) } - - context "when no search term is provided" do - it "returns an empty result set" do - get :users, format: :json, params: {} - expect(parsed_response).to eq([]) - end - end - - context "when there are no results" do - it "returns an empty json array" do - get :users, format: :json, params: { term: "#0" } - expect(parsed_response).to eq([]) - end - end - - context "when searching by name" do - it "returns the id, name, email and nickname for filtered users" do - get :users, format: :json, params: { term: "daisy" } - expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }]) - end - end - - context "when searching by nickname" do - it "returns the id, name, email and nickname for filtered users" do - get :users, format: :json, params: { term: "@daisy" } - expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }]) - end - end - - context "when searching by email" do - it "returns the id, name, email and nickname for filtered users" do - get :users, format: :json, params: { term: user.email } - expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }]) - end - end - end - end - end -end diff --git a/decidim-admin/spec/controllers/organizations_controller_spec.rb b/decidim-admin/spec/controllers/organizations_controller_spec.rb new file mode 100644 index 0000000000000..a27c0a3b55d52 --- /dev/null +++ b/decidim-admin/spec/controllers/organizations_controller_spec.rb @@ -0,0 +1,181 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Admin + describe OrganizationController, type: :controller do + routes { Decidim::Admin::Engine.routes } + + let(:organization) { create :organization } + let(:current_user) { create(:user, :admin, :confirmed, organization: organization) } + + before do + request.env["decidim.current_organization"] = organization + sign_in current_user, scope: :user + end + + describe "GET users and user groups in json format" do + let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization, email: "d.mail@example.org") } + let!(:blocked_user) { create(:user, :blocked, name: "Daisy Blocked", nickname: "daisy_b", organization: organization, email: "d.mail.b@example.org") } + let!(:managed_user) { create(:user, :managed, name: "Daisy Managed", nickname: "daisy_g", organization: organization, email: "d.mail.g@example.org") } + let!(:deleted_user) { create(:user, :deleted, name: "Daisy Deleted", nickname: "daisy_d", organization: organization, email: "d.mail.d@example.org") } + let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o", email: "d.mail.o@example.org") } + let!(:user_group) do + create( + :user_group, + :verified, + name: "Daisy Organization", + nickname: "daisy_org", + email: "d.mail.org@example.org", + users: [user], + organization: organization + ) + end + let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) } + + context "when searching by name" do + it "returns the id, name and nickname for filtered users and user groups" do + get :user_entities, format: :json, params: { term: "daisy" } + expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname})" }) + expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname})" }) + expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname})" }) + expect(parsed_response).not_to include({ value: blocked_user.id, label: "#{blocked_user.name} (@#{blocked_user.nickname})" }) + expect(parsed_response).not_to include({ value: deleted_user.id, label: "#{deleted_user.name} (@#{deleted_user.nickname})" }) + expect(parsed_response).not_to include({ value: managed_user.id, label: "#{managed_user.name} (@#{managed_user.nickname})" }) + end + end + + context "when searching by nickname" do + it "returns the id, name and nickname for filtered users and user groups" do + get :user_entities, format: :json, params: { term: "@daisy" } + expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname})" }) + expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname})" }) + expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname})" }) + expect(parsed_response).not_to include({ value: blocked_user.id, label: "#{blocked_user.name} (@#{blocked_user.nickname})" }) + expect(parsed_response).not_to include({ value: deleted_user.id, label: "#{deleted_user.name} (@#{deleted_user.nickname})" }) + expect(parsed_response).not_to include({ value: managed_user.id, label: "#{managed_user.name} (@#{managed_user.nickname})" }) + end + end + + context "when searching by email" do + it "returns the id, name and nickname for filtered users and user groups" do + get :user_entities, format: :json, params: { term: "d.mail" } + expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname})" }) + expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname})" }) + expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname})" }) + expect(parsed_response).not_to include({ value: blocked_user.id, label: "#{blocked_user.name} (@#{blocked_user.nickname})" }) + expect(parsed_response).not_to include({ value: deleted_user.id, label: "#{deleted_user.name} (@#{deleted_user.nickname})" }) + expect(parsed_response).not_to include({ value: managed_user.id, label: "#{managed_user.name} (@#{managed_user.nickname})" }) + end + end + + context "when user is blocked" do + let!(:user) { create(:user, :blocked, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + + it "returns an empty json array" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([]) + end + end + + context "when user is managed" do + let!(:user) { create(:user, :managed, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + + it "returns an empty json array" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([]) + end + end + + context "when user is deleted" do + let!(:user) { create(:user, :deleted, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + + it "returns an empty json array" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([]) + end + end + end + + describe "GET users in json format" do + let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o") } + let!(:user_group) do + create( + :user_group, + :verified, + name: "Daisy Organization", + nickname: "daysy_org", + users: [user], + organization: organization + ) + end + + let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) } + + context "when no search term is provided" do + it "returns an empty result set" do + get :users, format: :json, params: {} + expect(parsed_response).to eq([]) + end + end + + context "when there are no results" do + it "returns an empty json array" do + get :users, format: :json, params: { term: "#0" } + expect(parsed_response).to eq([]) + end + end + + context "when searching by name" do + it "returns the id, name and nickname for filtered users" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname})" }]) + end + end + + context "when searching by nickname" do + it "returns the id, name and nickname for filtered users" do + get :users, format: :json, params: { term: "@daisy" } + expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname})" }]) + end + end + + context "when searching by email" do + it "returns the id, name and nickname for filtered users" do + get :users, format: :json, params: { term: user.email } + expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname})" }]) + end + end + + context "when user is blocked" do + let!(:user) { create(:user, :blocked, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + + it "returns an empty json array" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([]) + end + end + + context "when user is managed" do + let!(:user) { create(:user, :managed, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + + it "returns an empty json array" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([]) + end + end + + context "when user is deleted" do + let!(:user) { create(:user, :deleted, name: "Daisy Miller", nickname: "daisy_m", organization: organization) } + + it "returns an empty json array" do + get :users, format: :json, params: { term: "daisy" } + expect(parsed_response).to eq([]) + end + end + end + end + end +end diff --git a/decidim-core/app/models/decidim/user_base_entity.rb b/decidim-core/app/models/decidim/user_base_entity.rb index 3a18a99b5ac4f..f6ae9e7575419 100644 --- a/decidim-core/app/models/decidim/user_base_entity.rb +++ b/decidim-core/app/models/decidim/user_base_entity.rb @@ -30,6 +30,7 @@ class UserBaseEntity < ApplicationRecord scope :blocked, -> { where(blocked: true) } scope :not_blocked, -> { where(blocked: false) } + scope :available, -> { where(deleted_at: nil, blocked: false, managed: false) } # Public: Returns a collection with all the public entities this user is following. # From 16dab73d70e0ba1a5ace75214b94a1df419acd54 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 18:07:52 +0300 Subject: [PATCH 30/90] Backport 'Fix import of images on spaces' to v0.26 (#9803) * Fix import hero and banner images in participatory process Fix assemblies and process images importation * Remove uneeded yarn.lock * TEST: Make tests succeed * Refactor bugfix * Rename helper test function Co-authored-by: Laura Jaime Co-authored-by: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Co-authored-by: Laura Jaime --- .../decidim/assemblies/assembly_importer.rb | 5 ++-- .../assemblies/admin/import_assembly_spec.rb | 27 +++++++++++++++++++ .../admin/admin_imports_assembly_spec.rb | 21 +++++++++++++-- .../decidim/dev/test/rspec_support/helpers.rb | 12 +++++++++ .../participatory_process_importer.rb | 5 ++-- .../import_participatory_process_spec.rb | 15 +++++++++++ ...admin_import_participatory_process_spec.rb | 3 +++ 7 files changed, 82 insertions(+), 6 deletions(-) diff --git a/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb b/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb index 3da1600c53f80..9888e72a7fe1c 100644 --- a/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb +++ b/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb @@ -61,8 +61,9 @@ def import(attributes, _user, opts) meta_scope: attributes["meta_scope"], announcement: attributes["announcement"] ) - @imported_assembly.remote_hero_image_url = attributes["remote_hero_image_url"] if remote_file_exists?(attributes["remote_hero_image_url"]) - @imported_assembly.remote_banner_image_url = attributes["remote_banner_image_url"] if remote_file_exists?(attributes["remote_banner_image_url"]) + @imported_assembly.attached_uploader(:hero_image).remote_url = attributes["remote_hero_image_url"] if attributes["remote_hero_image_url"].present? + @imported_assembly.attached_uploader(:banner_image).remote_url = attributes["remote_banner_image_url"] if attributes["remote_banner_image_url"].present? + @imported_assembly.save! @imported_assembly end diff --git a/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb b/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb index a3e3772900fb6..3463942d6dc5e 100644 --- a/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb +++ b/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb @@ -4,6 +4,8 @@ module Decidim::Assemblies::Admin describe ImportAssembly do + include Decidim::ComponentTestHelpers + subject { described_class.new(form) } let(:organization) { create :organization } @@ -38,7 +40,28 @@ module Decidim::Assemblies::Admin let(:import_attachments) { false } let(:import_categories) { false } + def stub_calls_to_external_files + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/assembly/hero_image/1/city.jpeg", + "image/jpeg" + ) + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/assembly/banner_image/1/city2.jpeg", + "image/jpeg" + ) + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/attachment/file/31/Exampledocument.pdf", + "application/pdf" + ) + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/attachment/file/32/city.jpeg", + "image/jpeg" + ) + end + shared_examples "import assembly succeeds" do + before { stub_calls_to_external_files } + it "broadcasts ok and create the assembly" do expect { subject.call }.to( broadcast(:ok) && @@ -80,6 +103,8 @@ module Decidim::Assemblies::Admin let(:import_categories) { true } it "imports an assembly and the categories" do + stub_calls_to_external_files + expect { subject.call }.to change { Decidim::Category.count }.by(8) expect(Decidim::Category.distinct.select(:decidim_participatory_space_id).count).to eq 1 @@ -98,6 +123,8 @@ module Decidim::Assemblies::Admin context "when attachment collections exists" do it "imports a assembly and the collections" do + stub_calls_to_external_files + expect { subject.call }.to change { Decidim::AttachmentCollection.count }.by(1) imported_assembly_collection = Decidim::AttachmentCollection.first expect(imported_assembly_collection.name).to eq("ca" => "deleniti", "en" => "laboriosam", "es" => "quia") diff --git a/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb b/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb index 6989c5a35ef5c..af31d427790d0 100644 --- a/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb +++ b/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb @@ -11,8 +11,25 @@ visit decidim_admin_assemblies.assemblies_path end - context "with context" do - before "Imports the assembly with the basic fields" do + context "when importing the assembly with basic fields" do + before do + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/assembly/hero_image/1/city.jpeg", + "image/jpeg" + ) + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/assembly/banner_image/1/city2.jpeg", + "image/jpeg" + ) + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/attachment/file/31/Exampledocument.pdf", + "application/pdf" + ) + stub_get_request_with_format( + "http://localhost:3000/uploads/decidim/attachment/file/32/city.jpeg", + "image/jpeg" + ) + click_link "Import", match: :first within ".import_assembly" do diff --git a/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb b/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb index 310900420e000..5044c5a297b6b 100644 --- a/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb +++ b/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb @@ -39,6 +39,18 @@ def expect_user_logged def have_admin_callout(text) have_selector(".callout--full", text: text) end + + def stub_get_request_with_format(rq_url, rs_format) + stub_request(:get, rq_url) + .with( + headers: { + "Accept" => "*/*", + "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3", + "User-Agent" => "Ruby" + } + ) + .to_return(status: 200, body: "", headers: { content_type: rs_format }) + end end RSpec.configure do |config| diff --git a/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb b/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb index 3c05c9ca2b2bf..f949374d8bdb0 100644 --- a/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +++ b/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb @@ -44,8 +44,9 @@ def import(attributes, _user, opts) scopes_enabled: attributes["scopes_enabled"], participatory_process_group: import_process_group(attributes["participatory_process_group"]) ) - @imported_process.remote_hero_image_url = attributes["remote_hero_image_url"] if remote_file_exists?(attributes["remote_hero_image_url"]) - @imported_process.remote_banner_image_url = attributes["remote_banner_image_url"] if remote_file_exists?(attributes["remote_banner_image_url"]) + @imported_process.attached_uploader(:hero_image).remote_url = attributes["remote_hero_image_url"] if attributes["remote_hero_image_url"].present? + @imported_process.attached_uploader(:banner_image).remote_url = attributes["remote_banner_image_url"] if attributes["remote_banner_image_url"].present? + @imported_process.save! @imported_process end diff --git a/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb b/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb index 516415dfe1a4e..94c88b325978e 100644 --- a/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb +++ b/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb @@ -4,6 +4,8 @@ module Decidim::ParticipatoryProcesses describe Admin::ImportParticipatoryProcess do + include Decidim::ComponentTestHelpers + subject { described_class.new(form) } let(:organization) { create :organization } @@ -38,7 +40,14 @@ module Decidim::ParticipatoryProcesses let(:import_attachments) { false } let(:import_categories) { false } + def stub_calls_to_external_files + stub_get_request_with_format("http://localhost:3000/uploads/decidim/participatory_process/hero_image/1/city.jpeg", "image/jpeg") + stub_get_request_with_format("http://localhost:3000/uploads/decidim/participatory_process/banner_image/1/city2.jpeg", "image/jpeg") + end + shared_examples "import participatory_process succeeds" do + before { stub_calls_to_external_files } + it "broadcasts ok and create the process" do expect { subject.call }.to( broadcast(:ok) && @@ -80,6 +89,7 @@ module Decidim::ParticipatoryProcesses let(:import_components) { true } it "imports a participatory process and the steps" do + stub_calls_to_external_files expect { subject.call }.to change { Decidim::Component.count }.by(3) expect(Decidim::Component.where(participatory_space_id: Decidim::ParticipatoryProcess.last).count).to eq 3 end @@ -95,6 +105,7 @@ module Decidim::ParticipatoryProcesses let(:import_steps) { true } it "imports a participatory process and the steps" do + stub_calls_to_external_files expect { subject.call }.to change { Decidim::ParticipatoryProcessStep.count }.by(1) expect(Decidim::ParticipatoryProcessStep.distinct.pluck(:decidim_participatory_process_id).count).to eq 1 @@ -115,6 +126,8 @@ module Decidim::ParticipatoryProcesses let(:import_categories) { true } it "imports a participatory process and the categories" do + stub_calls_to_external_files + expect { subject.call }.to change { Decidim::Category.count }.by(8) expect(Decidim::Category.unscoped.distinct.pluck(:decidim_participatory_space_id).count).to eq 1 @@ -139,6 +152,8 @@ module Decidim::ParticipatoryProcesses context "when attachment collections exists" do it "imports a participatory process and the collections" do + stub_calls_to_external_files + expect { subject.call }.to change { Decidim::AttachmentCollection.count }.by(1) imported_participatory_process_collection = Decidim::AttachmentCollection.first expect(imported_participatory_process_collection.name).to eq("ca" => "assumenda", "en" => "cumque", "es" => "rem") diff --git a/decidim-participatory_processes/spec/system/admin/admin_import_participatory_process_spec.rb b/decidim-participatory_processes/spec/system/admin/admin_import_participatory_process_spec.rb index 586151f188aa1..3ebeb253a1a71 100644 --- a/decidim-participatory_processes/spec/system/admin/admin_import_participatory_process_spec.rb +++ b/decidim-participatory_processes/spec/system/admin/admin_import_participatory_process_spec.rb @@ -27,6 +27,9 @@ attach_file :participatory_process_document, Decidim::Dev.asset("participatory_processes.json") end + stub_get_request_with_format("http://localhost:3000/uploads/decidim/participatory_process/hero_image/1/city.jpeg", "image/jpeg") + stub_get_request_with_format("http://localhost:3000/uploads/decidim/participatory_process/banner_image/1/city2.jpeg", "image/jpeg") + click_button "Import" end From 01c652754615114474fc3ca50163824c4facd7cd Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 21:01:10 +0300 Subject: [PATCH 31/90] Backport 'Update `rokroskar/workflow-run-cleanup-action` GitHub action to v0.3.3' to v0.26 (#9829) --- .github/actions/module-rspec/action.yml | 2 +- .github/workflows/ci_generators.yml | 2 +- .github/workflows/ci_main.yml | 2 +- .github/workflows/lint_code.yml | 2 +- .github/workflows/lint_pr_format.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/module-rspec/action.yml b/.github/actions/module-rspec/action.yml index b2abae920e3ae..2ad1e16db6896 100644 --- a/.github/actions/module-rspec/action.yml +++ b/.github/actions/module-rspec/action.yml @@ -19,7 +19,7 @@ inputs: runs: using: "composite" steps: - - uses: rokroskar/workflow-run-cleanup-action@v0.3.0 + - uses: rokroskar/workflow-run-cleanup-action@v0.3.3 if: "github.ref != 'refs/heads/develop'" env: GITHUB_TOKEN: " ${{ inputs.github_token }}" diff --git a/.github/workflows/ci_generators.yml b/.github/workflows/ci_generators.yml index 40b7bbe8b71ab..d6be4033309f8 100644 --- a/.github/workflows/ci_generators.yml +++ b/.github/workflows/ci_generators.yml @@ -43,7 +43,7 @@ jobs: DATABASE_HOST: localhost RUBYOPT: '-W:no-deprecated' steps: - - uses: rokroskar/workflow-run-cleanup-action@v0.3.0 + - uses: rokroskar/workflow-run-cleanup-action@v0.3.3 if: "github.ref != 'refs/heads/develop'" env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/ci_main.yml b/.github/workflows/ci_main.yml index 98c97e049203a..1aa1b92ffac34 100644 --- a/.github/workflows/ci_main.yml +++ b/.github/workflows/ci_main.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 steps: - - uses: rokroskar/workflow-run-cleanup-action@v0.3.0 + - uses: rokroskar/workflow-run-cleanup-action@v0.3.3 if: "github.ref != 'refs/heads/develop'" env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/lint_code.yml b/.github/workflows/lint_code.yml index cd82ec0158ef4..29f9d8aa47b79 100644 --- a/.github/workflows/lint_code.yml +++ b/.github/workflows/lint_code.yml @@ -22,7 +22,7 @@ jobs: if: "!startsWith(github.head_ref, 'chore/l10n')" timeout-minutes: 60 steps: - - uses: rokroskar/workflow-run-cleanup-action@v0.3.0 + - uses: rokroskar/workflow-run-cleanup-action@v0.3.3 if: "github.ref != 'refs/heads/develop'" env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/lint_pr_format.yml b/.github/workflows/lint_pr_format.yml index b047307ded4d3..f3de911f97397 100644 --- a/.github/workflows/lint_pr_format.yml +++ b/.github/workflows/lint_pr_format.yml @@ -10,7 +10,7 @@ jobs: name: Check PR title runs-on: ubuntu-latest steps: - - uses: rokroskar/workflow-run-cleanup-action@v0.3.2 + - uses: rokroskar/workflow-run-cleanup-action@v0.3.3 if: "github.ref != 'refs/heads/develop'" env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" From fe44de9123425741eb04a9de4357b6805ba8c5f8 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 21:26:25 +0300 Subject: [PATCH 32/90] Backport 'Split parallel test coverage reports into their own folders' to v0.26 (#9819) --- .simplecov | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.simplecov b/.simplecov index 18cc4ce39998f..76114887f8c90 100644 --- a/.simplecov +++ b/.simplecov @@ -1,6 +1,9 @@ # frozen_string_literal: true if ENV["SIMPLECOV"] + test_env = ENV.fetch("TEST_ENV_NUMBER", "") + test_env = "1" if test_env.empty? + SimpleCov.start do # `ENGINE_ROOT` holds the name of the engine we're testing. # This brings us to the main Decidim folder. @@ -24,6 +27,7 @@ if ENV["SIMPLECOV"] end SimpleCov.merge_timeout 1800 + SimpleCov.coverage_dir "coverage/#{test_env}/" if ENV["CI"] require "simplecov-cobertura" From 44414c4b51a400af785bb6aa49e6800bbc177674 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 21:34:17 +0300 Subject: [PATCH 33/90] Backport 'Fix hashtags not recognized at the beginning of the string' to v0.26 (#9811) --- decidim-core/lib/decidim/content_parsers/hashtag_parser.rb | 2 +- .../spec/content_parsers/decidim/hashtag_parser_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb b/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb index c39adb9d1742d..478ca6a912d21 100644 --- a/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb +++ b/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb @@ -18,7 +18,7 @@ class HashtagParser < BaseParser # Matches a hashtag if it starts with a letter or number # and only contains letters, numbers or underscores. - HASHTAG_REGEX = /\s\K\B#([[:alnum:]](?:[[:alnum:]]|_)*)\b/i.freeze + HASHTAG_REGEX = /(?:\A|\s\K)\B#([[:alnum:]](?:[[:alnum:]]|_)*)\b/i.freeze # Replaces hashtags name with new or existing hashtags models global ids. # diff --git a/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb b/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb index 71a93bd6e7d64..47f4918716336 100644 --- a/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb +++ b/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb @@ -90,6 +90,13 @@ module Decidim it_behaves_like "find and stores the hashtags references" end + context "when the hashtag is at the beginning of the string" do + let(:content) { "##{hashtag.name} is at the beginning of the string" } + let(:parsed_content) { "#{hashtag.to_global_id}/#{hashtag.name} is at the beginning of the string" } + + it_behaves_like "find and stores the hashtags references" + end + context "when content contains an URL with a fragment (aka anchor link)" do let(:content) { "You can add an URL and this shouldn't be parsed http://www.example.org/path##{hashtag.name}" } let(:parsed_content) { "You can add an URL and this shouldn't be parsed http://www.example.org/path#fragment" } From 1dbb04c89e1f875fec086d0fa88b7113d279b40f Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 21:39:46 +0300 Subject: [PATCH 34/90] Backport 'Fix version pages showing a HTTP 500 error when the version does not exist' to v0.26 (#9809) * Show a 404 when the version does not exist * Add specs for testing the versions controllers --- .../versions_controller_spec.rb | 15 +++++++ .../decidim/resource_versions_concern.rb | 4 ++ decidim-core/lib/decidim/core/test.rb | 1 + .../versions_controller_examples.rb | 40 +++++++++++++++++++ .../debates/versions_controller_spec.rb | 15 +++++++ .../initiatives/versions_controller_spec.rb | 15 +++++++ .../meetings/versions_controller_spec.rb | 15 +++++++ .../proposals/versions_controller_spec.rb | 15 +++++++ 8 files changed, 120 insertions(+) create mode 100644 decidim-accountability/spec/controllers/decidim/accountability/versions_controller_spec.rb create mode 100644 decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb create mode 100644 decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb create mode 100644 decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb create mode 100644 decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb create mode 100644 decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb diff --git a/decidim-accountability/spec/controllers/decidim/accountability/versions_controller_spec.rb b/decidim-accountability/spec/controllers/decidim/accountability/versions_controller_spec.rb new file mode 100644 index 0000000000000..3740e2b872403 --- /dev/null +++ b/decidim-accountability/spec/controllers/decidim/accountability/versions_controller_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Accountability + describe VersionsController, versioning: true, type: :controller do + routes { Decidim::Accountability::Engine.routes } + + let(:resource) { create(:result) } + + it_behaves_like "versions controller" + end + end +end diff --git a/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb b/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb index 317a126e15009..9a03a8f36d57c 100644 --- a/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb +++ b/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb @@ -10,6 +10,10 @@ module ResourceVersionsConcern helper Decidim::TraceabilityHelper helper_method :current_version, :versioned_resource + def show + raise ActionController::RoutingError, "Not found" unless current_version + end + private # Overwrite this method in your controller to define how to find the diff --git a/decidim-core/lib/decidim/core/test.rb b/decidim-core/lib/decidim/core/test.rb index 6d6021dfbf46c..1e7a91b69a0d2 100644 --- a/decidim-core/lib/decidim/core/test.rb +++ b/decidim-core/lib/decidim/core/test.rb @@ -71,4 +71,5 @@ require "decidim/core/test/shared_examples/assembly_announcements_examples" require "decidim/core/test/shared_examples/translated_event_examples" require "decidim/core/test/shared_examples/conversations_examples" +require "decidim/core/test/shared_examples/versions_controller_examples" require "decidim/core/test/shared_examples/resource_endorsed_event_examples" diff --git a/decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb new file mode 100644 index 0000000000000..aaa02f1eab94a --- /dev/null +++ b/decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require "spec_helper" + +shared_examples "versions controller" do + let(:base_params) do + if resource.is_a?(Decidim::Participable) + { "#{resource.model_name.singular_route_key}_slug".to_sym => resource.slug } + else + { "#{resource.model_name.singular_route_key}_id".to_sym => resource.id } + end + end + + before do + request.env["decidim.current_organization"] = resource.organization + + if resource.is_a?(Decidim::HasComponent) + request.env["decidim.current_participatory_space"] = resource.participatory_space + request.env["decidim.current_component"] = resource.component + end + end + + describe "GET show" do + context "with an existing version" do + it "returns a HTTP 200" do + get :show, params: base_params.merge(id: 1) + + expect(response).to have_http_status(:ok) + end + end + + context "when the resource does not exist" do + it "raises a routing error" do + expect do + get :show, params: base_params.merge(id: 999_999_999) + end.to raise_error(ActionController::RoutingError) + end + end + end +end diff --git a/decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb b/decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb new file mode 100644 index 0000000000000..208dd4c764563 --- /dev/null +++ b/decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Debates + describe VersionsController, versioning: true, type: :controller do + routes { Decidim::Debates::Engine.routes } + + let(:resource) { create(:debate) } + + it_behaves_like "versions controller" + end + end +end diff --git a/decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb b/decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb new file mode 100644 index 0000000000000..10e6dc50c620a --- /dev/null +++ b/decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Initiatives + describe VersionsController, versioning: true, type: :controller do + routes { Decidim::Initiatives::Engine.routes } + + let(:resource) { create(:initiative) } + + it_behaves_like "versions controller" + end + end +end diff --git a/decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb b/decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb new file mode 100644 index 0000000000000..d31a6c4d1562b --- /dev/null +++ b/decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Meetings + describe VersionsController, versioning: true, type: :controller do + routes { Decidim::Meetings::Engine.routes } + + let(:resource) { create(:meeting) } + + it_behaves_like "versions controller" + end + end +end diff --git a/decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb b/decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb new file mode 100644 index 0000000000000..662a8a5eddfb0 --- /dev/null +++ b/decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Proposals + describe VersionsController, versioning: true, type: :controller do + routes { Decidim::Proposals::Engine.routes } + + let(:resource) { create(:proposal) } + + it_behaves_like "versions controller" + end + end +end From b32d1dd25f6bf6dc8fb6e49c05a31f4a83f82bbd Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 22:18:20 +0300 Subject: [PATCH 35/90] Backport 'Fix hidden error messages on the registration form' to v0.26 (#9813) * Fix hidden error messages on the registration form * Fix syntax error with Ruby 2.7 --- .../devise/registrations_controller.rb | 2 +- .../registrations_controller_spec.rb | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/decidim-core/app/controllers/decidim/devise/registrations_controller.rb b/decidim-core/app/controllers/decidim/devise/registrations_controller.rb index eb6186b0df6d2..a12165251bb68 100644 --- a/decidim-core/app/controllers/decidim/devise/registrations_controller.rb +++ b/decidim-core/app/controllers/decidim/devise/registrations_controller.rb @@ -37,7 +37,7 @@ def create end on(:invalid) do - flash.now[:alert] = @form.errors[:base].join(", ") if @form.errors[:base].any? + flash.now[:alert] = @form.errors.full_messages.join(", ") if @form.errors.full_messages.any? render :new end end diff --git a/decidim-core/spec/controllers/registrations_controller_spec.rb b/decidim-core/spec/controllers/registrations_controller_spec.rb index 2c0596124e8ad..45e2e48918dc6 100644 --- a/decidim-core/spec/controllers/registrations_controller_spec.rb +++ b/decidim-core/spec/controllers/registrations_controller_spec.rb @@ -56,6 +56,44 @@ def send_form_and_expect_rendering_the_new_template_again it "renders the new template" do send_form_and_expect_rendering_the_new_template_again end + + it "adds the flash message" do + post :create, params: params + expect(controller.flash.now[:alert]).to have_content("Your email can't be blank") + end + + context "when all params are invalid" do + let(:params) do + { + user: { + sign_up_as: "", + name: "", + nickname: "", + email: email, + password: "123", + password_confirmation: "456", + tos_agreement: "0", + newsletter: "0" + } + } + end + + it "adds the flash message" do + post :create, params: params + expect(controller.flash.now[:alert]).to have_content( + [ + "Your name can't be blank", + "Nickname can't be blank", + "Nickname is invalid", + "Your email can't be blank", + "Confirm your password doesn't match Password", + "Password is too short", + "Password does not have enough unique characters", + "Tos agreement must be accepted" + ].join(", ") + ) + end + end end context "when the registering user has pending invitations" do From c30966801ce760993f9cfea94e4c3a75385adf35 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 22:18:46 +0300 Subject: [PATCH 36/90] Backport 'Fix multitenant organizations stats cache' to v0.26 (#9807) * Fix multitenant organizations stats cache * Fix same stats cache for multitenant organizations * Add specs for the stats cell * Rubocop * Fix syntax issue with Ruby 2.7 --- .../decidim/content_blocks/stats_cell.rb | 1 + .../decidim/content_blocks/stats_cell_spec.rb | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb diff --git a/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb b/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb index c3d4398c00e04..06e4ea54d097d 100644 --- a/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb +++ b/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb @@ -16,6 +16,7 @@ def stats def cache_hash hash = [] hash.push(I18n.locale) + hash.push(current_organization.cache_key) hash.join(Decidim.cache_key_separator) end end diff --git a/decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb b/decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb new file mode 100644 index 0000000000000..5267e5b60b3e7 --- /dev/null +++ b/decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Decidim::ContentBlocks::StatsCell, type: :cell do + subject { stats_cell.call } + + let(:organization) { create(:organization) } + let(:content_block) { create :content_block, organization: organization, manifest_name: :stats, scope_name: :homepage } + let(:stats_cell) { cell(content_block.cell, content_block) } + + let!(:users) { create_list(:user, 10, :confirmed, organization: organization) } + let!(:processes) { create_list(:participatory_process, 5, organization: organization) } + + let(:other_organization) { create(:organization) } + let!(:other_users) { create_list(:user, 3, :confirmed, organization: other_organization) } + let!(:other_processes) { create_list(:participatory_process, 2, organization: other_organization) } + + controller Decidim::PagesController + + before do + allow(controller).to receive(:current_organization).and_return(organization) + end + + it "renders the correct stats" do + expect(subject.find(".statistic__data.users_count .statistic__number")).to have_text("10") + expect(subject.find(".statistic__data.processes_count .statistic__number")).to have_text("5") + end + + describe "#cache_hash" do + subject { stats_cell.send(:cache_hash) } + + let!(:other_cell) { cell(other_content_block.cell, other_content_block) } + let(:other_content_block) { create :content_block, organization: other_organization, manifest_name: :stats, scope_name: :homepage } + + it "generate a unique hash per organization" do + target_hash = subject + + allow(controller).to receive(:current_organization).and_return(other_organization) + expect(target_hash).not_to eq(other_cell.send(:cache_hash)) + end + + context "when switching locale" do + let(:alt_locale) { :ca } + + before do + allow(I18n).to receive(:locale).and_return(alt_locale) + end + + it "generates a different hash" do + expect(subject).not_to match(/en$/) + end + end + end +end From 48a5110b74d1189064442c9334cc81b31eab0f6a Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 15 Sep 2022 22:20:57 +0300 Subject: [PATCH 37/90] Backport 'Fix initiatives components' to v0.26 (#9825) --- .../admin/resource_permissions_controller.rb | 2 +- .../admin/resource_permissions/edit.html.erb | 2 +- .../lib/decidim/has_resource_permission.rb | 2 -- .../decidim-initiatives.gemspec | 1 + decidim-initiatives/spec/factories.rb | 1 + .../spec/system/initiative_spec.rb | 29 +++++++++++++++++++ 6 files changed, 33 insertions(+), 4 deletions(-) diff --git a/decidim-admin/app/controllers/decidim/admin/resource_permissions_controller.rb b/decidim-admin/app/controllers/decidim/admin/resource_permissions_controller.rb index 1a0ebabda1e95..28a9cca29803b 100644 --- a/decidim-admin/app/controllers/decidim/admin/resource_permissions_controller.rb +++ b/decidim-admin/app/controllers/decidim/admin/resource_permissions_controller.rb @@ -83,7 +83,7 @@ def resource end def manifest_name - @manifest_name ||= resource.manifest.name + @manifest_name ||= resource.resource_manifest.name end def permissions diff --git a/decidim-admin/app/views/decidim/admin/resource_permissions/edit.html.erb b/decidim-admin/app/views/decidim/admin/resource_permissions/edit.html.erb index 4bd55ce04a5b2..e519e86152201 100644 --- a/decidim-admin/app/views/decidim/admin/resource_permissions/edit.html.erb +++ b/decidim-admin/app/views/decidim/admin/resource_permissions/edit.html.erb @@ -21,7 +21,7 @@ <% if @component %>
    <%= t("#{@component.manifest.name}.actions.#{action}", scope: "decidim.components") %>
    <% else %> -
    <%= t("#{resource.manifest.name}.actions.#{action}", scope: "decidim.resources") %>
    +
    <%= t("#{resource.resource_manifest.name}.actions.#{action}", scope: "decidim.resources") %>
    <% end %>
    diff --git a/decidim-core/lib/decidim/has_resource_permission.rb b/decidim-core/lib/decidim/has_resource_permission.rb index 2f7556b7d94dd..df08794c63625 100644 --- a/decidim-core/lib/decidim/has_resource_permission.rb +++ b/decidim-core/lib/decidim/has_resource_permission.rb @@ -14,8 +14,6 @@ module HasResourcePermission delegate :resource_manifest, :resource_key, to: :class - alias_method :manifest, :resource_manifest - # Public: Whether the permissions for this object actions can be set at resource level. def allow_resource_permissions? false diff --git a/decidim-initiatives/decidim-initiatives.gemspec b/decidim-initiatives/decidim-initiatives.gemspec index 96dfd89fe95ea..e7b110dffcb53 100644 --- a/decidim-initiatives/decidim-initiatives.gemspec +++ b/decidim-initiatives/decidim-initiatives.gemspec @@ -29,4 +29,5 @@ Gem::Specification.new do |s| s.add_dependency "wkhtmltopdf-binary", "~> 0.12" s.add_development_dependency "decidim-dev", Decidim::Initiatives.version + s.add_development_dependency "decidim-meetings", Decidim::Initiatives.version end diff --git a/decidim-initiatives/spec/factories.rb b/decidim-initiatives/spec/factories.rb index 7c1c46573448a..5e0ad5534d76e 100644 --- a/decidim-initiatives/spec/factories.rb +++ b/decidim-initiatives/spec/factories.rb @@ -2,4 +2,5 @@ require "decidim/core/test/factories" require "decidim/comments/test/factories" +require "decidim/meetings/test/factories" require "decidim/initiatives/test/factories" diff --git a/decidim-initiatives/spec/system/initiative_spec.rb b/decidim-initiatives/spec/system/initiative_spec.rb index 60f4e8119982d..b217ee4a13c11 100644 --- a/decidim-initiatives/spec/system/initiative_spec.rb +++ b/decidim-initiatives/spec/system/initiative_spec.rb @@ -99,4 +99,33 @@ it_behaves_like "has attachments" end end + + describe "initiative components" do + let!(:initiative) { base_initiative } + let!(:meetings_component) { create(:component, :published, participatory_space: initiative, manifest_name: :meetings) } + let!(:proposals_component) { create(:component, :unpublished, participatory_space: initiative, manifest_name: :proposals) } + + before do + create_list(:meeting, 3, :published, component: meetings_component) + allow(Decidim).to receive(:component_manifests).and_return([meetings_component.manifest, proposals_component.manifest]) + end + + context "when requesting the initiative path" do + before { visit decidim_initiatives.initiative_path(initiative) } + + it "shows the components" do + within ".process-nav" do + expect(page).to have_content(translated(meetings_component.name, locale: :en).upcase) + expect(page).to have_no_content(translated(proposals_component.name, locale: :en).upcase) + end + end + + it "allows visiting the components" do + within ".process-nav" do + click_link translated(meetings_component.name, locale: :en) + end + expect(page).to have_content("3 MEETINGS") + end + end + end end From 02b096af43059785da71fed661af78fda6dd4ff3 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Fri, 16 Sep 2022 08:24:17 +0200 Subject: [PATCH 38/90] New Crowdin updates (#9443) * New translations en.yml (Lithuanian) * New translations en.yml (Norwegian) * New translations en.yml (Dutch) * New translations en.yml (Chinese Simplified) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Spanish, Mexico) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Hungarian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Catalan) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Swedish) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Finnish) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Finnish (plain)) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Dutch) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Spanish) * New translations en.yml (Dutch) * New translations en.yml (Dutch) * New translations en.yml (Dutch) * New translations en.yml (Dutch) * New translations en.yml (German) * New translations en.yml (Dutch) * New translations en.yml (Dutch) * New translations en.yml (Dutch) * New translations en.yml (Dutch) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Dutch) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (French) * New translations en.yml (Hungarian) * New translations en.yml (Dutch) * New translations en.yml (Slovenian) * New translations en.yml (Slovak) * New translations en.yml (Icelandic) * New translations en.yml (Icelandic) * New translations en.yml (French, Canada) * New translations en.yml (Luxembourgish) * New translations en.yml (Russian with many plural form) * New translations en.yml (Russian with many plural form) * New translations en.yml (Russian with many plural form) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Polish) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (German) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Spanish) * New translations en.yml (Spanish) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Catalan) * New translations en.yml (Catalan) * New translations en.yml (Czech) * New translations en.yml (Catalan) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Finnish) * New translations en.yml (Finnish) * New translations en.yml (Finnish) * New translations en.yml (Finnish) * New translations en.yml (Hungarian) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Lithuanian) * New translations en.yml (Polish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Mexico) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Finnish (plain)) * New translations en.yml (Finnish (plain)) * New translations en.yml (Finnish (plain)) * New translations en.yml (Finnish (plain)) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Czech) * New translations en.yml (Luxembourgish) * New translations en.yml (Russian with many plural form) * New translations en.yml (Czech) * New translations en.yml (Spanish) * New translations en.yml (Czech) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Paraguay) --- decidim-accountability/config/locales/hu.yml | 18 +- decidim-accountability/config/locales/lt.yml | 2 + decidim-accountability/config/locales/nl.yml | 1 + decidim-accountability/config/locales/no.yml | 4 +- decidim-admin/config/locales/fr.yml | 28 +- decidim-admin/config/locales/hu.yml | 175 ++ decidim-admin/config/locales/lt.yml | 974 +++++++++ decidim-admin/config/locales/nl.yml | 62 +- decidim-admin/config/locales/no.yml | 5 + decidim-admin/config/locales/pl.yml | 61 +- decidim-admin/config/locales/sv.yml | 1 + decidim-assemblies/config/locales/fr.yml | 10 +- decidim-assemblies/config/locales/hu.yml | 38 +- decidim-assemblies/config/locales/is-IS.yml | 2 + decidim-assemblies/config/locales/lt.yml | 469 +++++ decidim-assemblies/config/locales/nl.yml | 39 +- decidim-assemblies/config/locales/pl.yml | 1 + decidim-assemblies/config/locales/ru.yml | 2 + decidim-assemblies/config/locales/sk.yml | 2 + decidim-assemblies/config/locales/sl.yml | 2 + decidim-assemblies/config/locales/uk.yml | 2 + decidim-blogs/config/locales/hu.yml | 9 + decidim-blogs/config/locales/lt.yml | 86 + decidim-blogs/config/locales/nl.yml | 8 +- decidim-budgets/config/locales/ca.yml | 6 +- decidim-budgets/config/locales/de.yml | 2 + decidim-budgets/config/locales/fr.yml | 2 +- decidim-budgets/config/locales/lt.yml | 338 ++++ decidim-budgets/config/locales/nl.yml | 40 +- decidim-budgets/config/locales/sv.yml | 3 + decidim-comments/config/locales/lt.yml | 175 ++ decidim-comments/config/locales/nl.yml | 18 + decidim-conferences/config/locales/fr.yml | 2 +- decidim-conferences/config/locales/lt.yml | 623 ++++++ .../config/locales/fr-CA.yml | 2 +- decidim-consultations/config/locales/fr.yml | 4 +- decidim-consultations/config/locales/hu.yml | 10 + decidim-consultations/config/locales/lb.yml | 2 + decidim-consultations/config/locales/lt.yml | 394 ++++ decidim-consultations/config/locales/nl.yml | 2 +- decidim-consultations/config/locales/ru.yml | 2 + decidim-consultations/config/locales/uk.yml | 2 + decidim-core/config/locales/ca.yml | 4 +- decidim-core/config/locales/cs.yml | 6 +- decidim-core/config/locales/de.yml | 65 +- decidim-core/config/locales/es-MX.yml | 4 +- decidim-core/config/locales/es-PY.yml | 4 +- decidim-core/config/locales/es.yml | 6 +- decidim-core/config/locales/eu.yml | 2 +- decidim-core/config/locales/fr-CA.yml | 2 +- decidim-core/config/locales/fr.yml | 18 +- decidim-core/config/locales/hu.yml | 152 ++ decidim-core/config/locales/it.yml | 2 +- decidim-core/config/locales/ja.yml | 2 +- decidim-core/config/locales/lb.yml | 4 +- decidim-core/config/locales/lt.yml | 1802 +++++++++++++++++ decidim-core/config/locales/nl.yml | 2 +- decidim-core/config/locales/no.yml | 2 +- decidim-core/config/locales/pl.yml | 51 +- decidim-core/config/locales/pt-BR.yml | 2 +- decidim-core/config/locales/pt.yml | 2 +- decidim-core/config/locales/ro-RO.yml | 2 +- decidim-core/config/locales/ru.yml | 3 +- decidim-core/config/locales/sk.yml | 2 +- decidim-core/config/locales/sv.yml | 3 +- decidim-core/config/locales/zh-CN.yml | 4 +- decidim-debates/config/locales/de.yml | 3 + decidim-debates/config/locales/hu.yml | 64 + decidim-debates/config/locales/lt.yml | 243 +++ decidim-dev/config/locales/ca.yml | 6 + decidim-dev/config/locales/cs.yml | 4 + decidim-dev/config/locales/es-MX.yml | 6 + decidim-dev/config/locales/es-PY.yml | 6 + decidim-dev/config/locales/es.yml | 6 + decidim-dev/config/locales/fi-plain.yml | 6 + decidim-dev/config/locales/fi.yml | 6 + decidim-dev/config/locales/fr-CA.yml | 6 + decidim-dev/config/locales/fr.yml | 6 + decidim-dev/config/locales/ja.yml | 6 + decidim-dev/config/locales/lt.yml | 63 + decidim-elections/config/locales/ar.yml | 2 - decidim-elections/config/locales/ca.yml | 23 +- decidim-elections/config/locales/cs.yml | 23 +- decidim-elections/config/locales/de.yml | 36 +- decidim-elections/config/locales/el.yml | 1 - decidim-elections/config/locales/es-MX.yml | 23 +- decidim-elections/config/locales/es-PY.yml | 23 +- decidim-elections/config/locales/es.yml | 23 +- decidim-elections/config/locales/eu.yml | 4 +- decidim-elections/config/locales/fi-plain.yml | 23 +- decidim-elections/config/locales/fi.yml | 23 +- decidim-elections/config/locales/fr-CA.yml | 25 +- decidim-elections/config/locales/fr.yml | 23 +- decidim-elections/config/locales/ga-IE.yml | 3 + decidim-elections/config/locales/gl.yml | 3 +- decidim-elections/config/locales/hu.yml | 7 +- decidim-elections/config/locales/it.yml | 4 +- decidim-elections/config/locales/ja.yml | 23 +- decidim-elections/config/locales/lt.yml | 1427 +++++++++++++ decidim-elections/config/locales/lv.yml | 1 - decidim-elections/config/locales/nl.yml | 4 +- decidim-elections/config/locales/no.yml | 5 +- decidim-elections/config/locales/pl.yml | 9 +- decidim-elections/config/locales/pt-BR.yml | 4 +- decidim-elections/config/locales/pt.yml | 4 +- decidim-elections/config/locales/ro-RO.yml | 4 +- decidim-elections/config/locales/sv.yml | 53 +- decidim-elections/config/locales/tr-TR.yml | 4 +- decidim-elections/config/locales/zh-CN.yml | 4 +- decidim-forms/config/locales/lt.yml | 188 ++ decidim-initiatives/config/locales/de.yml | 6 +- decidim-initiatives/config/locales/fr.yml | 2 +- decidim-initiatives/config/locales/hu.yml | 166 ++ decidim-initiatives/config/locales/is-IS.yml | 2 + decidim-initiatives/config/locales/lt.yml | 633 ++++++ decidim-initiatives/config/locales/pl.yml | 1 + decidim-initiatives/config/locales/ru.yml | 2 + decidim-initiatives/config/locales/uk.yml | 2 + decidim-meetings/config/locales/de.yml | 56 + decidim-meetings/config/locales/es-MX.yml | 2 +- decidim-meetings/config/locales/es-PY.yml | 2 +- decidim-meetings/config/locales/es.yml | 2 +- decidim-meetings/config/locales/hu.yml | 145 ++ decidim-meetings/config/locales/lt.yml | 674 ++++++ decidim-meetings/config/locales/nl.yml | 129 +- decidim-meetings/config/locales/pl.yml | 4 +- decidim-meetings/config/locales/sv.yml | 4 + decidim-pages/config/locales/ca.yml | 2 +- decidim-pages/config/locales/de.yml | 2 + decidim-pages/config/locales/es-MX.yml | 2 +- decidim-pages/config/locales/es-PY.yml | 2 +- decidim-pages/config/locales/es.yml | 2 +- decidim-pages/config/locales/hu.yml | 5 + decidim-pages/config/locales/lt.yml | 36 + .../config/locales/cs.yml | 12 +- .../config/locales/fr.yml | 2 +- .../config/locales/hu.yml | 73 + .../config/locales/lt.yml | 504 +++++ decidim-proposals/config/locales/ca.yml | 6 +- decidim-proposals/config/locales/cs.yml | 2 + decidim-proposals/config/locales/de.yml | 45 + decidim-proposals/config/locales/es-MX.yml | 4 +- decidim-proposals/config/locales/es-PY.yml | 4 +- decidim-proposals/config/locales/es.yml | 4 +- decidim-proposals/config/locales/fi-plain.yml | 2 + decidim-proposals/config/locales/fi.yml | 2 + decidim-proposals/config/locales/fr-CA.yml | 3 + decidim-proposals/config/locales/fr.yml | 3 + decidim-proposals/config/locales/hu.yml | 3 + decidim-proposals/config/locales/ja.yml | 2 + decidim-proposals/config/locales/lt.yml | 993 +++++++++ decidim-proposals/config/locales/sv.yml | 6 +- decidim-sortitions/config/locales/de.yml | 2 + decidim-sortitions/config/locales/lt.yml | 161 ++ decidim-surveys/config/locales/lt.yml | 71 + decidim-system/config/locales/lt.yml | 187 ++ decidim-templates/config/locales/de.yml | 7 + decidim-templates/config/locales/hu.yml | 66 + decidim-templates/config/locales/lt.yml | 66 + decidim-templates/config/locales/sv.yml | 4 + decidim-verifications/config/locales/ca.yml | 8 +- decidim-verifications/config/locales/cs.yml | 8 +- .../config/locales/es-MX.yml | 8 +- .../config/locales/es-PY.yml | 8 +- decidim-verifications/config/locales/es.yml | 8 +- .../config/locales/fi-plain.yml | 8 +- decidim-verifications/config/locales/fi.yml | 8 +- .../config/locales/fr-CA.yml | 6 +- decidim-verifications/config/locales/fr.yml | 6 +- decidim-verifications/config/locales/hu.yml | 17 + decidim-verifications/config/locales/it.yml | 7 - decidim-verifications/config/locales/ja.yml | 8 +- decidim-verifications/config/locales/lt.yml | 274 +++ 173 files changed, 12412 insertions(+), 283 deletions(-) diff --git a/decidim-accountability/config/locales/hu.yml b/decidim-accountability/config/locales/hu.yml index 4b11620dd54fd..1df574547c6b0 100644 --- a/decidim-accountability/config/locales/hu.yml +++ b/decidim-accountability/config/locales/hu.yml @@ -4,7 +4,7 @@ hu: result: decidim_accountability_status_id: Állapot decidim_category_id: Kategória - decidim_scope_id: Hatáskör + decidim_scope_id: Hatókör description: Leírás end_date: Befejezés dátuma progress: Folyamat @@ -94,7 +94,7 @@ hu: index: title: Állapotok new: - create: Státusz létrehozása + create: Állapot létrehozása title: Új állapot update: invalid: Probléma történt az állapot frissítésekor @@ -109,7 +109,7 @@ hu: title: Bejegyzés szerkesztése update: Bejegyzés frissítése index: - title: Projekt ütemtervének bejegyzései + title: Projekt idővonal bejegyzései new: create: Bejegyzés létrehozása title: Új bejegyzés @@ -170,7 +170,7 @@ hu: other: "%{count} találat" filters: all: Összes - scopes: Hatáskörök + scopes: Hatókörök home: categories_label: Kategóriák subcategories_label: Alkategóriák @@ -225,13 +225,13 @@ hu: accountability: proposal_linked: email_intro: 'A "%{proposal_title}" nevű javaslat szerepel az eredményben. Erről az oldalról érhető el:' - email_outro: Ezt az értesítést azért kaptad, mert követed a(z) "%{proposal_title}" nevű ajánlást. Az értesítéseket a következő linkre kattintva kapcsolhatod ki. + email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{proposal_title}". Az értesítéseket az előző linkre kattintva kapcsolhatod ki.' email_subject: A %{proposal_title} frissítve lett notification_title: 'A(z) %{proposal_title} javaslat szerepel ebben a(z) eredményben: %{resource_title}.' result_progress_updated: email_intro: 'A "%{resource_title}" eredmény, amely magában foglalja a "%{proposal_title}" javaslatot, most már %{progress}% -ban teljes. Láthatod ezt erről oldalról:' - email_outro: Ezt az értesítést azért kaptad, mert "%{proposal_title}" -t követed, és ez a javaslat szerepel a "%{resource_title}" eredményben. Leállíthatoa az értesítések fogadását követve az előző linket. - email_subject: '%{resource_title} frissítése' + email_outro: Ezt az értesítést azért kaptad, mert "%{proposal_title}" -t követed, és ez a javaslat szerepel a "%{resource_title}" eredményben. Leállíthatod az értesítések fogadását követve az előző linket. + email_subject: '%{resource_title} frissítése folyamatban' notification_title: Az eredmény %{resource_title}, amely magában foglalja a %{proposal_title}javaslatot, most %{progress}%-ban teljes. metrics: results: @@ -243,8 +243,8 @@ hu: see_all: Eredmények megtekintése (%{count}) resource_links: included_projects: - result_project: Ebben az eredményben szereplő projektek + result_project: Az eredményben szereplő projektek included_proposals: - result_proposal: Az eredménybe foglalt javaslatok + result_proposal: Ebben az eredményben szereplő javaslatok statistics: results_count: Találatok diff --git a/decidim-accountability/config/locales/lt.yml b/decidim-accountability/config/locales/lt.yml index eba4402b0fd33..1a4d6b169fb95 100644 --- a/decidim-accountability/config/locales/lt.yml +++ b/decidim-accountability/config/locales/lt.yml @@ -180,6 +180,8 @@ lt: subcategories_label: Subkategorijos home_header: global_status: Bendra vykdymo būsena + nav_breadcrumb: + global: Bendras vykdymas search: search: Ieškoti veiksmų show: diff --git a/decidim-accountability/config/locales/nl.yml b/decidim-accountability/config/locales/nl.yml index 0c5d29d0e29c9..3a5a07fcf0ae9 100644 --- a/decidim-accountability/config/locales/nl.yml +++ b/decidim-accountability/config/locales/nl.yml @@ -49,6 +49,7 @@ nl: import_results: new: import: Importeren + info: "

    Wij bevelen aan dat u de volgende stappen volgt:

    1. Maak de Statussen aan voor de Resultaten die u wilt toevoegen (link)
    2. Maak ten minste één Resultaat handmatig aan via dit Beheerderspaneel (link) voordat u Importeren gebruikt, zodat u een beter inzicht hebt in het formaat en wat u moet invullen.
    3. Download de Export in CSV-formaat (%{link_export_csv})
    4. Voer de wijzigingen lokaal door. U kunt alleen de volgende kolommen van de CSV wijzigen:
    • category/id: ID voor de Categorie
    • scope/id: ID voor het Toepassingsgebied
    • parent/id: ID van de hoofdwaarde (voor aanverwante resultaten). Facultatief
    • title/I18N: Titel in X taal
    • description/I18N: Beschrijving in X taal
    • start_date: datum waarop de uitvoering van het resultaat start (formaat JJJJ-MM-DD)
    • end_date: datum waarop de uitvoering van het resultaat eindigt (formaat JJJJ-MM-DD)
    • status/id: ID van de status voor dit resultaat
    • progress: Percentage (van 0 tot 100) van de uitvoering
    • proposals_ids: intern ID van de aanverwante voorstellen (gescheiden door een komma). Het wordt automatisch omgezet in proposal_url
    " link: link title: Importeer resultaten van CSV imports: diff --git a/decidim-accountability/config/locales/no.yml b/decidim-accountability/config/locales/no.yml index 458340e267d8f..23f0623e6c20b 100644 --- a/decidim-accountability/config/locales/no.yml +++ b/decidim-accountability/config/locales/no.yml @@ -61,10 +61,10 @@ status: name: Status timeline_entry: - name: Tidslinje oppføring + name: Oppføring i tidslinjen results: create: - invalid: Det oppsto et problem med å opprette dette resultatet + invalid: Det oppstod et problem med å opprette dette resultatet success: Resultat ble opprettet destroy: success: Resultat ble slettet diff --git a/decidim-admin/config/locales/fr.yml b/decidim-admin/config/locales/fr.yml index 24fb80aed9b21..e87f4a9b58ae4 100644 --- a/decidim-admin/config/locales/fr.yml +++ b/decidim-admin/config/locales/fr.yml @@ -210,21 +210,21 @@ fr: success: Le type de périmètre d'assemblée a été mis à jour avec succès areas: create: - error: Une erreur s'est produite lors de la création d'une nouvelle zone d'application. - success: Zone d'application créée avec succès. + error: Une erreur s'est produite lors de la création d'un nouveau périmètre d'assemblée. + success: Périmètre d'assemblée créé avec succès. destroy: - has_spaces: Des espaces dépendent de cette zone d'application. Veuillez vous assurer qu'aucun espace participatif n'est lié à cette zone avant de la supprimer. - success: La zone d'application a bien été supprimée + has_spaces: Des espaces dépendent de ce périmètre d'assemblée. Veuillez vous assurer qu'aucun espace participatif n'est lié à périmètre avant de la supprimer. + success: Le périmètre d'assemblée a bien été supprimé edit: - title: Modifier la zone d'application + title: Modifier le périmètre d'assemblée update: Mettre à jour new: - create: Créer une zone d'application - title: Nouvelle zone d'application - no_areas: Aucune zone d'application + create: Créer un périmètre d'assemblée + title: Nouveau périmètre d'assemblée + no_areas: Aucun périmètre d'assemblée update: - error: Une erreur s'est produite lors de la mise à jour de cette zone d'application. - success: Zone d'application mise à jour avec succès + error: Une erreur s'est produite lors de la mise à jour de ce périmètre d'assemblée. + success: Périmètre d'assemblée mise à jour avec succès attachment_collections: create: error: Une erreur s'est produite lors de la création d'un nouveau dossier. @@ -523,7 +523,7 @@ fr: admins: Administrateurs appearance: Apparence area_types: Types de périmètre d'assemblée - areas: Zones d'application + areas: Périmètres d'assemblée configuration: Configuration dashboard: Tableau de bord external_domain_whitelist: Domaines externes autorisés @@ -535,7 +535,7 @@ fr: participants: Participants reported_users: Utilisateurs signalés scope_types: Types de secteur - scopes: Périmètres d’application + scopes: Secteurs settings: Paramètres static_pages: Pages user_groups: Groupes d'utilisateurs @@ -942,7 +942,7 @@ fr: titles: admin_log: Journal d'administration area_types: Types de périmètre d'assemblée - areas: Zones d'application + areas: Périmètres d'assemblée authorization_workflows: Méthodes de vérification dashboard: Tableau de bord impersonatable_users: Utilisateurs pouvant être représentés @@ -951,7 +951,7 @@ fr: panel: Administrateur participants: Utilisateurs scope_types: Types de secteur - scopes: Périmètres d'application + scopes: Secteurs static_pages: Pages statistics: Activité user_groups: Groupes d'utilisateurs diff --git a/decidim-admin/config/locales/hu.yml b/decidim-admin/config/locales/hu.yml index e2f3d0b26bfb2..aab62a164ed27 100644 --- a/decidim-admin/config/locales/hu.yml +++ b/decidim-admin/config/locales/hu.yml @@ -26,11 +26,15 @@ hu: published_at: Publikálva weight: Rendelési pozíció id: ID + import: + user_group_id: Az importáltak létrehozása mint newsletter: body: Szöveg subject: Tárgy organization: + admin_terms_of_use_body: A szövegtörzse az admin felhasználási feltételeinek alert_color: Figyelmeztetés + available_authorizations: Elérhető authorizációk badges_enabled: Jelvények engedélyezése comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez) cta_button_path: Felhívás gomb elérési útvonala @@ -39,8 +43,12 @@ hu: default_locale: Alapértelmezett hely description: Leírás enable_omnipresent_banner: Mindenhol megjelenő banner mutatása + enable_participatory_space_filters: A részvételi terek szűrőjének engedélyezése facebook_handler: Facebook handler favicon: Ikon + force_authentication: Kényszerített authentikáció + force_users_to_authenticate_before_access_organization: A felhasználók authentikációjának kényszerítése mielőtt a szervezethez csatlakoznak + from: A küldő emailcíme github_handler: GitHub handler header_snippets: Fejléc részletek highlight_alternative_color: Kiemelés, alternatíva @@ -65,6 +73,9 @@ hu: omnipresent_banner_short_description: Rövid leírás omnipresent_banner_title: Cím omnipresent_banner_url: URL + organization_admin_email: A szervezet admin emailje + organization_admin_name: A szervezet admin neve + organization_locales: A szervezet helyi sajátossága primary_color: Elsődleges reference_prefix: Hivatkozási előtag rich_text_editor_in_public_views: A résztvevők számára a szövegszerkesztő felület engedélyezése @@ -76,6 +87,7 @@ hu: tos_version: Használati feltételek twitter_handler: Twitter handler user_groups_enabled: Csoportok engedélyezése + users_registration_mode: Felhasználói regisztrációs mód warning_color: Figyelmeztetés welcome_notification_body: Üdvözlő értesítés szövegtörzse welcome_notification_subject: Üdvözlő üzenet tárgya @@ -94,26 +106,38 @@ hu: settings: scope_id: Hatáskör static_page: + allow_public_access: Hozzáférés engedélyezése authentikáció nélkül changed_notably: Észrevehető változások történtek. content: Tartalom organization: Szervezet show_in_footer: Mutassa a láblécben slug: URL slug title: Cím + weight: Pozíció sorrend static_page_topic: description: Leírás show_in_footer: Mutassa a láblécben title: Cím + weight: Pozíció sorrend user_group_csv_verification: file: Fájl errors: models: + newsletter: + attributes: + base: + at_least_one_space: Válasszon legalább egy részvételi teret organization: attributes: official_img_footer: allowed_file_content_types: Érvénytelen képfájl official_img_header: allowed_file_content_types: Érvénytelen képfájl + new_import: + attributes: + file: + invalid_file: Nem érvényes fájl, ellenőrizze le, hogy helyesen van formázva a fájl + invalid_mime_type: Érvénytelen MIME típus activerecord: attributes: decidim/static_page: @@ -132,28 +156,41 @@ hu: admin: actions: add: Hozzáad + attachment: + new: Új csatolmány + attachment_collection: + new: Új melléklet gyűjtemény browse: Böngészés category: new: Új kategória export: Összes exportálása + export-selection: Kiválasztottak exportálása import: Import manage: Kezelés new: Új %{name} newsletter: new: Új hírlevél + participatory_space_private_user: + new: Új privát felhasználó a részvételi térben per_page: Oldalanként permissions: Engedélyek reject: Elutasít + share: Megosztás + user: + new: Új felhasználó verify: Ellenőrzés admin_terms_of_use: accept: error: Hiba történt az adminra vonatkozó általános szerződési feltételek elfogadása során. success: Nagyszerű! Elfogadtad az admin felhasználási feltételeket. actions: + accept: Elfogadom a következő feltételeket + are_you_sure: Biztosan visszautasítod az adminokra vonatkozó feltételek elfogadását? refuse: Admin feltételek elutasítása title: Elfogadom a felhasználási feltételeket required_review: alert: 'Szükséges: az admin felhasználási feltételek áttekintése' + callout: Kérünk nézz rá az adminokra vonatkozó felhasználási feltételekre. Máskülönben nem fogod tudni adminisztrálni a platformot. cta: Áttekintés most. title: Admin felhasználási feltételek area_types: @@ -176,6 +213,7 @@ hu: error: Hiba történt az új terület létrehozásakor. success: Terület létrehozása sikeres. destroy: + has_spaces: Ez a terület mással összefüggő terekkel rendelkezik. Kérjük, győződjön meg róla, hogy egyetlen Részvételi tér sem hivatkozik erre a területre, mielőtt törölné. success: Terület eltávolítása sikeres edit: title: Terület szerkesztése @@ -225,6 +263,12 @@ hu: autocomplete: no_results: Nincs találat search_prompt: Legalább három karakter szükséges a kereséshez + block_user: + new: + action: Fiók blokkolása és igazolás küldése + description: Egy felhasználó letiltása használhatatlanná teszi a fiókját. Az indoklásban megadhat bármilyen iránymutatást arra vonatkozóan, hogy miként lehetne feloldani a felhasználó blokkolását. + justification: Indoklás + title: '%{name} felhasználó blokkolása' categories: create: error: Hiba történt a kategória létrehozása során. @@ -267,6 +311,7 @@ hu: headers: actions: Műveletek name: Elem neve + scope: Komponens hatóköre type: Elem típusa new: add: Elem hozzáadása @@ -284,11 +329,13 @@ hu: 'false': 'Nincs' managed_user_name: Kezelt felhasználó solved: Megoldva + title: Ellenőrzési konfliktusok transfer: email: Email error: Hiba történt a jelenlegi résztvevő kezelt résztvevővé transzferálása során. name: Név reason: Ok + success: Az átvitel sikeresen befejezve. title: Átvezetés 'true': 'Igen' user_name: Felhasználó @@ -296,6 +343,12 @@ hu: show: view_more_logs: További naplók megtekintése welcome: Üdvözöljük a Decidim Admin Panelben. + domain_whitelist: + form: + domain_too_short: Túl rövid domain + update: + error: Nem lehetett frissíteni a domain whitelistet + success: A domain whiteliste sikeresen frissítésre került exports: export_as: "%{name} mint %{export_format}" formats: @@ -309,6 +362,7 @@ hu: label: Kategória filter_label: Szűrés invitation_accepted_at_present: + label: Meghívás elfogadva values: 'false': 'Nem' 'true': 'Igen' @@ -317,6 +371,13 @@ hu: values: 'false': 'Nincs' 'true': 'Igen' + moderated_users: + reports_reason_eq: + label: A jelentés oka + values: + does_not_belong: Nem tartozik hozzá + offensive: Offenzív + spam: Spam moderations: reportable_type_string_eq: label: Típus @@ -333,6 +394,9 @@ hu: 'true': Elfogadva user_invitation_sent_at_not_null: label: Meghívó kiküldve + values: + 'false': Nincs elküldve + 'true': Elküldve private_space_eq: label: Magán values: @@ -348,9 +412,24 @@ hu: search_label: Keresés search_placeholder: name_or_nickname_or_email_cont: Keresés %{collection} email, név vagy becenév alapján. + report_count_eq: Jelentések száma + reported_id_string_or_reported_content_cont: Keresés %{gyűjtemény} a jelentendő azonosító vagy tartalom alapján. title_cont: Keresés %{collection} cím alapján. + user_name_or_user_email_cont: Keresés itt %{collection} néva vagy emailcím alapján. + user_name_or_user_nickname_or_user_email_cont: Keresés %{collection} email, név vagy becenév alapján. state_eq: label: Állapot + values: + all: Összes + pending: Függőben levő + rejected: Elutasított + verified: Ellenőrizve + forms: + file_help: + import: + explanation: 'Útmutató a fájlhoz:' + message_1: A CSV, JSON és Excel (.xls) fájlok támogatottak + message_2: CSV fájlok esetén az oszlopok közötti elválasztójelnek pontosvesszőnek (";") kell lennie help_sections: error: Hiba történt a súgószakaszok frissítésekor form: @@ -390,6 +469,21 @@ hu: impersonate_existing_user: '"%{name}" felhasználó kezelése' impersonate_new_managed_user: Új résztvevő kezelése imports: + and: és + data_errors: + duplicate_headers: + detail: Kérjük, csak egyszer ellenőrizze, hogy a fájl tartalmazza-e a szükséges oszlopokat vagy fejléceket. + message: + one: Oszlop megkettőzése %{columns}. + other: '%{columns} Oszlopok megkettőzése.' + invalid_indexes: + lines: + detail: Ellenőrizze a sorok helyes formázását, valamint hogy érvényes rekordokat tartalmaznak. + records: + detail: Ellenőrizze a sorok helyes formázását, valamint hogy érvényes rekordokat tartalmaznak. + missing_headers: + detail: Kérjük, ellenőrizze, hogy a fájl tartalmazza-e a szükséges oszlopokat. + error: Hiba történt az importálás során new: accepted_mime_types: csv: csv @@ -397,7 +491,10 @@ hu: xlsx: xlsx actions: back: Vissza + download_example: Példa letöltése + download_example_format: Példa mint %{name} import: Import + notice: "%{count} %{resource_name} sikeresen importálva" logs: logs_list: no_logs_yet: Még nincsenek naplók @@ -418,11 +515,14 @@ hu: areas: Területek configuration: Beállítások dashboard: Vezérlőpult + external_domain_whitelist: Engedélyezett külső domainek help_sections: Súgó szakaszok homepage: Homepage impersonations: Felhatalmazások + moderation: Globális moderációk newsletters: Hírlevelek participants: Résztvevők + reported_users: Jelentett felhasználók scope_types: Hatáskör típusok scopes: Hatáskörök settings: Beállítások @@ -478,6 +578,14 @@ hu: fields: name: Név plural: Plurális + share_token: + fields: + created_at: Létrehozva + expires_at: Lejárat ekkor + last_used_at: Utoljára használva + times_used: Ennyiszer volt használva + token: Token + user: Létrehozta static_page: fields: created_at: 'Létrehozva:' @@ -502,6 +610,26 @@ hu: phone: Telefon state: Állapot users_count: Résztvevők száma + moderated_users: + index: + actions: + block: Felhasználó tiltása + title: Műveletek + unblock: Felhasználó feloldása + unreport: Jelentés visszavonása + name: Név + nickname: Felhasználónév + reason: Indok + reports: Jelentések száma + title: Jelentett felhasználók listája + report: + reasons: + does_not_belong: Nem tartozik hozzá + offensive: Offenzív + spam: Spam + tabs: + blocked: Letiltva + unblocked: Nincs letiltva moderations: index: title: Moderálás @@ -536,6 +664,7 @@ hu: newsletters: create: error: Hiba történt a hírlevél létrehozása során. + success: A hírlevél létrehozása sikeres. Kérjük, ellenőrizze a hírlevelet, mielőtt elküldené. deliver: error: Hiba történt a hírlevél kézbesítése során. success: Hírlevél kézbesítése sikeres. @@ -618,12 +747,15 @@ hu: title: '"%{name}" hivatalossá tétele' show_email_modal: close_modal: Ablak bezárás + description: Ha közvetlenül kapcsolatba kell lépnie egy résztvevővel, akkor kattintson a Megjelenítés gombra az e-mail cím megtekintéséhez. Ez a művelet naplózásra kerül. email_address: E-mail cím full_name: Teljes név hidden: rejtett show: Megjelenítés + title: A résztvevő e-mail címének megjelenítése unblock: error: Hiba történt a résztvevő feloldásának feloldása során + success: Sikeresen feloldotta a résztvevő tiltását organization: edit: title: Szervezet szerkesztése @@ -635,6 +767,7 @@ hu: rich_text_editor_in_public_views_help: Néhány szövegmezőbe, a résztvevők HTML tag-eket tudnak majd beilleszteni a szövegszerkesztő segítségével. social_handlers: Social twitter: Twitter + url: URL youtube: Youtube update: error: Hiba történt a szervezet frissítése során. @@ -645,6 +778,7 @@ hu: form: colors: colors_title: Szervezet színei + colors_warning_html: Óvatosan! A színek megváltoztatása megtörik az akadálymentes kontrasztokat. Ellenőrizheti a kontrasztot a WebAIM Contrast Checker vagy más, hasonló eszköz segítségével. header_snippets_help: Ebben a mezőben a HTML fejlécet szerkesztheted. Ennek akkor van jelentősége, ha olyan külső szolgáltatásokat szeretnél intergálni, amelyekhez JavaScript vagy CSS szükséges. Sőt, metacímkéket is hozzáadhatsz. Ez az adminban nem, csak a nyilvános oldalakon jelenik majd meg. cta_button_path_help: 'Felülírhatod, hogy a kezdőlap felhívás gombja link hova mutasson. Részleges, ne pedig teljes URL címeket használj. A megengedett karakterek: betű, szám, kötőjel vagy perjel, de mindig betűvel kell kezdődnie. A felhívás gomb az üdvözlő szöveg és a leírás között jelenik meg a nyitólapon. Példa: %{url}' cta_button_text_help: A felhívás gomb szövegét a szervezethez tartozó minden egyes nyelven megjelenítheted. Amennyiben nincs beállítva, akkor akkor az alapértelmezett értéket fogja használni. A felhívás gomb az üdvözlő szöveg és a leírás között jelenik meg a nyitólapon. @@ -654,6 +788,17 @@ hu: layout_appearance_title: Elrendezés szerkesztése preview: Előnézet omnipresent_banner_appearance_title: Mindenhol megjelenő banner szerkesztése + organization_external_domain_whitelist: + edit: + update: Frissítés + external_domain: + down: Le + external_domain: Külső domain + remove: Eltávolítás + up: Fel + form: + add: Hozzáadás a kivétellistához + title: Külső domain kivétellista organization_homepage: edit: active_content_blocks: Aktív tartalomblokkok @@ -669,6 +814,7 @@ hu: error: Hiba történt egy privát felhasználó törlésével a részvételi helyen. success: Privát felhasználó részvételi helyhez való hozzáférése törölve. index: + import_via_csv: Importálás CSV -ből title: Részvételi tér privát felhasználója new: create: Létrehozás @@ -678,6 +824,7 @@ hu: invalid: Hiba történt a CSV fájl olvasásakor. success: A CSV-fájl sikeresen feltöltődött, meghívó e-mailt küldünk a résztvevőknek. Ez eltarthat egy ideig. new: + explanation: 'Töltse fel a CSV-fájlt. Két oszlopnak kell lennie, e-mail címmel a fájl első oszlopában, és a fájl utolsó oszlopában (e-mail, név) azoknak a felhasználóknak az adataival, akiket fel akar venni a részvételi térbe, fejlécek nélkül. Kerülje az olyan érvénytelen karakterek használatát, mint a `<>?%&^*#@()[]=+:;"{}\|` a felhasználónévben.' title: Töltse fel a CSV fájlod upload: Feltölt resource_permissions: @@ -686,6 +833,10 @@ hu: title: Engedélyek szerkesztése update: success: Engedélyek frissítése sikeres. + resources: + index: + headers: + scope: Hatókör scope_types: create: error: Hiba történt az új hatáskör-típus létrehozásakor. @@ -717,6 +868,18 @@ hu: update: error: Hiba történt a hatáskör frissítése során. success: Hatáskör frissítése sikeres + share_tokens: + actions: + confirm_destroy: Biztosan törlöd ezt a tokent? + destroy: Törlés + share: Megosztás + destroy: + error: Hiba történt a token törlése során. + success: A token törlése sikeres. + share_tokens: + empty: Nincs aktív token + help: Ezeket a tokeneket arra használják, hogy ezt a nem közzétett erőforrást nyilvánosan megosszák valamely felhasználóval. Az erőforrás közzétételekor elrejtésre kerülnek. Kattintson a token megosztási ikonjára a megosztható URL-cím megtekintéséhez. + title: Tokenek megosztása shared: gallery: add_images: Képek hozzáadása @@ -774,6 +937,7 @@ hu: impersonatable_users: Kezelhető résztvevők impersonations: Résztvevők kezelése metrics: Mérőszámok + panel: Admin participants: Résztvevők scope_types: Hatáskör típusok scopes: Hatáskörök @@ -826,7 +990,17 @@ hu: no_users_count_statistics_yet: Nincsenek felhasználói statisztikák még participants: Résztvevők view_public_page: Nyilvános oldal megtekintése + forms: + errors: + impersonate_user: + reason: Indokolnod kell a nem menedzselt résztvevők kezelését metrics: + blocked_users: + object: Letiltott felhasználók + title: Letiltott felhasználók + reported_users: + object: Jelentett felhasználók + title: Jelentett felhasználók user_reports: object: felhasználói jelentések title: Felhasználói jelentések @@ -857,6 +1031,7 @@ hu: hidden_at: 'Rejtett itt:' participatory_space: Részvételi tér report_count: Számol + reportable_id: ID reportable_type: Típus reported_content_url: Jelentett URL tartalom reports: Jelentések diff --git a/decidim-admin/config/locales/lt.yml b/decidim-admin/config/locales/lt.yml index 03204d2c07ad9..d4f9f861aa046 100644 --- a/decidim-admin/config/locales/lt.yml +++ b/decidim-admin/config/locales/lt.yml @@ -8,7 +8,56 @@ lt: area_type: name: Vardas organization: Organizacija + plural: Pluralistinis + attachment: + attachment_collection_id: Aplankas + description: Aprašymas + file: Rinkmena + title: Priedo arba paveikslėlio pavadinimas + attachment_collection: + description: Aprašymas + name: Pavadinimas + category: + description: Aprašymas + name: Pavadinimas + parent_id: Motininis + component: + name: Pavadinimas + published_at: Paskelbta + weight: Vieta eilėje + id: ID + import: + user_group_id: Sukurti importus kaip + newsletter: + body: Pagrindinė dalis + subject: Tema organization: + admin_terms_of_use_body: Vieta administratorių naudotojų sąlygoms + alert_color: Įspėjimas + available_authorizations: Leidžiamos autorizacijos + badges_enabled: Aktyvinti ženklelius + comments_max_length: Maksimalus komentarų ilgis (numatytoji vertė – 0) + cta_button_path: Mygtuko „Raginti imtis veiksmų“ kelias + cta_button_text: Mygtuko „Raginti imtis veiksmų“ tekstas + customize_welcome_notification: Individualizuoti pasisveikinimo pranešimą + default_locale: Numatytoji lokalė + description: Aprašymas + enable_omnipresent_banner: Rodyti visur naudojamą reklamjuostę + enable_participatory_space_filters: Leisti dalyvaujamosios erdvės filtrus + facebook_handler: '„Facebook“ tvarkyklė' + favicon: Piktograma + force_authentication: Priversti autentifikuotis + force_users_to_authenticate_before_access_organization: Priversti naudotojus autentifikuotis prieš gaunant prieigą prie organizacijos + from: Siuntėjo elektroninis paštas + github_handler: '„GitHub“ tvarkyklė' + header_snippets: Antraštės fragmentai + highlight_alternative_color: Paryškinti, alternatyva + highlight_color: Paryškinimai + highlighted_content_banner_action_subtitle: Veiksmo mygtuko paantraštė + highlighted_content_banner_action_title: Veiksmo mygtuko pavadinimas + highlighted_content_banner_action_url: Veiksmo mygtuko URL + highlighted_content_banner_enabled: Rodyti paryškintą turinio reklamjuostę + highlighted_content_banner_image: Paveikslėlis highlighted_content_banner_short_description: Trumpas aprašymas highlighted_content_banner_title: Pavadinimas host: Šeimininkas @@ -63,9 +112,128 @@ lt: organization: Organizacija show_in_footer: Rodyti poraštėje slug: URL laukas + title: Pavadinimas + weight: Vieta eilėje + static_page_topic: + description: Aprašymas + show_in_footer: Rodyti poraštėje + title: Pavadinimas + weight: Vieta eilėje + user_group_csv_verification: + file: Rinkmena + errors: + models: + newsletter: + attributes: + base: + at_least_one_space: Pasirinkite bent vieną dalyvavujamąją erdvę + organization: + attributes: + official_img_footer: + allowed_file_content_types: Netinkama vaizdo rinkmena + official_img_header: + allowed_file_content_types: Netinkama vaizdo rinkmena + new_import: + attributes: + file: + invalid_file: Pateiktas nevalidus dokumentas, prašau patikrinkite ar dokumentas teisingai suformatuotas + invalid_mime_type: Nevalidus mimo tipas + activerecord: + attributes: + decidim/static_page: + content: Turinys + slug: URL laukas + title: Pavadinimas + doorkeeper/application: + authorize_url: Leisti URL + client_id: Kliento ID + client_secret: Kliento Raktas + organization_name: Organizacijos pavadinimas + organization_url: Organizacijos URL + redirect_uri: Peradresavimo URI + site: Tinklalapis decidim: admin: + actions: + add: Pridėti + attachment: + new: Naujas priedas + attachment_collection: + new: Nauja priedų kolekcija + browse: Naršyti + category: + new: Nauja kategorija + export: Eksportuoti viską + export-selection: Eksportuoti pasirinktą + import: Importuoti + manage: Valdyti + new: Naujas %{name} + newsletter: + new: Naujas naujienlaiškis + participatory_space_private_user: + new: Naujas dalyvaujamosios erdvės privatus naudotojas + per_page: Per puslapį + permissions: Leidimai + reject: Atmesti + share: Dalintis + user: + new: Naujas naudotojas + verify: Patikrinti + admin_terms_of_use: + accept: + error: Sutinkant su administratoriaus naudojimosi sąlygomis įvyko klaida. + success: Puiku! Jūs sutikote su administratoriaus naudojimosi sąlygomis. + actions: + accept: Sutinku su šiomis nuostatomis + are_you_sure: Ar tikrai norite nesutikti su administratoriaus naudojimosi sąlygomis? + refuse: Nesutikti su administratoriaus nustatytomis sąlygomis + title: Sutikti su naudojimosi sąlygomis + required_review: + alert: 'Reikalavimas: peržiūrėkite mūsų administratoriaus nustatytas naudojimosi sąlygas' + callout: Kviečiame peržiūrėti administratoriaus nustatytas naudojimosi sąlygas. Priešingu atveju šios platformos administruoti negalėsite. + cta: Peržiūrėkite jas dabar. + title: Administratoriaus nustatytos naudojimosi sąlygos + area_types: + create: + error: Kuriant naujos erdvės tipą iškilo problema. + success: Vietovės tipas sėkmingai sukurtas. + destroy: + success: Vietovės tipas sėkmingai panaikintas + edit: + title: Keisti erdvės tipą + update: Atnaujinti + new: + create: Sukurti erdvės tipą + title: Naujas erdvės tipas + update: + error: Iškilo problema atnaujinant šį erdvės tipą. + success: Erdvės tipas atnaujintas sėkmingai + areas: + create: + error: Iškilo problema kuriant naują erdvę. + success: Erdvė sukurta sėkmingai. + destroy: + has_spaces: Ši aplinka turi priklausomų erdvių. Prašau įsitikinkite, kad jokia Dalyvaujamoji Erdvė nesujungta su šia aplinka prieš ją ištrinant. + success: Aplinka sėkmingai panaikinta + edit: + title: Taisyti aplinką + update: Atnaujinti + new: + create: Sukurti aplinką + title: Nauja aplinka + no_areas: Nėra aplinkų + update: + error: Kilo problema atnaujinant šią aplinką. + success: Aplinka atnaujinta sėkmingai attachment_collections: + create: + error: Kuriant naują aplanką iškilo problema. + success: Aplankas sėkmingai sukurtas. + destroy: + success: Aplankas sėkmingai panaikintas. + edit: + title: Redaguoti aplanką + update: Atnaujinti index: attachment_collection_used: Šio aplanko negalima pašalinti, nes jis naudojamas. attachment_collections_title: Priedų aplankai @@ -100,3 +268,809 @@ lt: action: Užblokuoti paskyrą ir išsiųsti paaiškinimą description: Naudotojo užblokavimas pavers paskyrą nenaudojama. Rekomenduojame paaiškinime pasidalinti būdais kaip naudotojas gali būti atblokuotas. justification: Paaiškinimas + title: Blokuoti naudotoją %{name} + categories: + create: + error: Kuriant šią kategoriją iškilo problema. + success: Kategorija sėkmingai sukurta. + destroy: + error: Šalinant šią kategoriją iškilo problema. Pirmiausia pašalinkite bet kurią pakategorę, įsitikinkite, kad joks kitas subjektas nesusietas su šia kategorija, ir bandykite dar kartą. + success: Kategorija sėkmingai pašalinta. + edit: + title: Redaguoti kategoriją + update: Atnaujinti + index: + categories_title: Kategorijos + category_used: Šios kategorijos negalima pašalinti, nes ji naudojama. + new: + create: Sukurti kategoriją + title: Nauja kategorija + update: + error: Atnaujinant šią kategoriją iškilo problema. + success: Kategorija sėkmingai atnaujinta. + component_permissions: + update: + error: Atnaujinant šio komponento leidimus iškilo problema. + success: Leidimai atnaujinti. + components: + create: + error: Kuriant šį komponentą iškilo problema. + success: Komponentas sukurtas. + destroy: + error: Naikinant šį komponentą iškilo problema. + success: Komponentas pašalintas. + edit: + title: Redaguoti komponentą + update: Atnaujinti + form: + default_step_settings: Numatyti žingsnių nustatymai + global_settings: Bendrieji nustatymai + step_settings: Žingsnio nustatymai + index: + add: Pridėti komponentą + headers: + actions: Veiksmai + name: Komponento pavadinimas + scope: Komponento apimtis + type: Komponento tipas + new: + add: Pridėti komponentą + title: 'Pridėti komponentą: %{name}' + publish: + success: Komponentas sėkmingai publikuotas. + title: Komponentai + unpublish: + success: Komponentas nebe publikuojamas. + update: + error: Atnaujinant šį komponentą iškilo problema. + success: Komponentas atnaujintas sėkmingai. + conflicts: + attempts: Bandymai + 'false': 'Ne' + managed_user_name: Tvarkomas Dalyvis + solved: Išspręsta + title: Patikros konfliktai + transfer: + email: El. paštas + error: Iškilo problema perkeliant dabartinį dalyvį į tvarkomą dalyvį. + name: Vardas + reason: Priežastis + success: Perkėlimas sėkmingai baigtas. + title: Perkelti + 'true': 'Taip' + user_name: Naudotojas + dashboard: + show: + view_more_logs: Peržiūrėti daugiau ataskaitų + welcome: '„Decidim“ administratoriaus sritis.' + domain_whitelist: + form: + domain_too_short: Domenas per trumpas + update: + error: Nepavyko įkelti domenų baltojo sąrašo ("whitelist") + success: Domenų baltasis sąrašas atnaujintas sėkmingai + exports: + export_as: "%{name} kaip %{export_format}" + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON + notice: Jūsų rinkmena šiuo metu eksportuojama. Kai eksportas bus baigtas, gausite el. laišką. + filters: + category_id_eq: + label: Kategorija + filter_label: Filtras + invitation_accepted_at_present: + label: Pakvietimas priimtas + values: + 'false': 'Ne' + 'true': 'Taip' + last_sign_in_at_present: + label: Ar yra prisijungę + values: + 'false': 'Ne' + 'true': 'Taip' + moderated_users: + reports_reason_eq: + label: Raporto priežastis + values: + does_not_belong: Nepriklauso + offensive: Įžeidžiamas turinys + spam: Šlamštas + moderations: + reportable_type_string_eq: + label: Tipas + officialized_at_null: + label: Būsena + values: + 'false': Oficializuota + 'true': Neoficializuota + participatory_space_private_users: + user_invitation_accepted_at_not_null: + label: Pakvietimas priimtas + values: + 'false': Nepriimtas + 'true': Priimtas + user_invitation_sent_at_not_null: + label: Pakvietimas išsiųstas + values: + 'false': Neišsiųstas + 'true': Išsiųstas + private_space_eq: + label: Privatus + values: + 'false': Viešas + 'true': Privatus + published_at_null: + label: Publikuota + values: + 'false': Publikuota + 'true': Nebeskelbiama + scope_id_eq: + label: Apimtis + search_label: Ieškoti + search_placeholder: + name_or_nickname_or_email_cont: Ieškoti %{collection} pagal el. pašto adresą, vardą ir pavardę arba naudotojo vardą. + report_count_eq: Raportuoti skaičių + reported_id_string_or_reported_content_cont: Ieškoti %{collection} pagal ID arba turinį. + title_cont: Ieškoti %{collection} pagal pavadinimą. + user_name_or_user_email_cont: Ieškoti %{collection} pagal vardą ar el. paštą. + user_name_or_user_nickname_or_user_email_cont: Ieškoti %{collection} pagal el. pašto adresą, vardą arba naudotojo vardą. + state_eq: + label: Būsena + values: + all: Visi + pending: Laukiama + rejected: Atmesta + verified: Patvirtinta + forms: + file_help: + import: + explanation: 'Rinkmenai skirtos gairės:' + message_1: CSV, JSON ir Excel (.xlsx) rinkmenos palaikomos + message_2: CSV dokumentams, skiriklis tarp stulpelių turėtų būti kabliataškis ";" + help_sections: + error: Atnaujinant pagalbos skyrių iškilo problema + form: + save: Išsaugoti + success: Pagalbos skyreliai atnaujinti + impersonatable_users: + index: + filter: + all: Visi + managed: Valdomas + not_managed: Nevaldomas + filter_by: Filtruoti pagal + impersonate: Apsimesti + impersonate_new_managed_user: Tvarkyti naujo dalyvio duomenis + managed: Valdomas + name: Vardas + needs_authorization_warning: Jums reikia bent vienos autorizacijos įgalintos šiai organizacijai. + not_managed: Netvarkoma + promote: Reklamuoti + search: Ieškoti + status: Būsena + view_logs: Peržiūrėti įvykių ataskaitą + impersonations: + close_session: + error: Iškilo problema uždarant dabartinę nadotojų tvarkymo sesiją. + success: Laikino naudotojo perėmimo sesija baigėsi. + create: + error: Tvarkant naudotojo duomenis iškilo problema. + success: Dalyvis, kurio duomenys tvarkomi, buvo sukurtas. + form: + authorization_method: Autorizacijos metodas + name: Vardas + reason: Priežastis + new: + impersonate: Naudoti pakaitinę tapatybę + impersonate_existing_managed_user: Tvarkyti dalyvį "%{name}" + impersonate_existing_user: Tvarkyti dalyvį "%{name}" + impersonate_new_managed_user: Tvarkyti naują naudotoją + imports: + and: ir + data_errors: + duplicate_headers: + detail: Prašau patikrinkit ar dokumentas turi vieną viršutinę dalį (angl. header) arba vienus stulpelius (angl. columns). + message: + one: Dublikuoti stulpelį %{columns}. + few: Dublikuoti stulpelius %{columns}. + many: Dublikuoti stulpelius %{columns}. + other: Dublikuoti stulpelius %{columns}. + invalid_indexes: + lines: + detail: Prašau patikrinkit ar šios eilutės suformatuotos teisingai ir turi teisingus įrašus. + message: + one: Importuoto dokumento %{indexes} eilutėje rasta klaida. + few: Importuoto dokumento %{indexes} eilutėje rastos klaidos. + many: Importuoto dokumento %{indexes} eilutėje rastos klaidos. + other: Importuoto dokumento %{indexes} eilutėje rastos klaidos. + records: + detail: Prašau patikrinkit ar šie įrašai suformatuoti teisingai ir turi teisingus įrašus. + message: + one: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}. + few: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}. + many: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}. + other: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}. + missing_headers: + detail: Prašau patikrinkit ar dokumentas turi būtinus stulpelius. + message: + one: Trūksta stulpelio %{columns}. + few: Trūksta stulpelių %{columns}. + many: Trūksta stulpelių %{columns}. + other: Trūksta stulpelių %{columns}. + error: Importuojant iškilo problema + example_error: Nepavyko sukurti pavyzdžio duotajam tipui + new: + accepted_mime_types: + csv: CSV + json: JSON + xlsx: Excel (.xlsx) + actions: + back: Grįžti + download_example: Atsisiųsti pavyzdį + download_example_format: Pavyzdys kaip %{name} + file_legend: Pridėkite importo failą, kuris bus analizuojamas. + import: Importuoti + notice: "%{count} %{resource_name} sėkmingai importuotas" + logs: + logs_list: + no_logs_yet: Dar nėra įrašų + managed_users: + promotion: + error: Įvyko problema paaukštinant tvarkomą naudotoją. + success: Tvarkomas naudotojas buvo sėkmingai paaukštintas. + promotions: + new: + explanation: Tvarkomi dalyviai gali būti paaukštinti į standartinius dalyvius. Tai reiškia, kad jie bus pakviesti į platformą ir nebegalėsite jų tvarkyti. Pakviesti naudotojai gaus kvietimą prisijungti el. paštu. + new_managed_user_promotion: Naujas tvarkomo naudotojo paaukštinimas + promote: Paaukštinti + menu: + admin_log: Administratoriaus veiklos žurnalas + admins: Administratoriai + appearance: Išvaizda + area_types: Erdvės tipas + areas: Erdvės + configuration: Konfigūracija + dashboard: Švieslentė + external_domain_whitelist: Leistini išoriniai domenai + help_sections: Pagalbos skyrius + homepage: Pradinis puslapis + impersonations: Įsikūnyjimai + moderation: Globalūs moderavimai + newsletters: Naujienlaiškiai + participants: Dalyviai + reported_users: Raportuoti Naudotojai + scope_types: Apimties tipai + scopes: Apimtys + settings: Nustatymai + static_pages: Puslapiai + user_groups: Grupės + users: Dalyviai + metrics: + metrics: + see_more_metrics: Žiūrėti daugiau rodiklių + models: + area: + fields: + area_type: Erdvės tipas + name: Pavadinimas + area_type: + fields: + name: Pavadinimas + plural: Pluralistinis + attachment: + fields: + collection: Aplankas + content_type: Tipas + file_size: Dydis + title: Pavadinimas + name: Priedas + attachment_collection: + name: Aplankas + category: + name: Kategorija + impersonation_log: + fields: + admin: Administratorius + ended_at: Baigėsi + expired_at: Baigė galioti + reason: Priežastis + started_at: Prasidėjo + user: Dalyvis + newsletter: + fields: + created_at: Sukurta + progress: Progresas + sent_at: Išsiųsta + sent_to: Išsiųsta + subject: Tema + name: Naujienlaiškis + participatory_space_private_user: + name: Dalivaujamosios erdvės privatus dalyvis + scope: + fields: + name: Vardas + scope_type: Apimties tipas + scope_type: + fields: + name: Vardas + plural: Pluralistinis + share_token: + fields: + created_at: Sukurta + expires_at: Nustoja galioti + last_used_at: Paskutinį kartą naudota + times_used: Kiek kartų naudota + token: Žetonas + user: Sukūrė + static_page: + fields: + created_at: Sukurta + title: Pavadinimas + user: + fields: + created_at: Sukūrimo data + email: El. paštas + last_sign_in_at: Paskutinio prisijungimo data + name: Pavadinimas + role: Rolė + roles: + admin: Administratorius + user_manager: Dalyvių tvarkytojas + name: Dalyvis + user_group: + fields: + actions: Veiksmai + created_at: Sukurta + document_number: Dokumento numeris + name: Vardas + phone: Telefonas + state: Būsena + users_count: Dalyvių skaičius + moderated_users: + index: + actions: + block: Blokuoti naudotoją + title: Veiksmai + unblock: Atblokuoti naudotoją + unreport: Naikinti raportavimą + name: Vardas + nickname: Slapyvardis + reason: Priežastis + reports: Raportavimų skaičius + title: Raportuotų dalyvių sąrašas + report: + reasons: + does_not_belong: Nepriklauso + offensive: Įžeidžiamas turinys + spam: Šlamštas + tabs: + blocked: Užblokuota + unblocked: Neužblokuota + moderations: + index: + title: Moderavimai + report: + reasons: + does_not_belong: Nepriklauso + offensive: Įžeidžiantis + spam: Šlamštas + reports: + index: + author: Autorius(iai) + callout_html: Turinys atsiranda moderavimo puslapyje kai jis būna raportuotuotas registruoto naudotojo paspaudus ant %{icon} vėliavėlės prie turinio vieneto. + content_original_language: Turinio originali kalba + participatory_space: Dalyvaujamoji erdvė + reported_content: Turinys, apie kurį pranešta + see_current: Žiūrėti dabartinį + see_original: Matyti orginalą + title: Moderavimo raportai + show: + report_details: Priežasties detalės + report_language: Raportuoti kalbą + report_reason: Priežastis + title: Raportuoti detales + newsletter_templates: + index: + preview_template: Peržiūra + title: Naujienlaiškio šablonai + use_template: Naudoti šį šabloną + show: + preview: 'Peržiūrėti šabloną: %{template_name}' + use_template: Naudoti šį šabloną + newsletters: + create: + error: Kuriant šį naujienlaiškį iškilo problema. + success: Naujienlaiškis sukurtas. Peržiūrėkite jį prieš išsiųsdami. + deliver: + error: Siunčiant šį naujienlaiškį iškilo problema. + success: Naujienlaiškis išsiųstas. + destroy: + error_already_sent: 'Naujienlaiškio negalima panaikinti. Jis jau išsiųstas.' + success: Naujienlaiškis panaikintas. + edit: + save_and_preview: Išsaugoti ir peržiūrėti + title: Redaguoti naujienlaiškį + index: + all: visi + all_users: 'Visi naudotojai ' + and: 'ir ' + confirm_delete: Ar tikrai norite ištrinti šį naujienlaiškį? + followers: 'sekėjai ' + has_been_sent_to: 'Buvo išsiųsta: ' + no_scopes: Sričių nėra + not_sent: Neišsiųstas + participants: 'dalyviai ' + segmented_to: 'Išskaidyta į %{subject}: ' + subscribed_count: 'Prenumeruojama:' + title: Naujienlaiškiai + new: + save: Išsaugoti + title: Naujas naujienlaiškis + select_recipients_to_deliver: + all_spaces: Visi + all_users_help: Naujienlaiškis išsiunčiamas visiems patvirtintiems naudotojams. + confirm_deliver: Ar tikrai norite išsiųsti šį naujienlaiškį? Šio veiksmo atšaukti negalima. + deliver: Pristatyti naujienlaiškį + followers_help: Naujienlaiškis išsiunčiamas visiems patvirtintiems naudotojams, kurie seka sąraše nurodytas pasirinktas dalyvaujamojo proceso erdves. + none: Nėra + participants_help: Naujienlaiškis išsiunčiamas visiems patvirtintiems naudotojams, kurie dalyvavo bet kurioje sąraše nurodytoje pasirinktoje dalyvaujamojo proceso erdvėje. + recipients_count: Šis naujienlaiškis bus išsiųstas %{count} naudotojams. + scopes_help: Naujienlaiškis siunčiamas naudotojams, kurių paskyros „Mano interesai“ nuostatose aktyvuota kuri nors pasirinkta sritis. + select_scopes: Filtruoti naudotojus, kurie savo paskyros „Mano interesai“ nuostatose aktyvino bet kurią pasirinktą sritį. + select_spaces: Pasirinkite naujienlaiškio segmentacijos vietas + select_users: Pasirinkite, kuriems naudotojams norite siųsti naujienlaiškį + send_to_all_users: Siųsti visiems naudotojams + send_to_followers: Siųsti sekėjams + send_to_participants: Siųsti dalyviams + title: Pasirinkti gavėjus, kuriems išsiųsti + warning: "Dėmesio: Šis naujienlaiškis bus išsiųstas tik tiems dalyviams, kurie savo pranešimų nuostatose aktyvino „noriu gauti naujienlaiškius“." + send: + no_recipients: Niekas nepasirinko gauti pasirinktos srities informacijos + show: + preview: Peržiūra + select_recipients_to_deliver: Pasirinkti gavėjus, kuriems išsiųsti + subject: Tema + update: + error: Atnaujinant šį naujienlaiškį iškilo problema. + success: Naujienlaiškis atnaujintas. Peržiūrėkite jį prieš išsiųsdami. + officializations: + block: + error: Blokuojant dalyvį iškilo problema + success: Dalyvis sėkmingai užblokuotas + create: + success: Dalyvis sėkmingai oficializuotas + destroy: + success: Dalys sėkmingai nebe oficializuotas + index: + actions: Veiksmai + badge: Ženkliukas + block: Blokuoti naudotoją + created_at: Sukurta + name: Vardas + nickname: Slapyvardis + not_officialized: Neoficializuotas + officialize: Oficializuoti + officialized: Oficializuotas + reofficialize: Vėl oficializuoti + reports: Pranešimai + show_email: Rodyti el. pašto adresą + status: Būsena + unblock: Atblokuoti naudotoją + unofficialize: Nebe oficializuoti + new: + badge: Oficializacijos ženklas + officialize: Oficializuoti + title: Oficializuoti dalyvį "%{name}" + show_email_modal: + close_modal: Uždaryti modalinį langą + description: Jei reikia tiesiogiai susisiekti su dalyviu, galite spustelėti mygtuką „Rodyti“ ir pamatysite e. pašto adresą. Šis veiksmas bus užregistruotas. + email_address: El. pašto adresas + full_name: Vardas, pavardė + hidden: paslėptas + show: Rodyti + title: Rodyti dalyvio el. pašto adresą + unblock: + error: Atblokuojant dalyvį iškilo problema + success: Dalyvis sėkmingai atblokuotas + organization: + edit: + title: Taisyti organizaciją + update: Atnaujinti + form: + facebook: Facebook + github: GitHub + instagram: Instagram + rich_text_editor_in_public_views_help: Kai kuriose teksto laukuose dalyviai, naudodami raiškiojo teksto redaktoriaus funkciją, galės įterpti HTML žymes. + social_handlers: Socialinis + twitter: Twitter + url: Nuoroda + youtube: YouTube + update: + error: Atnaujinant šią organizaciją iškilo problema. + success: Organizacija atnaujinta. + organization_appearance: + edit: + update: Atnaujinti + form: + colors: + colors_title: Organizacijos spalvos + colors_warning_html: Dėmesio! Spalvų pakeitimas gali padaryti puslapį neprieinamu. Norėdami patikrinti spalvų prieinamumą naudokite WebAIM Contrast Checker arba kitus panašius įrankius. + header_snippets_help: Naudokite šį laukelį, kad į HTML antraštę (angl. head) įtraukti elementus. Dažniausiai įtraukiamos trečiųjų šalių paslaugos, kurioms reikia kai kurių papildomų „JavaScript“ arba CSS elementų. Be to, galite naudotis laukeliu ir prie HTML pridėti papildomų meta žymeklių. Atkreipkite dėmesį į tai, kad tai atsivaizduos tik viešuose puslapiuose, o ne administratoriaus skyrelyje. + cta_button_path_help: 'Galite pakeisti į kur nukreipia pagrindinis numatytojo puslapio mygtukas. Naudokite dalines nuorodas, o ne URL nuoroda. Mygtuko pavyzdys - %{url}' + cta_button_text_help: Galite pakeisti pagrindinio numatytojo puslapio mygtuko tekstą priklausomai nuo kalbos. Jei ne, bus naudojamas numatytasis mygtuko tekstas. + homepage_appearance_title: Keisti numatytojo puslapio išvaizdą + homepage_highlighted_content_banner_title: Paryškinta turinio juosta + images: + layout_appearance_title: Redaguoti išdėstymą + preview: Peržiūra + omnipresent_banner_appearance_title: Keisti visur naudojamą reklamjuostę + organization_external_domain_whitelist: + edit: + update: Atnaujinti + external_domain: + down: Žemyn + external_domain: Išorinis domenas + remove: Pašalinti + up: Aukštyn + form: + add: Pridėti prie baltojo sąrašo + title: Išorinių domenų baltasis sąrašas + organization_homepage: + edit: + active_content_blocks: Aktyvūs turinio blokai + inactive_content_blocks: Neaktyvūs turinio blokai + organization_homepage_content_blocks: + edit: + update: Atnaujinti + participatory_space_private_users: + create: + error: Pridedant privatų dalyvį į šia dalyvaujamają erdvę kilo problema. + success: Dalyvaujamosios erdvės privataus dalyvio prieiga buvo sukurta sėkmingai. + destroy: + error: Ištrinant privatų dalyvį iš dalyvaujamosios erdvės kilo problema. + success: Dalyvaujamojo proceso erdvės privataus dalyvio prieiga panaikinta. + index: + import_via_csv: Importuoti iš CSV + title: Dalyvaujamosios erdvės privatus dalyvis + new: + create: Sukurti + title: Naujas dalyvaujamosios erdvės privatus dalyvis. + participatory_space_private_users_csv_imports: + create: + invalid: Skaitant CSV dokumentą iškilo problema. + success: CSV dokumentas įkeltas sėkmingai, dalyviai kviečiami e. laišku - tai gali užtrukti. + new: + explanation: 'Įkelkite CSV dokumentą. Jis turi turėti du stulpelius su naudotojų el. paštu pirmajame ir vardu paskutiniąjame. Dokumente neturėtų būti laukų pavadinimų ir šių simbolių naudotojų varduose "<>?%&^*#@()[]=+:;"{}\|".' + title: Įkelkite CSV dokumentą + upload: Įkelti + resource_permissions: + edit: + submit: Pateikti + title: Redaguoti leidimus + update: + success: Leidimai atnaujinti. + resources: + index: + headers: + scope: Apimtis + scope_types: + create: + error: Kuriant naujo tipo sritį iškilo problema. + success: Srities tipas sukurtas sėkmingai. + destroy: + success: Srities tipas sėkmingai panaikintas + edit: + title: Keisti srities tipą + update: Atnaujinti + new: + create: Sukurti srities tipą + title: Nauja sritis + update: + error: Atnaujinant šį srities tipą iškilo problema. + success: Srities tipas atnaujintas + scopes: + create: + error: Kuriant naują sritį iškilo problema. + success: Sritis sukurta. + destroy: + success: Sritis panaikinta. + edit: + title: Taisyti sritį + update: Atnaujinti + new: + create: Sukurti sritį + title: Nauja sritis + no_scopes: Šiuo lygmeniu nėra sričių. + update: + error: Atnaujinant šią sritį iškilo problema. + success: Sritis atnaujinta + share_tokens: + actions: + confirm_destroy: Ar tikrai norite pašalinti šį žetoną? + destroy: Ištrinti + share: Dalintis + destroy: + error: Pašalinant žetoną iškilo problema. + success: Žetonas pašalintas sėkmingai. + share_tokens: + empty: Nėra aktyvių žetonų + help: Šie prieigos raktai naudojami siekiant pasidalinti nepublikuojamu ištekliu su bet kokiu naudotoju. Jie bus paslėpti kai išteklis bus publikuotas. Paspauskite ant rakto dalinimosi įkonos norėdami gauti dalinimosi nuorodą. + title: Bendrinti prieigos raktus + shared: + gallery: + add_images: Pridėti paveikslėlių + delete_image: Pašalinti paveikslėlį + gallery_legend: Pridėti paveikslėlių galeriją (Neprivaloma) + static_page_topics: + create: + error: Kuriant naują temą iškilo problema. + success: Tema sukurta. + destroy: + success: Tema panaikinta + edit: + title: Redaguoti temą + update: Atnaujinti temą + new: + create: Sukurti temą + title: Nauja tema + update: + error: Atnaujinant šią temą iškilo problema. + success: Tema atnaujinta + static_pages: + actions: + view: Peržiūrėti viešą puslapį + create: + error: Kuriant naują puslapį iškilo problema. + success: Puslapis sukurtas. + destroy: + success: Puslapis panaikintas + edit: + changed_notably_help: Pažymėjus šį langelį, dalyviai gaus paraginimą sutikti su naujomis sąlygomis. + title: Redaguoti puslapį + update: Atnaujinti + form: + none: Nėra + slug_help: 'Čia naudokitės daliniais keliais, o ne išsamiais URL. Galima naudoti raides, skaičius, brūkšnius ir pasviruosius brūkšnius, o pradėti būtina raide. Pavyzdys: %{url}' + index: + last_notable_change: Paskutinis pastebimas pakeitimas + new: + create: Sukurti puslapį + title: Naujas puslapis + topic: + destroy: Šalinti temą + edit: Redaguoti temą + empty: Šioje temoje puslapių nėra + without_topic: Puslapiai be temos + update: + error: Atnaujinant šį puslapį iškilo problema. + success: Puslapis atnaujintas + titles: + admin_log: Administratoriaus veiklos žurnalas + area_types: Aplinkos tipai + areas: Aplinkos + authorization_workflows: Verifikacijos metodai + dashboard: Švieslentė + impersonatable_users: Dalyviai, kurių duomenis galima tvarkyti + impersonations: Dalyvių tvarkymas + metrics: Duomenys + panel: Administratorius + participants: Dalyviai + scope_types: Apimties tipai + scopes: Apimtys + static_pages: Puslapiai + statistics: Veikla + user_groups: Grupės + users: Dalyviai + user_group: + csv_verify: + invalid: Skaitant CSV rinkmeną iškilo problema. + success: CSV rinkmena įkelta, tikriname, kurios grupės atitinka kriterijus. Tai gali užtrukti. + reject: + invalid: Atmetant šią grupę iškilo problema. + success: Grupė atmesta + verify: + invalid: Verifikuojant šią grupę iškilo problema. + success: Grupė verifikuota + user_groups: + index: + state: + pending: Laukiama + rejected: Atmesta + verified: Patvirtinta + verify_via_csv: Patvirtinti naudojant CSV + user_groups_csv_verifications: + new: + explanation: Įkelkite savo CSV rinkmeną. Pirmoje rinkmenos skiltyje turi būti pateikti oficialūs jūsų organizacijos grupių el. pašto adresai, be antraščių. Bus patvirtintos tik tos grupės, kurios patvirtino savo el. pašto adresą ir kurių el. pašto adresai yra matomi CSV rinkmenoje. + title: Įkelkite savo CSV rinkmeną + upload: Įkelti + users: + create: + error: Kviečiant šį administratorių iškilo problema. + success: Dalyvis pakviestas. + destroy: + error: Bandant pašalinti šį administratorių iškilo problema. + success: Dalyvis nebėra administratorius. + form: + email: El. paštas + name: Vardas + role: Rolė + new: + create: Pakviesti + title: Kviesti dalyvį kaip administratorių + users_statistics: + users_count: + admins: Administratoriai + last_day: Paskutinė diena + last_month: Praėjusį mėnesį + last_week: Praėjusią savaitę + no_users_count_statistics_yet: Dar nėra dalyvių skaičiaus statistinių duomenų + participants: Dalyviai + view_public_page: Peržiūrėti viešąjį puslapį + forms: + errors: + impersonate_user: + reason: Turite pateikti priežastį kai valdote dar nevaldytą dalyvį + metrics: + blocked_users: + object: užblokuoti naudotojai + title: Užblokuoti naudotojai + reported_users: + object: raportuoti naudotojai + title: Raportuoti naudotojai + user_reports: + object: vartotojo pranešimai + title: Naudotojo pranešimai + moderations: + actions: + expand: Išplėsti + hidden: Paslėptas + hide: Slėpti + not_hidden: Nepaslėpta + title: Veiksmai + unhide: Nebeslėpti + unreport: Panaikinti raportavimą + admin: + reportable: + hide: + invalid: Slepiant išteklių iškilo problema. + success: Išteklius paslėptas. + unhide: + invalid: Atveriant šį išteklį kilo problema. + success: Išteklius paslėptas. + unreport: + invalid: Naikinant pranešimą apie šį išteklį kilo problema. + success: Pranešimas apie išteklį panaikintas. + models: + moderation: + fields: + created_at: Sukūrimo data + hidden_at: Paslėpta + participatory_space: Dalyvaujamoji erdvė + report_count: Kiekis + reportable_id: ID + reportable_type: Tipas + reported_content_url: Turinio, apie kurį pranešta, URL + reports: Pranešimai + visit_url: Apsilankykite URL + report: + fields: + details: Priežasties detalės + locale: Kalba + reason: Priežastis + errors: + messages: + invalid_json: Negaliojantis JSON + layouts: + decidim: + admin: + global_moderations: + title: Globalūs moderavimai + newsletters: + title: Naujienlaiškiai + settings: + title: Nustatymai + users: + title: Dalyviai diff --git a/decidim-admin/config/locales/nl.yml b/decidim-admin/config/locales/nl.yml index b2595571f3577..01247dd8aa1e5 100644 --- a/decidim-admin/config/locales/nl.yml +++ b/decidim-admin/config/locales/nl.yml @@ -45,7 +45,7 @@ nl: enable_omnipresent_banner: Toon permanente header enable_participatory_space_filters: Schakel filters in voor de participatieve ruimte facebook_handler: Facebook naam - favicon: Pictogram + favicon: Favicon force_authentication: Verplicht aanmelden force_users_to_authenticate_before_access_organization: Verplicht gebruikers om zich aan te melden voor toegang tot de organisatie from: E-mailadres afzender @@ -63,6 +63,9 @@ nl: host: Host instagram_handler: Instagram gebruikersnaam logo: Logo + machine_translation_display_priority: Voorrang weergave machinevertaling + machine_translation_display_priority_original: Oorspronkelijke tekst eerst + machine_translation_display_priority_translation: Vertaalde tekst eerst name: Naam official_img_footer: Officieel logo voettekst official_img_header: Officieel logo header @@ -100,6 +103,8 @@ nl: name: Naam organization: Organisatie plural: Meervoud + settings: + scope_id: Scope static_page: allow_public_access: Toegang zonder authenticatie toestaan changed_notably: Er zijn merkbare veranderingen geweest. @@ -118,6 +123,10 @@ nl: file: Bestand errors: models: + newsletter: + attributes: + base: + at_least_one_space: Selecteer minstens één participatieve ruimte organization: attributes: official_img_footer: @@ -166,6 +175,7 @@ nl: per_page: Per pagina permissions: Permissies reject: Weigeren + share: Deel user: new: Nieuwe gebruiker verify: Verifiëren @@ -315,7 +325,20 @@ nl: error: Er is een fout opgetreden bij het bijwerken van dit onderdeel. success: Het onderdeel is met succes bijgewerkt. conflicts: + attempts: Pogingen + 'false': 'Nee' + managed_user_name: Beheerde gebruiker + solved: Opgelost title: Controle conflicten + transfer: + email: E-mail + error: Er is een probleem opgetreden bij het overbrengen van de huidige deelnemer naar een beheerde deelnemer. + name: Naam + reason: Reden + success: De overdracht is met succes voltooid. + title: Overdracht + 'true': 'Ja' + user_name: Gebruiker dashboard: show: view_more_logs: Bekijk meer logs @@ -507,8 +530,10 @@ nl: help_sections: Helpsecties homepage: Startpagina impersonations: Zich voordoen als + moderation: Algemene moderatie newsletters: Nieuwsbrieven participants: Deelnemers + reported_users: Gerapporteerde gebruikers scope_types: Scope types scopes: Scopes settings: Instellingen @@ -564,6 +589,14 @@ nl: fields: name: Naam plural: Meervoud + share_token: + fields: + created_at: Aangemaakt op + expires_at: Vervalt op + last_used_at: Laatste keer gebruikt + times_used: Aantal keren gebruikt + token: Token + user: Aangemaakt door static_page: fields: created_at: Aangemaakt op @@ -589,8 +622,25 @@ nl: state: Staat users_count: Aantal deelnemers moderated_users: + index: + actions: + block: Gebruiker blokkeren + title: Acties + unblock: Deblokkeer gebruiker + unreport: Niet langer rapporteren + name: Naam + nickname: Bijnaam + reason: Reden + reports: Aantal rapporteringen + title: Gerapporteerde gebruikers weergeven + report: + reasons: + does_not_belong: Hoort niet bij + offensive: Beledigend + spam: Spam tabs: blocked: Geblokkeerd + unblocked: Niet geblokkeerd moderations: index: title: Moderaties @@ -697,6 +747,7 @@ nl: officialize: "Valideren\n" officialized: Gevalideerd reofficialize: Hervalideren + reports: Rapporten show_email: Toon e-mailadres status: status unblock: Deblokkeer gebruiker @@ -784,6 +835,7 @@ nl: invalid: Er is een fout opgetreden bij het lezen van het CSV-bestand. success: Het CSV-bestand is succesvol geüploaded. We sturen een uitnodigingsmail naar de deelnemers. Dit kan even duren. new: + explanation: 'Upload het CSV-bestand zonder headers. Het moet uit twee kolommen bestaan, met het e-mailadres in de eerste kolom en de naam in de laatste kolom van de gebruikers die je wil toevoegen aan de participatieve ruimte (e-mail, naam). Vermijd tekens als `<>?%&^*#@()[]=+:;"{}\|` in de namen.' title: Upload het CSV-bestand upload: Upload resource_permissions: @@ -834,6 +886,11 @@ nl: share: Deel destroy: error: Er is een fout opgetreden bij het vernietigen van de token. + success: Token met succes verwijderd. + share_tokens: + empty: Er zijn geen actieve tokens + help: Deze tokens worden gebruikt om deze niet-gepubliceerde bron openbaar te delen met alle gebruikers. Ze worden verborgen wanneer de bron is gepubliceerd. Klik op het pictogram “delen” van het token om de deelbare URL te bezoeken. + title: Tokens delen shared: gallery: add_images: Afbeeldingen toevoegen @@ -891,6 +948,7 @@ nl: impersonatable_users: Beheersbare deelnemers impersonations: Beheer van deelnemers metrics: Cijfers + panel: Admin participants: Deelnemers scope_types: Scope types scopes: Scopes @@ -950,6 +1008,7 @@ nl: metrics: blocked_users: object: geblokkeerde gebruikers + title: Geblokkeerde gebruikers reported_users: object: gerapporteerde gebruikers title: Gerapporteerde gebruikers @@ -983,6 +1042,7 @@ nl: hidden_at: Verborgen op participatory_space: Participatieve ruimte report_count: Aantal + reportable_id: ID reportable_type: Type reported_content_url: Gerapporteerde inhouds-URL reports: Meldingen diff --git a/decidim-admin/config/locales/no.yml b/decidim-admin/config/locales/no.yml index c8f58841c1a05..02d17e53d002f 100644 --- a/decidim-admin/config/locales/no.yml +++ b/decidim-admin/config/locales/no.yml @@ -123,6 +123,10 @@ file: Fil errors: models: + newsletter: + attributes: + base: + at_least_one_space: Velg minst et rom organization: attributes: official_img_footer: @@ -1038,6 +1042,7 @@ hidden_at: Skjult på participatory_space: Deltakerrom report_count: Antall + reportable_id: ID reportable_type: Type reported_content_url: Rapportert innholds URL reports: Rapporter diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index f13f6a2ba0017..2f561c496cd59 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -185,10 +185,12 @@ pl: success: Świetnie! Zaakceptowano warunki użytkowania dla administratorów. actions: accept: Zgadzam się z warunkami użytkowania + are_you_sure: Czy na pewno nie wyrażasz zgody na warunki użytkowania dla administratorów? refuse: Nie akceptuję warunków dla administratorów title: Akceptuję warunki użytkowania required_review: alert: 'Wymagane: Zapoznaj się z warunkami użytkowania dla administratorów' + callout: Poświęć chwilę, aby zapoznać się z Warunkami użytkowania dla administratorów. W przeciwnym razie nie uzyskasz dostępu do administrowania platformą. cta: Zapoznaj się teraz. title: Warunki użytkowania dla administratorów area_types: @@ -263,6 +265,7 @@ pl: block_user: new: action: Zablokuj konto i wyślij uzasadnienie + description: Blokowanie użytkownika sprawi, że jego konto nie będzie użyteczne. Możesz podać w uzasadnieniu wszelkie wytyczne dotyczące sposobu odblokowania użytkownika. justification: Uzasadnienie title: Zablokuj użytkownika %{name} categories: @@ -325,6 +328,7 @@ pl: 'false': 'Nie' managed_user_name: Zarządzany użytkownik solved: Rozwiązane + title: Konflikty weryfikacji transfer: email: Adres e-mail error: Podczas transferu bieżącego użytkownika do zarządzanego użytkownika wystąpił błąd. @@ -343,6 +347,7 @@ pl: domain_too_short: Domena jest zbyt krótka update: error: Nie udało się zaktualizować białej listy domen + success: Biała lista domen pomyślnie zaktualizowana exports: export_as: "%{name} jako %{export_format}" formats: @@ -361,9 +366,17 @@ pl: 'false': 'Nie' 'true': 'Tak' last_sign_in_at_present: + label: Zawsze zalogowany values: 'false': 'Nie' 'true': 'Tak' + moderated_users: + reports_reason_eq: + label: Powód zgłoszenia + values: + does_not_belong: Nie należy + offensive: Ofensywny + spam: Spam moderations: reportable_type_string_eq: label: Typ @@ -398,9 +411,11 @@ pl: search_label: Szukaj search_placeholder: name_or_nickname_or_email_cont: Przeszukaj %{collection} według adresu e-mail, nazwiska lub nazwy użytkownika. + report_count_eq: Licznik raportów reported_id_string_or_reported_content_cont: Przeszukaj %{collection} według identyfikatora lub treści zgłoszenia. title_cont: Przeszukaj %{collection} według tytułu. user_name_or_user_email_cont: Przeszukaj %{collection} według nazwy lub e-maila. + user_name_or_user_nickname_or_user_email_cont: Szukaj %{collection} według adresu e-mail, nazwy lub pseudonimu. state_eq: label: Stan values: @@ -454,7 +469,38 @@ pl: impersonate_new_managed_user: Zarządzaj nowym uczestnikiem imports: and: i + data_errors: + duplicate_headers: + detail: Proszę sprawdzić, czy plik zawiera wymagane kolumny lub nagłówki tylko raz. + message: + one: Duplikuj kolumnę %{columns}. + few: Duplikuj kolumny %{columns}. + many: Duplikuj kolumny %{columns}. + other: Duplikuj kolumny %{columns}. + invalid_indexes: + lines: + detail: Sprawdź, czy te dane są sformatowane poprawnie i zawierają prawidłowe rekordy. + message: + one: Znaleziono błąd w pliku importu. linia %{indexes}. + few: Znaleziono błąd w pliku importu. linie %{indexes}. + many: Znaleziono błąd w pliku importu. linie %{indexes}. + other: Znaleziono błędy w pliku importu w liniach %{indexes}. + records: + detail: Sprawdź, czy te rekordy są sformatowane poprawnie i zawierają prawidłowe rekordy. + message: + one: Znaleziono błąd w pliku importu dla rekordów o numerach porządkowych %{indexes}. + few: Znaleziono błąd w pliku importu dla rekordów o numerach porządkowych %{indexes}. + many: Znaleziono błąd w pliku importu dla rekordów o numerach porządkowych %{indexes}. + other: Znaleziono błędy w pliku importu dla rekordów o numerach porządkowych %{indexes}. + missing_headers: + detail: Proszę sprawdzić, czy plik zawiera wymagane kolumny. + message: + one: Brakująca kolumna %{columns}. + few: Brakujące kolumny %{columns}. + many: Brakujące kolumny %{columns}. + other: Brakujące kolumny %{columns}. error: Podczas importowania wystąpił błąd + example_error: Nie można utworzyć przykładu dla podanego typu new: accepted_mime_types: csv: csv @@ -462,6 +508,8 @@ pl: xlsx: xlsx actions: back: Wróć + download_example: Pobierz przykład + download_example_format: Przykład jako %{name} file_legend: Zaimportuj plik, który zostanie przetworzony. import: Importuj notice: "Zaimportowano %{resource_name} %{number}" @@ -564,7 +612,7 @@ pl: fields: created_at: Data utworzenia email: E-mail - last_sign_in_at: Ostatni dzień rejestracji + last_sign_in_at: Ostatnie logowanie name: Imię role: Rola roles: @@ -634,6 +682,7 @@ pl: newsletters: create: error: Podczas tworzenia newslettera wystąpił błąd. + success: Newsletter został pomyślnie utworzony. Sprawdź go przed wysłaniem. deliver: error: Podczas dostarczania tego newslettera wystąpił błąd. success: Newsletter został dostarczony pomyślnie. @@ -716,10 +765,12 @@ pl: title: Oficjalizuj użytkownika "%{name}" show_email_modal: close_modal: Zamknij okno + description: Jeśli chcesz skontaktować się bezpośrednio z uczestnikiem, możesz kliknąć przycisk Pokaż aby zobaczyć jego adres e-mail. Ta akcja zostanie zarejestrowana. email_address: Adres e-mail full_name: Imię i nazwisko hidden: ukryty show: Pokaż + title: Pokaż adres e-mail uczestnika unblock: error: Wystąpił błąd podczas odblokowywania użytkownika success: Użytkownik został odblokowany @@ -745,6 +796,7 @@ pl: form: colors: colors_title: Kolory organizacji + colors_warning_html: Uwaga! Zmiana tych kolorów może ograniczyć czytelność. Możesz sprawdzić kontrast wybranych kolorów korzystając z WebAIM Contrast Checker albo innych podobnych narzędzi. header_snippets_help: Użyj tego pola, aby dodać elementy do nagłówka kodu HTML. Najczęstszym zastosowaniem jest zintegrowanie usług innych firm, które wymagają dodatkowego kodu JavaScript lub CSS. Można również użyć go do dodawania dodatkowych meta tagów do HTML. Zauważ, że będzie to widoczne tylko na stronach publicznych, a nie w sekcji administracyjnej. cta_button_path_help: 'Możesz nadpisać adres do jakiego kieruje przycisk CTA na stronie głównej. Należy wpisać tylko to, co ma znaleźć się na końcu po znaku „/”, a nie pełen adres. Można użyć liter, cyfr, myślników i ukośników. Musi zaczynać się od litery. Przycisk CTA zostanie wyświetlony na stronie głównej między tekstem powitalnym a opisem. Przykład: %{url}' cta_button_text_help: Można nadpisać tekst przycisku CTA na stronie głównej dla każdego dostępnego języka organizacji. Jeśli to pole nie zostanie wypełnione, zostanie użyta wartość domyślna. Przycisk CTA zostanie wyświetlony na stronie głównej między tekstem powitalnym a opisem. @@ -879,7 +931,7 @@ pl: title: Edytuj stronę update: Aktualizuj form: - none: Żadna + none: Bez tematu slug_help: 'Wpisz tutaj tylko to, co ma znaleźć się na końcu po znaku „/”, a nie pełny adres URL. Można użyć liter, cyfr i myślników. Musi zaczynać się od litery. Przykład: %{url}' index: last_notable_change: Ostatnia istotna zmiana @@ -956,6 +1008,10 @@ pl: no_users_count_statistics_yet: Nie ma jeszcze statystyk dotyczących liczby użytkowników participants: Użytkownicy view_public_page: Zobacz stronę publiczną + forms: + errors: + impersonate_user: + reason: Aby zarządzać uczestnikiem niezarządzanym należy podać powód metrics: blocked_users: object: zablokowani użytkownicy @@ -993,6 +1049,7 @@ pl: hidden_at: Ukryto participatory_space: Przestrzeń partycypacyjna report_count: Liczba + reportable_id: ID reportable_type: Typ reported_content_url: URL zgłoszonej treści reports: Zgłoszenia diff --git a/decidim-admin/config/locales/sv.yml b/decidim-admin/config/locales/sv.yml index 313cb1bdf0cf8..177560d9e4996 100644 --- a/decidim-admin/config/locales/sv.yml +++ b/decidim-admin/config/locales/sv.yml @@ -1042,6 +1042,7 @@ sv: hidden_at: Dold participatory_space: Deltagarutrymme report_count: Antal + reportable_id: ID reportable_type: Typ reported_content_url: Rapporterad innehållsadress reports: Rapporter diff --git a/decidim-assemblies/config/locales/fr.yml b/decidim-assemblies/config/locales/fr.yml index a3071f4218295..29a8040041dd0 100644 --- a/decidim-assemblies/config/locales/fr.yml +++ b/decidim-assemblies/config/locales/fr.yml @@ -4,7 +4,7 @@ fr: assemblies_setting: enable_organization_chart: Activer le schéma d'assemblée assembly: - area_id: Zone d'application + area_id: Périmètre d'assemblée assembly_type: Type d'assemblée assembly_type_other: Autre type d'assemblée banner_image: Image d'en-tête @@ -17,7 +17,7 @@ fr: created_by: Créé par created_by_other: Si "autres", précisez creation_date: Date de création - decidim_area_id: Zone d'application + decidim_area_id: Périmètre d'assemblée decidim_assemblies_type_id: Type d'assemblée decidim_scope_id: Périmètre d'application description: Description @@ -43,7 +43,7 @@ fr: published_at: Publiée à purpose_of_action: But de l'action scope_id: Périmètre d'application - scopes_enabled: Périmètres d'application activés + scopes_enabled: Secteurs activés short_description: Résumé show_statistics: Afficher les statistiques slug: Identifiant @@ -274,7 +274,7 @@ fr: metadata: Métadonnées other: Autre select_a_created_by: Sélectionnez un créateur - select_an_area: Sélectionnez une zone d'application + select_an_area: Sélectionnez un périmètre d'assemblée select_an_assembly_type: Sélectionnez un type d'assemblée select_parent_assembly: Sélectionnez l'assemblée parente slug_help: 'Les identifiants d''URL sont utilisés pour générer les liens qui renvoient vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}' @@ -364,7 +364,7 @@ fr: member_of: member_of: Membre de show: - area: Zone d'application + area: Périmètre d'assemblée assembly_type: Type d'assemblée children: Sous-assemblées closing_date: Date de clôture diff --git a/decidim-assemblies/config/locales/hu.yml b/decidim-assemblies/config/locales/hu.yml index 7f29a1ffec158..fef28e86bacfc 100644 --- a/decidim-assemblies/config/locales/hu.yml +++ b/decidim-assemblies/config/locales/hu.yml @@ -1,6 +1,8 @@ hu: activemodel: attributes: + assemblies_setting: + enable_organization_chart: Szervezeti ábra engedélyezése assembly: area_id: Terület assembly_type: Gyűlés típusa @@ -50,6 +52,7 @@ hu: target: Ki vesz részt title: Cím twitter: Twitter + weight: Pozíció sorrend youtube: Youtube assembly_member: birthday: Születésnap @@ -58,7 +61,9 @@ hu: designation_date: Kijelölés dátuma full_name: Teljes név gender: Neme + non_user_avatar: Profilkép position: Pozíció + user_id: Felhasználó vagy csoport assembly_user_role: email: Email name: Név @@ -177,6 +182,9 @@ hu: update: error: Hiba történt a gyűlés adminjának frissítése során. success: Gyűlés adminjának frissítése sikeres. + filters: + decidim_assemblies_type_id_eq: + label: Gyűlés típusa menu: assemblies: Gyűlések assemblies_settings: Beállítások @@ -245,6 +253,7 @@ hu: update: "%{user_name} frissítette a gyűlések beállításait" assembly_type: create: "%{user_name} létrehozta a(z) %{resource_name} gyűlés típust" + delete: "%{user_name} áthelyezte a(z) %{resource_name} gyűlés típust" publish: "%{user_name} közzétette a(z) %{resource_name} gyűlés típust" unpublish: "%{user_name} visszavonta a(z) %{resource_name} gyűlés típus közzétételét" update: "%{user_name} frissítette a(z) %{resource_name} gyűlés típust" @@ -256,6 +265,7 @@ hu: admin: assemblies: form: + announcement_help: Az itt megadott szöveg a gyűlés információs oldalán fog megjelenni a felhasználók számára. duration: Időtartam duration_help: Ha a gyűlés időtartama korlátozott, válassz befejező dátumot. Ellenkező esetben határozatlan idejű lesz. filters: Szűrők @@ -285,10 +295,14 @@ hu: assembly_imports: form: document_legend: Dokumentum hozzáadása + slug_help: 'Az URL slugok a gyűlések linkjeinek generáláshoz szükségesek. Csak betűket, számokat és kötőjeleket használhatsz. Betűvel kell kezdeni. Példa: %{url}' assembly_members: form: existing_user: Meglévő résztvevő + explanation: 'Útmutató a képhez:' + image_guide: Olyan fekvő képek használata ajánlott, amelyek nem tartalmaznak szöveget. non_user: Nem résztvevő + non_user_avatar_help: A tagként való szerepléshez hozzájárulást kell szerezni a személyektől. select_a_position: Válassz pozíciót select_user: Válasszon ki egy résztvevőt user_type: Résztvevő típusa @@ -302,6 +316,12 @@ hu: content_blocks: highlighted_assemblies: max_results: A megjelenítendő elemek maximális száma + new_import: + accepted_types: + json: JSON + assemblies: + show: + title: Erről a gyűlésről assembly_members: index: members: Tagok @@ -333,7 +353,7 @@ hu: index: title: Gyűlések last_activity: - new_assembly: Új összeszerelés + new_assembly: Új gyűlés pages: home: highlighted_assemblies: @@ -369,12 +389,26 @@ hu: related_participatory_processes: Kapcsolódó részvételi folyamatok scope: Hatáskör social_networks: Közösségi háló + social_networks_title: Látogasd meg a gyűlést itt target: Ki vesz részt benne assembly_members: assembly_member: designated_on: Kijelölt index: title: Tagok + events: + assemblies: + create_assembly_member: + email_intro: A(z) %{resource_name} gyűlés adminisztrátora hozzáadta tagként. + email_outro: Ön azért kapta ezt az értesítést, mert meghívták egy gyűlésbe. Látogasson el a gyűlés oldalára a részvételhez! + email_subject: Ön meghívást kapott, hogy a(z) %{resource_name} gyűlés tagja legyen! + notification_title: Ön regisztrált a(z) %{resource_name} gyűlés tagjaként. Látogasson el a gyűlés oldalára a részvételhez! + assembly: + role_assigned: + email_intro: 'Önt a(z) %{role} szerephez rendelték a következő gyűlésben: "%{resource_title}".' + email_outro: 'Ön azért kapta ezt az értesítést, mert a(z) "%{resource_title}" gyűlésben a következő szerepet kapta: %{role}.' + email_subject: 'Önt a(z) %{role} szerephez rendelték itt: "%{resource_title}".' + notification_title: 'A(z) %{role} szerephez rendelték a következő gyűlésben: %{resource_title}.' help: participatory_spaces: assemblies: @@ -397,6 +431,8 @@ hu: participatory_processes: show: related_assemblies: Kapcsolódó gyűlések + statistics: + assemblies_count: Gyűlések errors: messages: cannot_be_blank: nem lehet üres diff --git a/decidim-assemblies/config/locales/is-IS.yml b/decidim-assemblies/config/locales/is-IS.yml index c1e790f2b78a9..b722738cb8ca5 100644 --- a/decidim-assemblies/config/locales/is-IS.yml +++ b/decidim-assemblies/config/locales/is-IS.yml @@ -214,6 +214,8 @@ is-IS: public: Opinber index: title: Þing + last_activity: + new_assembly: Nýtt þing pages: home: highlighted_assemblies: diff --git a/decidim-assemblies/config/locales/lt.yml b/decidim-assemblies/config/locales/lt.yml index 6c5cb837ac8c1..c4381fce95fbb 100644 --- a/decidim-assemblies/config/locales/lt.yml +++ b/decidim-assemblies/config/locales/lt.yml @@ -1 +1,470 @@ lt: + activemodel: + attributes: + assemblies_setting: + enable_organization_chart: Įgalinti organizacijos modelį + assembly: + area_id: Aplinka + assembly_type: Asamblėjos tipas + assembly_type_other: Kitas asamblėjos tipas + banner_image: Turinio juostos paveikslėlis + closing_date: Pabaigos data + closing_date_reason: Pabaigos datos priežastis + composition: Sudėtis + copy_categories: Kopijuoti kategorijas + copy_components: Kopijuoti komponentus + copy_features: Kopijuoti požymius + created_by: Sukurta + created_by_other: Sukurta kito + creation_date: Sukūrimo data + decidim_area_id: Aplinka + decidim_assemblies_type_id: Asamblėjos tipas + decidim_scope_id: Apimtis + description: Aprašymas + developer_group: Rėmėjų grupė + domain: Domenas + duration: Trukmė + facebook: Facebook + github: GitHub + hashtag: Grotažymė + hero_image: Pradžios paveikslėlis + included_at: Įtraukta + instagram: Instagram + internal_organisation: Vidinė organizacija + is_transparent: Yra skaidri + local_area: Organizacijos aplinka + meta_scope: Srities metaduomenys + parent_id: Pagrindinė asamblėja + participatory_processes_ids: Susiję dalyvaujamieji procesai + participatory_scope: Kas nuspręsta + participatory_structure: Kaip nuspręsta + private_space: Privati erdvė + promoted: Paryškinta + published_at: Publikuota + purpose_of_action: Veiksmo tikslas + scope_id: Apimtis + scopes_enabled: Įgalintos apimtys + short_description: Trumpas aprašymas + show_statistics: Rodyti statistiką + slug: URL priedas + special_features: Specialiosios ypatybės + subtitle: Paantraštė + target: Kas dalyvauja + title: Pavadinimas + twitter: Twitter + weight: Vieta eilėje + youtube: YouTube + assembly_member: + birthday: Gimimo diena + birthplace: Gimimo vieta + ceased_date: Nutraukimo data + designation_date: Paskyrimo data + full_name: Vardas, pavardė + gender: Lytis + non_user_avatar: Avataras + position: Pozicija + user_id: Vartotojas arba grupė + assembly_user_role: + email: El. paštas + name: Vardas + role: Rolė + errors: + models: + assembly: + attributes: + document: + invalid_document_type: 'Netinkamas dokumento tipas. Priimtini formatai: %{valid_mime_types}' + activerecord: + models: + decidim/assembly: + one: Asamblėja + few: Asamblėjos + many: Asamblėjos + other: Asamblėjos + decidim/assembly_member: + one: Asamblėjos narys + few: Asamblėjos nariai + many: Asamblėjos nariai + other: Asamblėjos nariai + decidim/assembly_user_role: + one: Asamblėjos naudotojo vaidmuo + few: Asamblėjos naudotojo vaidmenys + many: Asamblėjos naudotojo vaidmenys + other: Asamblėjos naudotojo vaidmenys + decidim: + admin: + actions: + import_assembly: Importuoti + new_assembly: Nauja asamblėja + new_assembly_type: Naujas asamblėjos tipas + assemblies: + create: + error: Kuriant naują asamblėją iškilo problema. + success: Asamblėja sukurta. + edit: + update: Atnaujinti + index: + not_published: Nepublikuota + private: Privati + public: Vieša + published: Publikuota + new: + create: Sukurti + title: Nauja asamblėja + update: + error: Atnaujinant šią asamblėją iškilo problema. + success: Asamblėja atnaujinta. + assemblies_copies: + create: + error: Dubliuojant šią asamblėją iškilo problema. + success: Asamblėja dubliuota. + assemblies_settings: + update: + error: Atnaujinant nustatymus iškilo problema. + success: Nustatymai sėkmingai atnaujinti. + assemblies_types: + create: + error: Kuriant naujos asamblėjos tipą iškilo problema. + success: Asamblėjos tipas sukurtas. + destroy: + success: Asamblėjos tipas pašalintas. + new: + create: Sukurti + title: Naujas asamblėjos tipas + update: + error: Atnaujinant asamblėjos tipą iškilo problema. + success: Asamblėjos tipas atnaujintas. + assembly_copies: + new: + copy: Kopijuoti + select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti + title: Dublikuoti asamblėją + assembly_imports: + create: + error: Importuojant asamblėją iškilo problema. + success: Asamblėja importuota. + new: + import: Importuoti + select: Pasirinkite, kuriuos duomenis norėtumėte importuoti + title: Importuoti asamblėją + assembly_members: + create: + error: Įtraukiant naują šios asamblėjos narį iškilo problema. + success: Šios asamblėjos narys sukurtas sėkmingai. + destroy: + success: Šios asamblėjos narys pašalintas sėkmingai. + edit: + title: Atnaujinti asamblėjos narį. + update: Atnaujinti + index: + assembly_members_title: Asamblėjos nariai + new: + create: Sukurti + title: Naujas asamblėjos narys. + update: + error: Atnaujinant šios asamblėjos narį iškilo problema. + success: Šios asamblėjos narys atnaujintas sėkmingai. + assembly_publications: + create: + error: Skelbiant šią asamblėją iškilo problema. + success: Asamblėja sėkmingai publikuota. + destroy: + error: Depublikuojant asamblėją kilo problema. + success: Asamblėja sėkmingai depublikuota. + assembly_user_roles: + create: + error: Pridedant naują asamblėjos administratorijų kilo problema. + success: Administratorius sėkmingai pridėtas prie asamblėjos. + destroy: + success: Administratorius sėkmingai panaikintas iš šios asamblėjos. + edit: + title: Atnaujinti asamblėjos administratorių. + update: Atnaujinti + index: + assembly_admins_title: Asamblėjos administratoriai + new: + create: Sukurti + title: Naujas asamblėjos administratorius. + update: + error: Atnaujinant asamblėjos administratorių kilo problema. + success: Šios asamblėjos administratorius sėkmingai atnaujintas. + filters: + decidim_assemblies_type_id_eq: + label: Asamblėjos tipas + menu: + assemblies: Asamblėjos + assemblies_settings: Nustatymai + assemblies_submenu: + assembly_admins: Asamblėjos administratoriai + assembly_members: Nariai + attachment_collections: Aplankai + attachment_files: Dokumentai + attachments: Priedai + categories: Kategorijos + components: Komponentai + info: Informacija + moderations: Moderavimai + private_users: Privatūs naudotojai + assemblies_types: Asamblėjų tipai + models: + assemblies_types: + fields: + created_at: Sukurta + title: Pavadinimas + assembly: + fields: + created_at: Sukurta + private: Privatu + promoted: Paryškinta + published: Publikuota + title: Pavadinimas + name: Asamblėja + assembly_member: + fields: + ceased_date: Nutraukimo data + designation_date: Paskyrimo data + full_name: Vardas + position: Pareigos + name: Narys + positions: + other: Kita + president: Prezidentas + secretary: Sekretorius + vice_president: Viceprezidentas + assembly_user_role: + fields: + email: El. paštas + name: Vardas + role: Rolė + name: Asamblėjos administratorius + roles: + admin: Administratorius + collaborator: Bendraautorius + moderator: Moderatorius + valuator: Vertintojas + titles: + assemblies: Asamblėjos + assemblies_types: Asamblėjų tipai + admin_log: + assembly: + create: "%{user_name} sukūrė %{resource_name} asamblėją" + publish: "%{user_name} publikavo %{resource_name} asamblėją" + unpublish: "%{user_name} depublikavo %{resource_name} asamblėją" + update: "%{user_name} atnaujino %{resource_name} asamblėją" + assembly_member: + create: "%{user_name} sukūrė %{resource_name} naudotoją %{space_name} asamblėjoje" + delete: "%{user_name} pašalino %{resource_name} narį iš %{space_name} asamblėjos" + update: "%{user_name} atnaujino %{resource_name} narį %{space_name} asamblėjoje" + assembly_setting: + update: "%{user_name} atnaujino asamblėjos nustatymus" + assembly_type: + create: "%{user_name} sukūrė %{resource_name} asamblėjos tipą" + delete: "%{user_name} pašalino %{resource_name} asamblėjos tipą" + publish: "%{user_name} paskelbė %{resource_name} asamblėjos tipą" + unpublish: "%{user_name} panaikino %{resource_name} asamblėjos tipą" + update: "%{user_name} atnaujino %{resource_name} asamblėjos tipą" + assembly_user_role: + create: "%{user_name} pakvietė %{resource_name} į %{space_name} asamblėją" + delete: "%{user_name} pašalino dalyvį %{resource_name} iš %{space_name} asamblėjos" + update: "%{user_name} pakeitė %{resource_name} rolę %{space_name} asamblėjoje" + assemblies: + admin: + assemblies: + form: + announcement_help: Čia įrašytas tekstas naudotojui bus rodomas informacijos apie asamblėją apačioje. + duration: Trukmė + duration_help: Jei šios asamblėjos veiklos trukmė ribota, pasirinkite pabaigos datą. Priešingu atveju bus rodoma, kad ji neterminuota. + filters: Filtrai + images: Vaizdai + included_at_help: Pasirinkite datą, kada ši asamblėja buvo įtraukta į „Decidim“. Ši data nebūtinai turi sutapti su sukūrimo data. + metadata: Metaduomenys + other: Kita + select_a_created_by: Pasirinkti pagal kūrėją + select_an_area: Pasirinkti aplinką + select_an_assembly_type: Pasirinkti asamblėjos tipą + select_parent_assembly: Pasirinkti pagrindinę asamblėją + slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + social_handlers: Socialiniai + title: Bendroji informacija + visbility: Matomumas + assemblies_settings: + edit: + update: Atnaujinimas + form: + title: Asamblėjų nuostatos + assemblies_types: + form: + title: Pavadinimas + assembly_copies: + form: + slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + assembly_imports: + form: + document_legend: Pridėti dokumentą + slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + assembly_members: + form: + existing_user: Egzistuojantis dalyvis + explanation: 'Paveikslėliui skirtos gairės:' + image_guide: Pageidautina, kad tai būtų vertikalaus formato paveikslėlis be teksto. + non_user: Neturintis dalyvio statuso subjektas + non_user_avatar_help: Turite gauti naudotojų sutikimą prieš publikuodami juos kaip narius. + select_a_position: Pasirinkti poziciją + select_user: Pasirinkti dalyvį + user_type: Dalyvio tipas + index: + filter: + all: Visi + ceased: Nutraukta + not_ceased: Nenutraukta + filter_by: Filtruoti pagal + search: Ieškoti + content_blocks: + highlighted_assemblies: + max_results: Didžiausias rodomų elementų skaičius + new_import: + accepted_types: + json: JSON + assemblies: + show: + title: Apie šią asamblėją + assembly_members: + index: + members: Nariai + assembly_types: + commission: Komisija + consultative_advisory: Konsultacinė / Patariamoji + executive: Vykdomoji + government: Vyriausybe + others: Kita + participatory: Dalyvaujamoji + working_group: Darbo grupė + content_blocks: + highlighted_assemblies: + name: Paryškintos asamblėjos + created_by: + city_council: Miesto taryba + others: Kita + public: Vieša + filter: + all: Visi tipai + commission: Komisija + consultative_advisory: Konsultacinė / Patariamoji + executive: Vykdomoji + government: Vyriausybė + help: 'Rodyti:' + others: Kita + participatory: Dalyvaujamoji + working_group: Darbo grupė + index: + title: Asamblėjos + last_activity: + new_assembly: Nauja asamblėja + pages: + home: + highlighted_assemblies: + active_assemblies: Aktyvios asamblėjos + assemblies_button_title: Nuoroda į puslapį „Asamblėjos“, kuriame pateikiamos visos asamblėjos + see_all_assemblies: Žiūrėti visas asamblėjas + user_profile: + member_of: + member_of: Narys + show: + area: Aplinka + assembly_type: Asamblėjos tipas + children: Asamblėjos + closing_date: Pabaigos data + composition: Sudėtis + created_by: Sukurta + creation_date: Sukūrimo data + developer_group: Rėmėjų grupė + duration: Trukmė + included_at: Įtraukta į + indefinite_duration: Neribota + internal_organisation: Vidinė organizacija + is_transparent: + 'false': neskaidru + 'true': skaidru + local_area: Organizacijos aplinka + participatory_scope: Kas nuspręsta + participatory_structure: Kaip nuspręsta + private_space: Tai yra uždara asamblėja + purpose_of_action: Veiksmo tikslas + read_less: Suskleisti + read_more: Išskleisti + related_participatory_processes: Susiję dalyvaujamieji procesai + scope: Apimtis + social_networks: Socialiniai tinklai + social_networks_title: Aplankyti asamblėją + target: Kas dalyvauja + assembly_members: + assembly_member: + designated_on: Paskirtas + index: + title: Nariai + events: + assemblies: + create_assembly_member: + email_intro: %{resource_name} asamblėjos administratorius įtraukė jus kaip vieną iš jos narių. + email_outro: Šį pranešimą gavote dėl to, kad esate pakviestas į asamblėją. Norėdami prisidėti, apsilankykite asamblėjos puslapyje ! + email_subject: Esate pakviestas tapti %{resource_name} asamblėjos nariu! + notification_title: Jūs registravotės kaip Asamblėjos %{resource_name} narys. Peržiūrėkite asamblėjos puslapį, kad prisidėti! + assembly: + role_assigned: + email_intro: Jūs paskirtas asamblėjos „%{resource_title}“ %{role}. + email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ asamblėjos %{role}. + email_subject: Jūs paskirtas „%{resource_title}“ %{role}. + notification_title: Jūs paskirtas %{resource_title} asamblėjos %{role}. + help: + participatory_spaces: + assemblies: + contextual: "

    Asamblėja yra grupė organizacijos narių, kurie periodiškai susitinka, kad priimtų sprendimus dėl konkrečios organizacijos srities arba veiklos.

    Asamblėjos rengia posėdžius, kai kurie iš jų yra uždari, o kai kurie – vieši. Jeigu jie vieši, juose galima dalyvauti (pavyzdžiui, dalyvauti, įtraukti klausimus į darbotvarkę arba komentuoti šios asamblėjos pasiūlymus ir priimamus sprendimus).

    Pavyzdžiui: generalinė asamblėja (ji susitinka kartą per metus, kad balsuodama nustatytų organizacijos pagrindines veiklos kryptis ir jos vykdomąsias institucijas), patariamoji taryba lygybės klausimu (ji susitinka kas du mėnesius, kad pateiktų pasiūlymų, kaip pagerinti lyčių lygybės situaciją organizacijoje), vertinimo komisija (ji susitinka kiekvieną mėnesį ir stebi procesus) arba garantijų institucija (kuri renka informaciją apie incidentus, piktnaudžiavimą arba pasiūlymus, kaip patobulinti sprendimų priėmimo procedūras).

    \n" + page: "

    Asamblėja yra grupė organizacijos narių, kurie periodiškai susitinka, kad priimtų sprendimus dėl konkrečios organizacijos srities arba veiklos.

    Asamblėjos rengia posėdžius, kai kurie iš jų yra uždari, o kai kurie – vieši. Jeigu jie vieši, juose galima dalyvauti (pavyzdžiui, dalyvauti, įtraukti klausimus į darbotvarkę arba komentuoti šios asamblėjos pasiūlymus ir priimamus sprendimus).

    Pavyzdžiui: generalinė asamblėja (ji susitinka kartą per metus, kad balsuodama nustatytų organizacijos pagrindines veiklos kryptis ir jos vykdomąsias institucijas), patariamoji taryba lygybės klausimu (ji susitinka kas du mėnesius, kad pateiktų pasiūlymų, kaip pagerinti lyčių lygybės situaciją organizacijoje), vertinimo komisija (ji susitinka kiekvieną mėnesį ir stebi procesus) arba garantijų institucija (kuri renka informaciją apie incidentus, piktnaudžiavimą arba pasiūlymus, kaip patobulinti sprendimų priėmimo procedūras).

    \n" + title: Kas yra asamblėjos? + log: + value_types: + assembly_presenter: + not_found: 'Asamblėja duomenų bazėje nerasta (ID: %{id})' + assembly_type_presenter: + not_found: 'Asamblėjos tipas duomenų bazėje nerastas (ID: %{id})' + menu: + assemblies: Asamblėjos + metrics: + assemblies: + description: Sukurtų asamblėjų skaičius + object: asamblėjos + title: Asamblėjos + participatory_processes: + show: + related_assemblies: Susijusios asamblėjos + statistics: + assemblies_count: Asamblėjos + errors: + messages: + cannot_be_blank: negali būti tuščia + layouts: + decidim: + assemblies: + assembly: + more_info: Daugiau informacijos + take_part: Dalyvaukite + index: + children: 'Asamblėjos: ' + organizational_chart: Organizacinė schema + promoted_assemblies: Paryškintos asamblėjos + reset_chart: Atkurti + order_by_assemblies: + assemblies: + one: "%{count} asamblėja" + few: "%{count} asamblėjos" + many: "%{count} asamblėjos" + other: "%{count} asamblėjos" + promoted_assembly: + more_info: Daugiau informacijos + take_part: Dalyvaukite + assembly_navigation: + assembly_member_menu_item: Nariai + assembly_menu_item: Asamblėja + assembly_widgets: + show: + take_part: Dalyvaukite diff --git a/decidim-assemblies/config/locales/nl.yml b/decidim-assemblies/config/locales/nl.yml index 1d4eb9def9eb0..f6d4dc02be292 100644 --- a/decidim-assemblies/config/locales/nl.yml +++ b/decidim-assemblies/config/locales/nl.yml @@ -118,16 +118,16 @@ nl: success: Instellingen succesvol bijgewerkt. assemblies_types: create: - error: Er is een fout opgetreden bij het maken van een nieuw assembly-type. - success: Assemblage type is succesvol gecreëerd. + error: Er is een fout opgetreden bij het maken van een nieuw groepstype. + success: Groepstype is succesvol gecreëerd. destroy: success: Groep succesvol verwijderd. new: create: creëren title: Nieuw groepstype update: - error: Er is een fout opgetreden bij het bijwerken van dit assembly-type. - success: Assemblage type is succesvol bijgewerkt. + error: Er is een fout opgetreden bij het bijwerken van dit groepstype. + success: Groepstype is succesvol bijgewerkt. assembly_copies: new: copy: Kopiëren @@ -181,7 +181,7 @@ nl: title: Nieuwe groepsadmin. update: error: Er is een fout opgetreden bij het bijwerken van een admin voor deze groep. - success: Beheerder is succesvol bijgewerkt voor deze vergadering. + success: Admin is succesvol bijgewerkt voor deze groep. filters: decidim_assemblies_type_id_eq: label: Groepstype @@ -250,7 +250,7 @@ nl: delete: "%{user_name} verwijderde het %{resource_name} lid uit de %{space_name} groep" update: "%{user_name} heeft het %{resource_name} lid in de %{space_name} groep bijgewerkt" assembly_setting: - update: "%{user_name} heeft de instellingen van de Buurderijen bijgewerkt" + update: "%{user_name} heeft de instellingen van de groepen bijgewerkt" assembly_type: create: "%{user_name} heeft de groep %{resource_name} bijgewerkt" delete: "%{user_name} heeft het groepstype %{resource_name} bijgewerkt" @@ -283,9 +283,9 @@ nl: visbility: Zichtbaarheid assemblies_settings: edit: - update: Vernieuwen + update: Bijwerken form: - title: Instellingen voor assemblies + title: Instellingen voor groepen assemblies_types: form: title: Titel @@ -294,7 +294,7 @@ nl: slug_help: 'URL-paden worden gebruikt om de URL''s te genereren die naar deze bijeenkomst verwijzen. Enkel letters, cijfers en streepjes worden toegestaan en deze moet beginnen met een letter. Voorbeeld: %{url}' assembly_imports: form: - document_legend: Een document toevoegen + document_legend: Document toevoegen slug_help: 'URL-slugs worden gebruikt om de URL''s te genereren die naar deze groep verwijzen. Accepteert alleen letters, cijfers en streepjes en moet beginnen met een letter. Voorbeeld: %{url}' assembly_members: form: @@ -319,6 +319,9 @@ nl: new_import: accepted_types: json: JSON + assemblies: + show: + title: Over deze groep assembly_members: index: members: Leden @@ -355,7 +358,7 @@ nl: home: highlighted_assemblies: active_assemblies: Huidige events - assemblies_button_title: Link naar de pagina van de Buurderijen die alle Buurderijen laat zien + assemblies_button_title: Link naar de groepspagina die alle groepen laat zien see_all_assemblies: Bekijk alle events user_profile: member_of: @@ -377,7 +380,7 @@ nl: 'false': ondoorzichtig 'true': Transparant local_area: Organisatiegebied - participatory_scope: Wat is besloten + participatory_scope: Wat wordt besloten participatory_structure: Hoe wordt er besloten private_space: Dit is een privé event purpose_of_action: Doelstelling @@ -386,6 +389,7 @@ nl: related_participatory_processes: Verwante inspraakprocessen scope: Scope social_networks: Sociale netwerken + social_networks_title: Bezoek groep op target: Wie doet mee assembly_members: assembly_member: @@ -396,19 +400,20 @@ nl: assemblies: create_assembly_member: email_intro: Een beheerder van de %{resource_name} groep heeft je toegevoegd als een van haar leden. - email_subject: Je bent uitgenodigd om lid te worden van de %{resource_name} Buurderij! - notification_title: Je bent geregistreerd als lid van de Buurderij %{resource_name}. Bekijk de pagina om bij te dragen! + email_outro: Je hebt dit bericht ontvangen omdat je bent uitgenodigd voor een groep. Bekijk de pagina van de groep om bij te dragen! + email_subject: Je bent uitgenodigd om lid te worden van de groep %{resource_name} + notification_title: Je bent geregistreerd als lid van de groep %{resource_name}. Bekijk de pagina om bij te dragen! assembly: role_assigned: email_intro: Je bent toegewezen als %{role} voor de groep "%{resource_title}". - email_outro: Je hebt deze melding ontvangen omdat je %{role} van de "%{resource_title}" bijeenkomst bent. - email_subject: U bent toegewezen als %{role} voor "%{resource_title}". + email_outro: Je hebt deze melding ontvangen omdat je %{role} van de groep "%{resource_title}" bent. + email_subject: Je bent toegewezen als %{role} voor "%{resource_title}". notification_title: Je bent toegewezen als %{role} voor de groep %{resource_title}. help: participatory_spaces: assemblies: contextual: "

    Een groep is een groep leden van een organisatie die periodiek bijeenkomen om beslissingen te nemen over een specifiek gebied of een bepaald bereik van de organisatie.

    Groepen houden vergaderingen, sommige zijn privé en sommige zijn open. Als ze open zijn, is het mogelijk om eraan deel te nemen (bijvoorbeeld: aanwezig zijn als de capaciteit het toelaat, punten toevoegen aan de agenda of commentaar geven op de voorstellen en beslissingen van dit orgel).

    Voorbeelden: een algemene groep (die eenmaal per jaar bijeenkomt om de hoofdlijnen van de organisatie te bepalen, evenals haar uitvoerende organen bij stemming), een gelijkheidsadviesraad (die om de twee maanden bijeenkomt om voorstellen te doen over het verbeteren van de genderrelaties in de organisatie) zijn een evaluatiecommissie (die elke maand bijeenkomt om een ​​proces te volgen) of een garantieorgaan (dat incidenten, misbruiken of voorstellen verzamelt om de besluitvormingsprocedures te verbeteren) allemaal voorbeelden van groepen.

    \n" - page: "

    Een assemblee is een groep leden van een organisatie die periodiek bijeenkomen om beslissingen te nemen over een specifiek gebied of een bepaald bereik van de organisatie.

    Assemblees houden vergaderingen, sommige zijn privé en sommige zijn open. Als ze open zijn, is het mogelijk om eraan deel te nemen (bijvoorbeeld: aanwezig zijn als de capaciteit het toelaat, punten toevoegen aan de agenda of commentaar geven op de voorstellen en beslissingen van dit orgel).

    Voorbeelden: een algemene assemblee (die eenmaal per jaar bijeenkomt om de hoofdlijnen van de organisatie te bepalen, evenals haar uitvoerende organen bij stemming), een gelijkheidsadviesraad (die om de twee maanden bijeenkomt om voorstellen te doen over het verbeteren van de genderrelaties in de organisatie), een evaluatiecommissie (die elke maand bijeenkomt om een ​​proces te volgen) of een garantieorgaan (dat incidenten, misbruiken of voorstellen verzamelt om de besluitvormingsprocedures te verbeteren) zijn allemaal voorbeelden van assemblees.

    \n" + page: "

    Een groep is samengesteld uit de leden van een organisatie die periodiek bijeenkomen om beslissingen te nemen over een specifiek domein of een bepaald thema.

    Groepen houden vergaderingen, sommige zijn privé en sommige zijn open. Als ze open zijn, is het mogelijk om eraan deel te nemen (bijvoorbeeld: aanwezig zijn als de capaciteit het toelaat, punten toevoegen aan de agenda of commentaar geven op de voorstellen en beslissingen van dit orgel).

    Voorbeelden: een algemene vergadering (die eenmaal per jaar bijeenkomt om de hoofdlijnen van de organisatie te bepalen, evenals haar uitvoerende organen bij stemming), een gelijkheidsadviesraad (die om de twee maanden bijeenkomt om voorstellen te doen over het verbeteren van de genderrelaties in de organisatie), een evaluatiecommissie (die elke maand bijeenkomt om een ​​proces te volgen) of een garantieorgaan (dat incidenten, misbruiken of voorstellen verzamelt om de besluitvormingsprocedures te verbeteren) zijn allemaal voorbeelden van groepen.

    \n" title: Wat zijn groepen? log: value_types: @@ -425,7 +430,7 @@ nl: title: Groepen participatory_processes: show: - related_assemblies: Verwante assemblies + related_assemblies: Verwante groepen statistics: assemblies_count: Groepen errors: diff --git a/decidim-assemblies/config/locales/pl.yml b/decidim-assemblies/config/locales/pl.yml index fa31aae742b34..3dcf49ec9e8d1 100644 --- a/decidim-assemblies/config/locales/pl.yml +++ b/decidim-assemblies/config/locales/pl.yml @@ -61,6 +61,7 @@ pl: designation_date: Data wyboru full_name: Pełne imię i nazwisko gender: Płeć + non_user_avatar: Awatar position: Pozycja user_id: Użytkownik assembly_user_role: diff --git a/decidim-assemblies/config/locales/ru.yml b/decidim-assemblies/config/locales/ru.yml index 6b3de93dff450..49998a1cf24ce 100644 --- a/decidim-assemblies/config/locales/ru.yml +++ b/decidim-assemblies/config/locales/ru.yml @@ -269,6 +269,8 @@ ru: public: Граждане index: title: Собрания + last_activity: + new_assembly: Добавить собрание pages: home: highlighted_assemblies: diff --git a/decidim-assemblies/config/locales/sk.yml b/decidim-assemblies/config/locales/sk.yml index 92c8e1ba5ca56..beef21bcc966a 100644 --- a/decidim-assemblies/config/locales/sk.yml +++ b/decidim-assemblies/config/locales/sk.yml @@ -136,6 +136,8 @@ sk: assemblies_types: form: title: Názov + last_activity: + new_assembly: Nové zhromaždenie pages: home: highlighted_assemblies: diff --git a/decidim-assemblies/config/locales/sl.yml b/decidim-assemblies/config/locales/sl.yml index 9054af69254e2..68adb9b536dc9 100644 --- a/decidim-assemblies/config/locales/sl.yml +++ b/decidim-assemblies/config/locales/sl.yml @@ -210,6 +210,8 @@ sl: commission: Provizija index: title: Združbe + last_activity: + new_assembly: Nova združba pages: home: highlighted_assemblies: diff --git a/decidim-assemblies/config/locales/uk.yml b/decidim-assemblies/config/locales/uk.yml index 8f0cb96ee0199..af861445c3c2c 100644 --- a/decidim-assemblies/config/locales/uk.yml +++ b/decidim-assemblies/config/locales/uk.yml @@ -269,6 +269,8 @@ uk: public: Громадяни index: title: Збори + last_activity: + new_assembly: Додати збори pages: home: highlighted_assemblies: diff --git a/decidim-blogs/config/locales/hu.yml b/decidim-blogs/config/locales/hu.yml index 713ad7eb3f8ba..ced3c553f7eab 100644 --- a/decidim-blogs/config/locales/hu.yml +++ b/decidim-blogs/config/locales/hu.yml @@ -15,6 +15,7 @@ hu: edit: Szerkesztés new: Új bejegyzés title: Műveletek + user_group_id: Bejegyzés létrehozása admin: models: components: @@ -29,6 +30,7 @@ hu: success: Bejegyzés törlése sikeres edit: save: Frissítés + title: Bejegyzés szerkesztése index: title: Bejegyzések new: @@ -57,11 +59,16 @@ hu: read_more: Bővebben components: blogs: + actions: + create: Létrehozás + destroy: Törlés + update: Frissítés name: Blog settings: global: announcement: Közlemény comments_enabled: Megjegyzések engedélyezve + comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez) step: announcement: Közlemény comments_blocked: Megjegyzések letiltva @@ -74,3 +81,5 @@ hu: email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Leiratkozás az előző link segítségével.' email_subject: 'Új bejegyzés ehhez: %{participatory_space_title}' notification_title: 'A(z) %{resource_title} bejegyzés közzétéve itt: %{participatory_space_title}' + statistics: + posts_count: Bejegyzések diff --git a/decidim-blogs/config/locales/lt.yml b/decidim-blogs/config/locales/lt.yml index 6c5cb837ac8c1..cb5afcbc04b6c 100644 --- a/decidim-blogs/config/locales/lt.yml +++ b/decidim-blogs/config/locales/lt.yml @@ -1 +1,87 @@ lt: + activemodel: + models: + decidim/blogs/create_post_event: Naujas tinklaraščio įrašas + activerecord: + models: + decidim/blogs/post: + one: Publikacija + few: Publikacijos + many: Publikacijos + other: Publikacijos + decidim: + blogs: + actions: + confirm_destroy: Ar tikrai norite ištrinti šį įrašą? + destroy: Ištrinti + edit: Redaguoti + new: Naujas įrašas + title: Veiksmai + user_group_id: Sukurti įrašą kaip + admin: + models: + components: + body: Pagrindinė dalis + post: + name: Publikacija + posts: + create: + invalid: Kuriant šį įrašą iškilo problema + success: Įrašas sukurtas sėkmingai + destroy: + success: Įrašas pašalintas + edit: + save: Atnaujinimas + title: Redaguoti publikaciją + index: + title: Publikacijos + new: + create: Sukurti + title: Sukurti publikaciją + update: + invalid: Išsaugant šį įrašą iškilo problema. + success: Įrašas išsaugotas + last_activity: + new_post_at_html: " Naujas įrašas %{link}" + models: + post: + fields: + author: Autorė(-ius) + body: Pagrindinė dalis + created_at: Sukurta + title: pavadinimas + posts: + show: + back: Grįžti į sąrašą + comments: Komentarai + view: Peržiūrėti + sidebar_blog: + comments: komentarai + most_commented_posts: Labiausiai komentuojamos publikacijos + read_more: Skaityti daugiau + components: + blogs: + actions: + create: Sukurti + destroy: Ištrinti + update: Atnaujinti + name: Tinklaraštis + settings: + global: + announcement: Pranešimas + comments_enabled: Komentarai įjungti + comments_max_length: Maksimalus komentaro ilgis (įrašyti 0 įprastam ilgiui) + step: + announcement: Pranešimas + comments_blocked: Komentarai užblokuoti + endorsements_blocked: Pritarimai užblokuoti + endorsements_enabled: Pritarimai aktyvuoti + events: + blogs: + post_created: + email_intro: Publikacija%{resource_title} buvo publikuota %{participatory_space_title} kurią sekate. + email_outro: Gavote šį pranešimą nes sekate %{participatory_space_title}. Galite nebesekti dėka praėjusios nuorodos. + email_subject: Nauja publikacija paskelbta %{participatory_space_title} + notification_title: Publikacija %{resource_title} buvo publikuota %{participatory_space_title} + statistics: + posts_count: Publikacijos diff --git a/decidim-blogs/config/locales/nl.yml b/decidim-blogs/config/locales/nl.yml index fc0263db4a6d4..df2c7e6006617 100644 --- a/decidim-blogs/config/locales/nl.yml +++ b/decidim-blogs/config/locales/nl.yml @@ -6,14 +6,14 @@ nl: models: decidim/blogs/post: one: Post - other: berichten + other: Posts decidim: blogs: actions: confirm_destroy: Weet je zeker dat je dit bericht wilt verwijderen? destroy: Verwijder edit: Bewerk - new: Nieuw bericht + new: Nieuwe blogpost title: acties user_group_id: Bericht aanmaken als admin: @@ -37,8 +37,8 @@ nl: create: creëren title: Maak bericht update: - invalid: Er zijn fouten opgetreden bij het opslaan van het bericht. - success: Bericht succesvol opgeslagen + invalid: Er zijn fouten opgetreden bij het opslaan van deze blogpost. + success: Post succesvol opgeslagen last_activity: new_post_at_html: "Nieuw bericht op %{link}" models: diff --git a/decidim-budgets/config/locales/ca.yml b/decidim-budgets/config/locales/ca.yml index 4b28fb8d2d090..fa35b3ee61a88 100644 --- a/decidim-budgets/config/locales/ca.yml +++ b/decidim-budgets/config/locales/ca.yml @@ -170,13 +170,13 @@ ca: title: Confirmar vot budget_excess: budget_excess: - description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport d'acord amb les teves preferències. + description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votar d'acord amb les teves preferències. title: Pressupost excedit close: Tancar - description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport d'acord amb les teves preferències. + description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votar d'acord amb les teves preferències. ok: D'acord projects_excess: - description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport d'acord amb les teves preferències. + description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votar d'acord amb les teves preferències. title: Màxim de projectes excedit budget_summary: are_you_sure: Segur que vols cancel·lar el teu vot? diff --git a/decidim-budgets/config/locales/de.yml b/decidim-budgets/config/locales/de.yml index 7e59c07648400..0f1919840ad4b 100644 --- a/decidim-budgets/config/locales/de.yml +++ b/decidim-budgets/config/locales/de.yml @@ -13,6 +13,7 @@ de: decidim_scope_id: Umfang description: Beschreibung proposal_ids: Ähnliche Vorschläge + proposals: Vorschläge selected: Zur Implementierung ausgewählt title: Titel activerecord: @@ -101,6 +102,7 @@ de: success: "%{number} Vorschläge wurden erfolgreich in Projekte importiert" new: create: Importieren Sie Vorschläge in Projekte + import_all_accepted_proposals: Alle akzeptierten Vorschläge importieren no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren. select_component: Bitte wählen Sie eine Komponente aus title: Vorschläge importieren diff --git a/decidim-budgets/config/locales/fr.yml b/decidim-budgets/config/locales/fr.yml index 56e496cd83d9d..be8b002261008 100644 --- a/decidim-budgets/config/locales/fr.yml +++ b/decidim-budgets/config/locales/fr.yml @@ -17,7 +17,7 @@ fr: selected: Sélectionné pour l'implémentation title: Titre proposals_import: - scope_id: Périmètre d'application + scope_id: Secteur activerecord: models: decidim/budgets/project: diff --git a/decidim-budgets/config/locales/lt.yml b/decidim-budgets/config/locales/lt.yml index 6c5cb837ac8c1..a23c5562d3f70 100644 --- a/decidim-budgets/config/locales/lt.yml +++ b/decidim-budgets/config/locales/lt.yml @@ -1 +1,339 @@ lt: + activemodel: + attributes: + budget: + decidim_scope_id: Apimtis + description: Aprašymas + title: Pavadinimas + total_budget: Visas biudžetas + weight: Vieta eilėje + project: + budget_amount: Biudžeto dydis + decidim_category_id: Kategorija + decidim_scope_id: Apimtis + description: Aprašymas + proposal_ids: Susiję pasiūlymai + proposals: Pasiūlymai + selected: Pasirinkti įgyvendinimui + title: Pavadinimas + proposals_import: + scope_id: Apimtis + activerecord: + models: + decidim/budgets/project: + one: Projektas + few: Projektai + many: Projektai + other: Projektai + decidim: + admin: + filters: + projects: + category_id_eq: + label: Kategorija + scope_id_eq: + label: Apimtis + selected_at_null: + label: Pasirinktas + values: + 'false': Pasirinkta įgyvendinimui + 'true': Nepasirinkta įgyvendinimui + budgets: + actions: + attachment_collections: Aplankai + attachments: Priedai + confirm_destroy: Ar tikrai norite ištrinti šį projektą? + destroy: Ištrinti + edit: Redaguoti + edit_projects: Valdyti projektus + import: Importuoti pasiūlymus į projektus + new: Naujas %{name} + preview: Peržiūra + title: Veiksmai + admin: + budgets: + create: + invalid: Kuriant šį biudžetą iškilo problema + success: Biudžetas sukurtas sėkmingai + destroy: + invalid: Ištrinant šį biudžetą iškilo problema + success: Biudžetas sėkmingai ištrintas + edit: + title: Koreguoti biudžetą + update: Atnaujinti biudžetą + index: + finished_orders: Baigti balsavimai + pending_orders: Balsai laukiantys patvirtinimo + title: Biudžetai + users_with_finished_orders: Naudotojai užbaigę balsavimą + users_with_pending_orders: Naudotojai, kurių balsai laukia patvirtinimo + new: + create: Sukurti biudžetą + title: Naujas biudžetas + update: + invalid: Atnaujinant šį biudžetą iškilo problema + success: Biudžetas atnaujintas sėkmingai + exports: + projects: Projektai + models: + budget: + name: Biudžetas + project: + name: Projektas + projects: + create: + invalid: Kuriant šį projektą iškilo problema + success: Projektas sukurtas sėkmingai + destroy: + success: Projektas ištrintas sėkmingai + edit: + title: Redaguoti projektą + update: Atnaujinti + index: + finished_orders: Baigti balsavimai + pending_orders: Balsai laukiantys patvirtinimo + selected: Pasirinkta + title: Projektai + new: + create: Sukurti + title: Naujas projektas + update: + invalid: Atnaujinant šį projektą iškilo problema + success: Projektas atnaujintas + proposals_imports: + create: + invalid: Importuojant pasiūlymus į projektus kilo problema + success: "%{number} pasiūlymai sėkmingai įkelti į projektus" + new: + create: Importuoti pasiūlymus į projektus + default_budget: Numatytasis biudžetas + import_all_accepted_proposals: Importuoti visus priimtus projektus + no_components: Nėra kitų pasiūlymų komponentų šioje dalyvaujamojoje erdvėje, kuriuos būtų galima importuoti į projektus. + origin_component_id: Originalusis komponentas + select_component: Pasirinkite komponentą + title: Importuoti pasiūlymus + admin_log: + budget: + create: "%{user_name} sukūrė %{resource_name} biudžetą %{space_name} erdvėje" + delete: "%{user_name} ištrynė %{resource_name} biudžetą %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name} biudžetą %{space_name} erdvėje" + project: + create: "%{user_name} sukūrė %{resource_name} projektą %{space_name} erdvėje" + delete: "%{user_name} ištrynė %{resource_name} projektą %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name} projektą %{space_name} erdvėje" + budget: + view: Peržiūrėti visus biudžeto projektus + budget_information_modal: + back_to: Atgal į %{component_name} + close_modal: Uždaryti modalinį langą + continue: Tęsti + more_information: Daugiau informacijos + budget_list_item: + voting_finished: Balsavote šiame biudžete + voting_started: Pradėjote balsuoti šiame biudžete + budgets_list: + cancel_order: + more_than_one: ištrinkite balsą %{name} ir pradėkite iš naujo + only_one: ištrinti balsą ir pradėti iš naujo. + finished_message: Jūs baigėte balsuoti. Dėkojame už dalyvavimą! + highlighted_cta: Balsuoti dėl %{name} + if_change_opinion: Jeigu persigalvojote, galite + my_budgets: Mano biudžetai + progress: Baigti balsavimą + show: Peržiūrėti projektus + vote: Balsuoti + voted_on: Jūs balsavote dėl %{links} + limit_announcement: + cant_vote: Negalite balsuoti šito biudžeto. Pabandykite kitą biudžetą. + limit_reached: Turite aktyvių balsų %{links}. Tam, kad balsuoti šiame biudžete turite ištrinti balsus ir pradėti iš naujo. + models: + budget: + fields: + name: Pavadinimas + projects_count: Projektų skaičius + total_budget: Visas biudžetas + project: + fields: + category: Kategorija + id: ID + title: Pavadinimas + order_summary_mailer: + order_summary: + selected_projects: 'Jūsų pasirinkti projektai:' + subject: Jūs balsavote dalyvaujamojo proceso erdvėje %{space_name} + voted_on_space: Jūs balsavote dėl dalyvaujamojo proceso erdvės %{space_name} biudžeto %{budget_name}. + voted_on_space_with_scope: Jūs balsavote %{budget_name} biudžete %{space_name} dalyvaujamojoje erdvėje dėl %{scope_name}(%{scope_type}). + projects: + budget_confirm: + are_you_sure: Jeigu persigalvosite, galėsite balsuoti iš naujo. + cancel: Atšaukti + confirm: Patvirtinti + description: Šiuos projektus pasirinkote įtraukti į biudžetą. + title: Patvirtinti balsavimą + budget_excess: + budget_excess: + description: Šio projekto biudžetas viršija didžiausią nustatytą ribą ir projekto negalima pridėti. Jei norite, galite pašalinti projektą, kurį jau pasirinkote pridėti, arba balsuoti, atsižvelgami į tai kam teikiate pirmenybę. + title: Didžiausia nustatyta biudžeto riba viršyta + close: Uždaryti + description: Šio projekto kaina viršija didžiausią nustatytą biudžeto ribą ir projekto negalima pridėti. Jei norite, galite pašalinti projektą, kurį jau pasirinkote pridėti, arba balsuotii atsižvelgdmai į tai kam teikiate pirmenybę. + ok: OK + projects_excess: + description: Šio projekto biudžetas viršija didžiausią nustatytą projektų kiekio ribą ir projekto negalima pridėti. Jei norite, galite pašalinti projektą, kurį jau pasirinkote pridėti, arba balsuoti atsižvelgdami į tai kam teikiate pirmenybę. + title: Didžiausio nustatyto projektų skaičiaus riba viršyta + budget_summary: + are_you_sure: Ar tikrai norite atšauti savo balsą? + assigned: 'Priskirta:' + cancel_order: pašalinti balsą ir pradėti iš naujo + checked_out: + description: Jūs jau balsavote už biudžetą. Jeigu persigalvojote, galite %{cancel_link}. + title: Balsavimas dėl biudžeto baigtas + minimum_projects_rule: + description: Kokiems projektams, jūsų nuomone, turėtume skirti biudžetą? Pasirinkite ne mažiau kaip %{minimum_number} projektus, kuriuos norite paremti ir atitinkamai išreiškite savo prioritetus. + instruction: "
  • Pasirinkite bent %{minimum_number} projektus ir balsuokite pagal savo prioritetus tam, kad numatyti biudžeto išlaidas.
  • " + projects_rule: + description: Kokie projektai Jūsų manymu turėtų gauti finansavimą? Pasirinkite tarp %{minimum_number} ir %{maximum_number} projektų kurių norėtumėt ir skirkite balsuos pagal Jūsų prioritetus. + instruction: "
  • Pasirinkite tarp %{minimum_number} ir %{maximum_number} projektų ir balsuokite pagal savo prioritetus tam, kad nustatyti kam skirti biudžetą.
  • " + projects_rule_maximum_only: + description: Kokiems projektams, jūsų nuomone, turėtume skirti biudžetą? Pasirinkite ne mažiau kaip %{maximum_number} projektus, kuriuos norite paremti ir atitinkamai išreiškite savo prioritetus. + instruction: "
  • Pasirinkite iki %{maximum_number} projektų ir balsuokite pagal savo prioritetus tam, kad numatyti biudžeto išlaidas.
  • " + rules: + title: Biudžeto taisyklės + title: Jūs sprendžiate dėl biudžeto + total_budget: Visas biudžetas + total_projects: Viso balsų + vote_threshold_percent_rule: + description: Kokiems projektams, jūsų nuomone, turėtume skirti biudžetą? Projektams, kuriuos norite paremti, skirkite ne mažiau kaip %{minimum_budget} ir, norėdami nustatyti biudžetą, balsuokite pagal tai kam teikiate pirmenybę. + instruction: "
  • Pasirinkite bent %{minimum_budget} projektus ir balsuokite pagal savo prioritetus tam, kad numatyti biudžeto išlaidas.
  • " + count: + projects_count: + one: 1 projektas + few: "%{count} projektai (-ų)" + many: "%{count} projektai (-ų)" + other: "%{count} projektai" + exit_modal: + cancel: Grįžti į balsavimą + close_modal: Uždaryti modalinį langą + exit: Išeiti iš balsavimo + message: Jūsų balsas nebuvo registruotas nes dar neįvykdėte viso balsavimo proceso. Ar tikrai norite išeiti iš balsavimo aplinkos? + title: Dar nebasavote + filters: + category: Kategorija + scope: Apimtis + search: Ieškoti + status: Būsena + status_values: + all: Visi + not_selected: Nepasrinkta + selected: Pasirinkta + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtras + filter_by: Filtruoti pagal + unfold: Išskleisti + order_progress: + vote: Balsuoti + order_selected_projects: + remove: Pašalinti + selected_projects: + one: pasirinktas projektas + few: pasirinkti projektai + many: pasirinkti projektai + other: pasirinkti projektai + view: Peržiūra + orders: + highest_cost: Didžiausia kaina + label: Rikiuoti projektus pagal + lowest_cost: Žemiausią kainą + most_voted: Balsų skaičių + random: Atsitiktinai + selected: Pasirinkta + project: + add: Pridėti projektą %{resource_name} prie balsų + remove: Pašalinti projektą %{resource_name} iš balsų + selected: Pasirinkta + view: Peržiūrėti + votes: + one: balsas + few: balsai + many: balsai + other: balsai + you_voted: Balsavote už + project_budget_button: + add: Pridėti prie balsų + add_descriptive: Pridėti projektą %{resource_name} prie balsų + added: Pridėta prie Jūsų balsų + added_descriptive: Projektas %{resource_name} pridėtas prie Jūsų balsų + projects_for: Projektai dėl %{name} + show: + budget: Biudžetas + view_all_projects: Peržiūrėti visus projektus + components: + budgets: + actions: + comment: Komentuoti + vote: Balsuoti + name: Biudžetai + settings: + global: + announcement: Pranešimas + comments_enabled: Komentarai aktyvuoti + comments_max_length: Maksimalus komentaro ilgis (įrašyti 0 įprastam ilgiui) + form: + errors: + budget_voting_rule_only_one: Turi būti įjungta tik viena balsavimo taisyklė + budget_voting_rule_required: Būtina viena balsavimo taisyklė + landing_page_content: Biudžetų numatytasis puslapis + more_information_modal: Išsamesnės informacijos modalinis langas + projects_per_page: Projektų skaičius puslapyje + resources_permissions_enabled: Kiekvienam projektui galima nustatyti leistinus veiksmus + scope_id: Apimtis + scopes_enabled: Apimtys įjungtos + title: Pavadinimas + total_budget: Visas biudžetas + vote_minimum_budget_projects_number: Mažiausias projektų, už kuriuos galima balsuoti, skaičius + vote_rule_minimum_budget_projects_enabled: 'Įjungti taisyklę: mažiausias projektų, už kuriuos galima balsuoti, skaičius' + vote_rule_selected_projects_enabled: 'Įjungti taisyklę: mažiausias ir didžiausias projektų, už kuriuos galima balsuoti, skaičius' + vote_rule_threshold_percent_enabled: 'Įjungti taisyklę: Mažiausia biudžeto procentinė dalis' + vote_selected_projects_maximum: Didžiausias skaičius projektų, kuriuos galima pasirinkti + vote_selected_projects_minimum: Mažiausias skaičius projektų, kuriuos reikia pasirinkti + vote_threshold_percent: Balsų skaičiaus riba procentais + workflow: Eiga + workflow_choices: + all: 'Balsuoti už visus: dalyviai gali balsuoti už visus biudžetus.' + one: 'Balsuoti už vieną: dalyviai gali balsuoti tik už vieną pasirinktą biudžetą.' + step: + announcement: Skelbimas + comments_blocked: Komentarai užblokuoti + highlighted_heading: Paryškinta antraštė + landing_page_content: Biudžetų numatytasis puslapis + list_heading: Pateikti antraštę + more_information_modal: Išsamesnės informacijos modalinis langas + show_votes: Rodyti balsus + title: Pavadinimas + votes: Balsavimas + votes_choices: + disabled: Balsavimas išjungtas + enabled: Balsavimas įjungtas + finished: Balsavimas baigtas + events: + budgets: + budget_published: + email_intro: '%{participatory_space_title} %{resource_title} biudžetas dabar aktyvus. Jį galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: '%{participatory_space_title} %{resource_title} biudžetas dabar aktyvus.' + notification_title: %{resource_title} biudžetas dabar aktyvus %{participatory_space_title} erdvėje. + orders: + checkout: + error: Apdorojant jūsų balsą iškilo problema + success: Jūsų balsas įskaitytas + destroy: + error: Atšaukiant jūsų balsą iškilo problema + success: Jūsų balsas atšauktas + resource_links: + included_proposals: + project_proposal: Į šį projektą įtraukti pasiūlymai + statistics: + orders_count: Palaikymai + projects_count: Projektai + index: + confirmed_orders_count: Balsų skaičius diff --git a/decidim-budgets/config/locales/nl.yml b/decidim-budgets/config/locales/nl.yml index e4e246f6f151a..459d09add6e76 100644 --- a/decidim-budgets/config/locales/nl.yml +++ b/decidim-budgets/config/locales/nl.yml @@ -13,8 +13,11 @@ nl: decidim_scope_id: Reikwijdte description: Beschrijving proposal_ids: Verwante voorstellen + proposals: Voorstellen selected: Geselecteerd voor implementatie title: Titel + proposals_import: + scope_id: Scope activerecord: models: decidim/budgets/project: @@ -101,7 +104,10 @@ nl: success: "%{number} voorstellen succesvol geïmporteerd in projecten" new: create: Voorstellen importeren in projecten - no_components: Er zijn geen andere voorstelcomponenten in deze participatieruimte om de voorstellen in projecten te importeren. + default_budget: Standaard budget + import_all_accepted_proposals: Alle geaccepteerde voorstellen importeren + no_components: Er zijn geen andere voorstelonderdelen in deze participatieruimte om voorstellen in projecten te kunnen importeren. + origin_component_id: Oorsprong component select_component: Selecteer een component title: Voorstellen importeren admin_log: @@ -152,7 +158,7 @@ nl: order_summary_mailer: order_summary: selected_projects: 'De projecten die je hebt geselecteerd zijn:' - subject: Je hebt gestemd op de %{space_name} inspraakruimte + subject: Je hebt gestemd in %{space_name} voted_on_space: Je hebt gestemd op het %{budget_name} budget voor de %{space_name} inspraakruimte. voted_on_space_with_scope: Je hebt gestemd op het %{budget_name} budget voor de %{space_name} inspraakruimte op %{scope_name} (%{scope_type}). projects: @@ -164,10 +170,13 @@ nl: title: Bevestig de stem budget_excess: budget_excess: + description: Dit project overschrijdt het maximale budget en kan niet worden toegevoegd. Als je wil, kun je een project verwijderen dat je al had geselecteerd, om je stem opnieuw te kunnen uitbrengen. title: Maximum budget overschreden close: Sluit + description: Dit project overschrijdt het maximale budget en kan niet worden toegevoegd. Als je wil, kun je een project verwijderen dat je al had geselecteerd, om je stem opnieuw te kunnen uitbrengen. ok: OK projects_excess: + description: Dit project overschrijdt het maximale aantal projecten en kan niet worden toegevoegd. Als je wil, kun je een project verwijderen dat je al had geselecteerd, om je stem opnieuw te kunnen uitbrengen. title: Maximum aantal projecten overschreden budget_summary: are_you_sure: Weet u zeker dat u uw stem wilt annuleren? @@ -183,20 +192,26 @@ nl: description: Aan welke projecten moeten volgens jou middelen worden toegewezen? Selecteer minstens %{minimum_number} project(en) en maximum %{maximum_number} projecten en geef zo je voorkeur voor het budget door. instruction: "
  • Selecteer minstens %{minimum_number} project(en) en maximum %{maximum_number} projecten en geef zo je voorkeur voor het budget door.
  • " projects_rule_maximum_only: - description: Aan welke projecten moeten volgens jou middelen worden toegewezen? Selecteer maximum %{maximum_number} projecten en geef zo je voorkeur voor het budget door. + description: Aan welke projecten moeten volgens jou middelen worden toegewezen? Selecteer maximum %{maximum_number} projecten en geef je voorkeuren door om het budget vast te leggen. instruction: "
  • Selecteer maximum %{maximum_number} project(en) en geef zo je voorkeur voor het budget door.
  • " rules: - title: Budget regels + title: Budgetregels title: U bepaalt het budget total_budget: Totale budget total_projects: Totaal aantal stemmen vote_threshold_percent_rule: - description: Voor welke projecten vind jij dat we budget moeten vrijmaken? Wijs ten minste %{minimum_budget} toe aan de projecten die jij wil en geef zo je voorkeur voor het budget door. + description: Voor welke projecten vind jij dat we budget moeten vrijmaken? Wijs minstens %{minimum_budget} toe aan de projecten die jij wil en geef zo je voorkeur voor het budget door. instruction: "
  • Wijs minstens %{minimum_budget} toe aan de projecten die je wil en geef zo je voorkeur voor het budget door.
  • " count: projects_count: one: 1 project other: "%{count} projecten" + exit_modal: + cancel: Terug naar stemmen + close_modal: Sluit venster + exit: Verlaat stemmen + message: Je stem is niet geregistreerd omdat je het stemproces nog niet hebt voltooid. Weet je zeker dat je stemmen wil verlaten? + title: Je hebt nog niet gestemd filters: category: Categorie scope: Reikwijdte @@ -227,8 +242,8 @@ nl: random: Willekeurige volgorde selected: Geselecteerd project: - add: Voeg project %{resource_name} toe aan uw stem - remove: Verwijder project %{resource_name} uit uw stem + add: Voeg project %{resource_name} toe aan je stem + remove: Verwijder project %{resource_name} uit je stem selected: Geselecteerd view: Bekijk votes: @@ -237,9 +252,9 @@ nl: you_voted: Je stemde hiervoor project_budget_button: add: Voeg toe aan je stem - add_descriptive: Voeg project %{resource_name} toe aan uw stem + add_descriptive: Voeg project %{resource_name} toe aan je stem added: Toegevoegd aan je stem - added_descriptive: Project %{resource_name} is aan uw stem toegevoegd + added_descriptive: Project %{resource_name} is aan je stem toegevoegd projects_for: Projecten voor %{name} show: budget: Begroting @@ -254,10 +269,10 @@ nl: global: announcement: Aankondiging comments_enabled: Reacties ingeschakeld - comments_max_length: Commentaar maximale lengte (laat 0 voor standaard waarde) + comments_max_length: Commentaar maximale lengte (laat 0 voor standaardwaarde) form: errors: - budget_voting_rule_only_one: Slechts één stemregel moet ingeschakeld zijn + budget_voting_rule_only_one: Slechts één stemregel kan ingesteld zijn budget_voting_rule_required: Eén stemregel is vereist landing_page_content: Budgetten landingspagina more_information_modal: Meer informatie @@ -267,8 +282,9 @@ nl: scopes_enabled: Scopes ingeschakeld title: Titel total_budget: Totale budget - vote_minimum_budget_projects_number: Minimaal aantal projecten om te stemmen + vote_minimum_budget_projects_number: Minimumaantal projecten waarvoor moet worden gestemd vote_rule_minimum_budget_projects_enabled: 'Inschakelen van regel: minimum aantal projecten waarover gestemd moet worden' + vote_rule_selected_projects_enabled: 'Activeer regel: er moet over een minimum en een maximum aantal projecten gestemd worden' vote_rule_threshold_percent_enabled: 'Regel inschakelen: Minimaal budget percentage' vote_selected_projects_maximum: Maximum aantal te selecteren projecten vote_selected_projects_minimum: Minimaal aantal te selecteren projecten diff --git a/decidim-budgets/config/locales/sv.yml b/decidim-budgets/config/locales/sv.yml index 8b572b6ae9e4d..836117c85137f 100644 --- a/decidim-budgets/config/locales/sv.yml +++ b/decidim-budgets/config/locales/sv.yml @@ -15,6 +15,8 @@ sv: proposal_ids: Relaterade förslag selected: Valda för genomförande title: Titel + proposals_import: + scope_id: Omfång activerecord: models: decidim/budgets/project: @@ -101,6 +103,7 @@ sv: success: "%{number} förslag har importerats till projekt" new: create: Importera förslag till projekt + default_budget: Förvald budget no_components: Det finns inga andra förslagskomponenter med förslag i deltagarutrymmet som kan importeras till projekt. select_component: Välj en komponent title: Importera förslag diff --git a/decidim-comments/config/locales/lt.yml b/decidim-comments/config/locales/lt.yml index 6c5cb837ac8c1..f98466cf9e57c 100644 --- a/decidim-comments/config/locales/lt.yml +++ b/decidim-comments/config/locales/lt.yml @@ -1 +1,176 @@ lt: + activemodel: + models: + decidim/comments/comment_by_followed_user_event: Komentarai + decidim/comments/comment_created_event: Komentarai + decidim/comments/comment_upvoted_event: Komentaras palaikytas + decidim/comments/reply_created_event: Atsakymas į komentarą + decidim/comments/user_group_mentioned_event: Paminėjimas + decidim/comments/user_mentioned_event: Paminėti + activerecord: + models: + decidim/comments/comment: + one: Komentaras + few: Komentarai + many: Komentarai + other: Komentarai + decidim/comments/comment_vote: + one: Balsuoti + few: Balsai + many: Balsai + other: Balsai + decidim: + comments: + admin: + shared: + availability_fields: + enabled: Komentarai aktyvuoti + end_time: Komentarai aktyvuoti iki + start_time: Komentarai aktyvuoti nuo + comments: + create: + error: Kuriant šį komentarą iškilo problema. + delete: + error: Komentaro ištrinti nepavyko. + update: + error: Atnaujinant šį komentarą iškilo problema. + comments_count: Komentarų skaičius + comments_title: Komentarai + last_activity: + new_comment_at_html: "Naujas komentaras %{link}" + view: Rodyti + votes: + create: + error: Balsuojant už komentarą iškilo problema. + components: + add_comment_form: + account_message:
    Prisijunkitearbaregistruokitėsnorėdami komentuoti. + form: + body: + label: Komentaras + placeholder: Ką manote apie tai? + form_error: Tekstas būtinais ir negali viršyti %{length} simbolių. + submit: Publikuoti + user_group_id: + label: Komentuoti kaip + opinion: + label: Jūsų nuomonė šiuo klausimu + negative: Negatyvi + negative_selected: Jūsų nuomonė apie šią temą yra negatyvi + neutral: Neutrali + neutral_selected: Jūsų nuomonė apie šią temą yra neutrali + positive: Pozityvi + positive_selected: Jūsų nuomonė apie šią temą yra pozityvi + remaining_characters: "Liko %{count} simbolių" + remaining_characters_1: "Liko %{count} simbolių" + title: Pridėti komentarą + comment: + alignment: + against: Prieš + in_favor: Už + confirm_destroy: Ar tikrai norite ištrinti šį komentarą? + delete: Ištrinti + deleted_at: Komentaras ištrintas %{date} + deleted_user: Ištrintas dalyvis + edit: Redaguoti + edited: Redaguota + hide_replies: Paslėpti atsakymus + moderated_at: Komentaras moderuotas %{date} + reply: Atsakyti + report: + action: Raportuoti + already_reported: Šis turinys jau praneštas ir bus peržiūrėtas administratoriaus. + close: Uždaryti + description: Ar šis turinys netinkamas? + details: Papildomi komentarai + reasons: + does_not_belong: Pateikta informacija susijusi su neteisėta veikla, savižudybe, asmenine ar kita informacija netinkančia %{organization_name}. + offensive: Pateikiamoje informacijoje yra rasizmo, seksizmo, keiksmažodžių, asmeninių atakų, grasinimų ar kitokios neapykantos kalbos. + spam: Pateikiamoje informacijoje yra reklamos, antraščių mąsalo ar apgavysčių. + title: Pranešti apie netinkamą turinį + show_replies: Rodyti %{replies_count} atsakymus + single_comment_link_title: Gauti nuorodą + comment_order_selector: + order: + best_rated: Geriausiai įvertinti + most_discussed: Labiausiai aptarti + older: Ankstesni + recent: Paskutiniai + title: 'Rikiuoti pagal:' + comment_thread: + title: Pokalbis su %{authorName} + comments: + blocked_comments_for_unauthorized_user_warning: Norėdami komentuoti turite būti patvirtintas(-a), tačiau galite skaityti egzistuojančius komentarus. + blocked_comments_for_user_warning: Šiuo metu komentarų pateikti negalite, tačiau galite perskaityti ankstesnius komentarus. + blocked_comments_warning: Komentarai šiuo metu išjungti, tačiau galite perskaityti ankstesnius komentarus. + comment_details_title: Komentaro detalės + loading: Komentarai įkeliami... + single_comment_warning: Peržiūrėti visus komentarus + single_comment_warning_title: Matote vieną komentarą + title: + one: "%{count} komentaras" + few: "%{count} komentarai" + many: "%{count} komentarai" + other: "%{count} komentarai" + down_vote_button: + text: Nesutinku su šiuo komentaru + edit_comment_modal_form: + close: Uždaryti + form: + body: + label: Komentaras + placeholder: Ką apie tai manote? + submit: Siųsti + title: Taisyti komentarą + up_vote_button: + text: Sutinku su šiuo komentaru + events: + comments: + comment_by_followed_user: + email_intro: "%{author_name} pakomentavo %{resource_title}. Komentarą galite perskaityti:" + email_outro: Gavote šį pranešimą nes sekate %{author_name}. Galite pasirinkti nebesekti šio naudotojo jo profilio puslapyje. + email_subject: Naujas komentaras %{resource_title} iš %{author_name} + notification_title: Naujas komentaras %{resource_title}%{author_name}%{author_nickname}. + comment_by_followed_user_group: + email_intro: 'Grupė %{author_name} paliko komentarą po %{resource_title}. Galite jį perskaityti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_name}. Jūs galite nebesekti šios grupės pasirinkdami šį nustatymą jos profilio puslapyje. + email_subject: Naujas komentaras %{resource_title} iš %{author_name} + notification_title: Naujas komentaras %{resource_title}%{author_name}%{author_nickname}. + comment_created: + email_intro: "%{resource_title} pateiktas komentaras. Komentarą galite perskaityti šiame puslapyje:" + email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ arba jo autorių. Jūs galite jo nebesekti spustelėdami aukščiau esančią nuorodą. + email_subject: '%{author_name} paliko naują komentarą %{resource_title}' + notification_title: %{author_name} %{author_nickname} paliko naują komentarą %{resource_title} + comment_downvoted: + email_intro: Jūsų komentaras %{resource_title} buvo nepakaikyas. Komentaras dabar turi %{upvotes} palaikymus ir %{downvotes} nepalaikymus. + email_outro: Šį pranešimą gavote dėl to, kad esate pasiūlymo autorius. + email_subject: Jūsų komentaras %{resource_title} buvo įvertintas neigiamai. + notification_title: Jūsų komentaras %{resource_title} buvo įvertintas neigiamai. Dabar jis turi %{upvotes} teigiamus ir %{downvotes} neigiamus įvertinimus. + comment_upvoted: + email_intro: Jūsų komentaras %{resource_title} buvo įvertintas teigiamai. Jis turi %{upvotes} teigiamus ir %{downvotes} neigiamus įvertinimus. + email_outro: Šį pranešimą gavote nes esate komentaro autorius. + email_subject: Komentaras %{resource_title} buvo įvertintas teigiamai. + notification_title: Jūsų komentaras %{resource_title} buvo įvertintas teigiamai. Jis turi %{upvotes} teigiamus ir %{downvotes} neigiamus įvertinimus. + reply_created: + email_intro: "%{author_name} atsakė į komentarą %{resource_title}. Galite jį perskaityti:" + email_outro: Gavote šį pranešimą nes į Jūsų komentarą buvo atsakyta. + email_subject: "%{author_name} atsakė į komentarą %{resource_title}" + notification_title: %{author_name}%{author_nickname} atsakė į komentarą %{resource_title} + user_group_mentioned: + email_intro: Grupė, kuriai priklausote, buvo paminėta + email_outro: Gavote šį pranešimą nes esate %{resource_title} paminėtos grupės %{group_name} narė(-ys). + email_subject: Buvote paminėtas %{resource_title} kaip %{group_name} narys + notification_title: Buvote paminėtas %{resource_title} %{author_name}%{author_nickname} kaip %{group_name}%{group_nickname} narį + user_mentioned: + email_intro: Buvote paminėta(-s) + email_outro: Gavote šį pranešimą nes buvote paminėta(-s) %{resource_title}. + email_subject: Buvote paminėta(-s) %{resource_title} + notification_title: Buvote paminėta(-s) %{resource_title}%{author_name}%{author_nickname} + metrics: + comments: + description: Komentarų sugeneruotų dalyvių skaičius + object: komentarai + title: Komentarai + errors: + messages: + cannot_have_comments: negali būti komentuota diff --git a/decidim-comments/config/locales/nl.yml b/decidim-comments/config/locales/nl.yml index 52a18c01f08e4..52a8e95c3579b 100644 --- a/decidim-comments/config/locales/nl.yml +++ b/decidim-comments/config/locales/nl.yml @@ -3,6 +3,7 @@ nl: models: decidim/comments/comment_by_followed_user_event: Commentaar decidim/comments/comment_created_event: Commentaar + decidim/comments/comment_upvoted_event: Reactie omhoog gestemd decidim/comments/reply_created_event: Reactie antwoord decidim/comments/user_group_mentioned_event: Vermelding decidim/comments/user_mentioned_event: Vermelding @@ -23,11 +24,14 @@ nl: end_time: Reacties ingeschakeld tot start_time: Commentaren ingeschakeld vanaf comments: + create: + error: Er is een probleem opgetreden bij het aanmaken van de reactie. delete: error: De reactie kon niet worden verwijderd. update: error: Er is een probleem opgetreden bij het bijwerken van de reactie. comments_count: Aantal reacties + comments_title: Reacties last_activity: new_comment_at_html: "Nieuwe opmerking op %{link}" view: Bekijk @@ -67,6 +71,7 @@ nl: edit: Bewerk edited: Bewerkt hide_replies: Antwoorden verbergen + moderated_at: Reactie gemodereerd op %{date} reply: Antwoord report: action: Melden @@ -98,6 +103,9 @@ nl: loading: Reacties laden... single_comment_warning: Bekijk alle reacties single_comment_warning_title: Je ziet een enkele reactie + title: + one: "%{count} reacties" + other: "%{count} reacties" down_vote_button: text: Ik ben het niet eens met deze reactie edit_comment_modal_form: @@ -127,6 +135,16 @@ nl: email_outro: Je hebt deze melding ontvangen omdat je '%{resource_title}' of de auteur ervan volgt. Ontvolgen kan door te klikken op de vorige link. email_subject: Er is een nieuwe reactie van %{author_name} in %{resource_title} notification_title: Er is een nieuwe reactie van %{author_name} %{author_nickname} in %{resource_title} + comment_downvoted: + email_intro: Je reactie in "%{resource_title}" kreeg een tegenstem. Het heeft nu een totaal van %{upvotes} stemmen 'voor' en %{downvotes} stemmen 'tegen'. + email_outro: Je hebt deze melding ontvangen omdat je de auteur bent van deze reactie. + email_subject: Je reactie in "%{resource_title}" kreeg een tegenstem. + notification_title: Je reactie in "%{resource_title}" kreeg een tegenstem. Het heeft nu een totaal van %{upvotes} stemmen 'voor' en %{downvotes} stemmen 'tegen'. + comment_upvoted: + email_intro: Je reactie in "%{resource_title}" kreeg een stem 'voor'. Het heeft nu een totaal van %{upvotes} stemmen 'voor' en %{downvotes} stemmen 'tegen'. + email_outro: Je hebt deze melding ontvangen omdat je de auteur bent van deze reactie. + email_subject: Je reactie in "%{resource_title}" kreeg een stem 'voor'. + notification_title: Je reactie in "%{resource_title}" kreeg een stem 'voor'. Het heeft nu een totaal van %{upvotes} stemmen 'voor' en %{downvotes} stemmen 'tegen'. reply_created: email_intro: "%{author_name} heeft gereageerd op jouw opmerking in %{resource_title}. Lees het via deze link:" email_outro: Je hebt deze melding ontvangen omdat je reactie beantwoord is. diff --git a/decidim-conferences/config/locales/fr.yml b/decidim-conferences/config/locales/fr.yml index 190c7728e3e1d..36d1134425669 100644 --- a/decidim-conferences/config/locales/fr.yml +++ b/decidim-conferences/config/locales/fr.yml @@ -23,7 +23,7 @@ fr: registration_terms: Conditions d’inscription registrations_enabled: Inscriptions ouvertes scope_id: Périmètre - scopes_enabled: Périmètres d'application activés + scopes_enabled: Secteurs activés short_description: Brève description show_statistics: Montrer les statistiques sign_date: Date de signature diff --git a/decidim-conferences/config/locales/lt.yml b/decidim-conferences/config/locales/lt.yml index 6c5cb837ac8c1..17a445c64a1bb 100644 --- a/decidim-conferences/config/locales/lt.yml +++ b/decidim-conferences/config/locales/lt.yml @@ -1 +1,624 @@ lt: + activemodel: + attributes: + conference: + assemblies_ids: Susijusios Asamblėjos + available_slots: Laisvos vietos + banner_image: Reklamjuostės paveikslėlis + consultations_ids: Susijusios Konsultacijos + copy_categories: Kopijuoti kategorijas + copy_components: Kopijuoti komponentus + copy_features: Kopijuoti požymius + decidim_scope_id: Apimtis + description: Aprašymas + end_date: Pabaigos data + hashtag: Grotažymė + hero_image: Pradžios paveikslėlis + location: Vieta + main_logo: Pagrindinis logotipas + objectives: Tikslai + participatory_processes_ids: Susiję dalyvaujamieji procesai + promoted: Paryškinta + published_at: Publikuota + registration_terms: Registracijos sąlygos + registrations_enabled: Registracijos įjungtos + scope_id: Apimtis + scopes_enabled: Sritys įjungtos + short_description: Trumpas aprašymas + show_statistics: Rodyti statistiką + sign_date: Pasirašymo data + signature: Parašas + signature_name: parašo pavadinimas + slogan: Šūkis + slug: URL priedas + start_date: Pradžios data + title: Pavadinimas + conference_media_link: + date: Data + link: Nuoroda + title: Pavadinimas + weight: Svoris + conference_partner: + link: Nuoroda + logo: Logotipas + name: Vardas + partner_type: Partnerio tipas + weight: Svoris + conference_registration_invite: + email: El. paštas + name: Vardas + registration_type_id: Registracijos tipas + user_id: Naudotojas + conference_registration_type: + description: Aprašymas + price: Kaina + title: Pavadinimas + weight: Svoris + conference_speaker: + affiliation: Organizacija + avatar: Avataras + conference_meeting_ids: Susiję susitikimai + full_name: Vardas, pavardė + personal_url: Asmeninis URL + position: Pozicija + short_bio: Trumpas gyvenimo aprašymas + twitter_handle: Twitter tvarkyklė + user_id: Naudotojas + conference_user_role: + email: El. paštas + name: Vardas + role: Rolė + errors: + models: + conference_registration_invite: + attributes: + email: + already_invited: Šio el. laiško adresatas jau buvo pakviestas + activerecord: + models: + decidim/conference: + one: Konferencija + few: Konferencijos + many: Konferencijos + other: Konferencijos + decidim/conference_speaker: + one: Konferencijos kalbėtoja(-s) + few: Konferencijos kalbėtojai(-os) + many: Konferencijos kalbėtojai(-os) + other: Konferencijos kalbėtojai(-os) + decidim/conference_user_role: + one: Konferencijos naudotojo rolė + few: Konferencijos naudotojų rolė + many: Konferencijos naudotojų rolė + other: Konferencijos naudotojų rolė + decidim: + admin: + actions: + confirm: Patvirtinti + new_conference: Nauja Konferencija + send_diplomas: Siųsti dalyvavimo konferencijoje pažymėjimus + conference_copies: + new: + copy: Kopijuoti + select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti + title: Dubliuoti konferenciją + conference_publications: + create: + error: Publikuojant šią konferenciją iškilo problema. + success: Konferencija paskelbta. + destroy: + error: Naikinant šios konferencijos skelbimą iškilo problema. + success: Konferencijos skelbimas panaikintas. + conference_registration: + confirm: + error: Patvirtinant registraciją į šią konferenciją iškilo problema. + success: Registracija į konferenciją patvirtinta. + conference_speakers: + create: + error: Įtraukiant šios konferencijos pranešėją iškilo problema. + success: Konferencijos pranešėjas sukurtas. + destroy: + success: Konferencijos pranešėjas pašalintas. + edit: + title: Atnaujinti konferencijos pranešėją. + update: Atnaujinti + index: + conference_speakers_title: Konferencijos pranešėjai + new: + create: Sukurti + title: Naujas konferencijos pranešėjas. + update: + error: Atnaujinant šį konferencijos pranešėją iškilo problema. + success: Konferencijos pranešėjas atnaujintas. + conference_user_roles: + create: + error: Pridedant administratorių prie konferencijos kilo problema. + success: Konferencijos administratorius įtrauktas. + destroy: + success: Konferencijos administratorius pašalintas. + edit: + title: Atnaujinti konferencijos administratorių. + update: Atnaujinti + index: + conference_admins_title: konferencijos administratoriai + new: + create: Sukurti + title: Naujas konferencijos administratorius. + update: + error: Atnaujinant šios konferencijos administratorių iškilo problema. + success: Konferencijos administratorius atnaujintas. + conferences: + create: + error: Kuriant šią konferenciją iškilo problema. + success: Konferencija sukurta. + edit: + update: Atnaujinti + exports: + registrations: Registracijos + form: + title: Bendroji informacija + index: + not_published: Nepublikuota + published: Publikuota + new: + create: Sukurti + title: Konferencija + update: + error: Atnaujinant šią konferenciją iškilo problema. + success: Konferencija atnaujinta. + conferences_copies: + create: + error: Dubliuojant šią konferenciją iškilo problema. + success: Konferencija dubliuota. + media_links: + create: + error: Kuriant naują multimedijos nuorodą iškilo problema. + success: Multimedijos nuoroda sukurta. + destroy: + success: Multimedijos nuoroda pašalinta. + edit: + title: Atnaujinti multimedijos nuorodą. + update: Atnaujinti + index: + media_links_title: Multimedijos Nuorodos + new: + create: Sukurti + title: Multimedijos Nuoroda + update: + error: Atnaujinant šią multimedijos nuorodą iškilo problema. + success: Multimedijos Nuoroda atnaujinta. + menu: + conferences: Konferencijos + conferences_submenu: + attachment_collections: Aplankai + attachment_files: Dokumentai + attachments: Priedai + categories: Kategorijos + components: Komponentai + conference_admins: Konferencijos administratoriai + conference_invites: Pakvietimai + conference_speakers: Pranešėjai + diploma: Dalyvavimo konferencijoje pažymėjimas + info: Informacija + media_links: Multimedijos Nuorodos + moderations: Moderavimai + partners: Partneriai + registration_types: Registracijos tipai + registrations: Registracijos + user_registrations: Naudotojų registracijos + models: + conference: + fields: + created_at: Sukurta + promoted: Paryškinta + published: Publikuota + title: Pavadinimas + conference_speaker: + fields: + affiliation: Organizacija + full_name: Vardas, pavardė + position: Pareigos + name: Konferencijos pranešėja(-s) + conference_user_role: + fields: + email: El. paštas + name: Vardas + role: Rolė + name: Konferencijos administratorius + roles: + admin: Administratorius + collaborator: Bendraautorius + moderator: Moderatorius + valuator: Vertintojas + media_link: + fields: + date: Data + link: Nuoroda + title: Pavadinimas + name: Multimedijos Nuoroda + partner: + fields: + link: Nuoroda + logo: Logotipas + name: Vardas + partner_type: Tipas + name: Partneris + types: + collaborator: Bendraautorius + main_promotor: Pagrindinis rėmėjas + registration_type: + fields: + conference_meetings: Konferencijos susirinkimai + price: Kaina + registrations_count: Registracijų skaičius + title: Pavadinimas + weight: Vieta eilėje + name: Registracijos tipas + partners: + create: + error: Įtraukiant šios konferencijos partnerį iškilo problema. + success: Konferencijos partneris įtrauktas. + destroy: + success: Konferencijos partneris pašalintas. + edit: + title: Atnaujinti partnerį. + update: Atnaujinti + new: + create: Sukurti + title: Naujas partneris + update: + error: Atnaujinant šios konferencijos partnerį iškilo problema. + success: Konferencijos partneris atnaujintas. + registration_type_publications: + create: + error: Skelbiant šį registracijos tipą iškilo problema. + success: Registracijos tipas paskelbtas. + destroy: + error: Išimant šį registracijos tipą iškilo problema. + success: Registracijos tipas sėkmingai išimtas. + registration_types: + create: + error: Pridedant šį registracijos tipą konferencijai kilo problema. + success: Konferencijos registracijos tipas pridėtas. + destroy: + success: Konferencijos registracijos tipas pašalintas. + edit: + title: Atnaujinti registracijos tipą. + update: Atnaujinti + new: + create: Sukurti + title: Naujas registracijos tipas + update: + error: Atnaujinant šios konferencijos registracijos tipą iškilo problema. + success: Konferencijos registracijos tipas atnaujintas. + titles: + conferences: Konferencijos + admin_log: + conference: + create: "%{user_name} sukūrė %{resource_name} konferenciją" + publish: "%{user_name} publikavo %{resource_name} konferenciją" + send_conference_diplomas: "%{user_name} išsiuntė dalyvavimo konferencijoje pažymėjimus %{resource_name} konferencijos dalyviams" + unpublish: "%{user_name} panaikino %{resource_name} konferencijos skelbimą" + update: "%{user_name} atnaujino %{resource_name} konferenciją" + update_diploma: "%{user_name} atnaujino %{resource_name} konferencijos dalyvavimo konferencijoje pažymėjimų konfigūraciją" + conference_speaker: + create: "%{user_name} sukūrė %{space_name} konferencijos %{resource_name} pranešėją" + delete: "%{user_name} pašalino %{space_name} konferencijos %{resource_name} pranešėją" + update: "%{user_name} atnaujino %{space_name} konferencijos %{resource_name} pranešėją" + conference_user_role: + create: "%{user_name} pakvietė %{resource_name} į %{space_name} konferenciją" + delete: "%{user_name} pašalino administratorių %{resource_name} iš %{space_name} konferencijos" + update: "%{user_name} pakeitė %{resource_name} vaidmenį %{space_name} konferencijoje" + conferences: + conference_registration: + confirm: "%{user_name} patvirtino registraciją į %{resource_name} konferenciją" + partner: + create: "%{user_name} sukūrė partnerį %{resource_name} %{space_name} konferencijoje" + delete: "%{user_name} pašalino partnerį %{resource_name} iš %{space_name} konferencijos" + update: "%{user_name} atnaujino partnerį %{resource_name} %{space_name} konferencijoje" + registration_type: + create: "%{user_name} sukūrė %{resource_name} registracijos tipą %{space_name} konferencijoje" + publish: "%{user_name} sukūrė %{resource_name} registracijos tipą %{space_name} konferencijoje" + unpublish: "%{user_name} išėmė %{resource_name} registracijos tipą iš %{space_name} konferencijos" + update: "%{user_name} atnaujino %{resource_name} registracijos tipą %{space_name} konferencijoje" + media_link: + create: "%{user_name} sukūrė %{resource_name} nuorodą %{space_name} konferencijoje" + delete: "%{user_name} pašalino %{resource_name} nuorodą iš %{space_name} konferencijos" + update: "%{user_name} atnaujino %{resource_name} nuorodą %{space_name} konferencijoje" + conference_program: + index: + title: Programa + conference_speakers: + index: + title: Pranešėjai + conferences: + admin: + conference_copies: + form: + slug_help: 'URL priedėliai naudojami nuorodų į konferenciją sukūrimui. Juose gali būti raidės, skaičiai ir brukšneliai, tačiau privalo prasidėti nuo raidės. Pavyzdys: %{url}' + conference_invites: + create: + error: Kviečiant dalyvį dalyvauti šioje konferencijoje iškilo problema. + success: Dalyvis pakviestas dalyvauti konferencijoje. + form: + attendee_type: Dalyvio tipas + existing_user: Esamas dalyvis + invite_explanation: Dalyvis bus pakviestas dalyvauti ne tik konferencijoje, bet ir organizacijoje. + non_user: Nesamas dalyvis + select_user: Pasirinkti dalyvį + index: + filter: + accepted: Priimtas + all: Visi + rejected: Atmestas + sent: Išsiųstas + filter_by: Filtruoti pagal + invite_attendee: Kviesti dalyvį + invites: Pakvietimai + search: Ieškoti + new: + explanation: Dalyvis bus pakviestas dalyvauti konferencijoje. Jei e. laiškas nebus užregistruotas, taip pat bus kvietimas dalyvauti organizacijoje. + invite: Pakviesti + new_invite: Kviesti dalyvį + conference_registrations: + index: + registrations: Registracijos + conference_speakers: + form: + existing_user: Esamas dalyvis + non_user: Ne dalyvis + select_user: Pasirinkti dalyvį + user_type: Dalyvio tipas + index: + search: Ieškoti + conferences: + form: + available_slots_help: Jei nėra ribojimų įrašykite 0. + registrations_count: + one: Yra viena registracija. + few: Yra %{count} registracijų. + many: Yra %{count} registracijų. + other: Yra %{count} registracijų. + slug_help: 'URL priedėliai naudojami nuorodų į konferenciją sukūrimui. Juose gali būti raidės, skaičiai ir brukšneliai, tačiau privalo prasidėti nuo raidės. Pavyzdys: %{url}' + diplomas: + edit: + save: Išsaugoti + title: Dalyvavimo pažymėjimas + invite_join_conference_mailer: + invite: + decline: Atmesti kvietimą į „%{conference_title}“ + invited_you_to_join_a_conference: "%{invited_by} jus pakvietė dalyvauti konferencijoje %{application}. Kvietimą galite atmesti arba priimti spustelėję toliau pateikiamas nuorodas." + registration: Registracija į „%{conference_title}“ + partners: + index: + title: Partneriai + registration_types: + form: + select_conference_meetings: Pasirinkti konferencijos susirinkimus + index: + title: Registracijos tipai + send_conference_diploma_mailer: + diploma: + diploma_html: Rasite konferencijos %{title} dalyvavimo pažymėjimą laiško prieduose. + diploma_user: + attendance_verified_by: Dalyvavimas patvirtintas + certificate_of_attendance: Dalyvavimo pažymėjimas + certificate_of_attendance_description: Patvirtiname, kad %{user} dalyvavo %{title} konferencijoje vykusioje %{location} nuo %{start} iki %{end} + send_diploma: + error: Siunčiant dalyvavimo pažymėjimus iškilo problema. + success: Dalyvavimo konferencijoje pažymėjimai išsiųsti + conference: + registration_confirm: + cancel: Atšaukti + confirm: Patvirtinti + show: + free: Nemokama + going: Dalyvauja + no_slots_available: Nebėra vietų + registration: Registracija + conference_program: + program_meeting: + content: Turinys + location: Vieta + speakers: Kalbėtojai + streaming: Transliuoti + show: + day: Diena + program: Programa + conference_registration_mailer: + confirmation: + confirmed_html: Jūsų registracija %{title} patvirtinta. + details_1: 'Registravotės į konferenciją %{registration_type} būdu. Konferencija kainuoja %{price} ir galite dalyvauti šiuose renginiuose:' + details_2: Rasite konferencijos detales priede. + pending_validation: + confirmation_pending: Netrukus gausite elektroninį laišką su patvirtinimu + details: 'Jūsų registracijos tipas – %{registration_type}, kaina – %{price} ir galite dalyvauti šiuose renginiuose:' + pending_html: Jūsų registracija į konferenciją %{title} dar nepatvirtinta. + conference_registrations: + create: + invalid: Jungiantis prie šios konferencijos iškilo problema. + success: Jūs prisijungėte prie konferencijos. + decline_invitation: + invalid: Atmetant kvietimą iškilo problema. + success: Jūs atmetėte kvietimą. + destroy: + invalid: Paliekant šią konferenciją iškilo problema. + success: Jūs sėkmingai palikote konferenciją. + conference_speaker: + go_to_twitter: Eiti į Twitter + more_info: daugiau informacijos + personal_website: Asmeninė interneto svetainė + show: + more_info: daugiau informacijos + speaking_at: Kalba + conference_speaker_cell: + personal_url: + personal_website: Asmeninė interneto svetainė + twitter_handle: + go_to_twitter: Eiti į Twitter + conference_speakers: + index: + speakers: Pranešėjai + conferences: + partners: + collaborators: Partneriai + main_promotors: Organizatoriai + show: + login_as: Jūs prisijungėte kaip %{name} <%{email}> + make_conference_registration: 'Užsiregistruokite konferencijoje:' + register: Registruotis + content_blocks: + highlighted_conferences: + name: Paryškintos konferencijos + index: + title: Konferencijos + mailer: + conference_registration_mailer: + confirmation: + subject: Jūsų registracija į konferenciją buvo patvirtinta + pending_validation: + subject: Jūsų registracija į konferenciją dar nepatvirtinta + invite_join_conference_mailer: + invite: + subject: Kvietimas dalyvauti konferencijoje + send_conference_diploma_mailer: + diploma: + subject: Jūsų dalyvavimo konferencijoje pažymėjimas išsiųstas + models: + conference_invite: + fields: + email: El. paštas + name: Vardas + registration_type: Registracijos tipas + sent_at: Išsiųsta + status: Būsena + status: + accepted: Priimta (%{at}) + rejected: Atmesta (%{at}) + sent: Išsiųsta + conference_registration: + fields: + email: El. paštas + name: Vardas + registration_type: Registracijos tipas + state: Būsena + states: + confirmed: Patvirtinta + pending: Laukiama + pages: + home: + highlighted_conferences: + active_conferences: Aktyvios konferencijos + conferences_button_title: Nuoroda į puslapį „Konferencijos“, kuriame pateikiamos visos konferencijos + see_all_conferences: Žiūrėti visas konferencijas + photo: + image: + attributes: + alt: Nuotrauka multimedijos formatu + show: + close_modal: Uždaryti modalinį langą + photo: Paveikslėlis + photos_list: + show: + related_photos: Paveikslėliai + registration_types: + index: + choose_an_option: 'Pasirinkite registracijos būdą:' + login_as: Jūs prisijungėte kaip %{name} <%{email}> + no_registrations: Nėra registracijų + register: Registruotis + title: Registracijos tipai + shared: + conference_user_login: + already_account: Ar jau turite paskyrą „Decidim“ puslapyje? + new_user: Naujas naudotojas? + sign_in: Prisijunkite, kad galėtumėte užsiregistruoti į konferenciją + sign_up: Susikurkite paskyrą „Decidim“ puslapyje, kad galėtumėte užsiregistruoti į konferenciją + show: + details: Išsamiau + introduction: Įžanga + objectives: Tikslai + related_assemblies: Susijusios asamblėjos + related_consultations: Susijusios Konsultacijos + related_participatory_processes: Susiję dalyvaujamieji procesai + events: + conferences: + conference_registration_confirmed: + notification_title: Jūsų registracija į konferenciją %{resource_title} buvo patvirtinta. + conference_registration_validation_pending: + notification_title: Jūsų registracija į konferenciją %{resource_title} dar nepatvirtinta. + conference_registrations_over_percentage: + email_intro: Užimta daugiau nei %{percentage}% konferencijos „%{resource_title}“ laiko tarpsnių. + email_outro: Šį pranešimą gavote dėl to, kad esate konferencijos dalyvaujamojo proceso erdvės administratorius. + email_subject: Užimta daugiau nei %{percentage}% konferencijos „%{resource_title}“ laiko tarpsnių + notification_title: Užimta daugiau nei %{percentage}% konferencijos %{resource_title} laiko tarpsnių. + conference_updated: + email_intro: '„%{resource_title}“ konferencija buvo atnaujinta. Naująją versiją galite perskaityti jos puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ konferenciją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą. + email_subject: '„%{resource_title}“ konferencija buvo atnaujinta' + notification_title: %{resource_title} konferencija buvo atnaujinta. + registrations_enabled: + email_intro: 'Registracija į „%{resource_title}“ konferenciją įjungta. Galite užsiregistruoti jos tinklalapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ konferenciją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą. + email_subject: Registracija į „%{resource_title}“ konferenciją įjungta. + notification_title: Registracija į %{resource_title} konferenciją įjungta. + role_assigned: + email_intro: Jūs paskirtas „%{resource_title}“ konferencijos %{role}. + email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ konferencijos %{role}. + email_subject: Jūs paskirtas „%{resource_title}“ %{role}. + notification_title: Jūs paskirtas %{resource_title} konferencijos %{role}. + upcoming_conference: + email_intro: '„%{resource_title}“ konferencija įvyks po dviejų dienų. Aprašymą galite perskaityti jos puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ konferenciją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą. + email_subject: '„%{resource_title}“ konferencija artėja!' + notification_title: %{resource_title} konferencija įvyks po dviejų dienų. + help: + participatory_spaces: + conferences: + contextual: "

    Konferencija yra susitikimų, surengtų pagal programą, rinkinys, į kurį pakviečiama daug kalbėtojų. Konferencijoms, kaip ir kitiems dideliems susirinkimams ar socialiniams renginiams, būdingi ypatumai yra registracijos, renginį remiančių ar kitaip padedančių organizacijų sąrašas ir kt.

    Pavyzdžiui, konferencija gali būti svarbus įvykis organizacijai ir jos nariams, vykti kaip dalyvaujamojo proceso dalis arba tai gali būti renginys po konsultacijos.

    \n" + page: "

    Konferencija yra susitikimų, surengtų pagal programą, rinkinys, į kurį pakviečiama daug kalbėtojų. Konferencijoms, kaip ir kitiems dideliems susirinkimams ar socialiniams renginiams, būdingi ypatumai yra registracijos, renginį remiančių ar kitaip padedančių organizacijų sąrašas ir kt.

    Pavyzdžiui, konferencija gali būti svarbus įvykis organizacijai ir jos nariams, vykti kaip dalyvaujamojo proceso dalis arba tai gali būti renginys po konsultacijos.

    \n" + title: Kas yra konferencijos? + log: + value_types: + conference_presenter: + not_found: 'Konferencija duomenų bazėje nerasta (ID: %{id})' + media: + index: + description: Nuorodos apie šią konferenciją + title: Multimedija ir Nuorodos + menu: + conferences: Konferencijos + statistics: + conferences_count: Konferencijos + devise: + mailer: + join_conference: + subject: Kvietimas dalyvauti konferencijoje + layouts: + decidim: + conference_hero: + register: Registruotis + conference_widgets: + show: + take_part: Dalyvaukite + conferences: + conference: + more_info: Daugiau informacijos + take_part: Dalyvaukite + index: + promoted_conferences: Paryškintos konferencijos + order_by_conferences: + conferences: + one: "%{count} konferencija" + few: "%{count} konferencijos" + many: "%{count} konferencijos" + other: "%{count} konferencijos" + promoted_conference: + more_info: Daugiau informacijos + take_part: Dalyvaukite + conferences_nav: + conference_menu_item: Informacija + conference_partners_menu_item: Partneriai + conference_speaker_menu_item: Pranešėjai + media: Medija + venues: Vietos diff --git a/decidim-consultations/config/locales/fr-CA.yml b/decidim-consultations/config/locales/fr-CA.yml index 78ef1305af476..8641824fbc8c6 100644 --- a/decidim-consultations/config/locales/fr-CA.yml +++ b/decidim-consultations/config/locales/fr-CA.yml @@ -265,7 +265,7 @@ fr-CA: index: title: Votations last_activity: - new_consultation: Nouvelle consultation + new_consultation: Nouvelle votation new_question_at_html: "Nouvelle question à %{link}" pages: home: diff --git a/decidim-consultations/config/locales/fr.yml b/decidim-consultations/config/locales/fr.yml index 33176d241a730..df7245a935413 100644 --- a/decidim-consultations/config/locales/fr.yml +++ b/decidim-consultations/config/locales/fr.yml @@ -29,7 +29,7 @@ fr: promoter_group: Organisateur question_context: Contexte reference: Référence - scope: Périmètre d'application + scope: Secteur slug: Identifiant subtitle: Sous-titre vote: Système de vote externe @@ -265,7 +265,7 @@ fr: index: title: Votations last_activity: - new_consultation: Nouvelle consultation + new_consultation: Nouvelle votation new_question_at_html: "Nouvelle question à %{link}" pages: home: diff --git a/decidim-consultations/config/locales/hu.yml b/decidim-consultations/config/locales/hu.yml index b94cb0c841389..f15c1acbe89b1 100644 --- a/decidim-consultations/config/locales/hu.yml +++ b/decidim-consultations/config/locales/hu.yml @@ -238,6 +238,8 @@ hu: label: 'Konzultációk rendezése:' random: Véletlenszerű recent: Legutóbbi + show: + dates: Dátumok content_blocks: highlighted_consultations: name: Kiemelt konzultációk @@ -318,6 +320,8 @@ hu: help: participatory_spaces: consultations: + contextual: "

    A konzultációk egy olyan funkció, amely lehetővé teszi, hogy világos kérdést tegyél fel, felhívást tegyél közzé a konzultációban való részvételre, vitát generálj egy kérdésben mindazoknak, akik egy szervezetet alkotnak. Amikor a konzultáció megnyílik, lehetőség van szavazni és közzétenni a szavazatok eredményeit.

    Példák: A konzultációk szinte bármely olyan területre vonatkozhatnak, amelyek egy szervezetet érintenek. Néhány példa: megváltoztatja a szervezet nevét vagy logóját, amely számos alternatívát kínál. Igennel vagy nemmel dönteni arról, hogy a szervezet egy megállapodást aláírjon vagy sem, egy nagyobb szervezet részévé váljon, egy új stratégiai terv érvényesítése vagy elutasítása kérdésében állást foglaljon, vagy egy munkacsoport munkájának eredményét elfogadja, vagy adott esetben meghatározni, hogy az adott pozícióknak legfeljebb 1, 2 vagy 3 mandátumnak kell-e maradnia.

    \n" + page: "

    A konzultációk egy olyan terület, amely lehetővé teszi, hogy világos kérdést tegyél fel, felhívást tegyél közzé a konzultációban való részvételre, vitát generálj egy kérdésben egy szervezet tagjai számára. Amikor a konzultáció időpontja megérkezik, lehetőség van szavazni és közzétenni a szavazatok eredményeit.

    Példák: A konzultációk szinte bármely olyan területre vonatkozhatnak, amelyek egy szervezetet érintenek. Néhány példa: megváltoztatja a szervezet nevét vagy logóját, amely számos alternatívát kínál. Igennel vagy nemmel dönteni arról, hogy a szervezet egy megállapodást aláírjon vagy sem, egy nagyobb szervezet részévé váljon, egy új stratégiai terv érvényesítése vagy elutasítása kérdésében állást foglaljon, vagy egy munkacsoport munkájának eredményét elfogadja, vagy adott esetben meghatározni, hogy az adott pozícióknak legfeljebb 1, 2 vagy 3 mandátumnak kell-e maradnia.

    \n" title: Mi a konzultáció? menu: consultations: Konzultációk @@ -342,17 +346,23 @@ hu: verification_required: Ellenőrizd fiókod a szavazáshoz vote: Szavazás vote_modal: + close_modal: Ablak bezárás contextual_help: Válassz az opciók közül. title: 'Konzultáció: kérdés-szavazás' vote_modal_confirm: change: Módosítás + close_modal: Ablak bezárás confirm: Megerősítés contextual_help: Erősítsd meg a kiválasztott opciót. title: 'Konzultáció: erősítsd meg a szavazatot' resources: consultations: actions: + comment: Megjegyzés vote: Szavazás + statistics: + consultations_count: Konzultációk + votes_count: Szavazások layouts: decidim: consultation_voting_data: diff --git a/decidim-consultations/config/locales/lb.yml b/decidim-consultations/config/locales/lb.yml index b32b8d460a288..80cab3f63e455 100644 --- a/decidim-consultations/config/locales/lb.yml +++ b/decidim-consultations/config/locales/lb.yml @@ -183,6 +183,8 @@ lb: filter: Filter filter_by: Filtern nach unfold: Entfalten + last_activity: + new_consultation: Neue Konsultation pages: home: highlighted_consultations: diff --git a/decidim-consultations/config/locales/lt.yml b/decidim-consultations/config/locales/lt.yml index 6c5cb837ac8c1..30e1dce42e86c 100644 --- a/decidim-consultations/config/locales/lt.yml +++ b/decidim-consultations/config/locales/lt.yml @@ -1 +1,395 @@ lt: + activemodel: + attributes: + consultation: + banner_image: Turinio juostos paveikslėlis + decidim_highlighted_scope_id: Paryškinta sritis + description: Aprašymas + end_voting_date: Balsavimas baigiasi + introductory_image: Įvadinis paveikslėlis + introductory_video_url: Įvadinio vaizdo įrašo URL + questions: Klausimai + slug: URL priedas + start_voting_date: Balsavimas prasideda + subtitle: Paantraštė + title: Pavadinimas + question: + banner_image: Reklamjuostės paveikslėlis + decidim_scope_id: Savivaldybės aplinka + hashtag: Grotažymė + hero_image: Pradžios paveikslėlis + i_frame_url: Išorės balsavimo sistemos URL + instructions: Papildomos balsavimo instrukcijos + max_votes: Didžiausias balsų skaičius + min_votes: Mažiausias balsų skaičius + origin_scope: Apimtis + origin_title: Kilmė + origin_url: Kilmės URL + participatory_scope: Dalyvaujamoji sritis + promoter_group: Rėmėjų grupė + question_context: Kontekstas + reference: Nuoroda + scope: Savivaldybės sritis + slug: URL priedas + subtitle: Paantraštė + vote: Išorės balsavimo sistema + what_is_decided: Kas nuspręsta + response: + decidim_consultations_response_group_id: Grupė + errors: + models: + question: + attributes: + max_votes: + lower_than_min: Didžiausias balsų skaičius turėtų būti didesnis už mažiausią balsų skaičių arba jam lygus. + vote: + decidim_consultations_response_id: + not_found: Atsakymo nerasta. + activerecord: + errors: + models: + decidim/consultations/vote: + attributes: + question: + invalid_num_votes: Negaliojantis balsų skaičius + models: + decidim/consultation: + one: Konsultacija + few: Konsultacijos (-ų) + many: Konsultacijos (-ų) + other: Konsultacijos (-ų) + decidim/consultations/question: + one: Klausimas + few: Klausimai (-ų) + many: Klausimai (-ų) + other: Klausimai (-ų) + decidim/consultations/response: + one: Atsakymas + few: Atsakymai (-ų) + many: Atsakymai (-ų) + other: Atsakymai (-ų) + decidim/consultations/vote: + one: Balsas + few: Balsai (-ų) + many: Balsai (-ų) + other: Balsai (-ų) + decidim: + admin: + actions: + back_to_responses: Grįžti į atsakymus + new_consultation: Nauja konsultacija + new_question: Naujas klausimas + new_response: Naujas atsakymas + new_response_group: Nauja grupė + publish_results: Skelbti rezultatus + response_groups: Tvarkyti atsakymų grupes + unpublish_results: Panaikinti rezultatų skelbimą + consultation_publications: + create: + error: Skelbiant šią konsultaciją iškilo problema. + success: Konsultacija paskelbta. + destroy: + error: Depublikuojant šią konsultaciją kilo problema. + success: Konsultacija sėkmingai depublikuota. + consultation_results_publications: + create: + error: Publikuojant šios konsultacijos rezultatus kilo problema. + success: Konsultacijos rezultatai sėmingai paskelbti. + destroy: + error: Depublikuojant konsultacjos rezultatus kilo problema. + success: Konsultacijos rezultatų skelbimas panaikintas. + consultations: + create: + error: Kuriant naują konsultaciją iškilo problema. + success: Konsultacija sukurta. + deprecation_warning: Konsultacijų modulis greitu metu bus išimtas. Šiuo metu dirbame prie kitos, kriptografiškai saugios versijos pavadinimu Balsavimai. + edit: + update: Atnaujinti + form: + slug_help: 'URL priedėliai naudojami nuorodų į konferenciją sukūrimui. Juose gali būti raidės, skaičiai ir brukšneliai, tačiau privalo prasidėti nuo raidės. Pavyzdys: %{url}' + title: Bendra informacija + index: + not_published: Nepublikuota + published: Publikuota + new: + create: Sukurti + title: Nauja konsultacija + results: + not_visible: Rezultatai bus paskelbti pasibaigus konsultacijai + participants: "%{count} dalyviai (-ų)" + total_votes: 'Iš viso: %{count} balsai (-ų)' + update: + error: Atnaujinant šią konsultaciją iškilo problema. + success: Konsultacija atnaujinta. + menu: + consultations: Konsultacijos + consultations_submenu: + info: Informacija + questions: Klausimai + results: Rezultatai + questions_submenu: + attachments: Priedai + categories: Kategorijos + components: Komponentai + configuration: Konfigūracija + consultation: Konsultacija + info: Informacija + responses: Atsakymai + models: + consultation: + fields: + created_at: Sukurta + published: Publikuota + title: Pavadinimas + name: + one: Konsultacija + few: Konsultacijos + many: Konsultacijos + other: Konsultacijos + question: + fields: + created_at: Sukurta + published: Publikuota + title: Pavadinimas + name: + one: Klausimas + few: Klausimai + many: Klausimai + other: Klausimai + response: + fields: + created_at: Sukurta + response_group: Grupė + title: Pavadinimas + name: + one: Atsakymas + few: Atsakymai (-ų) + many: Atsakymai (-ų) + other: Atsakymai (-ų) + question_configuration: + disable_external_voting: Dėl išplėstinės konfigūracijos išjunkite išorės balsavimą + form: + help: Sudarykite klausimus su keliais pasirenkamais atsakymais, padidindami didžiausią atsakymų, kuriuos dalyvis gali pasirinkti, skaičių. Numatytoji didžiausia vertė yra 1, o tai reiškia, kad galima pasirinkti tik vieną atsakymą. + title: Papildomi nustatymai + question_publications: + create: + error: Skelbiant šį klausimą iškilo problema. + success: Klausimas paskelbtas. + destroy: + error: Naikinant šio klausimo skelbimą iškilo problema. + success: Klausimo skelbimas panaikintas. + questions: + create: + error: Kuriant naują klausimą iškilo problema. + success: Klausimas sukurtas. + destroy: + success: Klausimas pašalintas. + edit: + update: Atnaujinti + form: + title: Bendra informacija + index: + not_published: Nepaskelbta + published: Publikuota + new: + create: Sukurti + title: Naujas klausimas + update: + error: Atnaujinant šį klausimą iškilo problema. + success: Klausimas atnaujintas. + response_groups: + create: + error: Kuriant naują atsakymų grupę iškilo problema. + success: Atsakymų grupė sukurta. + destroy: + error: Šalinant šią atsakymų grupę iškilo problema. Patikrinkite, ar su ja nesusietas nė vienas atsakymas. + success: Atsakymų grupė pašalinta. + edit: + update: Atnaujinti + form: + title: Bendra informacija + help: Naudokitės grupėmis, kad galėtumėte rinkiniuose susiteminti klausimus su keliais pasirenkamais atsakymais. + new: + create: Sukurti + title: Nauja atsakymų grupė + update: + error: Atnaujinant šį atsakymą iškilo problema. + success: Atsakymas atnaujintas. + responses: + create: + error: Kuriant naują atsakymą iškilo problema. + success: Atsakymas sukurtas. + destroy: + error: Šalinant šį atsakymą iškilo problema. + success: Atsakymas pašalintas. + edit: + update: Atnaujinti + form: + title: Bendra informacija + new: + create: Sukurti + title: Naujas atsakymas + update: + error: Atnaujinant šį atsakymą iškilo problema. + success: Atsakymas atnaujintas. + titles: + consultations: Konsultacijos + questions: Klausimai + response_groups: Atsakymų grupės + responses: Atsakymai + results: Rezultatai + consultations: + admin: + content_blocks: + highlighted_consultations: + max_results: Didžiausias rodomų elementų skaičius + consultation: + start_voting_date: Balsavimas prasideda + view_results: Peržiūrėti rezultatus + consultation_card: + view_results: Peržiūrėti rezultatus + consultations: + orders: + label: 'Konsultacijas rūšiuoti pagal:' + random: Atsitiktinis + recent: Naujausia + show: + dates: Datos + content_blocks: + highlighted_consultations: + name: Paryškintos konsultacijos + count: + title: + one: "%{count} konsultacija" + few: "%{count} konsultacijos" + many: "%{count} konsultacijos" + other: "%{count} konsultacijos" + filters: + active: Aktyvios + all: Visi + finished: Užbaigta + search: Ieškoti + state: Būsena + upcoming: Artėjančios + filters_small_view: + close_modal: Uždaryti langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + highlighted_questions: + title: '%{scope_name} pateikti klausimai' + index: + title: Konsultacijos + last_activity: + new_consultation: Nauja konsultacija + new_question_at_html: "Naujas klausimas %{link}" + pages: + home: + highlighted_consultations: + active_consultations: Aktyvios konsultacijos + see_all_consultations: Žiūrėti visas konsultacijas + voting_ends_in: + one: Balsavimas baigiasi rytoj + few: Balsavimas baigiasi už %{count} dienų + many: Balsavimas baigiasi už %{count} dienų + other: Balsavimas baigiasi už %{count} dienų + voting_ends_today: Balsavimas baigiasi šiandien + question: + take_part: Dalyvaukite + view_results: Peržiūrėti rezultatus + votes_out_of: + one: balsavimas iš + few: balsavimai iš + many: balsavimai iš + other: balsavimai iš + question_multiple_votes: + results_rules: + minimum_votes_per_user: + description: Dalyviai įvairiems variantams galėjo paskirstyti ne mažiau kaip %{votes} balsų. + title: Į šį klausimą galimi keli atsakymai + total_participants: Iš viso %{count} žmonės dalyvavo balsavime. + vote_limit: + description: Dalyviai gali pasirinkti ne daugiau kaip %{limit} variantų. + voting_rules: + minimum_votes_per_user: + description: Įvairiems variantams turite paskirstyti ne mažiau kaip %{votes} balsų. + title: 'Balsams taikomos šios taisyklės:' + vote_limit: + description: Galite pasirinkti ne daugiau kaip %{limit} variantų. + left: Liko + votes: Balsai + question_votes: + create: + error: Balsuojant dėl klausimo iškilo problema + success: Galite tai keisti iki konsultacijos pabaigos. Įskaitytas bus tik paskutinis balsas. + title_error: Balsavimo klaida! + title_success: Balsas įskaitytas + regular_questions: + title: Šios konsultacijos klausimai + show: + badge_name: + finished: Užbaigta + open: Atidaryta + open_votes: Atviri balsai + published_results: Rezultatai publikuoti + footer_button_text: + debate: Debatas + view: Peržiūrėti + view_results: Peržiūrėti rezultatus + vote: Balsuoti + unspecified: Nepatikslinta + help: + participatory_spaces: + consultations: + contextual: "

    Konsultacijos yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti konsultacijoje, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.

    Pavyzdžiai: Konsultacijos gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.

    \n" + page: "

    Konsultacijos yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti konsultacijoje, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.

    Pavyzdžiai: Konsultacijos gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.

    \n" + title: Kas yra konsultacijos? + menu: + consultations: Konsultacijos + questions: + next_button: Kitas klausimas + previous_button: Praeitas klausimas + results: + title: Rezultatai + show: + read_more: Skaityti toliau + statistics: + assistants_count_title: Padėjėjai + comments_count_title: Komentarai + meetings_count_title: Susirinkimai + supports_count_title: Balsai + technical_info: + technical_data: Techniniai duomenys + vote_button: + already_voted: Jau balsuota + already_voted_hover: Atšaukti balsą + starting_from: Prasideda nuo %{date} + verification_required: Norėdami balsuoti turite patvirtinti savo tapatybę + vote: Balsuoti + vote_modal: + close_modal: Uždaryti modalinį langą + contextual_help: Pasirinkite variantą. + title: 'Konsultacija: balsavimas dėl klausimo' + vote_modal_confirm: + change: Keisti + close_modal: Uždaryti modalinį langą + confirm: Patvirtinti + contextual_help: Patvirtinkite pasirinktą variantą. + title: 'Konsultacija: patvirtinti balsą' + resources: + consultations: + actions: + comment: Komentuoti + vote: Balsuoti + statistics: + consultations_count: Konsultacijos + votes_count: Balsai + layouts: + decidim: + consultation_voting_data: + start_voting_date: Balsavimas prasideda + question_components: + question_menu_item: Klausimas + question_header: + back_to_consultation: Žiūrėti visas konsultacijas + back_to_question: Atgal į klausimą diff --git a/decidim-consultations/config/locales/nl.yml b/decidim-consultations/config/locales/nl.yml index dc4ad7f409031..802ea6593b570 100644 --- a/decidim-consultations/config/locales/nl.yml +++ b/decidim-consultations/config/locales/nl.yml @@ -265,7 +265,7 @@ nl: index: title: Burgerinspraaken last_activity: - new_consultation: Nieuw overleg + new_consultation: Nieuwe raadpleging new_question_at_html: "Nieuwe vraag op %{link}" pages: home: diff --git a/decidim-consultations/config/locales/ru.yml b/decidim-consultations/config/locales/ru.yml index 9dd2122b07989..9e6e72aed96d2 100644 --- a/decidim-consultations/config/locales/ru.yml +++ b/decidim-consultations/config/locales/ru.yml @@ -214,6 +214,8 @@ ru: title: Вопросы из %{scope_name} index: title: Консультации + last_activity: + new_consultation: Добавить консультацию pages: home: highlighted_consultations: diff --git a/decidim-consultations/config/locales/uk.yml b/decidim-consultations/config/locales/uk.yml index c231d3368012f..987d5419bece5 100644 --- a/decidim-consultations/config/locales/uk.yml +++ b/decidim-consultations/config/locales/uk.yml @@ -214,6 +214,8 @@ uk: title: Питання з %{scope_name} index: title: Консультації + last_activity: + new_consultation: Додати консультацію pages: home: highlighted_consultations: diff --git a/decidim-core/config/locales/ca.yml b/decidim-core/config/locales/ca.yml index e3d5d66894499..7ed68099f2e3a 100644 --- a/decidim-core/config/locales/ca.yml +++ b/decidim-core/config/locales/ca.yml @@ -1545,7 +1545,7 @@ ca: registrations: destroyed: El teu compte s'ha cancel·lat correctament. Esperem tornar-te a veure aviat. edit: - are_you_sure: Estàs segura? + are_you_sure: Estàs segur? cancel_my_account: Cancel·lar el meu compte currently_waiting_confirmation_for_email: 'Estem esperant la confirmació per a: %{email}' leave_blank_if_you_don_t_want_to_change_it: Deixa-ho en blanc si no vols canviar-lo @@ -1681,7 +1681,7 @@ ca: see_more: Veure més locale: name: Català - name_with_error: Anglès (error!) + name_with_error: Català (error!) password_validator: blacklisted: a la llista negra domain_included_in_password: és massa semblant a aquest nom de domini diff --git a/decidim-core/config/locales/cs.yml b/decidim-core/config/locales/cs.yml index 15bacf6e0b0b8..c7964d725d39d 100644 --- a/decidim-core/config/locales/cs.yml +++ b/decidim-core/config/locales/cs.yml @@ -523,7 +523,7 @@ cs: newsletter: Chci dostávat příležitostný zpravodaj s relevantními informacemi newsletter_title: Povolení kontaktu nickname_help: Váš alias v %{organization}. Může obsahovat pouze písmena, číslice, '-' a '_'. - password_help: "%{minimun_characters} minimum znaků, nesmí být příliš běžné (např. 123456) a musí být jiné než vaše přezdívka a váš e-mail." + password_help: "%{minimun_characters} je minimum znaků, nesmí být příliš běžné (např. 123456) a musí být jiné než vaše přezdívka a váš e-mail." sign_in: Přihlásit se sign_up: Zaregistrovat se sign_up_as: @@ -750,7 +750,7 @@ cs: click_button: 'Klikněte na následující odkaz pro stažení vašich dat.
    Soubor bude k dispozici do %{date}.
    Budete potřebovat 7-Zip (pro Windows), Keka (pro MacOS) nebo PeaZip (pro Linux) pro jeho otevření. Heslo: %{password}' download: Stažení export: - ready: V příloze naleznete exportovanou exportovanou verzi. + ready: V příloze naleznete zazipovanou verzi vašeho exportu. subject: Váš export "%{name}" je připraven filters: linked_classes: @@ -1729,7 +1729,7 @@ cs: see_more: Vidět víc locale: name: Čeština - name_with_error: Čeština + name_with_error: Čeština (chyba!) password_validator: blacklisted: je na černé listině domain_included_in_password: je příliš podobné tomuto názvu domény diff --git a/decidim-core/config/locales/de.yml b/decidim-core/config/locales/de.yml index 976bd82ed1e51..9a6e70995180b 100644 --- a/decidim-core/config/locales/de.yml +++ b/decidim-core/config/locales/de.yml @@ -40,8 +40,12 @@ de: decidim/join_request_rejected_event: Beitrittsanfrage abgelehnt decidim/profile_updated_event: Profil aktualisiert decidim/promote_to_admin: Zum Gruppenadministrator hochgestuft + decidim/promoted_to_admin_event: Zum Gruppenadministrator hochgestuft decidim/removed_from_group: Aus der Gruppe entfernt decidim/resource_endorsed_event: Ressource befürwortet + decidim/resource_hidden_event: Ressource versteckt + decidim/user_group_created_event: Benutzergruppe erstellt + decidim/welcome_notification_event: Willkommensnachricht activerecord: attributes: decidim/user: @@ -80,7 +84,28 @@ de: decidim_with_month_name_short: "%d. %b" datetime: distance_in_words: + about_x_hours: + one: etwa eine Stunde + other: etwa %{count} Stunden + about_x_months: + one: etwa ein Monat + other: etwa %{count} Monate half_a_minute: eine halbe Minute + less_than_x_minutes: + one: weniger als eine Minute + other: weingier als %{count} Minuten + less_than_x_seconds: + one: gerade eben + other: weniger als %{count} Sekunden + x_days: + one: Vor 1 Tag + other: "Vor %{count} Tagen" + x_hours: + one: Vor 1 Stunde + other: "Vor %{count} Stunden" + x_minutes: + one: Vor 1 Minute + other: "Vor %{count} Minuten" x_seconds: one: vor 1 Sekunde other: "Vor %{count} Sekunden" @@ -88,6 +113,7 @@ de: decidim: accessibility: external_link: Externer Link + front_page_link: Zur Startseite gehen logo: "Offizielles Logo von %{organization}" skip_button: Zu Hauptinhalten überspringen account: @@ -267,6 +293,8 @@ de: download: Datei herunterladen documents: related_documents: Zugehörige Dokumente + geocoding: + geocoded_address: Adresse photos: related_photos: Zugehörige Bilder author: @@ -463,7 +491,7 @@ de: newsletter: Gelegentlich einen Newsletter mit relevanten Informationen erhalten newsletter_title: Kontakterlaubnis nickname_help: Ihr Pseudonym in %{organization}. Kann nur Buchstaben, Zahlen, '-' und '_' enthalten. - password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z.B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein." + password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z. B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein." sign_in: Anmelden sign_up: Registrieren sign_up_as: @@ -512,6 +540,11 @@ de: this_application_will_not_be_able_to: 'Diese Anwendung kann nicht:' update_profile: Profil aktualisieren wants_to_use_your_account_html: "%{application_name} möchte Ihr Konto verwenden" + editor_images: + create: + error: Fehler beim Hochladen des Bildes + success: Bild erfolgreich hochgeladen + drag_and_drop_help: Sie können Bilder per Drag & Drop hinzufügen oder per Copy & Paste. endorsable: endorsements: Empfehlungen endorsements_count: Anzahl Befürworter @@ -707,6 +740,7 @@ de: no_followers: Noch keine Follower. following: no_followings: Folgt noch niemandem oder irgendetwas. + non_public_followings: Einige der gefolgten Ressourcen sind nicht öffentlich. follows: create: button: Folgen @@ -868,6 +902,15 @@ de: index: last_activity: Letzte Aktivität resource_type: Art + links: + invalid_url: Ungültige URL + warning: + body_1: Sie sind dabei einen externen Link zu besuchen und wir möchten, dass Sie hinsichtlich der Inhalte auf der externen Seite vorsichtig sind. + body_2: Bitte überprüfen Sie den Link und stellen Sie sicher, dass es sich um eine vertrauenswürdige Seite handelt, bevor Sie fortfahren. + cancel: Abbrechen + close_modal: Dialog schließen + proceed: Fortfahren + title: Externen Link öffnen log: base_presenter: create: "%{user_name} hat %{resource_name} erstellt" @@ -963,6 +1006,7 @@ de: next: Weiter no_conversations: Du hast noch keine Unterhaltungen title: Nachrichten + to: An reply: placeholder: Ihre Antwort... send: Senden @@ -970,6 +1014,7 @@ de: show: back: Zurück zu allen Unterhaltungen chat_with: Unterhaltung mit + deleted_accounts: Sie können keine Unterhaltung mit gelöschten Konten führen. not_allowed: Dieser Teilnehmer akzeptiert keine direkten Nachrichten. title: Gespräch mit %{usernames} start: @@ -1037,8 +1082,14 @@ de: greetings: Grüße,
    %{organization_name}
    %{organization_url} hello: Hallo, subject: Möchten Sie weiterhin relevante Informationen über %{organization_name} erhalten? + notification_mailer: + event_received: + original_text: 'Originaltext:' + translated_text: 'Automatisch übersetzter Text:' notifications: no_notifications: Noch keine Benachrichtigungen + show: + missing_event: Hoppla, diese Benachrichtigung gehört zu einem Artikel, der nicht mehr verfügbar ist. Du kannst sie verwerfen. notifications_settings: show: administrators: Administratoren @@ -1269,6 +1320,8 @@ de: filters: areas: Bereiche select_an_area: Wählen Sie einen Bereich aus + public_participation: + public_participation: Meine Teilnahme öffentlich anzeigen reference: reference: 'Referenz: %{reference}' represent_user_group: @@ -1332,6 +1385,7 @@ de: title_reply: Antworten show: back: Alle Unterhaltungen anzeigen + deleted_accounts: Sie können keine Unterhaltung mit gelöschten Konten führen. not_allowed: Dieser Benutzer akzeptiert keine Direktnachrichten mehr. title: Unterhaltung mit %{usernames} update: @@ -1556,6 +1610,10 @@ de: too_short: ist zu kurz (unter 15 Zeichen) forms: correct_errors: Es gibt Fehler auf dem Formular, bitte korrigieren Sie sie, um fortzufahren. + length_validator: + minimum: + one: Mindestens %{count} Zeichen + other: Mindestens %{count} Zeichen required: Erforderlich required_explanation: "* Pflichtfelder sind mit einem Stern gekennzeichnet" invisible_captcha: @@ -1623,13 +1681,14 @@ de: see_more: Mehr sehen locale: name: Deutsch - name_with_error: Englisch (Fehler!) + name_with_error: Deutsch (Fehler!) password_validator: blacklisted: ist gesperrt domain_included_in_password: ist diesem Domainnamen zu ähnlich email_included_in_password: ist Ihrer E-Mail zu ähnlich fallback: ist ungültig name_included_in_password: ist Ihrem Namen zu ähnlich + nickname_included_in_password: ist Ihrem Nicknamen zu ähnlich not_enough_unique_characters: hat nicht genug eindeutige Zeichen password_not_allowed: ist nicht erlaubt password_too_common: ist zu allgemein @@ -1664,6 +1723,8 @@ de: day_of_week: "%a" day_of_week_long: "%a %e." day_of_year: "%d.%m.%y" + ddmm: "%d.%m" + ddmmyyyy: "%d.%m.%Y" decidim_day_of_year: "%d. %B %Y" decidim_short: "%d.%m.%Y %H:%M" default: "%a, %d. %b %Y %H:%M:%S %z" diff --git a/decidim-core/config/locales/es-MX.yml b/decidim-core/config/locales/es-MX.yml index e5b0b91d76cf2..8c4c0d5d9e912 100644 --- a/decidim-core/config/locales/es-MX.yml +++ b/decidim-core/config/locales/es-MX.yml @@ -44,7 +44,7 @@ es-MX: decidim/removed_from_group: Eliminado del grupo decidim/resource_endorsed_event: Adhesión a recurso realizada decidim/resource_hidden_event: Recurso oculto - decidim/user_group_created_event: Grupo de usuarios creado + decidim/user_group_created_event: Grupo creado decidim/welcome_notification_event: Mensaje de bienvenida activerecord: attributes: @@ -1685,7 +1685,7 @@ es-MX: see_more: Ver más locale: name: Español - name_with_error: Inglés (¡error!) + name_with_error: Español (¡error!) password_validator: blacklisted: en la lista negra domain_included_in_password: Es muy similar a este nombre de dominio diff --git a/decidim-core/config/locales/es-PY.yml b/decidim-core/config/locales/es-PY.yml index 5dcad9a3b75d5..30621d2d973c5 100644 --- a/decidim-core/config/locales/es-PY.yml +++ b/decidim-core/config/locales/es-PY.yml @@ -44,7 +44,7 @@ es-PY: decidim/removed_from_group: Eliminado del grupo decidim/resource_endorsed_event: Adhesión a recurso realizada decidim/resource_hidden_event: Recurso oculto - decidim/user_group_created_event: Grupo de usuarios creado + decidim/user_group_created_event: Grupo creado decidim/welcome_notification_event: Mensaje de bienvenida activerecord: attributes: @@ -1685,7 +1685,7 @@ es-PY: see_more: Ver más locale: name: Castellano - name_with_error: Inglés (¡error!) + name_with_error: Castellano (¡error!) password_validator: blacklisted: en la lista negra domain_included_in_password: Es muy similar a este nombre de dominio diff --git a/decidim-core/config/locales/es.yml b/decidim-core/config/locales/es.yml index e7f9e5440ba4c..45e3e607e5f11 100644 --- a/decidim-core/config/locales/es.yml +++ b/decidim-core/config/locales/es.yml @@ -44,7 +44,7 @@ es: decidim/removed_from_group: Eliminada del grupo decidim/resource_endorsed_event: Adhesión a recurso realizada decidim/resource_hidden_event: Recurso oculto - decidim/user_group_created_event: Grupo de usuarios creado + decidim/user_group_created_event: Grupo creado decidim/welcome_notification_event: Mensaje de bienvenida activerecord: attributes: @@ -1545,7 +1545,7 @@ es: registrations: destroyed: Tu cuenta se ha cancelado correctamente. Esperamos volver a verte pronto. edit: - are_you_sure: '¿Estás segura?' + are_you_sure: '¿Estás seguro?' cancel_my_account: Cancelar mi cuenta currently_waiting_confirmation_for_email: 'Estamos esperando la confirmación para: %{email}' leave_blank_if_you_don_t_want_to_change_it: Déjalo en blanco si no quieres cambiarlo @@ -1681,7 +1681,7 @@ es: see_more: Ver más locale: name: Castellano - name_with_error: Inglés (¡error!) + name_with_error: Castellano (¡error!) password_validator: blacklisted: en la lista negra domain_included_in_password: es demasiado similar a este nombre de dominio diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml index b6b97b2476a53..5358a30ed32fa 100644 --- a/decidim-core/config/locales/eu.yml +++ b/decidim-core/config/locales/eu.yml @@ -1622,7 +1622,7 @@ eu: see_more: Ikusi gehiago locale: name: Euskera - name_with_error: Ingelesa (akatsa!) + name_with_error: Euskera (akatsa!) password_validator: domain_included_in_password: domeinu izen honen antzekoa da email_included_in_password: zure posta elektronikoaren antzekoa da diff --git a/decidim-core/config/locales/fr-CA.yml b/decidim-core/config/locales/fr-CA.yml index e2b9c91919443..6aea9dd6bc8ce 100644 --- a/decidim-core/config/locales/fr-CA.yml +++ b/decidim-core/config/locales/fr-CA.yml @@ -1680,7 +1680,7 @@ fr-CA: see_more: Voir plus locale: name: Français - name_with_error: Anglais (erreur !) + name_with_error: Français (erreur !) password_validator: blacklisted: sur liste noire domain_included_in_password: est trop similaire au nom de domaine de cette plateforme diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index 90348ce84d084..98044d9e5cf68 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -145,9 +145,9 @@ fr: cancel: Annuler admin_log: area: - create: "%{user_name} a créé la zone d'application %{resource_name}" - delete: "%{user_name} a supprimé la zone d'application %{resource_name}" - update: "%{user_name} a mis à jour la zone d'application %{resource_name}" + create: "%{user_name} a créé le périmètre d'assemblée %{resource_name}" + delete: "%{user_name} a supprimé le périmètre d'assemblée %{resource_name}" + update: "%{user_name} a mis à jour le périmètre d'assemblée %{resource_name}" component: create: "%{user_name} a ajouté la fonctionnalité %{resource_name} à l'espace %{space_name}" delete: "%{user_name} a supprimé la fonctionnalité %{resource_name} de l'espace %{space_name}" @@ -1241,7 +1241,7 @@ fr: currently_selected: Secteur actuellement sélectionné title: Sélectionnez %{field} prompt: Sélectionnez un périmètre d'application - scopes: Périmètre d'application + scopes: Secteurs scopes_picker_input: select_scope: 'Sélectionnez un secteur (actuellement: %{current})' search: @@ -1317,8 +1317,8 @@ fr: sign_up: Créer un compte participatory_space_filters: filters: - areas: Zones d'application - select_an_area: Sélectionnez une zone d'application + areas: Périmètres d'assemblée + select_an_area: Sélectionnez un périmètre d'assemblée public_participation: public_participation: Afficher ma présence publiquement reference: @@ -1549,7 +1549,7 @@ fr: currently_waiting_confirmation_for_email: 'En attente de confirmation pour: %{email}' leave_blank_if_you_don_t_want_to_change_it: laisser vide si vous ne voulez pas le changer title: Modifier %{resource} - unhappy: Pas satisfait ? + unhappy: Pas satisfait ? update: Mettre à jour we_need_your_current_password_to_confirm_your_changes: nous avons besoin de votre mot de passe actuel pour confirmer vos modifications new: @@ -1592,7 +1592,7 @@ fr: already_confirmed: était déjà confirmé, s'il vous plaît essayez de vous connecter confirmation_period_expired: doit être confirmé dans les %{period}, s'il vous plaît demander un nouveau content_type_allowlist_error: le type de fichier n'est pas valide - cycle_detected: un périmètre d'application ne peut pas être du même niveau que ses descendants + cycle_detected: un périmètre d'assemblée parent ne peut pas être du même niveau que ses descendants expired: a expiré, s'il vous plaît demander un nouveau file_size_is_less_than_or_equal_to: la taille du fichier doit être inférieure ou égale à %{count} invalid_time_zone: n'est pas un fuseau horaire valide @@ -1680,7 +1680,7 @@ fr: see_more: Voir plus locale: name: Français - name_with_error: Anglais (erreur !) + name_with_error: Français (erreur !) password_validator: blacklisted: sur liste noire domain_included_in_password: est trop similaire au nom de domaine de cette plateforme diff --git a/decidim-core/config/locales/hu.yml b/decidim-core/config/locales/hu.yml index 6d9e59011a35b..589f1c293dfca 100644 --- a/decidim-core/config/locales/hu.yml +++ b/decidim-core/config/locales/hu.yml @@ -35,12 +35,16 @@ hu: decidim/demoted_membership: Már nem egy csoport admin decidim/gamification/badge_earned_event: Jelvény megszerezve decidim/gamification/level_up_event: Szintet léptél + decidim/invited_to_group_event: Meghívva a csoportba decidim/join_request_accepted_event: Csatlakozási kérelem elfogadva decidim/join_request_rejected_event: Csatlakozási kérelem elutasítva decidim/profile_updated_event: Profil frissítve decidim/promote_to_admin: A csoport adminisztrátora + decidim/promoted_to_admin_event: Csoportadminisztrátorrá jelölve decidim/removed_from_group: Eltávolítva a csoportból decidim/resource_endorsed_event: Erőforrás jóváhagyva + decidim/resource_hidden_event: Rejtett erőforrás + decidim/user_group_created_event: Felhasználói csoport létrehozva decidim/welcome_notification_event: Üdvözlő üzenet activerecord: attributes: @@ -80,7 +84,28 @@ hu: decidim_with_month_name_short: "%d %b" datetime: distance_in_words: + about_x_hours: + one: kb. 1 óra + other: kb %{count} óra + about_x_months: + one: kb. 1 hónapja + other: kb %{count} hónapja half_a_minute: fél perce + less_than_x_minutes: + one: kevesebb, mint 1 perce. + other: levesebb mint %{count} perce. + less_than_x_seconds: + one: épp most + other: levesebb mint %{count} másodperce. + x_days: + one: 1 napja + other: "%{count} napja" + x_hours: + one: 1 órája + other: "%{count} órája" + x_minutes: + one: 1 perce + other: "%{count} perccel ezelőtt" x_seconds: one: 1 másodperce other: "%{count} másodperce" @@ -128,6 +153,8 @@ hu: delete: "%{user_name} eltávolította a(z) %{resource_name} elemet innen: %{space_name}" publish: "%{user_name} közzétette a(z) %{resource_name} elemet itt: %{space_name}" unpublish: "%{user_name} visszavonta a(z) %{resource_name} elem közzétetelét innen: %{space_name}" + impersonation_log: + manage: "%{user_name} kezelte a %{resource_name} erőforrást ebből az okból %{reason}" moderation: hide: "%{user_name} elrejtette a(z) %{resource_type} típusú erőforrást itt: %{space_name}" unreport: "%{user_name} visszavonta a(z) %{resource_type} típusú erőforrás bejelentését itt: %{space_name}" @@ -144,6 +171,7 @@ hu: update: "%{user_name} frissítette a szervezet beállításait" participatory_space_private_user: create: "%{user_name} meghívott %{resource_name} privát felhasználónak" + create_via_csv: "%{user_name} meghívta %{resource_name} önt, hogy privát résztvevő legyen" delete: "%{user_name} eltávolította a felhasználót %{resource_name} privát felhasználóként" scope: create: "%{user_name} létrehozta a(z) %{resource_name} hatáskört" @@ -157,17 +185,25 @@ hu: delete: "%{user_name} törölte a(z) %{resource_name} statikus oldalt" update: "%{user_name} frissítette a(z) %{resource_name} statikus oldalt" user: + block: "%{user_name} blokkolt felhasználó itt %{resource_name}" invite: "%{user_name} meghívta %{resource_name} felhasználót (szerep: %{role})" officialize: "%{user_name} hivatalossá tette %{resource_name} felhasználót" + promote: "%{user_name} előléptetve %{resource_name}" remove_from_admin: "%{user_name} eltávolította %{resource_name} felhasználót, %{role} szereppel" show_email: "%{user_name} lekérdezte a(z) %{resource_name} résztvevő e-mailjét" + transfer: "%{user_name} átmozgatta a résztvevőt %{resource_name}" + unblock: "%{user_name} megszűntette a felhasználó blokkolását %{resource_name}" unofficialize: "%{user_name} visszavonta %{resource_name} hivatalosságát" user_group: reject: "%{user_name} elutasította a(z) %{resource_name} felhasználói csoport ellenőrzését" verify: "%{user_name} ellenőrizte a(z) %{resource_name} felhasználói csoportot" verify_via_csv: "%{user_name} az %{resource_name} felhasználói csoportot CSV-fájlon keresztül ellenőrizte" + user_moderation: + unreport: "%{user_name} visszavonta a %{resource_type} - %{unreported_user_name}" admin_terms_of_use: default_body: "

    ADMIN FELHASZNÁLÓI FELTÉTELEK

    Bízunk benne, hogy a szokásos előadást megkaptad a helyi rendszergazdától. Ez rendszerint e három dologra bontható le:

    1. Tiszteld mások magánéletét.
    2. Gondolkodj, mielőtt kattintasz.
    3. A nagy hatalommal, nagy felelősségvállalás is jár!
    " + alert: + dismiss: Értesítés elvetése amendments: accepted: error: A módosítás elfogadása közben hiba történt. @@ -287,6 +323,8 @@ hu: name: Példa feljogosításra dummy_authorization_workflow: name: Dummy feljogosítási folyamat + errors: + duplicate_authorization: A résztvevő már hitelesítve lett ugyanezzal az adattal. Egy adminisztrátor felveszi a kapcsolatot a részletek pontosítása okán. expired_at: 'Lejárat: %{timestamp}' expires_at: 'Lejárat: %{timestamp}' foo_authorization: @@ -835,6 +873,13 @@ hu: not_found: 'A hatáskör típus nem található az adatbázisban (ID: %{id})' managed_users: expired_session: A jelenlegi megszemélyesítő munkamenet lejárt. + map: + dynamic: + screen_reader_explanation: A következő elem egy olyan térkép, amely az ezen az oldalon található elemeket térképpontként jeleníti meg. Az elem használható képernyőolvasóval, azonban előfordulhat, hogy így nehézséget okoz az értelmezése. + skip_button: Térkép átugrása + static: + latlng_text: 'földrajzi szélesség: %{latitude}, földrajzi hosszúság: %{longitude}' + map_service_brand: OpenStreetMap members: no_members: Ennek a felhasználói csoportnak még nincs tagja. menu: @@ -842,11 +887,35 @@ hu: home: Kezdőlap messaging: conversation_mailer: + comanagers_new_conversation: + admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora. + greeting: Kedves %{recipient}! + intro: "%{manager} egy új beszélgetést indított a(z) %{group} csoport nevében. Kattintson ide a megtekintéshez:" + outro: Használd örömmel a szolgáltatást! + subject: "%{manager} egy új beszélgetést indított a(z) %{group} nevében" + comanagers_new_message: + admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora. + greeting: Kedves %{recipient}! + intro: "%{manager} egy új üzenetet tett közzé egy beszélgetésben a(z) %{group} csoport nevében. Kattintson ide a megtekintéshez:" + outro: Használd örömmel a szolgáltatást! + subject: "%{manager} új üzeneteket küldött a(z) %{group} nevében" new_conversation: greeting: Szia %{recipient}! intro: "%{sender} új beszélgetést kezdett veled. Ide kattintva elolvashatod:" outro: Üdvözlünk a Decidimen! subject: "%{sender} beszélgetést kezdett veled" + new_group_conversation: + admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora. + greeting: Kedves %{recipient}! + intro: "%{sender} egy új beszélgetést indított a(z) %{group} csoport nevében. Kattintson ide a megtekintéshez:" + outro: Használd örömmel a szolgáltatást! + subject: "%{sender} új beszélgetést indított a(z) %{group} csoporttal" + new_group_message: + admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora. + greeting: Kedves %{recipient}! + intro: "%{sender} új üzeneteket tett közzé a(z) %{group} csoporttal folytatott beszélgetésben. Kattintson ide a megtekintéshez:" + outro: Használd örömmel a szolgáltatást! + subject: "%{group} csoportba új üzenetet küldött %{sender}" new_message: greeting: Szia %{recipient}! intro: "%{sender} új üzeneteket küldött neked. Ide kattintva megtekintheted őket:" @@ -859,12 +928,21 @@ hu: modal_title: Új beszélgetés no_results: Nincs eredmény participant_with_disabled_message_reception: Ez a résztvevő letiltotta az üzenetek fogadását + conversation: + show: Beszélgetés megjelenítése vele %{sender} create: error: A beszélgetés megakadt. Próbáld újra később + error_modal: + close: Ablak bezárás + correct_errors: Kérjük javítsa a hibákat és próbálja újra. + intro: 'A következő hibákat tartalmazza az üzenet:' + ok: OK index: ago: óta close: Modal bezárása from: Feladó + groups: Csoportjaim + last_message: Utolsó üzenet new_conversation: Új beszélgetés next: Következő no_conversations: Még nincsenek beszélgetések @@ -875,12 +953,19 @@ hu: send: Elküld title: Válasz show: + back: Vissza az összes beszélgetéshez chat_with: Beszélgetés vele + deleted_accounts: Törölt fiókkal nem lehet beszélgetni itt. + not_allowed: Ez a résztvevő nem fogad közvetlen üzeneteket. title: 'Beszélgetés vele: %{usernames}' start: send: Küldés title: Beszélgetés indítása + update: + error: Hiba folytán nem került kiküldésre az üzenet metrics: + download: + csv: Adatok letöltése (CSV) followers: description: A résztvevők száma, akik ezt a részvételi teret követik object: követők @@ -899,14 +984,22 @@ hu: see_on_website: Nem jelenik meg rendesen? Nézd meg a honlapunkon. unsubscribe: Az ilyen emailek fogadásának kikapcsolása, Leiratkozás. newsletter_templates: + basic_only_text: + body_preview: 'A fő szöveg helyőrző szövege: 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.' + name: Alapvető (csak szöveg) basic_only_text_settings_form: body: Törzs + interpolations_hint: 'Tipp: a(z) "%{name}" nevet a tárgyban és a szövegben is használhatod, az helyettesítve lesz a címzett nevével.' image_text_cta: + body_preview: 'A fő szöveg helyőrző szövege: 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.' cta_text_preview: Felhívás szövege + introduction_preview: 'A bevezetés helyőrző szövege: 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.' + name: Kép, szöveg és cselekvésre hívó gomb image_text_cta_settings_form: body: Törzs cta_text: Felhívás gomb szövege cta_url: Felhívás gomb elérési útvonala + interpolations_hint: 'Tipp: A "%{name}" lehetőséget bárhol használhatja a bevezetésben, a cselekvésre hívó szövegben, a fő szövegben vagy a tárgyban, és a helyére a címzett neve kerül.' introduction: Bevezetés main_image: Fő kép newsletters: @@ -938,8 +1031,11 @@ hu: translated_text: 'Automatikusan lefordított szöveg:' notifications: no_notifications: Még nincs értesítés. + show: + missing_event: Hopp, ez az értesítés egy olyan elemhez tartozik, ami már nem elérhető. Figyelmen kívül hagyhatod. notifications_settings: show: + administrators: Adminisztrátorok allow_public_contact: Megengedem, hogy bárki közvetlen üzenetet küldjön nekem, akkor is, ha nem követem őket. direct_messages: Közvetlen üzenetek fogadása bárkitől email_on_notification: Mindig, amikor értesítést kapok, egy emailt is küldünk róla. @@ -1164,6 +1260,17 @@ hu: user_conversations: create: success: A beszélgetés sikeresen elindult! + index: + conversations_info: A beszélgetések privátak. Senki más nem láthatja őket. Bármelyik, a platformon regisztrált résztvevővel vagy csoporttal beszélgetést kezdeményezhet. + from: Feladó + last_message: Utolsó üzenet + modal_title: Új beszélgetés + new_conversation: Új beszélgetés + next: Következő + no_conversations_warning: Még nincsenek beszélgetések. + no_results: Nincs eredmény + participant_with_disabled_message_reception: Ez a résztvevő letiltotta az üzenetek fogadását + time_ago: "%{time} ideje" new: title: Beszélgetés indítása reply: @@ -1172,6 +1279,8 @@ hu: title_reply: Válasz show: back: Beszélgetések megtekintése + deleted_accounts: Törölt fiókkal nem lehet beszélgetni itt. + not_allowed: Ez a felhasználó nem fogad el több közvetlen üzenetet. title: Beszélgetés %{usernames} nevű felhasználóval update: error: Üzenet elküldése sikertelen. Próbáld újra később @@ -1184,22 +1293,41 @@ hu: update: error: Hiba történt az érdeklődési körök frissítése közben. success: Az érdeklődési köreid sikeresen frissültek. + user_report_mailer: + notify: + body_1: '%{user} felhasználót jelentette %{token}' + body_2: 'Indok: %{reason}' + greetings: Üdvözöljük,
    %{organization_name}
    %{organization_url} + hello: Hello %{admin}, + subject: 'Felhasználó jelentésre került itt: %{organization_name}' version: show: + back_to_resource: Visszalépés + changes_at_title: Változások itt "%{title}" number_of_versions: Verziók show_all_versions: Összes verzió megjelenítése version_author: Verzió szerzője version_created_at: A verzió létrehozásának ideje version_number: Verziószám + version_number_out_of_total: "%{current_version} ennyiből: %{total_count}" version_author: show: deleted: Törölt résztvevő versions: resource_version: + of_versions: "(ennyiből: %{number})" see_other_versions: lásd a többi verziót + version: 'Verziószám: %{number}' versions_list: show: back_to_resource: Visszalépés + changes_at_title: Változások itt "%{title}" + number_of_versions: Verziók + title: Verziók + versions_list_item: + back: Összes verzió megjelenítése + show: + version_index: '%{index} verzió' welcome_notification: default_body:

    Szia{{name}}, üdvözöllek és köszönöm, hogy csatlakoztál a {{organization}} szervezethez

    • Ha gyorsan meg szeretnéd tudni, hogy mit tehetsz itt, nézd meg a Súgó részt.
    • Miután elolvastad, megkapod az első jelvényed. Itt van egy lista a jelvényekről, melyeket akkor érdemelsz ki, ha részt veszel a {{organization}} által biztosított lehetőségekben.
    Végül, de nem utolsósorban, a platform lehetőséget biztosít, hogy kapcsolódj más emberekhez is! Oszd meg velük a tapasztalatodat a {{organization}} részvételében. Tegyél javaslatokat, megjegyzéseket, generálj konstruktív vitákat és gondold végig, hogyan járulj hozzá a közjó előmozdításához. Gyűjts érveket, hogy meggyőzz másokat, hallgass meg és olvasd el mások meggyőződést, fejezd ki ötleteidet konkrét és közvetlen módon, válaszolj türelemmel és határozottan, védd meg ötleteidet és hagyd nyitva elmédet, hogy elősegítsd az együttműködést és lehetőséget teremts más emberek ötleteinek befogadásához.

    default_subject: Köszönjük, hogy csatlakoztál a {{organization}} szervezethez! @@ -1375,7 +1503,13 @@ hu: too_much_caps: túl sok nagybetűt használ (a szöveg több mint 25% -a) too_short: túl rövid (15 karakterig) forms: + correct_errors: Az űrlap hibákat tartalmaz, kérjük, javítsa ezeket a folytatáshoz. + length_validator: + minimum: + one: Legalább %{count} karakter + other: Legalább %{count} karakter required: Kötelező + required_explanation: "* A kötelező mezőket csillaggal jelöltük" invisible_captcha: sentence_for_humans: Hagyd figyelmen kívül ezt a mezőt timestamp_error_message: Sajnos ez túl gyors volt! Kérlek, küldd el újra. @@ -1388,6 +1522,7 @@ hu: edit_link: edit: Szerkesztés footer: + cc_by_license: A Creative Commons licence decidim_logo: Decidim-logó download_open_data: Töltse le a Nyílt Adat fájlokat made_with_open_source: Az oldal nyílt forráskódú szoftverrel készült. @@ -1407,17 +1542,26 @@ hu: notifications_dashboard: mark_all_as_read: Összes megjelölése olvasottként mark_as_read: Megjelölés olvasottként + social_media_links: + facebook: "%{organization} a Facebookon" + github: "%{organization} a GitHubon" + instagram: "%{organization} az Instagramon" + twitter: "%{organization} a Twitteren" + youtube: "%{organization} a YouTube-on" timeout_modal: + body: Ön %{minutes} percig inaktív volt. Ha továbbra is inaktív marad, a saját biztonsága érdekében automatikusan kijelentkeztetjük. continue_session: Munkamenet folytatása sign_out: Kijelentkezés title: Folytatja a munkamenetet? user_menu: + account: 'Felhasználói fiók: %{name}' admin_dashboard: Admin vezérlőpult conversations: Beszélgetések notifications: Értesítések profile: Fiókom public_profile: Nyilvános profilom sign_out: Kijelentkezés + title: Profil linkek user_profile: account: Fiók authorizations: Engedélyezések @@ -1431,11 +1575,14 @@ hu: see_more: Tovább locale: name: Magyar + name_with_error: Angol (hiba!) password_validator: + blacklisted: tiltólistára került domain_included_in_password: túl hasonló a domain névhez email_included_in_password: túl hasonló az email címhez fallback: érvénytelen name_included_in_password: túlságosan hasonlít a nevedhez + nickname_included_in_password: túlságosan hasonlít a becenevéhez not_enough_unique_characters: nem tartalmaz elegendő egyedi karaktert password_not_allowed: nem engedélyezett password_too_common: túl gyakori @@ -1480,6 +1627,7 @@ hu: invitation_instructions: accept_until_format: "%B %d, %Y %I:%M %p" long: "%B %d, %Y %H:%M" + long_dashed: "%Y-%m-%d %H:%M:%S" short: "%d/%m/%Y %H:%M" time_of_day: "%H:%M" versions: @@ -1499,5 +1647,9 @@ hu: first: "« Első" last: Utolsó » next: Következő › + next_title: Lépés a következő oldalra + pagination: Lapozó previous: "‹ Előző" + previous_title: Vissza az előző oldalra + title: 'Oldalszám: ' truncate: "…" diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml index 6f19ab3160201..4f6f5a6a3095e 100644 --- a/decidim-core/config/locales/it.yml +++ b/decidim-core/config/locales/it.yml @@ -1643,7 +1643,7 @@ it: see_more: vedi di più locale: name: Italiano - name_with_error: Inglese (errore!) + name_with_error: Italiano (errore!) password_validator: blacklisted: è nella blacklist domain_included_in_password: è troppo simile a questo nome di dominio diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index 85b932a915af0..4ecc260366b16 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -1665,7 +1665,7 @@ ja: see_more: もっと見る locale: name: 日本語 - name_with_error: 英語 (エラー!) + name_with_error: 日本語 (エラー!) password_validator: blacklisted: ブラックリストに登録済み domain_included_in_password: このドメイン名に似ています diff --git a/decidim-core/config/locales/lb.yml b/decidim-core/config/locales/lb.yml index 9d544b5d1ef79..b5b900ace14e9 100644 --- a/decidim-core/config/locales/lb.yml +++ b/decidim-core/config/locales/lb.yml @@ -458,7 +458,7 @@ lb: newsletter: Heiansdo en Newsletter mat relevanten Informatiounen zougeschéckt kréien newsletter_title: Erlabnis Kontakt opzehuelen nickname_help: Däin Pseudonym an %{organization}. Dierf nëmmen aus Buschtawen, Zuelen, _ an - bestoen. - password_help: "Muss op mannst aus %{minimun_characters} Zeechen bestoen, keng ze banal (z.B. 123456) an et dierf net däin Benotzernumm oder deng Email-Adress enthalen." + password_help: "Muss op mannst aus %{minimun_characters} Zeechen bestoen, keng ze banal Zeechen (z.B. 123456) an et dierf weder däin Pseudonym nach deng Email-Adress enthalen." sign_in: Umelden sign_up: Registréieren sign_up_as: @@ -1488,7 +1488,7 @@ lb: registrations: destroyed: Däin Kont gouf zou gemaach. Mir hoffen dech geschwënn erëm ze gesinn. edit: - are_you_sure: Bass de sécher? + are_you_sure: Bass du sécher? cancel_my_account: Kont erstellen ofbriechen currently_waiting_confirmation_for_email: 'Op Bestätegung waarden fir: %{email}' leave_blank_if_you_don_t_want_to_change_it: net ausfëllen wann s'de keng Ännerung wëlls diff --git a/decidim-core/config/locales/lt.yml b/decidim-core/config/locales/lt.yml index 6c5cb837ac8c1..51ea17f95a466 100644 --- a/decidim-core/config/locales/lt.yml +++ b/decidim-core/config/locales/lt.yml @@ -1 +1,1803 @@ lt: + activemodel: + attributes: + account: + delete_reason: Paskyros pašalinimo priežastis + common: + created_at: Sukurta + conversation: + body: Pagrindinė dalis + group: + about: Apie + avatar: Avataras + document_number: Dokumento numeris + email: El. paštas + name: Pavadinimas + nickname: Slapyvardis + phone: Telefonas + message: + body: Pagrindinė dalis + report: + details: Papildomi komentarai + user: + about: Apie + email: El. paštas + locale: Kalba + name: Jūsų vardas + nickname: Slapyvardis + password: Slaptažodis + password_confirmation: Pakartokite slaptažodį + personal_url: Asmeninis URL + remove_avatar: Pašalinti avatarą + models: + decidim/attachment_created_event: Priedas + decidim/component_published_event: Aktyvusis komponentas + decidim/demoted_membership: Nebėra grupės administratorius + decidim/gamification/badge_earned_event: Ženklas gautas + decidim/gamification/level_up_event: Pakilote lygiu + decidim/invited_to_group_event: Pakvietimas prisijungti prie grupės + decidim/join_request_accepted_event: Prisijungimo užklausa patvirtinta + decidim/join_request_rejected_event: Prisijungimo užklausa atmesta + decidim/profile_updated_event: Profilis atnaujintas + decidim/promote_to_admin: Paaukštintas(-a) į grupės administratorius + decidim/promoted_to_admin_event: Paaukštintas(-a) į grupės administratorius + decidim/removed_from_group: Pašalinta iš grupės + decidim/resource_endorsed_event: Išteklis palaikytas + decidim/resource_hidden_event: Išteklis paslėptas + decidim/user_group_created_event: Naudotojų grupė sukurta + decidim/welcome_notification_event: Sveikinimo prisijungus žinutė + activerecord: + attributes: + decidim/user: + current_password: Dabartinis slaptažodis + email: El. paštas + name: Slapyvardis + password: Slaptažodis + password_confirmation: Slaptažodžio patvirtinimas + remember_me: Prisiminti mane + models: + decidim/amendment: + one: Pataisa + few: Pataisos + many: Pataisos + other: Pataisos + decidim/endorsement: + one: Palaikymas + few: Palaikymai + many: Palaikymai + other: Palaikymai + decidim/user: + one: Dalyvis + few: Dalyviai + many: Dalyviai + other: Dalyviai + decidim/user_group: + one: Grupė + few: Grupės + many: Grupės + other: Grupės + booleans: + 'false': 'Ne' + 'true': 'Taip' + carrierwave: + errors: + image_too_big: Paveikslėlis per didelis + not_inside_organization: Dokumentas nepririštas prie jokios organizacijos + date: + formats: + decidim_short: "%Y/%m/%d" + decidim_short_with_month_name_short: "%Y %b %d" + decidim_with_day_and_month_name: "%Y %A %b %d" + decidim_with_month_name: "%Y %B %d" + decidim_with_month_name_short: "%d %b" + datetime: + distance_in_words: + about_x_hours: + one: apie 1 valanda + few: apie %{count} valandos + many: apie %{count} valandos + other: apie %{count} valandos + about_x_months: + one: apie 1 mėnesis + few: apie %{count} mėnesiai + many: apie %{count} mėnesiai + other: apie %{count} mėnesiai + half_a_minute: pusė minutės + less_than_x_minutes: + one: mažiau nei minutė. + few: mažiau nei %{count} minutės. + many: mažiau nei %{count} minutės. + other: mažiau nei %{count} minutės. + less_than_x_seconds: + one: dabar + few: mažiau nei %{count} sek. + many: mažiau nei %{count} sek. + other: mažiau nei %{count} sek. + x_days: + one: prieš 1 dieną + few: "prieš %{count} dienas" + many: "prieš %{count} dienas" + other: "prieš %{count} dienas" + x_hours: + one: prieš vieną valandą + few: "prieš %{count} valandas" + many: "prieš %{count} valandų" + other: "prieš %{count} valandas" + x_minutes: + one: prieš 1 min. + few: "prieš %{count} min." + many: "prieš %{count} min." + other: "prieš %{count} min." + x_seconds: + one: prieš 1 sekundę + other: "prieš %{count} sekundes" + zero: dabar + decidim: + accessibility: + external_link: Išorinė nuoroda + front_page_link: Eiti į pagrindinį puslapį + logo: "%{organization} oficialus logotipas" + skip_button: Perieti į pagrindinį turinį + account: + blocked: Ši paskyra užblokuota dėl sąlygų pažeidimų + data_portability_export: + file_no_exists: Failas neegzistuoja + notice: Parsisiunčiami jūsų duomenys. Kai procesas bus baigtas, gausite e. laišką. + delete: + alert: Šis veiksmas negali būti pakeistas vėliau. Jei ištrinate paskyrą nebegalėsite prie jos prisijungti. Paskyros ištrynis anonimizuos Jūsų indėlius. Galėsite susikurti naują paskyrą, tačiau indėliai nebus jai priskirti. + confirm: + close: Uždaryti langą + ok: Taip, noriu ištrinti paskyrą + question: Ar tikrai norite ištrinti paskyrą? + title: Ištrinti paskyrą + explanation: Įrašykite priežastį, dėl kurios norite pašalinti savo paskyrą (neprivaloma). + destroy: + error: Ištrinant Jūsų paskyrą iškilo problema. + success: Jūsų paskyra ištrinta. + show: + available_locales_helper: Pasirinkite kalbą, kuria norite naršyti platformą ir gauti pranešimus + change_password: Pakeisti slaptažodį + update_account: Atnaujinti paskyrą + update: + error: Atnaujinant paskyrą kilo problema. + success: Paskyra sėkmingai atnaujinta. + success_with_email_confirmation: Paskyra sėkmingai atnaujinta. Gausite el. laišką naujo el. pašto patvirtinimui. + admin: + actions: + cancel: Atšaukti + admin_log: + area: + create: "%{user_name} sukūrė %{resource_name} erdvę" + delete: "%{user_name} ištrynė %{resource_name} erdvę" + update: "%{user_name} sukūrė %{resource_name} erdvę" + component: + create: "%{user_name} pridėjo %{resource_name} komponentą %{space_name} erdvėje" + delete: "%{user_name} išėmė %{resource_name} komponentą iš %{space_name} erdvės" + publish: "%{user_name} paskelbė %{resource_name} komponentą %{space_name} erdvėje" + unpublish: "%{user_name} depublikavo %{resource_name} komponentą iš %{space_name} erdvės" + impersonation_log: + manage: "%{user_name} tvarkė %{resource_name} dėl %{reason}" + moderation: + hide: "%{user_name} paslėpė išteklio tipą %{resource_type} %{space_name} erdvėje" + unreport: "%{user_name} panaikino pranešimą apie %{resource_type} tipo išteklį %{space_name} erdvėje" + newsletter: + create: "%{user_name} sukūrė %{resource_name} naujienlaiškį" + delete: "%{user_name} pašalino %{resource_name} naujienlaiškį" + deliver: "%{user_name} išsiuntė %{resource_name} naujienlaiškį" + update: "%{user_name} atnaujino %{resource_name} naujienlaiškį" + oauth_application: + create: "%{user_name} sukūrė %{resource_name} „OAuth“ programą" + delete: "%{user_name} ištrynė %{resource_name} „OAuth“ programą" + update: "%{user_name} atnaujino %{resource_name} „OAuth“ programą" + organization: + update: "%{user_name} atnaujino organizacijos nustatymus" + participatory_space_private_user: + create: "%{user_name} pakvietė %{resource_name} būti privačiu dalyviu" + create_via_csv: "%{user_name} pakvietė %{resource_name} per CSV tapti privačiu dalyviu" + delete: "%{user_name} pašalino %{resource_name} dalyvį iš privačių dalyvių" + scope: + create: "%{user_name} sukūrė %{resource_name} sritį" + create_with_parent: "%{user_name} sukūrė %{resource_name} sritį %{parent_scope} srityje" + delete: "%{user_name} pašalino %{resource_name} sritį" + delete_with_parent: "%{user_name} pašalino %{resource_name} sritį %{parent_scope} srityje" + update: "%{user_name} atnaujino %{resource_name} sritį" + update_with_parent: "%{user_name} atnaujino %{resource_name} sritį %{parent_scope} srityje" + static_page: + create: "%{user_name} sukūrė %{resource_name} statinį puslapį" + delete: "%{user_name} pašalino %{resource_name} statinį puslapį" + update: "%{user_name} atnaujino %{resource_name} puslapį" + user: + block: "%{user_name} užblokavo %{resource_name}" + invite: "%{user_name} pakvietė naudotoją %{resource_name} su role: %{role}" + officialize: "%{user_name} oficializavo dalyvį %{resource_name}" + promote: "%{user_name} paaukštino %{resource_name}" + remove_from_admin: "%{user_name} pašalino dalyvį %{resource_name} su role: %{role}" + show_email: "%{user_name} gavo dalyvio %{resource_name} el. paštą" + transfer: "%{user_name} perkėlė dalyvį %{resource_name}" + unblock: "%{user_name} atblokavo naudotoją %{resource_name}" + unofficialize: "%{user_name} nuėmė dalyvio %{resource_name} patvirtinimą" + user_group: + reject: "%{user_name} atmetė %{resource_name} grupės patvirtinimą" + verify: "%{user_name} patvirtino %{resource_name} grupę" + verify_via_csv: "%{user_name} patvirtino %{resource_name} grupę per CSV rinkmeną" + user_moderation: + unreport: "%{user_name} panaikino pranešimą dėl %{resource_type} publikuotą %{unreported_user_name}" + admin_terms_of_use: + default_body: "

    ADMIN TERMS OF USE

    Tikimės, kad gavote įprastą pamokymą iš vietos Sistemos Administratoriaus. Paprastai apsiribojama trimis dalykais:

    1. Gerbkite kitų privatumą.
    2. Prieš spustelėdami pagalvokite.
    3. Didelė galia – didelė atsakomybė.
    " + alert: + dismiss: Atmesti pranešimą + amendments: + accepted: + error: Priimant pakeitimą įvyko klaida. + success: Pakeitimas priimtas. + amendable: + amended_by: Pakeitė + button: Pakeisti %{model_name} + error: Keičiant šį išteklių įvyko klaida. + help_text: Patobulinkite šį %{model_name} pakeisdami jo %{amendable_fields} + promote_button: Pakelti iki %{model_name} + promote_confirm_text: Ar tikrai norite palaikyti šią pataisą? + promote_help_text: Galite paremti šią pataisą ir ją paskelbti kaip nepriklausomą %{model_name} + section_heading: Pakeitimai (%{count}) + compare_draft: + continue: Tęsti + no_similars_found: Panašių pataisymų nerasta. + title: Panašūs pataisymai + created: + error: Kuriant pakeitimo juodraštį įvyko klaida. + success: Pakeitimo juodraštis sukurtas. + destroy_draft: + error: Šalinant šį pakeitimo juodraštį iškilo problema. + success: Pakeitimo juodraštis pašalintas. + edit_draft: + discard: Ištrinti šį juodraštį + discard_confirmation: Ar tikrai norite ištrinti šį pakeitimo juodraštį? + send: Peržiūra + title: Redaguoti Pakeitimo Juodraštį + emendation: + actions: + button_accept: Sutikti + button_reject: Atmesti + help_text: Peržiūrėti pakeitimus ir priimti arba atmesti šią pataisą. Jo autoriui(-iams) bus išsiųstas pranešimas. + announcement: + accepted: |- + Pataisa dėl %{amendable_type}%{proposal_link} buvo priimta %{date}. + evaluating: |- + Pataisa dėl %{amendable_type}%{proposal_link} yra vertinama. + promoted: Paaukštinta į %{amendable_type}. + rejected: Ši pataisa %{amendable_type}%{proposal_link} buvo atmesta %{date}. + withdrawn: |- + Ši pataisa dėl %{amendable_type}%{proposal_link} buvo išimta autoriaus(-ės). + new: + amendment_author: Pataisos autorius(-ė) + send: Sukurti + title: Sukurti Pataisos Juodraštį + preview_draft: + modify: Redaguoti + publish: Publikuoti + title: Publikuoti Pataisos Juodraštį + promoted: + error: Publikuojant pataisą kaip naują pasiūlymą iškilo problema + success: Pataisa sėkmingai publikuota kaip naujas pasiūlymas + publish_draft: + error: Publikuojant pataisą iškilo problema. + success: Pataisa sėkmingai publikuota. + rejected: + error: Atmetant pataisą kilo problema. Pabandykite dar kartą vėliau + success: Pataisa sėkmingai atmesta + review: + back: Atgal + heading: Peržiūrėti pataisą + help_text: Peržiūrite %{model_name} pataisą + send: Priimti pataisą + update_draft: + error: Atnaujinant pataisos juodraštį iškilo problema. + success: Pataisos juodraštis sėkmingai atnaujintas. + withdraw: + error: Išimant pataisą įvyko klaida + success: Pataisa sėkmingai išimta + wizard_step_form: + steps: + '1': Sukurkite savo pataisą + '2': Palyginkite savo pataisą + '3': Užbaikite savo pataisą + '4': Paskalbkite savo pataisą + anonymous_user: Anonimas + application: + collection: + documents: + one: Dokumentas + few: Dokumentai + many: Dokumentai + other: Dokumentai + document: + download: Atsisiųsti dokumentą + documents: + related_documents: Susiję dokumentai + geocoding: + geocoded_address: Adresas + photos: + related_photos: Susiję paveikslėliai + author: + avatar: 'Avataras: %{name}' + avatar_multiuser: Avataras keliems naudotojams + comments: + one: komentaras + few: komentarai + many: komentarai + other: komentarai + endorsements: + one: palaikymas + few: palaikymai + many: palaikymai + other: palaikymai + authorization_handlers: + another_dummy_authorization_handler: + explanation: Patvirtinkite savo tapatybę įvesdami savo paso numerį po "A" raidės + fields: + passport_number: Paso numeris + postal_code: Pašto kodas + name: Kita pavyzdinė autorizacija + dummy_authorization_handler: + explanation: Patvirtinkite tapatybę įvesdami dokumento numerį pasibaigianti su "X" + fields: + allowed_postal_codes: Leistini pašto kodai (atskirti kableliais) + allowed_scope_id: Leidžiama sritis + document_number: Dokumento numeris + postal_code: Pašto kodas + scope_id: Sritis + name: Autorizacijos pavyzdys + dummy_authorization_workflow: + name: Testinė autorizacijos procedūra + errors: + duplicate_authorization: Dalyvis su šiais duomenimis jau autorizuotas. Administratorius su Jumis susisieks duomenų patikrinimui. + expired_at: Išėjo iš galiojimo %{timestamp} + expires_at: Baigia galioti %{timestamp} + foo_authorization: + fields: + bar: Bar + foo: Foo + name: Foo leidimas + granted_at: Suteikta %{timestamp} + renew: Atnaujinti tapatybės patikrinimą + sms: + explanation: Įveskite telefono numerį tam, kad patikrinti Jūsų tapatybę. + name: SMS žinute siunčiamas kodas + started_at: Pradėta %{timestamp} + authorization_modals: + content: + expired: + authorize: Autorizuoti iš naujo su „%{authorization}“ + explanation: Jūsų leidimas baigė galioti. Kad galėtumėte atlikti šį veiksmą, turite iš naujo gauti leidimą „%{authorization}“. + title: Autorizacija išėjo iš galiojimo + incomplete: + cancel: Atšaukti + explanation: 'Nors jums šiuo metu suteiktas leidimas „%{authorization}“, turite būti iš naujo gauti leidimą, nes neturime šių duomenų:' + invalid_field: "%{field}" + reauthorize: Autorizuoti iš naujo + title: Prašau autorizuokitės dar kartą + missing: + authorize: Autorizuokite su "%{authorization}" + explanation: Kad galėtumėte atlikti šį veiksmą, turite gauti autorizaciją „%{authorization}“. + title: Reikalinga autorizacija + ok: + title: Būdami šiame puslapyje buvote autorizuoti. Prašau perkraukite puslapį tam, kad įvykdyti veiksmą + pending: + explanation: Kad galėtumėte atlikti šį veiksmą, turite autorizuotis su „%{authorization}“, tačiau tai dar progrese + resume: Patikrinkite savo %{authorization} autorizacijos progresą + title: Autorizacija vyksta + unauthorized: + explanation: Deja, šio veiksmo negalite atlikti, nes kai kurie jūsų autorizacijos duomenys nesutampa. + invalid_field: "%{field} vertė %{value} negalioja." + ok: Gerai + title: Neautorizuota + unconfirmed: + confirmation_instructions: 'Jeigu negavote patvirtinimo nurodymų, galite jų dar kartą paprašyti:' + explanation_html: Kad galėtumėte atlikti šį veiksmą, turite gauti leidimą, o prieš atlikdami šį veiksmą turite patvirtinti savo el. pašto adresą %{email}. + request_confirmation_instructions: Paprašyti patvirtinimo instrukcijų + title: Patvirtinkite savo el. pašto adresą + show: + close_modal: Uždaryti modalinį langą + block_user_mailer: + notify: + body_1: Jūsų paskyra užblokuota. + body_2: 'Priežastis:%{justification}' + greetings: Sveiki,
    %{organization_name}
    %{organization_url} + hello: Sveiki, + subject: Jūsų paskyra buvo užblokuota %{organization_name} + collapsible_list: + hidden_elements_count: + one: ir %{count} daugiau + few: ir %{count} daugiau + many: ir %{count} daugiau + other: ir %{count} daugiau + see_less: "(žr. mažiau)" + see_more: "(žr. daugiau)" + components: + component_order_selector: + no_content: Mes negalėjome rasti jokio turinio pagal šiuos kriterijus + order: + all_types: Visi tipai + collaborative_draft: Bendras Juodraštis + comment: Komentaras + debate: Diskusija + initiative: Iniciatyva + meeting: Susitikimas + post: Įrašas + proposal: Pasiūlymas + question: Klausimas + title: 'Rodyti:' + dummy: + actions: + bar: Juosta + foo: Foo + name: Testinis komponentas + settings: + global: + amendments_enabled: Pataisos leidžiamos + comments_enabled: Komentarai leidžiami + comments_max_length: Komentarų maksimalus ilgis + dummy_global_attribute_1: Fiktyvus atributas 1 + dummy_global_attribute_2: Fiktyvus atributas 2 + dummy_global_translatable_text: Testinis verčiamas tekstas + enable_pads_creation: Leisti bendrų dokumentų kūrimą + resources_permissions_enabled: Išteklių leidimai įjungti + scope_id: Sritis + scopes_enabled: Sritys įjungtos + step: + amendment_creation_enabled: Pataisų kūrimas leidžiamas + amendment_promotion_enabled: Pataisų paaukštinimai įjungti + amendment_reaction_enabled: Pataisų reakcijos įjungtos + amendments_visibility: Pataisų matomumas + comments_blocked: Komentarai užblokuoti + dummy_step_attribute_1: Fiktyvaus veiksmo atributas 1 + dummy_step_attribute_2: Fiktyvaus veiksmo atributas 2 + dummy_step_translatable_text: Testinis Verčiamas Tekstas + contact: Kontaktas + content_blocks: + cta: + name: Paveikslėlis, tekstas ir veiksmo mygtukas + cta_settings_form: + background_image: Foninis paveikslėlis + button_text: Veiksmo mygtuko tekstas + button_url: Veiksmo mygtuko nuoroda + description: Aprašymas + footer_sub_hero: + name: Apatinės dalies reklamjuostė + hero: + name: Pagrindinis vaizdas + hero_settings_form: + background_image: Foninis paveikslėlis + welcome_text: Pasveikinimo tekstas + highlighted_content_banner: + name: Paryškinta turinio juosta + highlighted_elements_settings_form: + orders: + label: 'Rūšiuoti elementus pagal:' + random: Atsitiktinis + recent: Naujausia + how_to_participate: + name: Kaip dalyvauti + html: + html_content: HTML turinys + name: HTML blokas + last_activity: + name: Paskutinė veikla + title: Paskutinė veikla + view_all: Peržiūrėti visus + metrics: + name: Organizacijos metrika + stats: + name: Organizacijos statistiniai duomenys + sub_hero: + name: Turinio juosta po paveikslėliu + core: + actions: + login_before_access: Prašau prisijunkite prie savo paskyros + unauthorized: Jūs neturite teisės atlikti šio veiksmo + data_portability: + export: + ready: Pasirengęs + show: + download_data: Parsisiųsti duomenis + download_data_description: Rinkmena su visais su Jūsų paskyra susijusiais duomenimis bus išsiųsta į %{user_email}. Šis el. laiškas turės .zip rinkmeną ir slaptažodį, su kuriuo reikės jį atidaryti.

    Norėdami jį atidaryti, Jums reikės 7-Zip(Windows) arba Keka(MacOS). Jei naudojate Linux, dažniausiai viskas bus paruošta iš anksto. Jei ne, galite naudoti File Roller arba PeaZip). + request_data: Prašyti duomenų + datepicker: + help_text: 'Pageidaujamas formatas: %{datepicker_format}' + devise: + omniauth_registrations: + create: + email_already_exists: Kitoje paskyroje naudojamas tas pats el. pašto adresas + new: + complete_profile: Užbaigti profilį + nickname_help: Jūsų slapyvardis %{organization}. Gali būti tik raidės, skaičiai ir brūkšneliai. + sign_up: Užbaikite profilio pildymą + subtitle: Kad galėtumėte baigti registraciją, užpildykite šią formą + username_help: Viešas vardas, kuris bus rodomas jūsų įrašuose. Tai gali būti bet koks vardas, nes siekame užtikrinti anonimiškumą. + registrations: + new: + already_have_an_account?: Jau turite paskyrą? + newsletter: Kartais gauti naujienlaiškį su aktualia informacija + newsletter_title: Leidimas susisiekti + nickname_help: Jūsų slapyvardis %{organization}. Gali būti tik raidės, skaičiai, „-“ ir „_“. + password_help: "%{minimun_characters} minimalus rašmenų skaičius, rašmenys neturi būti pernelyg įprasti (pvz., 123456) ir turi skirtis nuo jūsų naudotojo vardo ir e. pašto adreso." + sign_in: Prisijungti + sign_up: Užsiregistruoti + sign_up_as: + legend: Užsiregistruoti kaip + subtitle: Užsiregistruokite, kad galėtumėte dalyvauti diskusijose ir paremti pasiūlymus. + terms: naudojimosi sąlygos + tos_agreement: Užsiregistruodami jūs sutinkate su %{link}. + tos_title: Paslaugų teikimo sąlygos + username_help: Viešas vardas, kuris bus rodomas jūsų įrašuose. Tai gali būti bet koks vardas, nes siekame užtikrinti anonimiškumą. + sessions: + new: + are_you_new?: Naujas platformos naudotojas? + register: Sukurti paskyrą + sign_in_disabled: Galite prisijungti su išorine paskyra + sign_up_disabled: Registracija išjungta, norėdami prisijungti, naudokite jau egzistuojančią paskyrą + user: + timed_out: Per ilgai buvote neaktyvus ir buvote automatiškai atjungtas nuo paslaugos. Jei norite ir toliau naudotis paslauga, prisijunkite dar kartą. + shared: + newsletter_modal: + buttons: + check: Pažymėti ir tęsti + close_modal: Uždaryti modalinį langą + uncheck: Palikti nepažymėtą + notice: |- +

    Ar tikrai nenorite gauti naujienlaiškio?
    +
    + Labai rekomenduojame pažymėti langelį - siunčiame tik svarbią infromaciją dalyvavimui.

    +

    Naujienlaiškių bet kada galite atsisakyti.

    + title: Pranešimai apie naujienlaiškį (-ius) + omniauth_buttons: + or: Arba + doorkeeper: + authorizations: + new: + authorize: Leisti naudoti programą + by_organization_link_html: %{link} + cancel: Atšaukti + connect_your_account_html: Prijunkite savo paskyrą prisijungtami prie %{organization} + publish_content: Skelbti turinį už Jus + see_email: Žiūrėti savo el. paštą + see_name: Žiūrėti savo vardą ir pavardę + see_username: Matyti Jūsų slapyvardį + this_application_will_be_able_to: 'Ši programa galės:' + this_application_will_not_be_able_to: 'Ši programa negalės:' + update_profile: Atnaujinkite savo profilį + wants_to_use_your_account_html: "%{application_name} nori naudoti Jūsų paskyrą" + editor_images: + create: + error: Klaida įkeliant paveikslėlį + success: Paveikslėlis įkeltas sėkmingai + drag_and_drop_help: Pridėkite paveikslėlius juos užvesdami ant lango arba juos įklijuodami. + endorsable: + endorsements: Palaikymai + endorsements_count: Palaikymų skaičius + endorsement_buttons_cell: + already_endorsed: Palaikyta + endorse: Palaikyti + endorsements: + identities: + done: Atlikta + select_identity: Pasirinkite tapatybę + errors: + internal_server_error: + title: Serveryje kilo problema + try_later: Bandykite dar kartą vėliau. + not_found: + back_home: Grįžti į pagrindinį puslapį + content_doesnt_exist: Šis adresas neteisingas arba pašalintas. + title: Puslapio, kurio ieškote, nerandame + events: + amendments: + amendment_accepted: + affected_user: + email_intro: 'Pataisa %{amendable_title} buvo priimta. Galite tai pamatyti:' + email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė). + email_subject: '%{amendable_title} pataisa priimta iš %{emendation_author_nickname}' + notification_title: Pataisa sukurta %{emendation_author_nickname} buvo priimta %{amendable_title}. + follower: + email_intro: 'Pataisa %{amendable_title} buvo priimta. Galite tai pamatyti:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: '%{amendable_title} pataisa priimta iš %{emendation_author_nickname}' + notification_title: Pataisa sukurta %{emendation_author_nickname} buvo priimta %{amendable_title}. + amendment_created: + affected_user: + email_intro: 'Nauja pataisa buvo sukurta %{amendable_title}. Galite ją pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė). + email_subject: Nauja pataisa %{amendable_title} + notification_title: Nauja pataisa buvo sukurta %{amendable_title}. + follower: + email_intro: 'Nauja pataisa buvo sukurta %{amendable_title}. Galite ją pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Nauja pataisa %{amendable_title} + notification_title: Nauja pataisa buvo sukurta %{amendable_title}. + amendment_promoted: + affected_user: + email_intro: 'Atmesta pataisa %{amendable_title} buvo paskelbta kaip nauja %{amendable_type}. Galite tai pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė). + email_subject: '%{emendation_author_nickname} parengtas pakeitimas paskelbtas kaip naujas %{amendable_type}' + notification_title: Atmesta pataisadėl%{amendable_title} buvo publikuota kaip nauja%{amendable_type}%{emendation_author_nickname}. + follower: + email_intro: 'Atmesta pataisa %{amendable_title} buvo paskelbta kaip nauja %{amendable_type}. Galite tai pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: '%{emendation_author_nickname} publikavo naują pataisą kaip %{amendable_type}' + notification_title: Atmesta pataisadėl%{amendable_title} buvo publikuota kaip nauja%{amendable_type}%{emendation_author_nickname}. + amendment_rejected: + affected_user: + email_intro: 'Atmesta %{amendable_title} pataisa. Ją galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė). + email_subject: Atmesta %{emendation_author_nickname} parengta %{amendable_title} pataisa + notification_title: Pataisasukurta%{emendation_author_nickname}buvo atmesta dėl%{amendable_title}. + follower: + email_intro: 'Atmesta %{amendable_title} pataisa. Ją galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Atmesta %{emendation_author_nickname} parengta %{amendable_title} pataisa + notification_title: Pataisasukurta%{emendation_author_nickname}buvo atmesta dėl%{amendable_title}. + attachments: + attachment_created: + email_intro: 'Prie %{resource_title} pridėtas naujas dokumentas. Jį galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{resource_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: '%{resource_title} atnaujinimas' + notification_title: Prie %{resource_title} pridėtas naujas dokumentas + components: + component_published: + email_intro: '%{resource_title} komponentas įjungtas %{participatory_space_title}. Jį galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: '%{participatory_space_title} atnaujinimas' + notification_title: '%{resource_title} komponentas įjungtas %{participatory_space_title}' + email_event: + email_greeting: Sveiki %{user_name}, + email_intro: '„%{resource_title}“ atnaujintas. Jį galite pamatyti šiame puslapyje:' + email_outro: Gavote šį pranešimą nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos. + email_subject: '%{resource_title} atnaujinimas' + gamification: + badge_earned: + email_intro: Sveikiname! Jūs gavote %{badge_name} ženklelį (lygis %{current_level}). + email_outro: Šį pranešimą gavote dėl to, kad mūsų interneto svetainėje pradėjote veiklą. + email_subject: 'Jūs pelnėte naują ženklelį – %{badge_name}!' + notification_title: Sveikiname! Jūs pelnėte %{badge_name} ženklelį (lygis %{current_level}). + level_up: + email_intro: Sveikiname! Jūs pasiekėte %{current_level} lygio %{badge_name} ženklelį! + email_outro: Šį pranešimą gavote dėl to, kad mūsų interneto svetainėje pradėjote veiklą. + email_subject: Jūs pasiekėte %{current_level} lygio ženklelį %{badge_name}! + notification_title: Sveikiname! Jūs pasiekėte %{current_level} lygio %{badge_name} ženklelį! + groups: + demoted_membership: + email_intro: %{user_group_name} grupės administratorius pašalino jūsų administratoriaus teises, susijusias su šia grupe. + email_outro: Šį pranešimą gavote dėl to, kad esate tos grupės narys. + email_subject: Jūs nebesate %{user_group_name} grupės administratorius! + notification_title: Jūs nebesate %{user_group_name} grupės administratorius. + invited_to_group: + email_intro: %{user_group_name} grupės administratorius pakvietė jus prisijungti prie grupės. + email_outro: Šį pranešimą gavote dėl to, kad esate pakviestas į grupę. Patikrinkite puslapį „Grupės“ savo profilyje, jeigu norite priimti kvietimą. + email_subject: Esate pakviestas prisijungti prie %{user_group_name} grupės! + notification_title: Esate pakviestas prisijungti prie %{user_group_name} grupės. Jeigu norite priimti kvietimą, spustelėkite puslapį „Grupės“ savo profilyje! + join_request_accepted: + email_intro: Sveikiname! %{user_group_name} grupės administratorius priėmė jūsų prašymą prisijungti prie grupės. + email_outro: Šį pranešimą gavote, nes jūsų prisijungimo prašymas atnaujintas. + email_subject: Esate priimtas į %{user_group_name} grupę! + notification_title: Esate priimtas į %{user_group_name} grupę. + join_request_created: + email_intro: Kažkas atsiuntė prašymą prisijungti prie %{user_group_name} grupės. Prašymą galite priimti arba atmesti grupės narių puslapyje. + email_outro: Šį pranešimą gavote dėl to, kad galite valdyti %{user_group_name} grupę. + email_subject: Kažkas atsiuntė prašymą prisijungti prie %{user_group_name} grupės! + notification_title: Kažkas atsiuntė prašymą prisijungti prie %{user_group_name} grupės. Prašymą galite priimti arba atmesti grupės narių puslapyje. + join_request_rejected: + email_intro: %{user_group_name} grupės administratorius atmetė jūsų prašymą prisijungti prie grupės. + email_outro: Šį pranešimą gavote, nes jūsų prisijungimo prašymas buvo atnaujintas. + email_subject: Jūsų prašymas prisijungti prie %{user_group_name} grupės buvo atmestas! + notification_title: Jūsų prašymas prisijungti prie %{user_group_name} grupės buvo atmestas. + promoted_to_admin: + email_intro: %{user_group_name} grupės administratorius suteikė jums tos grupės administratoriaus teises. + email_outro: Šį pranešimą gavote dėl to, kad esate tos grupės narys. + email_subject: Tapote %{user_group_name} grupės administratoriumi(-e)! + notification_title: Dabar esate %{user_group_name} grupės administratorius(-ė). + removed_from_group: + email_intro: %{user_group_name} grupės administratorius pašalino jus iš grupės. + email_outro: Šį pranešimą gavote dėl to, kad buvote tos grupės narys. + email_subject: Buvote pašalintas iš %{user_group_name} grupės! + notification_title: Buvote pašalintas(-a) iš %{user_group_name} grupės. + user_group_created: + email_intro: Sukurta nauja naudotojų grupė ir jai suteiktas vardas %{user_group_name}. Galite tai patikrinti administratorių erdvėje. + email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius. + email_subject: Sukurta nauja naudotojų grupė + notification_title: Sukurta %{user_group_name} naudotojų grupė. Dabar galite ją patvirtinti administratoriaus srityje. + user_group_updated: + email_intro: Naudotojų grupė pavadinimu %{user_group_name} atnaujino savo profilį, bet jo nepatvirtino. Galite jį patvirtinti administratoriaus srityje. + email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius. + email_subject: Naudotojų grupė atnaujino savo profilį + notification_title: Naudotojų grupė pavadinimu %{user_group_name} atnaujino savo profilį, bet jo nepatvirtino. Galite jį patvirtinti administratoriaus srityje. + notification_event: + notification_title: Kažkas įvyko %{resource_title}. + reports: + resource_hidden: + email_intro: Administratorius pašalino jūsų %{resource_type}, nes buvo pranešta apie tai kaip %{report_reasons}. + email_outro: Gavote šį pranešimą, nes esate pašalinto turinio autorius. + email_subject: Jūsų %{resource_type} buvo pašalintas + notification_title: |- + Administratorius pašalino jūsų %{resource_type}, nes buvo pranešta apie tai kaip %{report_reasons}. +
    + %{resource_content} + resource_endorsed: + email_intro: '%{endorser_name} %{endorser_nickname}, kurį sekate, ką tik pritarė „%{resource_title}“ ir, manome, kad tai galėtų jus sudominti. Pažiūrėkite ir prisidėkite:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{endorser_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: "%{endorser_nickname} išreiškė naują pritarimą" + notification_title: %{endorser_name} %{endorser_nickname} pritarė %{resource_title} %{resource_type}. + users: + profile_updated: + email_intro: '%{name} (%{nickname}), profilio puslapis, , kurį sekate buvo atnaujintas.' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: "%{nickname} atnaujino savo profilį" + notification_title: '%{name} (%{nickname}) profilio puslapis, , kurį sekate buvo atnaujintas.' + user_officialized: + email_intro: Dalyvis %{name} (%{nickname}) buvo oficializuotas. + email_outro: Šį pranešimą gavote dėl to, kad esate organizacijos administratorius. + email_subject: "%{name} buvo oficializuotas" + notification_title: Dalyvis %{name} (%{nickname}) buvo oficializuotas. + export_mailer: + data_portability_export: + click_button: 'Spustelėkite ant sekančios nuorodos, kad atsisiųsti prieigos kodų duomenis.
    Failas bus prieinamas iki %{date}.
    Jums reikės 7-Zip (Windows), Keka (MacOS) arba PeaZip (Linux) kad jį atverti. Slaptažodis: %{password}' + download: Atsisiųsti + export: + ready: Pridedame jūsų eksporto suspaustos rinkmenos variantą. + subject: Jūsų eksportuojamas „%{name}“ yra parengtas + filters: + linked_classes: + all: Visi + collaborative_draft: Bendras juodraštis + dummy_resource: Fiktyvūs ištekliai + meeting: Susitikimai + project: Projektai + proposal: Pasiūlymai + result: Rezultatai + fingerprint: + check: Patikrinti piršto atspaudą + explanation: Tekstas yra sutrumpintas ir apibendrintas jo turinys. Būtinai įsitikinkite, kad turinys nebūtų pažeistas, nes padarius vieną pakeitimą duomenys netektų vertės. + online_calculator_name: MD5 internetinė skaičiuoklė + replicate_help: Šis piršto atspaudas apskaičiuojamas naudojant SHA256 maišos algoritmą. Kad galėtumėte jį atkartoti, galite naudoti %{online_calculator_link} ir kopijuoti bei įklijuoti šaltinio duomenis. + source: Šaltinis + title: Pirštų atspaudas + value: Vertė + followers: + followers_count: + one: "%{count} sekėjas" + few: "%{count} sekėjai" + many: "%{count} sekėjai" + other: "%{count} sekėjai" + no_followers: Dar nėra sekėjų. + following: + no_followings: Dar nieko neseka. + non_public_followings: Kai kurie sekami ištekliai nėra vieši. + follows: + create: + button: Sekti + error: Sekant šį išteklių iškilo problema. + participatory_space: Sekate %{resource_name} + destroy: + button: Nebesekti + error: Nutraukiant šio ištekliaus sekimą iškilo problema. + forms: + current_file: Ši rinkmena + current_image: Dabartinis paveikslėlis + default_image: Numatytas atvaizdas + errors: + decidim/user: + password: Slaptažodis yra per trumpas. + password_confirmation: Slaptažodžio patvirtinimas turi sutapti su įvestu slaptažodžiu. + error: Šiame laukelyje įvyko klaida. + file_help: + file: + explanation: 'Rinkmenai skirtos gairės:' + message_1: Turi būti paveikslėlis arba dokumentas. + message_2: Paveikslėliams, rekomenduojame naudoti horizontalius formatus ir platforma juos apkirps. CSV rinkmenoms, atskyrimas tarp stulpelių turi būti kablelis + image: + explanation: 'Paveikslėliui skirtos gairės:' + message_1: Pageidautinas horizontalaus formato paveikslėlis be teksto. + message_2: Programa apkarpo paveikslėlį. + file_validation: + allowed_file_extensions: 'Leidžiami rinkmenų plėtiniai: %{extensions}' + max_file_size: 'Maksimalus rinkmenos dydis: %{megabytes} MB' + remove_this_file: Pašalinti šią rinkmeną + gamification: + all_badges_link: Žiūrėti visus prieinamus ženklelius. + badges: + followers: + conditions: + - Jei būsite aktyvūs ir seksite kitus žmones, be abejo, kiti seks ir jus. + description: Šis ženklelis suteikiamas, kai pasiekiate tam tikrą skaičių sekėjų. %{organization_name} – tai socialinis ir politinis tinklas, kuriame galite megzti savo tinklą ir bendrauti su kitais platformos žmonėmis. + description_another: Šis dalyvis turi %{score} sekėjus (-ų). + description_own: "Jus seka %{score} žmonės (-ių)." + name: Sekėjai + next_level_in: Būkite sekamas %{count} dalyvių, kad pasiekti kitą lygį! + unearned_another: Šis dalyvis dar neturi sekėjų. + unearned_own: Jūs dar neturite sekėjų. + index: + badge_title: "%{name} ženklelis" + how: Kaip jį užsitarnauti + page_description: Ženkleliai – tai dalyvių veiklumo platformoje pripažinimas. Susipažindami su platforma, joje dalyvaudami ir bendraudami, pelnysite įvairių ženklelių. Štai ženklelių sąrašas ir keletas būdų, kaip juos pelnyti. + title: Ženkleliai + invitations: + conditions: + - Norėdami pakviesti savo draugus prisijugti pasinaudokite "pakviesti draugus" nuoroda savo naudotojo puslapyje + - Jeigu norite, siunčiamą žinutę galite patinkinti + - Savo lygį pakelsite siųsdami kvietimus ir juos registruodami. + description: Šis ženklelis suteikiamas, kai pakviečiate žmonių, jie užsiregistruoja %{organization_name} ir tampa dalyviais. Dėkojame, kad supažindinate kitus su %{organization_name} ir padedate plėsti bendruomenę! + description_another: Šis dalyvis pakvietė %{score} žmones (-ių). + description_own: Jūs pakvietėte %{score} žmones (-ių). + name: Pakvietimai + next_level_in: Pakvieskite dar %{score} sekėjų ir pasieksite kitą lygį! + unearned_another: Šis dalyvis dar nieko nepakvietė. + unearned_own: Jūs dar nieko nepakvietėte. + description: Ženkleliai – tai dalyvių veiksmų ir veiklos platformoje pripažinimas. Susipažindami su platforma, joje dalyvaudami ir bendraudami, pelnysite įvairių ženklelių. + level: '%{level} lygis' + reached_top: Pasiekėte aukščiausią šio ženklelio lygį. + group_admins: + actions: + are_you_sure: Ar jūs tuo tikri? Tai nepašalins dalyvio iš grupės. + demote_admin: Pašalinti administratorių + demote: + error: Šalinant šį dalyvį iš administratorių sąrašo iškilo problema + success: Dalyvis pašalintas iš administratorių + index: + current_admins: 'Dabartiniai administratoriai:' + manage_admins: Valdyti administratorių duomenis + group_invites: + accept: + error: Priimant šį kvietimą iškilo problema + success: Kvietimas priimtas + accept_invitation: Sutikti + accept_or_reject_group_invitations: 'Šios grupės jus pakvietė prie jų prisijungti. Priimkite arba atmeskite jų prašymus:' + index: + invite: Pakviesti + invite_user: Pakviesti dalyvį + invite: + error: Kviečiant šį dalyvį iškilo problema + success: Dalyvis pakviestas + reject: + error: Atmetant šį kvietimą iškilo problema + success: Kvietimas atmestas + reject_invitation: Atmesti + group_members: + accept: + error: Priimant šį prisijungimo kvietimą iškilo problema + success: Prisijungimo kvietimas priimtas + actions: + are_you_sure: Ar esate tikri? + promote_to_admin: Padaryti administratoriumi + remove_from_group: Pašalinti dalyvį + index: + current_members_without_admins: 'Dabartiniai nariai (be administratorių):' + manage_members: Valdyti narius + promote: + error: Paaukštinant šį dalyvį iškilo problema + success: Dalyvis paaukštintas + reject: + error: Atmetant šį prisijungimo kvietimą iškilo problema + success: Prisijungimo kvietimas atmestas + remove: + error: Šalinant šį dalyvį iš grupės iškilo problema + success: Dalyvis pašalintas iš grupės + groups: + actions: + are_you_sure: Ar esate tikri? + create: + error: Kuriant grupę iškilo problema + success: Grupė sukurta + edit: + edit_user_group: Redaguoti grupę + update_user_group: Atnaujinti grupę + form: + document_number_help: Nenaudokite nei brūkšnių, nei tarpų + email_help: Jūsų organizacijos, asociacijos, kolektyvo, grupės ir kt. el. pašto adresas. + fill_in_for_verification: 'Jei norite, kad jūsų grupė būtų patvirtinta, užpildykite šiuos laukelius:' + name_help: Jūsų organizacijos, asociacijos, kolektyvo, grupės ir kt. pavadinimas. + nickname_help: Jūsų organizacijos, asociacijos, kolektyvo, grupės ir kt. naudotojo vardas. Nenaudokite nei tarpų, nei diakritinių ženklų. + phone_help: Nenaudokite nei brūkšnių, nei tarpų + join: + error: Prisijungiant prie šios grupės iškilo problema + success: Prisijungimo prašymas sukurtas. Administratorius peržiūrės jūsų prašymą prieš priimdamas jus į grupę. + leave: + error: Paliekant šią grupę iškilo problema + success: Grupė palikta. + members: + accept_or_reject_join_requests: 'Toliau nurodyti naudotojai pateikė prašymą prisijungti prie šios grupės. Priimkite arba atmeskite jų prašymus:' + accept_request: Sutikti + reject_request: Atmesti + new: + create_user_group: Sukurti grupę + new_user_group: Nauja grupė + subtitle: Sukurti grupę ir pakviesti kitus naudotojus dalyvauti bendru lygmeniu. + no_user_groups: Dar nepriklauso nė vienai grupei. + roles: + admin: Administratorius + creator: Kūrėjas + member: Narys + update: + error: Atnaujinant šią grupę iškilo problema + success: Grupė atnaujinta + help: + main_topic: + default_page: + content: "

    %{organization} galite dalyvauti ir spręsti dėl įvairių temų pasinaudodami puslapiais, kuriuos matote viršutiniame meniu: „Procesai“, „Asamblėjos“, „Iniciatyvos“, „Konsultacijos“.

    Kiekviename iš jų rasite įvairių dalyvavimo galimybių: individualiai arba su kitais žmonėmis teikti pasiūlymus, dalyvauti diskusijose, nustatyti, kurie įgyvendintini projektai, yra prioritetiniai, dalyvauti tiesioginiuose susitikimuose ir kituose veiksmuose.

    \n" + title: Ką galiu daryti %{organization}? + description: Daugiau informacijos apie %{organization} + title: Bendroji Pagalba + last_activities: + activities: + no_activities_warning: Nėra veiklų + all: Visos veiklos rūšys + index: + last_activity: Paskutinė veikla + resource_type: Tipas + links: + invalid_url: Klaidingas URL + warning: + body_1: Ketinate apsilankyti išoriniame tinklapyje tad norėtume, kad būtumėte apdairūs dėl išorinės svetainės turinio. + body_2: Prieš tęsdami patikrinkite nuorodą, kurią ketinate aplankyti, ir įsitikinkite, kad ją atpažįstate kaip saugią. + cancel: Atšaukti + close_modal: Uždaryti modalinį langą + proceed: Tęsti + title: Atverti išorinę nuorodą + log: + base_presenter: + create: "%{user_name} sukūrė %{resource_name}" + create_with_space: "%{user_name} sukūrė %{resource_name} %{space_name} erdvėje" + delete: "%{user_name} pašalino %{resource_name}" + delete_with_space: "%{user_name} pašalino %{resource_name} %{space_name} erdvėje" + unknown_action: "%{user_name} atliko tam tikrus veiksmus %{resource_name}" + unknown_action_with_space: "%{user_name} atliko tam tikrus veiksmus %{resource_name} %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name}" + update_with_space: "%{user_name} atnaujino %{resource_name} %{space_name} erdvėje" + value_types: + area_presenter: + not_found: 'Aplinka duomenų bazėje nerasta (ID: %{id})' + area_type_presenter: + not_found: 'Aplinkos tipas duomenų bazėje nerastas (ID: %{id})' + scope_presenter: + not_found: 'Sritis duomenų bazėje nerasta (ID: %{id})' + scope_type_presenter: + not_found: 'Srities tipas duomenų bazėje nerastas (ID: %{id})' + managed_users: + expired_session: Dabartinė dalyvio administravimo sesija baigėsi. + map: + dynamic: + screen_reader_explanation: Toliau pateikiamas žemėlapis, kuriame šio puslapio elementai pateikiami kaip žemėlapio punktai. Elementą galima naudoti su ekrano skaitytuvu, tačiau jį gali būti sunku suprasti. + skip_button: Praleisti žemėlapį + static: + latlng_text: 'platuma: %{latitude}, ilguma: %{longitude}' + map_service_brand: 'OpenStreetMap: Žemėlapis' + members: + no_members: Šioje grupėje dar nėra narių. + menu: + help: Pagalba + home: Pagrindinis + messaging: + conversation_mailer: + comanagers_new_conversation: + admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius. + greeting: Sveiki, %{recipient}! + intro: "%{manager} pradėjo naują pokalbį %{group} vardu. Spustelėkite čia ir pamatysite:" + outro: Mėgaukitės „Decidim“! + subject: "%{manager} pradėjo naują pokalbį kaip %{group}" + comanagers_new_message: + admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius. + greeting: Sveiki, %{recipient}! + intro: "%{manager} paskelbė naujų žinučių pokalbyje %{group} vardu. Spustelkite čia norėdami juos pamatyti:" + outro: Mėgaukitės „Decidim“! + subject: "%{manager} išsiuntė naujas žinutes kaip %{group}" + new_conversation: + greeting: Sveiki, %{recipient}! + intro: "%{sender} pradėjo naują pokalbį su jumis. Spustelėkite čia ir pamatysite:" + outro: Mėgaukitės „Decidim“! + subject: "%{sender} pradėjo pokalbį su jumis" + new_group_conversation: + admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius. + greeting: Sveiki, %{recipient}! + intro: "%{sender} pradėjo naują pokalbį su grupe %{group}. Spustelėkite čia ir pamatysite:" + outro: Mėgaukitės „Decidim“! + subject: "%{sender} pradėjo pokalbį su %{group}" + new_group_message: + admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius. + greeting: Sveiki, %{recipient}! + intro: "%{sender} paskelbė naujų pranešimų pokalbyje su grupe %{group}. Spustelėkite čia ir pamatysite:" + outro: Mėgaukitės „Decidim“! + subject: "%{group} gavo naujų pranešimų iš %{sender}" + new_message: + greeting: Sveiki, %{recipient}! + intro: "%{sender} paskelbė naujų pranešimų jūsų pokalbyje. Spustelėkite čia ir pamatysite:" + outro: Mėgaukitės „Decidim“! + subject: Gavote naujų pranešimų iš %{sender} + conversations: + add_conversation_users: + add_max_users: 'Į pokalbį įtraukite naudotojus: ne daugaiu kaip 9' + add_users_placeholder: Ieškoti... + modal_title: Naujas pokalbis + no_results: Rezultatų nerasta + participant_with_disabled_message_reception: Šis dalyvis išjungė pranešimų gavimo funkciją + conversation: + show: Rodyti pokalbį su %{sender} + create: + error: Pokalbis neprasidėjo. Bandykite dar kartą vėliau + error_modal: + close: Uždaryti modalinį langą + correct_errors: Ištaisykite klaidas ir bandykite dar kartą. + intro: 'Jūsų pranešime aptiktos šios klaidos:' + ok: Gerai + index: + ago: prieš + close: Uždaryti modalinį langą + from: Nuo + groups: Mano grupės + last_message: Paskutinė žinutė + new_conversation: Naujas pokalbis + next: Kitas + no_conversations: Dar neturite pokalbių + title: Pokalbiai + to: Kam + reply: + placeholder: Jūsų atsakymas... + send: Siųsti + title: Atsakyti + show: + back: Grįžti į visus pokalbius + chat_with: Pokalbis su + deleted_accounts: Negalite megzti pokalbių su ištrintomis paskyromis. + not_allowed: Šis dalyvis nepriima tiesioginių žinučių. + title: Pokalbis su %{usernames} + start: + send: Siųsti + title: Pradėti pokalbį + update: + error: Žinutė nebuvo išsiųsta dėl įvykusios klaidos + metrics: + download: + csv: Parsisiųsti duomenis (CSV) + followers: + description: Dalyvių, kurie seka šią dalyvaujamojo proceso erdvę, skaičius + object: sekėjai + title: Sekėjai + participants: + description: Aktyvių dalyvių skaičius organizacijoje + object: dalyviai + title: Dalyviai + users: + description: Dalyvių skaičius organizacijoje + object: dalyviai + title: Dalyviai + newsletter_mailer: + newsletter: + note: Šį el. laišką gavote, nes užsiprenumeravote %{organization_name} naujienlaiškius. Galite pakeisti nuostatas savo pranešimų puslapyje. + see_on_website: Negalite teisingai matyti šio el. laiško? Peržiūrėkite jį interneto svetainėje. + unsubscribe: Jei nenorite gauti tokio tipo el. laiško, Atsisakykite prenumeratos. + newsletter_templates: + basic_only_text: + body_preview: 'Fiktyvus tekstas pagrindinei daliai: 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.' + name: Paprastas (tik tekstas) + basic_only_text_settings_form: + body: Pagrindinė dalis + interpolations_hint: 'Užuomina: „%{name}“ galite naudoti bet kur pagrindinėje dalyje arba temoje ir jis bus pakeistas gavėjo vardu, pavarde.' + image_text_cta: + body_preview: 'Fiktyvus tekstas pagrindinei daliai: 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.' + cta_text_preview: Mygtuko „Raginti imtis veiksmų“ tekstas + introduction_preview: 'Fiktyvus tekstas įvadui: 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.' + name: Atvaizdas, tekstas ir mygtukas „Raginti imtis veiksmų“ + image_text_cta_settings_form: + body: Pagrindinė dalis + cta_text: Mygtuko „Raginti imtis veiksmų“ tekstas + cta_url: Mygtuko „Raginti imtis veiksmų“ URL + interpolations_hint: 'Užuomina: „%{name}“ galite naudoti įvade, pagrindinėje dalyje, „Raginti imtis veiksmų“ tekste arba temoje ir jis bus pakeistas gavėjo vardu, pavarde.' + introduction: Įžanga + main_image: Pagrindinis atvaizdas + newsletters: + unsubscribe: + check_subscription: Jei norite pakeisti savo parinktis, galite tai padaryti konfigūracijos puslapyje + error: Atsisakant prenumeratos iškilo problema + success: Jūs atsisakėte prenumeratos. + token_error: Nuorodos galiojimo laikas baigėsi. + unsubscribe: Atsisakyti prenumeratos + newsletters_opt_in: + unathorized: Atsiprašome, šios nuorodos nebėra + update: + error: Kažkas ne taip + success: Naujienlaiškio nuostatos atnaujintos + newsletters_opt_in_mailer: + notify: + body_1: Asmens duomenų tvarkymas ir jų apsauga mums visiems tampa vis svarbesni. 2018 m. gegužės 25 d. priėmus naują Bendrąjį duomenų apsaugos reglamentą (BDAR), asmenys geriau kontroliuoja savo asmens duomenis. Dėl šios priežasties jums reikia spustelėti „Gerai“, kad galėtume ir toliau siųsti reikiamą informaciją apie %{organization_name} veiklą. + body_2: 'Kaip duoti sutikimą? Spustelkite ant šio mygtuko:' + body_3: Davę šį sutikimą galėsite ir toliau gauti informaciją apie platformos paslaugas. Kita vertus, jeigu negausime Jūsų sutikimo, Jums nebesiųsime pranešimų. Patvirtinę, kad norite ir toliau gauti informaciją, visada turėsite galimybę bet kuriuo metu sutikimą atšaukti. + button: Taip, aš noriu ir toliau gauti aktualią informaciją + greetings: Sveiki,
    %{organization_name}
    %{organization_url} + hello: Sveiki, + subject: Ar norite ir toliau gauti aktualią informaciją apie %{organization_name}? + notification_mailer: + event_received: + no_translation_available: Atsiprašome, automatinio vertimo nepavyko gauti, kai buvo išsiųstas el. laiškas. Originalaus teksto vertimą galite patikrinti šioje nuorodoje %{link}. + original_text: 'Originalus tekstas:' + same_language: Turinys buvo paskelbtas jūsų pageidaujama kalba (%{language}), todėl šiame el. laiške nerodomas automatinis vertimas. + translated_text: 'Automatiškai išverstas tekstas:' + notifications: + no_notifications: Dar nėra pranešimų. + show: + missing_event: Oi, šis pranešimas priklauso elementui, kuris yra nebepasiekiamas. Galite jį ištrinti. + notifications_settings: + show: + administrators: Administratoriai + allow_public_contact: Leiskite bet kam jums siųsti tiesiogines žinutes, net jeigu jų nesekate. + direct_messages: Gauti tiesioginius pranešimus iš bet kurio asmens + email_on_moderations: Noriu gauti el. laišką kiekvieną kartą kai kažkas (turinys ar naudotojas) raportuojami. + email_on_notification: Noriu gauti e. laišką kiekvieną kartą, kai gaunu pranešimą. + everything_followed: Viskas, ką seku + newsletter_notifications: Noriu gauti naujienlaiškius + newsletters: Naujienlaiškiai + own_activity: Mano veikla, pvz., kai kas nors pakomentuoja mano pasiūlymą arba pamini mane + receive_notifications_about: Aš noriu gauti pranešimus apie + send_notifications_by_email: Siųsti pranešimus el. paštu + update_notifications_settings: Išsaugoti pakeitimus + update: + error: Atnaujinant jūsų pranešimų nuostatas iškilo problema. + success: Jūsų pranešimų nuostatos atnaujintos. + open_data: + not_available_yet: Atvirųjų duomenų rinkmenomis dabar negalima naudotis. Bandykite dar kartą po kelių minučių. + own_user_groups: + index: + pending: Laukiama + rejected: Atmesta + verified: Patvirtinta + pad_iframe: + disclaimer: Šio rinkiklio turinį rašo registruoti naudotojai ir jis atspindi jų nuomonę. %{organization} neatsako už turinį. + explanation: Naudokitės šiuo rinkikliu, kad galėtumėte per posėdį užsirašyti informaciją ir po to būtų lengviau parengti protokolą. + pad: Rinkiklis + pages: + home: + extended: + debates: Diskusijos + debates_explanation: Diskutuokite ir debatuokite, pasidalinkite mintimis ir praturtinkite diskusijas. + how_to_participate: Kaip dalyvauti procese? + meetings: Susitikimai + meetings_explanation: Sužinokite, kur ir kada galite dalyvauti viešuose posėdžiuose. + more_info: Daugiau informacijos apie %{resource_name} + proposals: Pasiūlymai + proposals_explanation: Teikite pasiūlymus, remkite esamus ir skatinkite pakeitimus, kuriuos norite matyti. + footer_sub_hero: + footer_sub_hero_body: Sukurkime atviresnę, skaidresnę ir bendradarbiavimu grindžiamą visuomenę.
    Prisijunkite, dalyvaukite ir priimkite sprendimus. + footer_sub_hero_headline: Sveiki atvykę į %{organization} dalyvavimo platformą. + register: Registruotis + hero: + participate: Dalyvauti + welcome: Sveiki atvykę į %{organization}! + metrics: + headline: Rodikliai + statistics: + headline: Dabartinė %{organization} padėtis + sub_hero: + register: Registruotis + index: + read_more: Skaityti toliau + standalone_pages: Puslapiai + subheading: Naršyti %{name} pagalbos puslapiuose + title: Pagalba + topics: Temos + participatory_space: + metrics: + headline: Rodikliai + link: Rodyti visus rodiklius + terms_and_conditions: + accept: + error: Sutinkant su sąlygomis iškilo problema. + success: Puiku! Jūs sutikote su sąlygomis. + form: + agreement: Aš sutinku su šiomis sąlygomis + legend: Sutikti su naudojimosi nuostatomis ir sąlygomis + refuse: + modal_body: Jeigu nesutiksite, negalėsite naudotis platforma, pasisiųsti savo duomenų ir (arba) pašalinti savo paskyros. + modal_btn_continue: Sutikti su sąlygomis ir tęsti + modal_btn_exit: Peržiūrėsiu vėliau + modal_button: Nesutikti su sąlygomis + modal_close: Uždaryti modalinį langą + modal_title: Ar iš tikrųjų nesutinkate su atnaujintomis naudojimo sąlygomis? + required_review: + alert: Mes atnaujinome naudojimo sąlygas, kviečiame jas peržiūrėti. + body: Kviečiame peržiūrėti naujimo sąlygu atnaujinimus. Kitu atveju negalėsite naudotis platforma. + title: 'Būtina: Peržiūrėkite naudojimo sąlygų atnaujinimus' + participatory_space_private_users: + not_allowed: Jūs negalite peržiūrėti šio turinio + profile: + deleted: Dalyvis pašalintas + inaccessible_message: Profilis neprieinamas dėl naudojimo sąlygų pažeidimų! + view: Rodyti + profiles: + default_officialization_text_for_user_groups: Ši grupė yra patikrinta, jos pavadinimas atitinka realybę + default_officialization_text_for_users: Šis dalyvis yra patikrintas, jo vardas ir pavardė arba pareigos buvo patikrintos ir atitinka jo tikrąjį vardą ir pavardę bei pareigas + show: + activity: Veikla + badges: Ženkleliai + conversations: Pokalbiai + followers: Sekėjai + following: Seka + groups: Grupės + members: Nariai + officialized: Patikrintas dalyvis + send_private_message: Siųsti asmeninę žinutę + timeline: Laiko juosta + view_full_profile: Žiūrėti visą profilį + sidebar: + badges: + info: Ženkleliai pelnomi vykdant konkrečias veiklas platformoje. + title: Ženkleliai + user: + confirmation_instructions_sent: Patvirtinimo el. laiškas išsiųstas + create_user_group: Sukurti grupę + edit_profile: Redaguoti profilį + edit_user_group: Redaguoti grupės profilį + fill_in_email_to_confirm_it: Prašau įveskite grupės el. paštą tam, kad jį patvirtinti + invite_user: Kviesti dalyvį + join_user_group: Prašyti prisijungti prie grupės + leave_user_group: Palikti grupę + manage_user_group_admins: Tvarkyti administratorius + manage_user_group_users: Valdyti narius + resend_email_confirmation_instructions: Persiųsti patvirtinimo nurodymus el. paštu + reported_mailer: + hide: + hello: Sveiki %{name}, + manage_moderations: Tvarkyti vedamas diskusijas + report_html:

    Toliau pateikiamas turinys paslėptas automatiškai.

    + subject: Išteklius paslėptas automatiškai + report: + authors: Autoriai + content: Turinys, apie kurį pranešta + content_original_language: Turinio originali kalba + date: Pranešta + details: Išsamiau + hello: Sveiki %{name}, + id: ID + participatory_space: Dalyvaujamoji erdvė + reason: Priežastis + report_html:

    Apie toliau pateikiamą turinį pranešta.

    + see_report: Žiūrėti ataskaitą + subject: Apie išteklių pranešta + reports: + create: + error: Kuriant ataskaitą įvyko klaida. Bandykite dar kartą. + success: Ataskaita sukurta ir ją peržiūrės administratorius. + resource_endorsements: + create: + error: Atliekant šį pritarimo veiksmą iškilo problema. + scopes: + global: Globali sritis + picker: + cancel: Atšaukti + change: Keisti pasirinktą apimtį + choose: Pasirinkti + currently_selected: Šiuo metu pasirinkta apimtis + title: Žymėti %{field} + prompt: Pasirinkti apimtį + scopes: Sritys + scopes_picker_input: + select_scope: 'Pasirinkite sritį (dabar: %{current})' + search: + results: Paieškos rezultatai + results_found_for_term: '%{count} rezultatai atlikus paiešką: "%{term}"' + term_input_placeholder: Ieškoti + searches: + filters: + back: Grįžti į rezultatų puslapį + jump_to: 'Pereiti į:' + state: + active: Aktyvūs + all: Visi + future: Ateitis + past: Praėję + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + results: + results: + one: "%{count} rezultatas" + few: "%{count} rezultatai" + many: "%{count} rezultatai" + other: "%{count} rezultatai" + view_all: Peržiūrėti viską (%{count}) + security: + selfxss_warning: + description: Ši naršyklės funkcija skirta kūrėjams ir neturėtumėte nieko čia įklijuoti, jei jūsų paprašys tai padaryti. Turinio įklijavimas šiame lange gali pakenkti jūsų privatumui ir suteikti įsilaužėliams prieigą prie jūsų paskyros. + title: Stop! + shared: + confirm_modal: + cancel: Atšaukti + close_modal: Uždaryti modalinį langą + ok: Gerai + title: Patvirtinti + embed_modal: + close_window: Uždaryti langą + embed: Įklijuokite šį kodą savo puslapyje + embed_link: Įterpti + extended_navigation_bar: + more: Daugiau + unfold: Išskleisti + filter_form_help: + help: Toliau pateikiamoje formoje paieškos rezultatai filtuojami dinamiškai, kai pasikeičia paieškos sąlygos. + skip: Pereiti į rezultatus + flag_modal: + already_reported: Šis turinys jau praneštas ir bus peržiūrėtas administratoriaus. + close: Uždaryti + description: Ar šis turinys netinkamas? + does_not_belong: Yra nelegalios veiklos, grasinimų nusižudyti, asmeninės informacijos arba kitokio, jūsų nuomone, %{organization_name} netinkamo turinio. + offensive: Pateikiamame turinyje yra rasizmo, seksizmo, užgauliojimų, asmeninių išpuolių, grasinimų mirtimi, savižudybės prašymų ar bet kokios formos neapykantos kurstymo. + reason: Priežastis + report: Pranešti + spam: Pateikiamoje informacijoje yra reklamos, antraščių mąsalo ar apgavysčių. + title: Pranešti apie netinkamą turinį + flag_user_modal: + already_reported: Apie šį turinį jau pranešta ir jį peržiūrės administratorius. + close: Uždaryti + description: Kas netinka apie naudotoją? + does_not_belong: Pateikta informacija susijusi su neteisėta veikla, savižudybe, asmenine ar kita informacija netinkančia %{organization_name}. + offensive: Pateikiamoje informacijoje yra rasizmo, seksizmo, keiksmažodžių, asmeninių atakų, grasinimų ar kitokios neapykantos kalbos. + report: Pranešti + spam: Pateikiamoje informacijoje yra reklamos, antraščių mąsalo ar apgavysčių. + title: Pranešti apie netinkamą turinį + floating_help: + close: Uždaryti pagalbos langą + help: Pagalba + follow_button: + sign_in_before_follow: Prašome prisijunkite norėdami atlikti šį veiksmą + login_modal: + close_modal: Uždaryti modalinį langą + please_sign_in: Prašome prisijungti + sign_up: Užsiregistruoti + participatory_space_filters: + filters: + areas: Erdvės + select_an_area: Pasirinkti erdvę + public_participation: + public_participation: Rodyti mano dalyvavimą viešai + reference: + reference: 'Nuoroda: %{reference}' + represent_user_group: + represent_user_group: Aš atstovauju grupei + select_user_group: Pasirinkti grupę + results_per_page: + label: 'Rezultatų skaičius puslapyje:' + title: Pasirinkti rezultatų skaičių puslapyje + share_modal: + close_window: Uždaryti langą + copy_share_link: Kopijuoti + copy_share_link_clarification: Kopijuoti nuorodą į iškarpinę + copy_share_link_copied: Nukopijuota! + copy_share_link_message: Kodas sėkmingai nukopijuotas į iškarpinę. + share: Dalintis + share_link: Dalintis nuoroda + statistics: + comments_count: Komentarai + endorsements_count: Pritarimai + followers_count: Sekėjai + headline: Statistika + no_stats: Statistinių duomenų dar nėra. + pages_count: Puslapiai + participants_count: Dalyviai + users_count: Dalyviai + tags: + filter_results_for_category: 'Filtruoti nurodytos kategorijos rezultatus: %{resource}' + filter_results_for_scope: 'Filtruoti srities rezultatus: %{resource}' + translation_bar: + help_text: "Dėmesio: Turinys gali būti išverstas automatiškai, bet nebus visiškai tikslus." + show_original: Rodyti teksto originalą + show_translated: Rodyti automatiškai išverstą tekstą + user_activity: + index: + no_activities_warning: Šis dalyvis dar nesiėmė jokios veiklos. + user_contact_disabled: Šis dalyvis nepriima tiesioginių žinučių. + user_conversations: + create: + error: Pranešimo nepavyko sukurti. Bandykite dar kartą vėliau + existing_error: Pranešimo nepavyko sukurti. Pokalbis jau egzistuoja, dabar bandykite dar kartą. + success: Pokalbis pradėtas! + index: + add_max_users: 'Į pokalbį įtraukite naudotojus: ne daugaiu kaip 9' + add_users_placeholder: Ieškoti... + close: Uždaryti + conversations_info: Pokalbiai yra privatūs. Niekas kitas jų negali matyti. Pokalbį galima pradėti su bet kuriuo registruotu platformos dalyviu arba grupe. + from: Nuo + last_message: Paskutinė žinutė + modal_title: Naujas pokalbis + new_conversation: Naujas pokalbis + next: Kitas + no_conversations_warning: Pokalbių dar nėra. + no_results: Nėra rezultatų + participant_with_disabled_message_reception: Šis dalyvis išjungė pranešimų gavimo funkciją + time_ago: "Prieš %{time}" + new: + title: Pradėti pokalbį + reply: + placeholder: Jūsų atsakymas... + send: Siųsti + title_reply: Atsakyti + show: + back: Rodyti visus pokalbius + deleted_accounts: Negalite megzti pokalbių su ištrintomis paskyromis. + not_allowed: Šis naudotojas nebepriima tiesioginių pranešimų. + title: Pokalbis su %{usernames} + update: + error: Pranešimas neišsiųstas. Bandykite dar kartą vėliau + user_interests: + show: + my_interests: Mano interesai + no_scopes: Organizacija dar neturi srities! + select_your_interests: Pasirinkite jus dominančias temas, kad savo profilio kortelėje „Laiko juosta“ gautumėte su jomis susijusių renginių nuorodų. + update_my_interests: Atnaujinti mane dominančias temas + update: + error: Atnaujinant jūs dominančias temas iškilo problema. + success: Jus dominančios temos atnaujintos. + user_report_mailer: + notify: + body_1: '%{token} pranešė apie naudotoją %{user}' + body_2: 'Priežastis:%{reason}' + greetings: Sveiki,
    %{organization_name}
    %{organization_url} + hello: Sveiki %{admin}, + subject: Apie naują vartotoją pranešta %{organization_name} + version: + show: + back_to_resource: Grįžti atgal + changes_at_title: '„%{title}“ pakeitimai' + number_of_versions: Versijos + show_all_versions: Rodyti visas versijas + version_author: Versijos autorius + version_created_at: Versija sukurta + version_number: Versijos numeris + version_number_out_of_total: "%{current_version} iš %{total_count}" + version_author: + show: + deleted: Ištrintas dalyvis + versions: + resource_version: + of_versions: "(iš%{number})" + see_other_versions: žr. kitas versijas + version: Versijos numeris %{number} + versions_list: + show: + back_to_resource: Grįžti atgal + changes_at_title: '„%{title}“ pakeitimai' + number_of_versions: Versijos + title: Versijos + versions_list_item: + back: Rodyti visas versijas + show: + version_index: Versija %{index} + welcome_notification: + default_body:

    Sveiki {{name}}, dėkojame, kad prisijungėte prie {{organization}}. Sveikiname!

    • Jeigu norite greitai sužinoti, ką čia galite nuveikti, peržiūrėkite Pagalbos skyrelį.
    • Jį perskaitę, gausite savo pirmąjį ženklelį. Čia pateikiamas sąrašas visų ženklelių, kuriuos galite gauti dalyvaudami {{organization}}
    • Galiausiai, prisijunkite prie kitų žmonių, dalykitės su jais veiklos ir dalyvavimo {{organization}} patirtimi. Teikite pasiūlymus, komentuokite, diskutuokite, galvokite, kaip prisidėti prie bendros gerovės, teikite argumentus, kad įtikintumėte, klausykitės ir skaitykite, kad įsitikintumėte, reikškite savo idėjas konkrečiai ir tiesiogiai, atsakykite kantriai ir siūlykite sprendimą, ginkite savo idėjas ir likite atviri bendradarbiauti ir paremti kitų žmonių idėjas.
    + default_subject: Dėkojame, kad prisijungėte prie {{organization}}! + wizard_step_form: + wizard_aside: + back: Atgal + wizard_header: + see_steps: peržiūrėti žingsnius + step_of: '%{current_step} veiksmas iš %{total_steps}' + devise: + confirmations: + confirmed: Jūsų el. pašto adresas buvo patvirtintas. + new: + resend_confirmation_instructions: Persiųsti patvirtinimo nurodymus + send_instructions: Per kelias minutes gausite el. laišką su nurodymais, kaip patvirtinti savo el. pašto adresą. + send_paranoid_instructions: Jei jūsų el. pašto adresas yra mūsų duomenų bazėje, po kelių minučių gausite el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. + failure: + already_authenticated: Jūs jau esate prisijungę. + inactive: Jūsų paskyra dar nėra aktyvuota. + invalid: Netinkamas %{authentication_keys} arba slaptažodis. + invited: Turite nepriimtą kvietimą, priimkite jį ir finalizuokite paskyros kūrimą. + last_attempt: Jums liko dar vienas pabandymas, iki kol jūsų paskyra bus užblokuota. + locked: Jūsų paskyra užrakinta. + not_found_in_database: Netinkamas %{authentication_keys} arba slaptažodis. + timeout: Jūsų sesijos laikas baigėsi. Kad galėtumėte tęsti, prisijunkite iš naujo. + unauthenticated: Norėdami tęsti, turite prisijungti arba užsiregistruoti. + invitations: + edit: + header: Baikite kurti savo paskyrą + nickname_help: Jūsų naudotojo vardas %{organization}. + submit_button: Išsaugoti + subtitle: Jei priimate kvietimą, nustatykite savo naudotojo vardą ir slaptažodį. + invitation_removed: Jūsų kvietimas pašalintas. + invitation_token_invalid: Pateiktas kvietimo raktas nebegalioja! + new: + header: Siųsti pakvietimą + submit_button: Siųsti pakvietimą + no_invitations_remaining: Kvietimų neliko + send_instructions: Kvietimo e. laiškas išsiųstas %{email}. + updated: Jūsų slaptažodis buvo sėkmingai nustatytas. Dabar esate prisijungę. + updated_not_active: Jūsų slaptažodis nustatytas. + mailer: + confirmation_instructions: + action: Patvirtinti mano paskyrą + greeting: Sveiki, %{recipient}! + instruction: 'Savo el. pašto paskyrą galite patvirtinti naudodami žemiau pateiktą nuorodą:' + subject: Patvirtinimo instrukcijos + email_changed: + greeting: Sveiki %{recipient}! + message: Mes susisiekiame su jumis norėdami pranešti, kad jūsų el. paštas keičiamas į %{email}. + subject: El. pašto adresas pakeistas + invitation_instructions: + accept: Priimti kvietimą + accept_until: Šis kvietimas turi būti priimtas iki %{due_date}. + decline: Atmesti kvietimą + hello: Sveiki %{email}, + ignore: |- + Jei nenorite priimti kvietimo, nekreipkite dėmesio į šį el. laišką.
    + Jūsų paskyra nebus sukurta tol, kol nespustelėsite anskčiau pateiktos nuorodos ir nenustatysite savo naudotojo vardo ir slaptažodžio. + invited_you_as_admin: "%{invited_by} pakvietė jus kaip %{application} administratorių. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą." + invited_you_as_private_user: "%{invited_by} pakvietė jus kaip %{application} privatų dalyvį. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą." + someone_invited_you: Kažkas pakvietė jus į %{application}. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą. + someone_invited_you_as_admin: Kažkas pakvietė jus kaip %{application} administratorių. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą. + someone_invited_you_as_private_user: Kažkas pakvietė jus kaip %{application} privatų dalyvį. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą. + subject: Kvietimo nurodymai + invite_admin: + subject: Esate pakviestas valdyti %{organization} + invite_collaborator: + subject: Esate pakviestas bendradarbiauti %{organization} + invite_private_user: + subject: Esate pakviestas į %{organization} uždarą dalyvaujamąjį procesą + organization_admin_invitation_instructions: + subject: Esate pakviestas valdyti %{organization} + password_change: + greeting: Sveiki %{recipient}! + message: Susisiekiame su jumis norėdami pranešti, kad jūsų slaptažodis buvo pakeistas. + subject: Slaptažodis pakeistas + reset_password_instructions: + action: Keisti slaptažodį + greeting: Sveiki %{recipient}! + instruction: Kažkas paprašė slaptažodžio pakeitimo nuorodos. Jūs galite tai padaryti paspaudę žemiau esančią nuorodą. + instruction_2: Jei to neprašėte, nekreipkite dėmesio į šį el. laišką. + instruction_3: Jūsų slaptažodis nepasikeis tol, kol nesukursite naujo. Tą padaryti galite paspaudę aukščiau pateiktą nuorodą. + subject: Slaptažodžio atstatymo nurodymai + unlock_instructions: + action: Atblokuoti mano paskyrą + greeting: Sveiki %{recipient}! + instruction: 'Norėdami atblokuoti savo paskyrą, spustelėkite toliau pateikiamą nuorodą:' + message: Jūsų paskyra buvo užrakinta dėl pernelyg daug nepavykusių bandymų prisijungti. + subject: Paskyros atrakinimo instrukcijos + omniauth_callbacks: + failure: Jūsų nepavyko autentifikuoti pagal %{kind}. Priežastis – "%{reason}". + success: Autentifikuota pagal %{kind} paskyrą. + passwords: + edit: + change_my_password: Keisti slaptažodį + change_your_password: Pasikeiskite slaptažodį + confirm_new_password: Patvirtinkite naują slaptažodį + new_password: Naujas slaptažodis + password_help: "%{minimun_characters} minimalus rašmenų skaičius, rašmenys neturi būti pernelyg įprasti (pvz., 123456) ir turi skirtis nuo jūsų naudotojo vardo ir e. pašto adreso." + new: + forgot_your_password: Pamiršote savo slaptažodį? + send_me_reset_password_instructions: Atsiųskite slaptažodžio atstatymo instrukciją + no_token: Šis puslapis negali būti pasiektas atėjus ne iš slaptažodžio atkūrimo el. laiško. Jeigu jūs atvykstate iš slaptažodžio atkūrimo el. laiško, įsitikinkite, kad naudojote visą pateiktą URL. + send_instructions: Per kelias minutes Jūs gausite elektroninį laišką su instrukcijomis, kaip iš naujo nustatyti savo slaptažodį. + send_paranoid_instructions: Jei jūsų el. pašto adresas yra mūsų duomenų bazėje, per kelias minutes savo el. pašto adresu gausite nuorodą su slaptažodžio atkūrimo nurodymais. + updated: Jūsų slaptažodis buvo sėkmingai pakeistas. Dabar esate prisijungę. + updated_not_active: Jūsų slaptažodis pakeistas. + registrations: + destroyed: Jūsų sąskaita buvo sėkmingai panaikinta. Mes tikimės netrukus Jus vėl pamatyti. + edit: + are_you_sure: Ar esate tikri? + cancel_my_account: Panaikinti mano paskyrą + currently_waiting_confirmation_for_email: 'Dabar laukiama patvirtinimo dėl: %{email}' + leave_blank_if_you_don_t_want_to_change_it: jei nenorite jo keisti, palikite tuščią + title: Redaguoti %{resource} + unhappy: Nepatenkinti? + update: Atnaujinti + we_need_your_current_password_to_confirm_your_changes: kad galėtume patvirtinti jūsų pakeitimus, mums reikia jūsų dabartinio slaptažodžio + new: + sign_up: Užsiregistruoti + signed_up: Sveiki atvykę! Jūs sėkmingai užsiregistravote. + signed_up_but_inactive: Jūs užsiregistravote sėkmingai. Tačiau negalėjome jūsų prijungti, nes jūsų sąskaita dar neaktyvuota. + signed_up_but_locked: Jūs sėkmingai užsiregistravote. Tačiau mes negalėjome jūsų prijungti, nes jūsų sąskaita yra užrakinta. + signed_up_but_unconfirmed: Žinutė su patvirtinimo nuoroda buvo išsiųsta į jūsų el. paštą. Prašome sekite nuorodą norėdami aktyvuoti paskyrą. + update_needs_confirmation: Sėkmingai atnaujinote paskyrą, bet turime patvirtinti jūsų naują el. pašto adresą. Prašome patikrinkite savo el. paštą ir spustelėkite patvirtinimo nuorodą. + updated: Jūsų paskyra atnaujinta. + sessions: + already_signed_out: Atsijungėte. + new: + sign_in: Prisijungti + signed_in: Prisijungta sėkmingai. + signed_out: Atsijungta sėkmingai. + shared: + links: + back: Atgal + didn_t_receive_confirmation_instructions: Negavote patvirtinimo nurodymų? + didn_t_receive_unlock_instructions: Negavote atrakinimo nurodymų? + forgot_your_password: Pamiršote savo slaptažodį? + sign_in: Prisijungti + sign_in_with_provider: Prisijunkite su %{provider} + sign_up: Užsiregistruoti + minimum_password_length: + one: "(bent %{count} simbolis)" + few: "(bent %{count} simboliai)" + many: "(bent %{count} simboliai)" + other: "(bent %{count} simboliai)" + unlocks: + new: + resend_unlock_instructions: Dar kartą siųsti atrakinimo nurodymus + send_instructions: Per kelias minutes gausite el. laišką su nurodymais, kaip atrakinti savo paskyrą. + send_paranoid_instructions: Jei jūsų paskyra egzistuoja, per kelias minutes gausite elektroninį laišką su instrukcijomis, kaip ją atrakinti. + unlocked: Jūsų paskyra atrakinta. Kad galėtumėte tęsti, prisijunkite. + doorkeeper: + scopes: + public: Jūsų vieši duomenys. + errors: + messages: + already_confirmed: jau patvirtinta, pabandykite prisijungti + confirmation_period_expired: turi būti patvirtintas per %{period}, prašome paprašyti naujo + content_type_allowlist_error: rinkmenos tipas netinkamas + cycle_detected: srities pirminis elementas, negali būti vienas iš jos poelemenčių + expired: nustojo galioti, prašykite iš naujo + file_size_is_less_than_or_equal_to: rinkmenos dydis turi būti ne didesnis kaip %{count} arba jam lygus + invalid_time_zone: netinkama laiko juosta + long_words: yra per ilgų žodžių (daugiau kaip 35 ženklai) + must_start_with_caps: pradėti būtina didžąja raide + nesting_too_deep: negali priklausyti pakategorei + not_found: nepavyko rasti. Ar užsiregistravote anksčiau? + not_locked: nebuvo užrakintas + not_saved: + one: 'Vykdant jūsų prašymą įvyko klaida:' + few: 'Vykdant jūsų prašymus įvyko klaida:' + many: 'Vykdant jūsų prašymus įvyko klaida:' + other: 'Vykdant jūsų prašymus įvyko klaida:' + too_many_marks: naudojama per daug skyrybos ženklų iš eilės (pvz., ! ir ?) + too_much_caps: naudojama per daug didžiųjų raidžių (daugiau kaip 25 proc. teksto) + too_short: per trumpas (mažiau nei 15 ženklų) + forms: + correct_errors: Formoje yra klaidų, ištaisykite jas ir tęskite. + length_validator: + minimum: + one: Bent %{count} ženklas + few: Bent %{count} ženklai + many: Bent %{count} ženklai + other: Bent %{count} ženklai + required: Privalomas laukas + required_explanation: "* Privalomi laukai pažymėti žvaigždute" + invisible_captcha: + sentence_for_humans: Jei esate žmogus, nekreipkite dėmesio į šį laukelį + timestamp_error_message: Atsiprašome, tai buvo per greitai! Pateikite iš naujo. + layouts: + decidim: + cookie_warning: + description_html: Šioje svetainėje naudojami slapukai. Toliau naršydami svetainėje sutinkate, kad būtų naudojami slapukai. %{link}. + link_label: Daugiau informacijos apie slapukus + ok: Sutinku + edit_link: + edit: Redaguoti + footer: + cc_by_license: '„Creative Commons“ licencija' + decidim_logo: '„Decidim“ logotipas' + download_open_data: Parsisiųsti atvirųjų duomenų rinkmenas + made_with_open_source: Interneto svetainė sukurta naudojant atvirą programinę įrangą. + header: + close_menu: Uždaryti meniu + main_menu: Pagrindinis meniu + navigation: Naršymas + sign_in: Prisijungti + sign_up: Registruotis + user_menu: Naudotojo meniu + impersonation_warning: + close_session: Uždaryti seansą + description_html: Jūs administruojate dalyvį %{user_name}. + expire_time_html: Jūsų seansas baigsis po %{minutes} minučių. + language_chooser: + choose_language: Pasirinkti kalbą + notifications_dashboard: + mark_all_as_read: Visus žymėti kaip skaitytus + mark_as_read: Žymėti kaip skaitytą + social_media_links: + facebook: "%{organization} – „Facebook“" + github: "%{organization} – „GitHub“" + instagram: "%{organization} – „Instagram“" + twitter: "%{organization} – „Twitter“" + youtube: "%{organization} – „YouTube“" + timeout_modal: + body: Nebuvote aktyvus(-i) %{minutes} minučių. Jei nenorite grįžti į platformą, dėl Jūsų saugumo paprašysime Jūsų prisijungti iš naujo. + continue_session: Tęsti seansą + sign_out: Atsijungti + title: Ar norite tęsti seansą? + user_menu: + account: 'Naudotojo paskyra: %{name}' + admin_dashboard: Administratoriaus skydelis + conversations: Pokalbiai + notifications: Pranešimai + profile: Mano paskyra + public_profile: Mano viešas profilis + sign_out: Atsijungti + title: Profilio nuorodos + user_profile: + account: Paskyra + authorizations: Autorizacijos + delete_my_account: Ištrinti mano paskyrą + my_data: Mano duomenys + my_interests: Mano interesai + notifications_settings: Pranešimų nustatymai + title: Dalyvio nuostatos + user_groups: Grupės + widget: + see_more: Žr. daugiau + locale: + name: Lietuvių + name_with_error: Lietuvių (klaida!) + password_validator: + blacklisted: yra įtrauktas į juodąjį sąrašą + domain_included_in_password: per daug panašus į šio domeno vardą + email_included_in_password: per daug panašus į jūsų el. pašto adresą + fallback: negalioja + name_included_in_password: per daug panašus į jūsų vardą, pavardę + nickname_included_in_password: yra per daug panašus į jūsų slapyvardį + not_enough_unique_characters: neturi pakankamai unikalių simbolių + password_not_allowed: draudžiama + password_too_common: per daug įprastas + password_too_long: per ilgas + password_too_short: per trumpas + social_share_button: + delicious: Delicious + douban: Douban + email: El. paštas + facebook: Facebook + google_bookmark: Google Bookmark + google_plus: Google+ + hacker_news: Hacker News + linkedin: LinkedIn + pinterest: Pinterest + qq: Qzone + reddit: Reddit + share_to: Dalintis %{name} + telegram: Telegram + tumblr: Tumblr + twitter: Twitter + vkontakte: Vkontakte + wechat: WeChat + wechat_footer: Atidarykite savo „WeChat“, spustelėkite mygtuką „Discover“, tada spustelėkite „Nuskaityti QR kodą“ meniu. + weibo: Sina Weibo + whatsapp_app: WhatsApp + whatsapp_web: WhatsApp + xing: Xing + time: + formats: + day_of_month: "%b%d" + day_of_week: "%a" + day_of_week_long: "%a %e" + day_of_year: "%d.%m.%y" + ddmm: "%d.%m" + ddmmyyyy: "%d.%m.%Y" + decidim_day_of_year: "%d %B %Y" + decidim_short: "%d/%m/%Y %H:%M" + default: "%a, %d %b %Y %H:%M:%S %z" + devise: + mailer: + invitation_instructions: + accept_until_format: "%B %d, %Y %I:%M %p" + long: "%B %d, %Y %H:%M" + long_dashed: "%Y-%m-%d %H:%M:%S" + short: "%d/%m/%Y %H:%M" + time_of_day: "%H:%M" + versions: + directions: + left: Ištrynimai + right: Papildymai + dropdown: + choose_diff_view_html: 'HTML rodymo tipas:' + choose_diff_view_mode: 'Palyginti rodymo tipus:' + choose_diff_view_mode_menu: Pasirinkti lyginimo tipą + option_escaped: Pabėgę + option_split: Rodoma greta + option_unescaped: Unescaped + option_unified: Vieningas + views: + pagination: + first: "« Pirmas" + first_title: Nuoroda į pirmąjį puslapį + last: Paskutinis » + last_title: Nuoroda į paskutinį puslapį + next: Kitas › + next_title: Nuoroda į kitą puslapį + pagination: Puslapių numeravimas + previous: "‹ Ankst." + previous_title: Nuoroda į ankstesnį puslapį + title: 'Puslapio numeris: ' + truncate: "…" diff --git a/decidim-core/config/locales/nl.yml b/decidim-core/config/locales/nl.yml index baf2ed2c99a2d..1c5bfdd5f1969 100644 --- a/decidim-core/config/locales/nl.yml +++ b/decidim-core/config/locales/nl.yml @@ -1618,7 +1618,7 @@ nl: see_more: Zie meer locale: name: Nederlands - name_with_error: Engels (fout!) + name_with_error: Nederlands (fout!) password_validator: blacklisted: staat op de zwarte lijst domain_included_in_password: lijkt te veel op deze domeinnaam diff --git a/decidim-core/config/locales/no.yml b/decidim-core/config/locales/no.yml index f51cb5f782fea..9c4d83e026d1d 100644 --- a/decidim-core/config/locales/no.yml +++ b/decidim-core/config/locales/no.yml @@ -1672,7 +1672,7 @@ see_more: Se mer locale: name: Engelsk - name_with_error: Engelsk (feil!) + name_with_error: Norsk (feil!) password_validator: blacklisted: er svartelistet domain_included_in_password: er for lik dette domenenavnet diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index cddb53fd09665..937e6fa9e5777 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -22,6 +22,7 @@ pl: user: about: O użytkowniku email: Twój email + locale: Język name: Twoje imię nickname: Pseudonim password: Hasło @@ -34,12 +35,17 @@ pl: decidim/demoted_membership: Nie jest już administratorem grupy decidim/gamification/badge_earned_event: Zdobyta odznaka decidim/gamification/level_up_event: Awansowałeś + decidim/invited_to_group_event: Zaproszono do grupy decidim/join_request_accepted_event: Zaakceptowano prośbę o dołączenie decidim/join_request_rejected_event: Odrzucono prośbę o dołączenie decidim/profile_updated_event: Profil zaktualizowany decidim/promote_to_admin: Awansowano na administratora grupy + decidim/promoted_to_admin_event: Awansowano na administratora grupy decidim/removed_from_group: Usunięto z grupy decidim/resource_endorsed_event: Zasoby zatwierdzone + decidim/resource_hidden_event: Zasób ukryty + decidim/user_group_created_event: Utworzono grupę użytkowników + decidim/welcome_notification_event: Wiadomość powitalna activerecord: attributes: decidim/user: @@ -84,9 +90,52 @@ pl: decidim_with_day_and_month_name: "%A %d %b %Y" decidim_with_month_name: "%d %B %Y" decidim_with_month_name_short: "%d %b" + datetime: + distance_in_words: + about_x_hours: + one: około 1 godz. + few: około %{count} godz. + many: około %{count} godz. + other: około %{count} godz. + about_x_months: + one: około 1 mies. + few: około %{count} mies. + many: około %{count} mies. + other: około %{count} mies. + half_a_minute: pół minuty + less_than_x_minutes: + one: mniej niż min. + few: mniej niż %{count} min. + many: mniej niż %{count} min. + other: mniej niż %{count} min. + less_than_x_seconds: + one: teraz + few: mniej niż %{count} min. + many: mniej niż %{count} min. + other: mniej niż %{count} min. + x_days: + one: 1 dzień temu + few: "%{count} dni temu" + many: "%{count} dni temu" + other: "%{count} dni temu" + x_hours: + one: 1 godzinę temu + few: "%{count} godzin temu" + many: "%{count} godzin temu" + other: "%{count} godzin temu" + x_minutes: + one: 1 min. temu + few: "%{count} min. temu" + many: "%{count} min. temu" + other: "%{count} min. temu" + x_seconds: + one: 1 sekundę temu + other: "%{count} sekund temu" + zero: właśnie teraz decidim: accessibility: external_link: Link zewnętrzny + front_page_link: Przejdź do strony głównej logo: "Oficjalne logo %{organization}" skip_button: Przejdź do głównej zawartości account: @@ -1565,7 +1614,7 @@ pl: other: 'Podczas przetwarzania Twojego żądania wystąpiły błędy:' too_many_marks: używa zbyt wielu kolejnych znaków interpunkcyjnych (np.! i?) too_much_caps: używa zbyt dużej liczby wielkich liter (ponad 25% tekstu) - too_short: jest za krótki (poniżej 15 znaków) + too_short: jest za krótkie forms: correct_errors: Wystąpiły błędy w formularzu, popraw je, aby kontynuować. length_validator: diff --git a/decidim-core/config/locales/pt-BR.yml b/decidim-core/config/locales/pt-BR.yml index 1e5c8882bbb18..4d3719822af20 100644 --- a/decidim-core/config/locales/pt-BR.yml +++ b/decidim-core/config/locales/pt-BR.yml @@ -1627,7 +1627,7 @@ pt-BR: see_more: Ver mais locale: name: Português - name_with_error: Inglês (erro!) + name_with_error: Português (erro!) password_validator: domain_included_in_password: é muito semelhante a este nome de domínio email_included_in_password: é muito parecido com o seu email diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml index e7835ccef7ebc..80cf77bc22279 100644 --- a/decidim-core/config/locales/pt.yml +++ b/decidim-core/config/locales/pt.yml @@ -457,7 +457,7 @@ pt: newsletter: Receber um boletim informativo ocasional com informações relevantes newsletter_title: Permissão de contacto nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-”, e “_” - password_help: "%{minimun_characters} caracteres no mínimo, não deverá ser muito comum (por ex. 123456) e deverá ser diferente da sua alcunha e do seu e-mail." + password_help: "%{minimun_characters} de caracteres no mínimo, não deverá ser muito comum (por ex. 123456) e deverá ser diferente da sua alcunha e do seu e-mail." sign_in: Entrar sign_up: Inscreva-se sign_up_as: diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml index 27d24810d1bd0..fda9bc75b7125 100644 --- a/decidim-core/config/locales/ro-RO.yml +++ b/decidim-core/config/locales/ro-RO.yml @@ -473,7 +473,7 @@ ro: newsletter: Primește un buletin informativ ocazional cu informații relevante newsletter_title: Drepturi privind contactele nickname_help: Pseudonimul tău în %{organization}. Poate conține doar litere, numere, '-' și '_'. - password_help: "minim %{minimun_characters} caractere, nu trebuie să fie prea comune (ex. 123456) și trebuie să fie diferite de pseudonimul și adresa ta de e-mail." + password_help: "minim %{minimun_characters} caractere, nu trebuie să fie prea comune (ex. 123456) și trebuie să fie diferite de porecla și adresa dvs. de e-mail." sign_in: Autentificare sign_up: Înscrie-te sign_up_as: diff --git a/decidim-core/config/locales/ru.yml b/decidim-core/config/locales/ru.yml index 400c65a63715f..f4df05b2b8db5 100644 --- a/decidim-core/config/locales/ru.yml +++ b/decidim-core/config/locales/ru.yml @@ -300,7 +300,6 @@ ru: already_have_an_account?: У вас уже есть учетная запись? newsletter: Получать время от времени рассылку со свежими новостями newsletter_title: Разрешение на связь с вами - password_help: "Минимум %{minimun_characters} символов, не должен быть слишком распространенным (например, 123456) и должен отличаться от вашего имени и электронной почты." sign_in: Войти sign_up: Зарегистрироваться sign_up_as: @@ -763,6 +762,8 @@ ru: edit: new_password: Пароль registrations: + edit: + are_you_sure: Вы уверены? new: sign_up: Зарегистрироваться signed_up: Добро пожаловать! Вы успешно зарегистрировались. diff --git a/decidim-core/config/locales/sk.yml b/decidim-core/config/locales/sk.yml index 3468bbd8ea060..52deed20427f9 100644 --- a/decidim-core/config/locales/sk.yml +++ b/decidim-core/config/locales/sk.yml @@ -409,7 +409,7 @@ sk: already_have_an_account?: Už máte účet? newsletter: Dostávajte príležitostný spravodajca s relevantnými informáciami newsletter_title: Povolenie kontaktu - password_help: "%{minimun_characters} minimum znakov, nesmie byť príliš bežné (napr. 123456) a musí byť iné ako vaše prezývka a váš e-mail." + password_help: "%{minimun_characters} je minimum znakov, nesmie byť príliš bežné (napr. 123456) a musí byť iné ako vaše prezývka a váš e-mail." sign_in: Prihlásiť sa sign_up: Zaregistrovať sa sign_up_as: diff --git a/decidim-core/config/locales/sv.yml b/decidim-core/config/locales/sv.yml index 21966e77c851a..e11e9041189df 100644 --- a/decidim-core/config/locales/sv.yml +++ b/decidim-core/config/locales/sv.yml @@ -41,6 +41,7 @@ sv: decidim/promote_to_admin: Befordrad till gruppadministratör decidim/removed_from_group: Borttagen från gruppen decidim/resource_endorsed_event: Resurs instämd + decidim/welcome_notification_event: Välkomstmeddelande activerecord: attributes: decidim/user: @@ -123,7 +124,7 @@ sv: ok: Ja, radera mitt konto question: Är du säker på att du vill radera ditt konto? title: Radera mitt konto - explanation: Ange skälet till varför du vill radera ditt konto (valfritt). + explanation: Ange skälet till varför du vill radera ditt konto (frivilligt). destroy: error: Det gick inte att radera ditt konto. success: Ditt konto har raderats. diff --git a/decidim-core/config/locales/zh-CN.yml b/decidim-core/config/locales/zh-CN.yml index ad65343504fb0..9ff5d85352cae 100644 --- a/decidim-core/config/locales/zh-CN.yml +++ b/decidim-core/config/locales/zh-CN.yml @@ -1472,8 +1472,8 @@ zh-CN: widget: see_more: 查看更多 locale: - name: Distr. - name_with_error: 英文(错误!) + name: 中文 + name_with_error: 中文(错误!) password_validator: domain_included_in_password: 与这个域名太近了 email_included_in_password: 与您的电子邮件太相似了 diff --git a/decidim-debates/config/locales/de.yml b/decidim-debates/config/locales/de.yml index 84ab392aa6bc6..7b1a10f4348ae 100644 --- a/decidim-debates/config/locales/de.yml +++ b/decidim-debates/config/locales/de.yml @@ -17,6 +17,7 @@ de: decidim/debates/close_debate_event: Debatte beendet decidim/debates/create_debate_event: Debatte decidim/debates/creation_disabled_event: Debatten deaktiviert + decidim/debates/creation_enabled_event: Erstellung von Debatten aktiviert activerecord: models: decidim/debates/debate: @@ -26,6 +27,7 @@ de: components: debates: actions: + comment: Kommentar create: Erstellen endorse: Bestätigen name: Debatten @@ -39,6 +41,7 @@ de: step: announcement: Ankündigung comments_blocked: Kommentare blockiert + creation_enabled: Teilnehmer können Debatten erstellen endorsements_blocked: Bestätigungen blockiert endorsements_enabled: Bestätigungen aktiviert debates: diff --git a/decidim-debates/config/locales/hu.yml b/decidim-debates/config/locales/hu.yml index 64ba004afe8c2..ba92409a8eb81 100644 --- a/decidim-debates/config/locales/hu.yml +++ b/decidim-debates/config/locales/hu.yml @@ -3,6 +3,7 @@ hu: attributes: debate: category_id: Kategória + closed_at: Lezárva ekkor conclusions: Következtetések decidim_category_id: Kategória description: Leírás @@ -26,6 +27,7 @@ hu: components: debates: actions: + comment: Megjegyzés create: Létrehozás endorse: Jóváhagy name: Viták @@ -33,6 +35,9 @@ hu: global: announcement: Közlemény comments_enabled: Megjegyzések engedélyezve + comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez) + scope_id: Hatókör + scopes_enabled: A hatókör engedélyezett step: announcement: Közlemény comments_blocked: Megjegyzések letiltva @@ -61,6 +66,10 @@ hu: edit: title: Vita szerkesztése update: Vita frissítése + form: + debate_type: Vita típusa + finite: Véges (Kezdő és záró idők) + open: Nyitott (Nincs kezdete vagy vége) index: title: Viták new: @@ -69,13 +78,18 @@ hu: update: invalid: Probléma merült fel a vita frissítése során. success: A vita sikeresen frissült. + exports: + comments: Hozzászólások models: debate: name: Vita admin_log: debate: + close: "%{user_name} lezárta a(z) %{resource_name} vitát a(z) %{space_name} térben" create: "%{user_name} létrehozta a(z) %{resource_name} vitát itt: %{space_name}" update: "%{user_name} frissítette a(z) %{resource_name} vitát itt: %{space_name}" + debate_m: + commented_time_ago: Hozzáfűzést tett %{time} ideje debates: close: invalid: Probléma merült fel a vita lezárása során. @@ -94,14 +108,27 @@ hu: success: Vita létrehozása sikeres. debate: participate: Részvétel + edit: + back: Vissza + save: Változások mentése + title: Vita szerkesztése filters: + activity: Tevékenységeim all: Összes category: Kategória category_prompt: Válassz kategóriát citizens: Állampolgárok + commented: Hozzászólással rendelkezik + my_debates: Vitáim official: Hivatalos origin: Kiindulópont + scope: Hatókör search: Keresés + state: Állapot + state_values: + closed: Lezárva + open: Nyitva + user_groups: Csoportok filters_small_view: close_modal: Modal bezárása filter: Szűrő @@ -115,13 +142,37 @@ hu: back: Vissza create: Létrehozás title: Új vita + orders: + commented: Legtöbb hozzászólással + label: Viták rendezése + random: Véletlen sorrend + recent: Legfrissebb + updated: Nemrégiben frissítve show: back: Vissza a listához close_debate: Vita lezárása + date: Dátum debate_closed: Lezárva debate_conclusions_are: 'A vitát %{date} -n zárult le az alábbi következtetésekkel:' edit_conclusions: Következtetések szerkesztése + edit_debate: Vita szerkesztése + groups_count: Csoportok + last_comment_by: Utolsó hozzászólás + no_comments_yet: Még nincsenek hozzászólások + open: Nyitott vita + participants_count: Résztvevők + update: + invalid: Hiba történt a vita frissítése során. + success: A vita frissítse sikeres. + versions: + debates: + back_to_resource: Visszalépés a vitához + index: + title: Verziók + versions_list: + back_to_resource: Visszalépés a vitához last_activity: + debate_updated_at_html: "Találkozó frissítve %{link}" new_debate_at_html: "Új vita %{link}" models: debate: @@ -157,6 +208,17 @@ hu: email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.' email_subject: 'Viták létrehozása lehetséges itt: %{participatory_space_title}' notification_title: a href="%{resource_path}">Kezd új vitát a(z) %{participatory_space_title} helyen + debate_closed: + affected_user: + email_intro: 'A(z) "%{resource_title}" vitát lezárták. A következtetéseket a kapcsolódó oldalon olvashatja el:' + email_outro: Azért kapta ezt az értesítést, mert követi a(z) "%{resource_title}" vitát. Az előző hivatkozás segítségével visszavonhatja a követést. + email_subject: A(z) "%{resource_title}" vitát lezárták + notification_title: A(z) %{resource_title} vitát lezárták. + follower: + email_intro: 'A(z) "%{resource_title}" vitát lezárták. A következtetéseket a kapcsolódó oldalon olvashatja el:' + email_outro: Azért kapta ezt az értesítést, mert követi a(z) "%{resource_title}" vitát. Az előző hivatkozás segítségével visszavonhatja a követést. + email_subject: A(z) "%{resource_title}" vitát lezárták + notification_title: A(z) %{resource_title} vitát lezárták. gamification: badges: commented_debates: @@ -174,3 +236,5 @@ hu: description: A létrehozott viták száma object: viták title: Viták + statistics: + debates_count: Viták diff --git a/decidim-debates/config/locales/lt.yml b/decidim-debates/config/locales/lt.yml index 6c5cb837ac8c1..7568ae17f9b90 100644 --- a/decidim-debates/config/locales/lt.yml +++ b/decidim-debates/config/locales/lt.yml @@ -1 +1,244 @@ lt: + activemodel: + attributes: + debate: + category_id: Kategorija + closed_at: Uždaryta + conclusions: Išvados + decidim_category_id: Kategorija + description: Aprašymas + end_time: Biagiasi + information_updates: Informacijos atnaujinimai + instructions: Dalyvavimo instrukcija + start_time: Prasideda + title: Pavadinimas + user_group_id: Sukurti diskusiją kaip + models: + decidim/debates/close_debate_event: Diskusija uždaryta + decidim/debates/create_debate_event: Diskusija + decidim/debates/creation_disabled_event: Diskuijos išjungtos + decidim/debates/creation_enabled_event: Dirbtuvių kūrimas leidžiamas + activerecord: + models: + decidim/debates/debate: + one: Diskusija + few: Diskusijos + many: Diskusijos + other: Diskusijos + decidim: + components: + debates: + actions: + comment: Komentaras + create: Sukurti + endorse: Pritarti + name: Diskusijos + settings: + global: + announcement: Pranešimas + comments_enabled: Komentarai įjungti + comments_max_length: Maksimalus komentarų ilgis (numatytoji vertė – 0) + scope_id: Apimtis + scopes_enabled: Sritys įjungtos + step: + announcement: Pranešimas + comments_blocked: Komentarai užblokuoti + creation_enabled: Dalyviai gali sukurti diskusijas + endorsements_blocked: Pritarimai užblokuoti + endorsements_enabled: Pritarimai aktyvuoti + debates: + actions: + close: Uždaryti + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + edit: Redaguoti + new: Naujas %{name} + title: Veiksmai + admin: + debate_closes: + edit: + close: Uždaryti + title: Uždaryti diskusiją + debates: + create: + invalid: Kuriant diskusiją iškilo problema. + success: Diskusija sukurta. + destroy: + success: Diskusija pašalinta. + edit: + title: Redaguoti diskusiją + update: Atnaujinti diskusiją + form: + debate_type: Diskusijos tipas + finite: Baigtina (su pradžios ir finišo laikais) + open: Atvira (be nustatytos pradžios ir pabaigos) + index: + title: Diskusijos + new: + create: Sukurti diskusiją + title: Nauja diskusija + update: + invalid: Atnaujinant šią diskusiją iškilo problema. + success: Diskusija atnaujinta. + exports: + comments: Komentarai + models: + debate: + name: Diskusija + admin_log: + debate: + close: "%{user_name} uždarė %{resource_name} diskusiją %{space_name} erdvėje" + create: "%{user_name} sukūrė %{resource_name} diskusiją %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name} diskusiją %{space_name} erdvėje" + debate_m: + commented_time_ago: Pakomentuota prieš %{time} + debates: + close: + invalid: Baigiant diskusiją iškilo problema. + success: Diskusija baigta. + close_debate_modal: + close: Uždaryti + description: Kokia šios diskusijos santrauka ar išvada? + send: Uždaryti diskusiją + closed: Uždaryta + count: + debates_count: + one: "%{count} diskusija" + few: "%{count} diskusijos" + many: "%{count} diskusijos" + other: "%{count} diskusijos" + create: + invalid: Kuriant šią diskusiją iškilo problema. + success: Diskusija sukurta sėkmingai. + debate: + participate: Dalyvauti + edit: + back: Atgal + save: Išsaugoti pakeitimus + title: Redaguoti diskusiją + filters: + activity: Mano veikla + all: Visos + category: Kategorija + category_prompt: Pasirinkite kategoriją + citizens: Piliečiai + commented: Komentuota + my_debates: Mano diskusijos + official: Oficialūs + origin: Kilmė + scope: Apimtis + search: Ieškoti + state: Būsena + state_values: + closed: Uždaryta + open: Atidaryta + user_groups: Grupės + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtras + filter_by: Filtruoti pagal + unfold: Išskleisti + form: + select_a_category: Pasirinkite kategoriją + index: + new_debate: Nauja diskusija + new: + back: Atgal + create: Sukurti + title: Nauja diskusija + orders: + commented: Labiausiai komentuota + label: Rikiuoti debatus pagal + random: Atsitiktinė tvarka + recent: Naujausia + updated: Neseniai atnaujinta + show: + back: Grįžti į sąrašą + close_debate: Uždaryti diskusiją + date: Data + debate_closed: Uždaryta + debate_conclusions_are: 'Diskusija uždaryta %{date} ir padarytos šios išvados:' + edit_conclusions: Keisti išvadas + edit_debate: Redaguoti diskusiją + groups_count: Grupės + last_comment_by: Paskutinį kartą komentavo + no_comments_yet: Dar komentarų nėra + open: Atverti diskusiją + participants_count: Dalyviai + update: + invalid: Atnaujinant diskusiją iškilo problema. + success: Diskusija atnaujinta. + versions: + debates: + back_to_resource: Grįžti į diskusiją + index: + title: Versijos + versions_list: + back_to_resource: Grįžti į diskusiją + last_activity: + debate_updated_at_html: "Diskusija atnaujinta %{link}" + new_debate_at_html: "Nauja diskusija %{link}" + models: + debate: + fields: + end_time: Pabaigos data + official_debate: Oficiali diskusija + start_time: Pradžios data + title: Pavadinimas + events: + debates: + create_debate_event: + space_followers: + email_intro: |- + Sveiki, + Dalyvaujamojo proceso erdvėje %{space_title} sukurta nauja diskusija „%{resource_title}“, peržiūrėkite ir prisidėkite: + email_outro: Šį pranešimą gavote dėl to, kad sekate dalyvaujamojo proceso erdvę %{space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Nauja diskusija "%{resource_title}" %{space_title} erdvėje + notification_title: %{resource_title} diskusija sukurta %{space_title}. + user_followers: + email_intro: |- + Sveiki, + %{author_name} %{author_nickname}, kurį(-ią) sekate, sukūrė naują diskusiją „%{resource_title}“. Peržiūrėkite ir prisidėkite: + email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Nauja %{author_nickname} diskusija "%{resource_title}" + notification_title: %{author_name} %{author_nickname} sukūrė %{resource_title} diskusiją. + creation_disabled: + email_intro: 'Diskusijos kūrimas %{participatory_space_title} nebėra aktyvus. Vis dar galite dalyvauti atvirose diskusijose iš šio puslapio:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Diskusijos kūrimas %{participatory_space_title} neaktyvus + notification_title: Diskusijos kūrimas %{participatory_space_title} neaktyvus + creation_enabled: + email_intro: 'Dabar galite pradėti naujas diskusijas %{participatory_space_title}! Pradėti dalyvauti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Diskusijos nuo šiol prieinamos %{participatory_space_title} + notification_title: Dabar galite pradėti naujas diskusijas %{participatory_space_title} + debate_closed: + affected_user: + email_intro: '"%{resource_title}" diskusija uždaryta. Išvadas galite perskaityti jos puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate "%{resource_title}“ diskusiją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą. + email_subject: '"%{resource_title}" diskusija uždaryta' + notification_title: %{resource_title} diskusija uždaryta. + follower: + email_intro: '"%{resource_title}" diskusija uždaryta. Išvadas galite perskaityti jos puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate "%{resource_title}“ diskusiją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą. + email_subject: '"%{resource_title}" diskusija uždaryta' + notification_title: %{resource_title} diskusija uždaryta. + gamification: + badges: + commented_debates: + conditions: + - Pasirinkite atvirą diskusiją ir dalyvaukite + description: Šis ženklelis suteikiamas, kai aktyviai dalyvaujate įvairiose diskusijose pateikdami komentarus. + description_another: Šis dalyvis dalyvavo %{score} diskusijose. + description_own: Jūs dalyvavote %{score} diskusijose. + name: Diskusijos + next_level_in: Įsitraukite į %{score} daugiau diskusijų ir pasiekite kitą lygį! + unearned_another: Šis dalyvis dar nedalyvavo nė vienoje diskusijoje. + unearned_own: Jūs dar nedalyvavote nė vienoje diskusijoje. + metrics: + debates: + description: Sukurtų diskusijų skaičius + object: diskusijos + title: Diskusijos + statistics: + debates_count: Diskusijos diff --git a/decidim-dev/config/locales/ca.yml b/decidim-dev/config/locales/ca.yml index 17bf7594bf64e..a4d56a0112b17 100644 --- a/decidim-dev/config/locales/ca.yml +++ b/decidim-dev/config/locales/ca.yml @@ -14,6 +14,12 @@ ca: dummy: settings: global: + guided: Entrada guiada + guided_help: Text d'ajuda + guided_readonly: Entrada deshabilitada + guided_rich: Entrada guiada enriquida + guided_rich_help_html: HTML ajuda text + guided_rich_readonly_html: HTML ajuda text per l'entrada deshabilitada readonly_attribute: Atribut de només lectura test: Una prova test_choices: diff --git a/decidim-dev/config/locales/cs.yml b/decidim-dev/config/locales/cs.yml index de7993daad570..10108bda3f031 100644 --- a/decidim-dev/config/locales/cs.yml +++ b/decidim-dev/config/locales/cs.yml @@ -14,6 +14,10 @@ cs: dummy: settings: global: + guided_help: Text nápovědy + guided_readonly: Zakázaný zápis + guided_rich_help_html: HTML textová nápověda + guided_rich_readonly_html: HTML nápověda text pro zakázaný zápis readonly_attribute: Atribut pouze pro čtení test: Zkouška A test_choices: diff --git a/decidim-dev/config/locales/es-MX.yml b/decidim-dev/config/locales/es-MX.yml index 56547e3149bfa..6de37d3d0b5e1 100644 --- a/decidim-dev/config/locales/es-MX.yml +++ b/decidim-dev/config/locales/es-MX.yml @@ -14,6 +14,12 @@ es-MX: dummy: settings: global: + guided: Entrada guiada + guided_help: Texto de ayuda + guided_readonly: Entrada deshabilitada + guided_rich: Entrada guiada enriquecida + guided_rich_help_html: Texto de ayuda HTML + guided_rich_readonly_html: Texto de ayuda HTML para la entrada deshabilitada readonly_attribute: Atributo de sólo lectura test: Test A test_choices: diff --git a/decidim-dev/config/locales/es-PY.yml b/decidim-dev/config/locales/es-PY.yml index f515886007031..1b57618c5107e 100644 --- a/decidim-dev/config/locales/es-PY.yml +++ b/decidim-dev/config/locales/es-PY.yml @@ -14,6 +14,12 @@ es-PY: dummy: settings: global: + guided: Entrada guiada + guided_help: Texto de ayuda + guided_readonly: Entrada deshabilitada + guided_rich: Entrada guiada enriquecida + guided_rich_help_html: Texto de ayuda HTML + guided_rich_readonly_html: Texto de ayuda HTML para la entrada deshabilitada readonly_attribute: Atributo de sólo lectura test: Test A test_choices: diff --git a/decidim-dev/config/locales/es.yml b/decidim-dev/config/locales/es.yml index dd97e373c5ea8..2de7d2552685f 100644 --- a/decidim-dev/config/locales/es.yml +++ b/decidim-dev/config/locales/es.yml @@ -14,6 +14,12 @@ es: dummy: settings: global: + guided: Entrada guiada + guided_help: Texto de ayuda + guided_readonly: Entrada deshabilitada + guided_rich: Entrada guiada enriquecida + guided_rich_help_html: Texto de ayuda HTML + guided_rich_readonly_html: Texto de ayuda HTML para la entrada deshabilitada readonly_attribute: Atributo de sólo lectura test: Una prueba test_choices: diff --git a/decidim-dev/config/locales/fi-plain.yml b/decidim-dev/config/locales/fi-plain.yml index ce3e7a9bc73de..12ef95cbfbe89 100644 --- a/decidim-dev/config/locales/fi-plain.yml +++ b/decidim-dev/config/locales/fi-plain.yml @@ -14,6 +14,12 @@ fi-pl: dummy: settings: global: + guided: Ohjeistettu syöte + guided_help: Ohjeteksti + guided_readonly: Käytöstä poistettu syöte + guided_rich: Ohjeistettu rikas tekstisyöte + guided_rich_help_html: HTML ohjeteksti + guided_rich_readonly_html: Käytöstä poistettu HTML ohjeteksti readonly_attribute: Vain luku -attribuutti test: Testi test_choices: diff --git a/decidim-dev/config/locales/fi.yml b/decidim-dev/config/locales/fi.yml index 53ba676aa8d2a..d8c17596584ff 100644 --- a/decidim-dev/config/locales/fi.yml +++ b/decidim-dev/config/locales/fi.yml @@ -14,6 +14,12 @@ fi: dummy: settings: global: + guided: Ohjeistettu syöte + guided_help: Ohjeteksti + guided_readonly: Käytöstä poistettu syöte + guided_rich: Ohjeistettu rikas tekstisyöte + guided_rich_help_html: HTML ohjeteksti + guided_rich_readonly_html: Käytöstä poistettu HTML ohjeteksti readonly_attribute: Vain luku -attribuutti test: Testi test_choices: diff --git a/decidim-dev/config/locales/fr-CA.yml b/decidim-dev/config/locales/fr-CA.yml index a8998014e5882..d495d0e63cd09 100644 --- a/decidim-dev/config/locales/fr-CA.yml +++ b/decidim-dev/config/locales/fr-CA.yml @@ -14,6 +14,12 @@ fr-CA: dummy: settings: global: + guided: Entrée guidée + guided_help: Texte d'aide + guided_readonly: Entrée désactivée + guided_rich: Entrée riche guidée + guided_rich_help_html: Texte d'aide HTML + guided_rich_readonly_html: Texte d'aide HTML pour les entrées désactivées readonly_attribute: Attribut en lecture seule test: Un test test_choices: diff --git a/decidim-dev/config/locales/fr.yml b/decidim-dev/config/locales/fr.yml index 564e4f518fa7e..2b6dbf9b0699f 100644 --- a/decidim-dev/config/locales/fr.yml +++ b/decidim-dev/config/locales/fr.yml @@ -14,6 +14,12 @@ fr: dummy: settings: global: + guided: Entrée guidée + guided_help: Texte d'aide + guided_readonly: Entrée désactivée + guided_rich: Entrée riche guidée + guided_rich_help_html: Texte d'aide HTML + guided_rich_readonly_html: Texte d'aide HTML pour les entrées désactivées readonly_attribute: Attribut en lecture seule test: Un test test_choices: diff --git a/decidim-dev/config/locales/ja.yml b/decidim-dev/config/locales/ja.yml index 776e4ce1b2dea..439a886db0d1a 100644 --- a/decidim-dev/config/locales/ja.yml +++ b/decidim-dev/config/locales/ja.yml @@ -14,6 +14,12 @@ ja: dummy: settings: global: + guided: ガイド付き入力 + guided_help: ヘルプテキスト + guided_readonly: 無効化された入力 + guided_rich: ガイド付きリッチ入力 + guided_rich_help_html: HTML ヘルプ のテキスト + guided_rich_readonly_html: HTML ヘルプ の入力を無効にする readonly_attribute: 読み取り専用属性 test: テスト test_choices: diff --git a/decidim-dev/config/locales/lt.yml b/decidim-dev/config/locales/lt.yml index 6c5cb837ac8c1..93ba82df766ab 100644 --- a/decidim-dev/config/locales/lt.yml +++ b/decidim-dev/config/locales/lt.yml @@ -1 +1,64 @@ lt: + activemodel: + attributes: + dummy_resource: + created_at: Sukurta + decidim_scope_id: Apimtis + field: Mano laukas + start_date: Pradžios data + title: Pavadinimas + translatable_text: Verčiamas tekstas + updated_at: Atnaujinta + decidim: + components: + dummy: + settings: + global: + guided: Vedama įvestis + guided_help: Pagalbos tekstas + guided_readonly: Išjungta įvestis + guided_rich: Vedama turtinga įvestis + guided_rich_help_html: HTML pagalbos tekstas + guided_rich_readonly_html: HTML pagalbostekstas išjungtai įvesčiai + readonly_attribute: Tik skaitomas atributas + test: Bandymas + test_choices: + a: A pasirinkimas + b: B pasirinkimas + c: C pasirinkimas + test_options: + bar: Juosta + baz: Baz + foo: Foo + step: + endorsements_blocked: Pritarimai užblokuoti + endorsements_enabled: Pritarimai aktyvuoti + readonly_step_attribute: Tik skaitomas veiksmo atributas + test_options: + bar: Juosta + baz: Baz + foo: Foo + dummy: + admin: + exports: + dummies: Fiktyvūs elementai + gamification: + badges: + test: + conditions: + - Naudokite testinę aplinką. + description: Dalyviai šį ženklelį pelno kurdami testus. + description_another: Šis dalyvis sukūrė %{score} testus. + description_own: Jūs sukūrėte %{score} testus. + name: Testai + next_level_in: Parenkite dar %{score} testus ir pasiekite kitą lygį! + unearned_another: Šis dalyvis dar nesukūrė jokių testų. + unearned_own: Jūs dar nesukūrėte jokių testų. + resource_links: + test_link: + dummy_resource_dummy: Susijęs fiktyvus elementas + statistics: + bar: Bar + dummies_count_high: Daug fiktyvių elementų + dummies_count_medium: Vidutiniškai fiktyvių elementų + foo: Foo diff --git a/decidim-elections/config/locales/ar.yml b/decidim-elections/config/locales/ar.yml index f871dce2b9003..42d0816eea6df 100644 --- a/decidim-elections/config/locales/ar.yml +++ b/decidim-elections/config/locales/ar.yml @@ -5,8 +5,6 @@ ar: description: الوصف election: description: الوصف - question: - description: الوصف decidim: elections: admin: diff --git a/decidim-elections/config/locales/ca.yml b/decidim-elections/config/locales/ca.yml index eb8b4080601b4..6688e8a47c793 100644 --- a/decidim-elections/config/locales/ca.yml +++ b/decidim-elections/config/locales/ca.yml @@ -12,7 +12,6 @@ ca: start_time: La votació comença el title: Títol question: - description: Descripció max_selections: Número màxim d'opcions min_selections: Cap de les opcions anteriors title: Títol @@ -231,12 +230,17 @@ ca: success: La pregunta s'ha actualitzat correctament steps: create_election: + census: Cens errors: + census_codes_generated: No es generen codi electorals per al cens. + census_frozen: No s'exporten els codis electorals. + census_uploaded: No s'ha pujat el cens per a aquestes eleccions. + component_published: L'elecció no està publicada. max_selections: Les preguntes no tenen un valor correcte per quantitat de respostes minimum_answers: Les preguntes han de tenir almenys dues respostes. minimum_questions: L'elecció ha de tenir almenys una pregunta. published: L'elecció no està publicada. - time_before: L'hora d'inici és en menys de 3 hores abans de que comenci l'elecció. + time_before: L'hora d'inici és en menys de %{hours} hores abans de que comenci l'elecció. trustees_number: L'espai de participació ha de tenir almenys %{number} garants amb clau pública. invalid: S'ha produït un error en configurar aquesta elecció no_trustees: No hi ha garants configurats per aquest espai de participació @@ -245,6 +249,10 @@ ca: 'false': no té una clau pública 'true': té una clau pública requirements: + census_codes_generated: Es generen codis de cens. + census_frozen: Els codis s'exporten i el cens es congela. + census_uploaded: El cens s'ha pujat. + component_published: L'elecció està publicada. max_selections: Totes les preguntes tenen un valor correcte per màxim de respostes. minimum_answers: Cada pregunta té almenys 2 respostes. minimum_questions: L'elecció té almenys 1 pregunta. @@ -357,6 +365,13 @@ ca: update: "%{user_name} ha actualitzat l'elecció %{resource_name} a %{space_name}" trustee: create: "%{user_name} ha assignat a la usuària %{trustee_user} com a garant" + connection: + failed: + modal: + close: Tancar + communication_lost: Malauradament, sembla que la comunicació amb el servidor de votació (Bulletin Board) s'ha perdut.
    Pot ser que la connexió a Internet estigui avariada o que el servidor de destí estigui massa ocupat.
    Pots provar-ho més tard o posar-te en contacte amb el servei d'assistència si aquest problema persisteix. + generic_error: Malauradament, s'ha produït un error desconegut. És probable que el teu navegador no estigui suportat o que estiguis fent servir el mode "d'incògnit" o "privat" que no són compatibles. + title: Alguna cosa ha anat malament election_m: badge_name: finished: Acabada @@ -639,6 +654,10 @@ ca: failed: header: Vot fallit lead: El teu vot no s'ha enviat! + modal: + close: Tancar + communication_lost: Malauradament, sembla que la comunicació amb el servidor de votació (Bulletin Board) s'ha perdut.
    Pot ser que la connexió a Internet estigui avariada o que el servidor de destí estigui massa ocupat.
    Pots provar-ho més tard o posar-te en contacte amb el servei d'assistència si aquest problema persisteix. + title: Alguna cosa ha anat malament text: Alguna cosa ha anat malament. Si us plau, torna-ho a provar. try_again: Prova-ho de nou header: diff --git a/decidim-elections/config/locales/cs.yml b/decidim-elections/config/locales/cs.yml index d54ff3b5751b5..f64b29768ac33 100644 --- a/decidim-elections/config/locales/cs.yml +++ b/decidim-elections/config/locales/cs.yml @@ -12,7 +12,6 @@ cs: start_time: Hlasování začíná v title: Název question: - description: Popis max_selections: Maximální počet výběrů min_selections: Žádná z výše uvedených možností title: Název @@ -249,12 +248,17 @@ cs: success: Otázka byla úspěšně aktualizována steps: create_election: + census: Rejstřík obyvatel errors: + census_codes_generated: Volební kódy pro rejstřík obyvatel nejsou generovány. + census_frozen: Volební kódy nejsou exportovány. + census_uploaded: Pro tyto volby není nahrán žádný rejstřík obyvatel. + component_published: Volební složka není publikována. max_selections: Otázky nemají správnou hodnotu pro množství odpovědí minimum_answers: Otázky musí mít alespoň dvě odpovědi. minimum_questions: Volby musí mít alespoň jednu otázku. published: Volby nejsou publikovány. - time_before: Počáteční čas je za méně než 3 hodiny před zahájením voleb. + time_before: Čas zahájení je v méně než %{hours} hodin před začátkem voleb. trustees_number: Participační prostor musí mít alespoň %{number} důvěrníků s veřejným klíčem. invalid: Při zřizování těchto voleb došlo k chybě no_trustees: Pro tento participační prostor nejsou nakonfigurováni žádní důvěrníci @@ -263,6 +267,10 @@ cs: 'false': nemá veřejný klíč 'true': má veřejný klíč requirements: + census_codes_generated: Vytvářejí se kódy pro rejstřík obyvatel. + census_frozen: Kódy jsou exportovány a rejstřík obyvatel je zmrazen. + census_uploaded: Rejstřík obyvatel je nahrán. + component_published: Vilební složka je publikována. max_selections: Všechny otázky mají správnou hodnotu pro maximum odpovědí. minimum_answers: Každá otázka má alespoň 2 odpovědi. minimum_questions: Volba má alespoň jednu otázku. @@ -375,6 +383,13 @@ cs: update: "%{user_name} aktualizoval volbu %{resource_name} z %{space_name}" trustee: create: "%{user_name} přiřadil uživatele %{trustee_user} jako důvěrníka" + connection: + failed: + modal: + close: Zavřít‏ + communication_lost: Bohužel se zdá, že komunikace s hlasovacím serverem (Bulletin Board) je ztracena.
    Může se stát, že připojení k internetu je přerušeno nebo že cílový server je příliš zaneprázdněný.
    Pokud tento problém přetrvává, můžete to zkusit později nebo se obraťte na podporu. + generic_error: Bohužel došlo k neznámé chybě. Je pravděpodobné, že váš prohlížeč není podporován nebo že používáte "incognito" nebo "privátní" režim, který není podporován. + title: Něco se pokazilo election_m: badge_name: finished: Dokončeno @@ -659,6 +674,10 @@ cs: failed: header: Hlasování se nezdařilo lead: Váš hlas nebyl odeslán! + modal: + close: Zavřít + communication_lost: Bohužel se zdá, že komunikace s hlasovacím serverem (Bulletin Board) je ztracena.
    Může se stát, že připojení k internetu je přerušeno nebo že cílový server je příliš zaneprázdněný.
    Pokud tento problém přetrvává, můžete to zkusit později nebo se obraťte na podporu. + title: Něco se pokazilo text: Něco se pokazilo, zkuste to prosím znovu. try_again: Zkuste to znovu header: diff --git a/decidim-elections/config/locales/de.yml b/decidim-elections/config/locales/de.yml index df4dd5ca69543..3d75219d8fc3f 100644 --- a/decidim-elections/config/locales/de.yml +++ b/decidim-elections/config/locales/de.yml @@ -12,7 +12,6 @@ de: start_time: Die Abstimmung beginnt um title: Titel question: - description: Beschreibung max_selections: Maximale Anzahl Antworten min_selections: Nichts davon title: Titel @@ -58,6 +57,9 @@ de: decidim/elections/question: one: Frage other: Fragen + decidim/voting: + one: Abstimmung + other: Abstimmungen decidim/votings/census/dataset: one: Datensatz other: Datensätze @@ -204,6 +206,7 @@ de: title: Vorschläge importieren questions: create: + election_started: Die Wahl hat bereits begonnen invalid: Beim Erstellen dieser Frage ist ein Fehler aufgetreten success: Frage wurde erfolgreich erstellt destroy: @@ -227,7 +230,6 @@ de: minimum_answers: Fragen müssen mindestens zwei Antworten haben. minimum_questions: Die Wahl muss mindestens eine Frage haben. published: Die Wahl ist nicht veröffentlicht. - time_before: Die Startzeit ist in weniger als 3 Stunden vor Beginn der Wahl. trustees_number: Mindestens %{number} Wahlhelfer mit Public Key werden benötigt. invalid: Beim Erstellen dieser Wahl ist ein Fehler aufgetreten no_trustees: Es sind keine Wahlhelfer eingetragen @@ -253,6 +255,7 @@ de: title: Wahl erstellt trustees: Wahlhelfer key_ceremony: + continue: Fortfahren title: Schlüsselzeremonie key_ceremony_ended: errors: @@ -273,10 +276,14 @@ de: submit: Absenden title: Ergebnisse veröffentlicht tally: + continue: Fortfahren invalid: Es ist ein Problem beim Melden des Stimmenzählers aufgetreten mark_as_missing: Als fehlend markieren mark_as_missing_description: Alle Wahlhelfer sollten an diesem Prozess teilnehmen. Wenn ein Wahlhelfer nicht am Prozess teilnehmen kann, können Sie ihn als fehlend markieren. + success: Eine Meldung über das Fehlen des Wahlhelfers wurde erfolgreich ans Forum gesendet + tally_completion: Der Prozess wird abgeschlossen, wenn alle Wahlhelfer aktiv sind oder als fehlend markiert wurden. Mindestens %{quorum} Wahlhelfer sind erforderlich, um den Prozess abzuschließen. title: Stimmenzählung + undo_mark_as_missing: Ein Wahlhelfer, der versehentlich als fehlend markiert wurde, kann vor Abschluss des Prozesses teilnehmen. Sie können wie gewohnt fortfahren und die fehlend-Markierung wird ignoriert. tally_ended: answer: Antwort not_selected: Nicht ausgewählt @@ -327,6 +334,13 @@ de: update: invalid: Es ist ein Problem beim Aktualisieren des Wahlhelfers %{trustee} aufgetreten success: Wahlhelfer %{trustee} erfolgreich aktualisiert + connection: + failed: + modal: + close: Schliessen + communication_lost: Leider scheint die Kommunikation mit dem Abstimmungsserver (Bulletin Board) unterbrochen.
    Möglicherweise ist die Internetverbindung gestört oder der Server ist überlastet.
    Bitte versuche es später noch einmal oder kontaktiere den Support, falls das Problem weiterhin besteht. + generic_error: Leider ist ein unbekannter Fehler aufgetreten. Es ist wahrscheinlich, dass Ihr Browser nicht unterstützt wird oder dass Sie den Modus "incognito" oder "private" verwenden, der nicht unterstützt wird. + title: Etwas ist schiefgelaufen election_m: badge_name: finished: Abgeschlossen @@ -600,11 +614,17 @@ de: failed: header: Abstimmung fehlgeschlagen lead: Ihre Stimme wurde nicht abgegeben! + modal: + close: Schließen + communication_lost: Leider scheint die Kommunikation mit dem Abstimmungsserver (Bulletin Board) unterbrochen.
    Möglicherweise ist die Internetverbindung gestört oder der Server ist überlastet.
    Bitte versuche es später noch einmal oder kontaktiere den Support, falls das Problem weiterhin besteht. + title: Etwas ist schiefgelaufen text: Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut. + try_again: Erneut versuchen header: ballot_decision: Stimme abgeben oder überprüfen confirm: Bestätige deine Stimme confirmed: Abstimmung bestätigt + failed: Abstimmung fehlgeschlagen messages: invalid_token: Ihre Sitzung in der Abstimmung ist nicht gültig. Versuchen Sie, erneut abzustimmen. not_allowed: Sie dürfen zur Zeit nicht an dieser Wahl teilnehmen. @@ -942,13 +962,17 @@ de: assign_missing_officers: Es gibt noch Wahllokale ohne Präsident und/oder Wahlleiter. Bitte ordnen Sie diese im Wahllokal-Abschnitt zu update: Aktualisieren form: + banner_image: Kopf-Bild + promoted: Hervorgehoben select_a_voting_type: Bitte einen Abstimmungs-Typ auswählen + slug: URL-Segment slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Abstimmung verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' title: Titel voting_type: hybrid: Hybrid in_person: Persönlich online: Online + voting_type_label: Art der Abstimmung new: create: Erstellen title: Neue Abstimmung @@ -980,6 +1004,7 @@ de: button: Zugangscodes für die Abstimmung exportieren callout: Sie können jetzt die Zugangscodes exportieren. Dies kann nur einmal geschehen. Sobald Sie den Export gestartet haben, werden Sie eine E-Mail mit den Anweisungen unter %{email} erhalten confirm: Sie können die Zugangscodes nur einmal exportieren. Stellen Sie sicher, dass Sie Zugang zum E-Mail-Konto %{email} haben. + file_not_exist: Diese Datei existiert nicht launch_error: Beim Starten des Zugangscode-Exports ist ein Problem aufgetreten launch_success: Der Zugangscode-Export wurde gestartet. Sie werden in Kürze eine E-Mail an %{email} erhalten exporting_access_codes: @@ -1026,6 +1051,8 @@ de: highlighted_votings: name: Hervorgehobene Abstimmungen landing_page: + description: + title: Über diese Abstimmung metrics: heading: Metriken polling_stations: @@ -1057,7 +1084,7 @@ de: submit: Zertifikat hochladen success: Zertifikat erfolgreich hochgeladen. create: - error: Beim Abschliessen ist ein Fehler aufgetreten, bitte versuchen Sie es später erneut. + error: Beim Abschließen ist ein Fehler aufgetreten, bitte versuchen Sie es später erneut. success: Erfolgreich abgeschlossen. edit: heading: Nachzählung der Stimmen - Nachzählung der Antworten @@ -1078,6 +1105,7 @@ de: modal_ballots_count_error: btn_validate_total: Neue Gesamtzahl der Stimmen überprüfen close_modal: Schließen + info_explanation_text: 'Bitte überprüfen Sie die Gesamtzahl der Stimmzettel. Wenn die Gesamtzahl falsch ist, müssen Sie dem Wahlausschuss eine Erklärung abgeben:' info_text: Die eingegebene Gesamtzahl der Umschläge stimmt nicht mit der Liste der Personen überein, welche in diesem Wahllokal abgestimmt haben. message_for_monitoring_committee: Nachricht für den Überwachungsausschuss review_recount: Neuzählung überprüfen @@ -1204,6 +1232,7 @@ de: form_title: 'Füllen Sie das folgende Formular aus, um Ihre Erhebungsdaten zu überprüfen:' invalid: Bei der Überprüfung der Erhebung ist ein Problem aufgetreten. success: + access_link: per E-Mail. access_link_with_sms: via SMS oder E-Mail. info: Sie sollten Ihren Zugangscode bereits via Briefpost bekommen haben. Falls nicht, können Sie ihn hier anfordern title: Ihre Erhebungsdaten sind korrekt! @@ -1214,6 +1243,7 @@ de: day_placeholder: TT document_number: Dokumentennummer document_number_placeholder: ID-Nummer + document_type: Dokumenttyp month: Monat month_placeholder: MM postal_code: Postleitzahl diff --git a/decidim-elections/config/locales/el.yml b/decidim-elections/config/locales/el.yml index 943345712e1ca..e10b488fff57f 100644 --- a/decidim-elections/config/locales/el.yml +++ b/decidim-elections/config/locales/el.yml @@ -12,7 +12,6 @@ el: start_time: Η ψηφοφορία ξεκινά στις title: Τίτλος question: - description: Περιγραφή max_selections: Μέγιστος αριθμός επιλογών title: Τίτλος errors: diff --git a/decidim-elections/config/locales/es-MX.yml b/decidim-elections/config/locales/es-MX.yml index ce91877f53a6b..2e9f0c13b919e 100644 --- a/decidim-elections/config/locales/es-MX.yml +++ b/decidim-elections/config/locales/es-MX.yml @@ -12,7 +12,6 @@ es-MX: start_time: La votación comienza a las title: Título question: - description: Descripción max_selections: Número máximo de opciones min_selections: Ninguna de las anteriores title: Título @@ -231,12 +230,17 @@ es-MX: success: La pregunta se ha actualizado correctamente steps: create_election: + census: Censo errors: + census_codes_generated: Los códigos de acceso no se han podido generar. + census_frozen: Los códigos de acceso no se han exportado. + census_uploaded: No se ha subido ningún censo para esta elección. + component_published: La elección no está publicada. max_selections: Las preguntas no tienen un valor correcto para la cantidad de respuestas minimum_answers: Las preguntas deben tener al menos dos respuestas. minimum_questions: La elección debe tener al menos una pregunta. published: La elección no está publicada. - time_before: La hora de inicio está en menos de 3 horas antes de que comience la elección. + time_before: Se ha configurado la hora de inicio en menos de %{hours} horas antes de que comience la elección. trustees_number: El espacio participativo debe tener al menos %{number} garantes con clave pública. invalid: Hubo un problema al configurar esta elección no_trustees: No hay garantes configurados para este espacio participativo @@ -245,6 +249,10 @@ es-MX: 'false': no tiene una clave pública 'true': tiene una clave pública requirements: + census_codes_generated: Los códigos de acceso se han generado. + census_frozen: Los códigos se exportan y el censo se congela. + census_uploaded: El censo está subido. + component_published: La elección está publicada. max_selections: Todas las preguntas tienen un valor correcto para máximo de respuestas. minimum_answers: Cada pregunta tiene al menos 2 respuestas. minimum_questions: La elección tiene al menos 1 pregunta. @@ -357,6 +365,13 @@ es-MX: update: "%{user_name} actualizó la elección %{resource_name} de %{space_name}" trustee: create: "%{user_name} asignó al usuario %{trustee_user} como garante" + connection: + failed: + modal: + close: Cerrar + communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido.
    Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado.
    Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste. + generic_error: Desafortunadamente, se ha producido un error desconocido. Es probable que tu navegador no esté soportado o que estés usando el modo "incógnito" o "privado" que no es compatible. + title: Algo salió mal election_m: badge_name: finished: Finalizada @@ -639,6 +654,10 @@ es-MX: failed: header: Voto fallido lead: '¡Tu voto no ha sido emitido!' + modal: + close: Cerrar + communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido.
    Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado.
    Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste. + title: Algo salió mal text: Algo salió mal, por favor inténtalo de nuevo. try_again: Inténtalo de nuevo header: diff --git a/decidim-elections/config/locales/es-PY.yml b/decidim-elections/config/locales/es-PY.yml index 628c584bf4443..bd58faabc71f9 100644 --- a/decidim-elections/config/locales/es-PY.yml +++ b/decidim-elections/config/locales/es-PY.yml @@ -12,7 +12,6 @@ es-PY: start_time: La votación empieza el title: Título question: - description: Descripción max_selections: Número máximo de opciones min_selections: Ninguna de las anteriores title: Título @@ -231,12 +230,17 @@ es-PY: success: La pregunta se ha actualizado correctamente steps: create_election: + census: Censo errors: + census_codes_generated: Los códigos de acceso no se han podido generar. + census_frozen: Los códigos de acceso no se han exportado. + census_uploaded: No se ha subido ningún censo para esta elección. + component_published: La elección no está publicada. max_selections: Las preguntas no tienen un valor correcto para la cantidad de respuestas minimum_answers: Las preguntas deben tener al menos dos respuestas. minimum_questions: La elección debe tener al menos una pregunta. published: La elección no está publicada. - time_before: La hora de inicio está en menos de 3 horas antes de que comience la elección. + time_before: Se ha configurado la hora de inicio en menos de %{hours} horas antes de que comience la elección. trustees_number: El espacio participativo debe tener al menos %{number} garantes con clave pública. invalid: Hubo un problema al configurar esta elección no_trustees: No hay garantes configurados para este espacio participativo @@ -245,6 +249,10 @@ es-PY: 'false': no tiene una clave pública 'true': tiene una clave pública requirements: + census_codes_generated: Los códigos de acceso se han generado. + census_frozen: Los códigos se exportan y el censo se congela. + census_uploaded: El censo está subido. + component_published: La elección está publicada. max_selections: Todas las preguntas tienen un valor correcto para máximo de respuestas. minimum_answers: Cada pregunta tiene al menos 2 respuestas. minimum_questions: La elección tiene al menos 1 pregunta. @@ -357,6 +365,13 @@ es-PY: update: "%{user_name} actualizó la elección %{resource_name} de %{space_name}" trustee: create: "%{user_name} asignó al usuario %{trustee_user} como garante" + connection: + failed: + modal: + close: Cerrar + communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido.
    Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado.
    Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste. + generic_error: Desafortunadamente, se ha producido un error desconocido. Es probable que tu navegador no esté soportado o que estés usando el modo "incógnito" o "privado" que no es compatible. + title: Algo salió mal election_m: badge_name: finished: Finalizada @@ -639,6 +654,10 @@ es-PY: failed: header: Voto fallido lead: '¡Tu voto no ha sido emitido!' + modal: + close: Cerrar + communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido.
    Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado.
    Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste. + title: Algo salió mal text: Algo salió mal, por favor inténtalo de nuevo. try_again: Inténtalo de nuevo header: diff --git a/decidim-elections/config/locales/es.yml b/decidim-elections/config/locales/es.yml index da91289681ce8..6d345a03c9a14 100644 --- a/decidim-elections/config/locales/es.yml +++ b/decidim-elections/config/locales/es.yml @@ -12,7 +12,6 @@ es: start_time: La votación empieza el title: Título question: - description: Descripción max_selections: Número máximo de opciones min_selections: Ninguna de las opciones anteriores title: Título @@ -231,12 +230,17 @@ es: success: La pregunta se ha actualizado correctamente steps: create_election: + census: Censo errors: + census_codes_generated: Los códigos de acceso no se han podido generar. + census_frozen: Los códigos de acceso no se han exportado. + census_uploaded: No se ha subido ningún censo para esta elección. + component_published: La elección no está publicada. max_selections: Las preguntas no tienen un valor correcto para la cantidad de respuestas minimum_answers: Las preguntas deben tener al menos dos respuestas. minimum_questions: La elección debe tener al menos una pregunta. published: La elección no está publicada. - time_before: La hora de inicio está en menos de 3 horas antes de que comience la elección. + time_before: Se ha configurado la hora de inicio en menos de %{hours} horas antes de que comience la elección. trustees_number: El espacio participativo debe tener al menos %{number} garantes con clave pública. invalid: Hubo un problema al configurar esta elección no_trustees: No hay garantes configurados para este espacio participativo @@ -245,6 +249,10 @@ es: 'false': no tiene una clave pública 'true': tiene una clave pública requirements: + census_codes_generated: Los códigos de acceso se han generado. + census_frozen: Los códigos se exportan y el censo se congela. + census_uploaded: El censo está subido. + component_published: La elección está publicada. max_selections: Todas las preguntas tienen un valor correcto para máximo de respuestas. minimum_answers: Cada pregunta tiene al menos 2 respuestas. minimum_questions: La elección tiene al menos 1 pregunta. @@ -357,6 +365,13 @@ es: update: "%{user_name} actualizó la elección %{resource_name} de %{space_name}" trustee: create: "%{user_name} asignó al usuario %{trustee_user} como garante" + connection: + failed: + modal: + close: Cerrar + communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido.
    Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado.
    Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste. + generic_error: Desafortunadamente, se ha producido un error desconocido. Es probable que tu navegador no esté soportado o que estés usando el modo "incógnito" o "privado" que no es compatible. + title: Algo salió mal election_m: badge_name: finished: Finalizada @@ -639,6 +654,10 @@ es: failed: header: Voto fallido lead: '¡Tu voto no ha sido emitido!' + modal: + close: Cerrar + communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido.
    Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado.
    Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste. + title: Algo salió mal text: Algo salió mal, por favor inténtalo de nuevo. try_again: Inténtalo de nuevo header: diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml index b2163f882da75..443bb60013568 100644 --- a/decidim-elections/config/locales/eu.yml +++ b/decidim-elections/config/locales/eu.yml @@ -12,7 +12,6 @@ eu: start_time: Bozketaren hasiera-data title: Izenburua question: - description: Deskribapena max_selections: Gehieneko aukera kopurua min_selections: Aurreko bat ere ez title: Izenburua @@ -227,7 +226,6 @@ eu: minimum_answers: Galderek gutxienez eduki behar dituzte bi erantzun . minimum_questions: aukerak gutxienez galdera bat eduki behar du. published: aukera ez dago argitaratuta . - time_before: Hasierako ordua hemen dago 3 ordu baino gutxiago bozketa hasi baino lehen. trustees_number: espazio parte-hartzaileak gutxienez eduki behar du %{number} bermatzaile gako publikoarekin . invalid: Arazo bat izan da aukera hau konfiguratzean no_trustees: Ez dago bermatzaile konfiguraturik espazio parte-hartzaile honetarako @@ -611,6 +609,8 @@ eu: failed: header: Boto okerra lead: Ez duzu eman botoa! + modal: + close: Itxi text: Zerbait txarto irten da, mesedez, saiatu berriro. try_again: Saiatu berriro header: diff --git a/decidim-elections/config/locales/fi-plain.yml b/decidim-elections/config/locales/fi-plain.yml index 6da6f8e4fd425..e2664e3df16f6 100644 --- a/decidim-elections/config/locales/fi-plain.yml +++ b/decidim-elections/config/locales/fi-plain.yml @@ -12,7 +12,6 @@ fi-pl: start_time: Äänestys alkaa title: Otsikko question: - description: Kuvaus max_selections: Valintojen enimmäismäärä min_selections: Ei mikään edellä mainituista title: Otsikko @@ -231,12 +230,17 @@ fi-pl: success: Kysymyksen päivitys onnistui steps: create_election: + census: Henkilötietorekisteri errors: + census_codes_generated: Henkilötietorekisterin äänestyskoodeja ei ole luotu. + census_frozen: Äänestyskoodeja ei ole viety. + census_uploaded: Tälle äänestykselle ei ole luotu henkilötietorekisteriä. + component_published: Vaalikomponenttia ei ole julkaistu. max_selections: Kysymyksillä ei ole oikeaa arvoa vastausten määrälle minimum_answers: Kysymyksillä on oltava vähintään kaksi vastausta. minimum_questions: Vaalilla on oltava vähintään yksi kysymys. published: Vaalia ei ole julkaistu. - time_before: Alkamisaika on alle 3 tuntia ennen vaalin alkua. + time_before: Alkamisaika on alle %{hours} tuntia ennen vaalin alkua. trustees_number: Osallistumistilassa on oltava vähintään %{number} luottamushenkilöä, joilla on julkinen avain. invalid: Vaalin asetusten määrittäminen epäonnistui no_trustees: Tähän osallistumistilaan ei ole määritetty luottamushenkilöitä @@ -245,6 +249,10 @@ fi-pl: 'false': vaalilla ei ole julkista avainta 'true': vaalilla on julkinen avain requirements: + census_codes_generated: Henkilötietorekisterin koodit on luotu. + census_frozen: Henkilötietorekisterin koodit on viety ja henkilötietorekisteri on lukittu. + census_uploaded: Henkilötietorekisteri on ladattu palveluun. + component_published: Vaalikomponentti on julkaistu. max_selections: Kaikilla kysymyksillä on oikea arvo asetukselle vastausten maksimimäärä. minimum_answers: Jokaisella kysymyksellä on vähintään 2 vastausta. minimum_questions: Vaalilla on vähintään 1 kysymys. @@ -357,6 +365,13 @@ fi-pl: update: "%{user_name} päivitti vaalia %{resource_name} osallistumistilassa %{space_name}" trustee: create: "%{user_name} määritti käyttäjän %{trustee_user} luottamushenkilöksi" + connection: + failed: + modal: + close: Sulje + communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu.
    Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen.
    Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu. + generic_error: Valitettavasti on tapahtunut tuntematon virhe. On todennäköistä, että selaintasi ei tueta tai käytät selaimen "näkymättömyystilaa" tai "yksityisen selauksen tilaa", joita ei tueta. + title: Jokin meni vikaan election_m: badge_name: finished: Valmis @@ -639,6 +654,10 @@ fi-pl: failed: header: Äänestys epäonnistui lead: Ääntäsi ei ole annettu! + modal: + close: Sulje + communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu.
    Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen.
    Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu. + title: Jokin meni vikaan text: Jokin meni pieleen, yritä uudelleen. try_again: Yritä uudestaan header: diff --git a/decidim-elections/config/locales/fi.yml b/decidim-elections/config/locales/fi.yml index e2ade1ff9f747..f6820bc9bcede 100644 --- a/decidim-elections/config/locales/fi.yml +++ b/decidim-elections/config/locales/fi.yml @@ -12,7 +12,6 @@ fi: start_time: Äänestys alkaa title: Otsikko question: - description: Kuvaus max_selections: Valintojen enimmäismäärä min_selections: Ei mikään edellä mainituista title: Otsikko @@ -231,12 +230,17 @@ fi: success: Kysymyksen päivitys onnistui steps: create_election: + census: Henkilötietorekisteri errors: + census_codes_generated: Henkilötietorekisterin äänestyskoodeja ei ole luotu. + census_frozen: Äänestyskoodeja ei ole viety. + census_uploaded: Tälle äänestykselle ei ole luotu henkilötietorekisteriä. + component_published: Vaalikomponenttia ei ole julkaistu. max_selections: Kysymyksillä ei ole oikeaa arvoa vastausten määrälle minimum_answers: Kysymyksillä on oltava vähintään kaksi vastausta. minimum_questions: Vaalilla on oltava vähintään yksi kysymys. published: Vaalia ei ole julkaistu. - time_before: Alkamisaika on alle 3 tuntia ennen vaalin alkua. + time_before: Alkamisaika on alle %{hours} tuntia ennen vaalin alkua. trustees_number: Osallistumistilassa on oltava vähintään %{number} luottamushenkilöä, joilla on julkinen avain. invalid: Vaalin asetusten määrittäminen epäonnistui no_trustees: Tähän osallistumistilaan ei ole määritetty luottamushenkilöitä @@ -245,6 +249,10 @@ fi: 'false': vaalilla ei ole julkista avainta 'true': vaalilla on julkinen avain requirements: + census_codes_generated: Henkilötietorekisterin koodit on luotu. + census_frozen: Henkilötietorekisterin koodit on viety ja henkilötietorekisteri on lukittu. + census_uploaded: Henkilötietorekisteri on ladattu palveluun. + component_published: Vaalikomponentti on julkaistu. max_selections: Kaikilla kysymyksillä on oikea arvo asetukselle vastausten maksimimäärä. minimum_answers: Jokaisella kysymyksellä on vähintään 2 vastausta. minimum_questions: Vaalilla on vähintään 1 kysymys. @@ -357,6 +365,13 @@ fi: update: "%{user_name} päivitti vaalia %{resource_name} osallistumistilassa %{space_name}" trustee: create: "%{user_name} määritti käyttäjän %{trustee_user} luottamushenkilöksi" + connection: + failed: + modal: + close: Sulje + communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu.
    Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen.
    Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu. + generic_error: Valitettavasti on tapahtunut tuntematon virhe. On todennäköistä, että selaintasi ei tueta tai käytät selaimen "näkymättömyystilaa" tai "yksityisen selauksen tilaa", joita ei tueta. + title: Jokin meni vikaan election_m: badge_name: finished: Valmis @@ -639,6 +654,10 @@ fi: failed: header: Äänestys epäonnistui lead: Ääntäsi ei ole annettu! + modal: + close: Sulje + communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu.
    Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen.
    Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu. + title: Jokin meni vikaan text: Jokin meni pieleen, yritä uudelleen. try_again: Yritä uudestaan header: diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml index 18bea1ba3d410..2757f7e0bc77e 100644 --- a/decidim-elections/config/locales/fr-CA.yml +++ b/decidim-elections/config/locales/fr-CA.yml @@ -12,7 +12,6 @@ fr-CA: start_time: Le vote commence à title: Titre question: - description: Description max_selections: Nombre maximum de sélections min_selections: Aucune des options ci-dessus title: Titre @@ -231,12 +230,17 @@ fr-CA: success: Question mise à jour avec succès steps: create_election: + census: Recensement errors: + census_codes_generated: Les codes électoraux pour le recensement ne sont pas générés. + census_frozen: Les codes électoraux ne sont pas exportés. + census_uploaded: Il n'y a pas de recensement téléchargé pour cette élection. + component_published: La fonctionnalité élection n'est pas publiée. max_selections: Les questions n'ont pas de valeur correcte pour le nombre de réponses minimum_answers: Les questions doivent avoir au moins deux réponses. minimum_questions: L'élection doit avoir au moins une question. published: L'élection n'est pas publiée. - time_before: L'heure de début se situemoins de 3 heures avant le commencement de l'élection. + time_before: L'heure de début se situemoins de %{hours} heures avant le commencement de l'élection. trustees_number: L'espace participatif doit avoir au moins %{number} garants avec une clé publique. invalid: Une erreur est survenue lors de la création de l'élection no_trustees: Il n'y a pas de garants configurés pour cet espace participatif @@ -245,6 +249,10 @@ fr-CA: 'false': n'a pas de clé publique 'true': a une clé publique requirements: + census_codes_generated: Les codes de recensement sont générés. + census_frozen: Les codes sont exportés et le recensement est gelé. + census_uploaded: Le recensement a été téléchargé. + component_published: La fonctionnalité élection est publiée. max_selections: Toutes les questions ont une valeur correcte pour le maximum de réponses. minimum_answers: Chaque question a au moins 2 réponses. minimum_questions: L'élection a au moins 1 question. @@ -357,6 +365,13 @@ fr-CA: update: "%{user_name} a mis à jour l'élection %{resource_name} de %{space_name}" trustee: create: "%{user_name} a nommé l'utilisateur %{trustee_user} en tant que accesseur" + connection: + failed: + modal: + close: Fermer + communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue.
    Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé.
    Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste. + generic_error: Malheureusement, une erreur inconnue s'est produite. Il est probable que votre navigateur n'est pas pris en charge ou que vous utilisez le mode "incognito" ou "privé" qui n'est pas pris en charge. + title: Un problème est survenu election_m: badge_name: finished: Terminées @@ -639,6 +654,10 @@ fr-CA: failed: header: Le vote a échoué lead: Votre vote n'a pas été exprimé! + modal: + close: Fermer + communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue.
    Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé.
    Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste. + title: Un problème est survenu text: Une erreur est survenue, veuillez réessayer. try_again: Réessayez header: @@ -668,7 +687,7 @@ fr-CA: no_account: Non, merci. title: Nouveau sur Decidim ? update: - error: Une erreur s'est produite lors de la mise à jour du statut du vote. Tentez de voter à nouveau. + error: Une erreur s'est produite lors de la mise à jour du statut du vote. Tentez de voter à nouveau. verify: content: heading: Vérifiez votre vote diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index 91f4e9256e9b1..2371bfa383c33 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -12,7 +12,6 @@ fr: start_time: Le vote commence à title: Titre question: - description: Description max_selections: Nombre maximum de sélections min_selections: Aucune des options ci-dessus title: Titre @@ -231,12 +230,17 @@ fr: success: Question mise à jour avec succès steps: create_election: + census: Recensement errors: + census_codes_generated: Les codes électoraux pour le recensement ne sont pas générés. + census_frozen: Les codes électoraux ne sont pas exportés. + census_uploaded: Il n'y a pas de recensement téléchargé pour cette élection. + component_published: La fonctionnalité élection n'est pas publiée. max_selections: Les questions n'ont pas de valeur correcte pour le nombre de réponses minimum_answers: Les questions doivent avoir au moins deux réponses. minimum_questions: L'élection doit avoir au moins une question. published: L'élection n'est pas publiée. - time_before: L'heure de début se situemoins de 3 heures avant le commencement de l'élection. + time_before: L'heure de début se situemoins de %{hours} heures avant le commencement de l'élection. trustees_number: L'espace participatif doit avoir au moins %{number} garants avec une clé publique. invalid: Une erreur est survenue lors de la création de l'élection no_trustees: Il n'y a pas de garants configurés pour cet espace participatif @@ -245,6 +249,10 @@ fr: 'false': n'a pas de clé publique 'true': a une clé publique requirements: + census_codes_generated: Les codes de recensement sont générés. + census_frozen: Les codes sont exportés et le recensement est gelé. + census_uploaded: Le recensement a été téléchargé. + component_published: La fonctionnalité élection est publiée. max_selections: Toutes les questions ont une valeur correcte pour le maximum de réponses. minimum_answers: Chaque question a au moins 2 réponses. minimum_questions: L'élection a au moins 1 question. @@ -357,6 +365,13 @@ fr: update: "%{user_name} a mis à jour l'élection %{resource_name} de %{space_name}" trustee: create: "%{user_name} a nommé l'utilisateur %{trustee_user} en tant que Garant" + connection: + failed: + modal: + close: Fermer + communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue.
    Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé.
    Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste. + generic_error: Malheureusement, une erreur inconnue s'est produite. Il est probable que votre navigateur n'est pas pris en charge ou que vous utilisez le mode "incognito" ou "privé" qui n'est pas pris en charge. + title: Un problème est survenu election_m: badge_name: finished: Terminées @@ -639,6 +654,10 @@ fr: failed: header: Le vote a échoué lead: Votre vote n'a pas été exprimé ! + modal: + close: Fermer + communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue.
    Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé.
    Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste. + title: Un problème est survenu text: Une erreur est survenue, veuillez réessayer. try_again: Réessayez header: diff --git a/decidim-elections/config/locales/ga-IE.yml b/decidim-elections/config/locales/ga-IE.yml index 521c2ffeaf852..22f74434b58c4 100644 --- a/decidim-elections/config/locales/ga-IE.yml +++ b/decidim-elections/config/locales/ga-IE.yml @@ -170,6 +170,9 @@ ga: confirm: Deimhnigh edit: eagar nota_option: Bán + failed: + modal: + close: Dún modal: close: Dún verify: diff --git a/decidim-elections/config/locales/gl.yml b/decidim-elections/config/locales/gl.yml index 2a220df4ee93e..ab251df070850 100644 --- a/decidim-elections/config/locales/gl.yml +++ b/decidim-elections/config/locales/gl.yml @@ -12,7 +12,6 @@ gl: start_time: A votación comeza ás title: Título question: - description: Descrición title: Título activerecord: models: @@ -268,6 +267,8 @@ gl: header: Cifrando o voto... text: Cifrando a papeleta para asegurar que o teu voto é segredo. failed: + modal: + close: Pechar try_again: Tentar de novo header: ballot_decision: Enviar ou auditar o teu voto diff --git a/decidim-elections/config/locales/hu.yml b/decidim-elections/config/locales/hu.yml index 620679edb380f..1c184a59de178 100644 --- a/decidim-elections/config/locales/hu.yml +++ b/decidim-elections/config/locales/hu.yml @@ -12,7 +12,6 @@ hu: start_time: Szavazás indul title: Cím question: - description: Leírás max_selections: Kiválasztások maximális száma min_selections: Egyik opció sem a fentiek közül title: Cím @@ -188,6 +187,12 @@ hu: title: Készen áll a kezdésre tally: continue: Folytatás + invalid: Probléma volt a hiányzó megbízott bejelentésével + mark_as_missing: Hiányzóként megjelölt + mark_as_missing_description: Minden megbízottnaik részt kell vennie ebben a folyamatban, de ha egy megbízott nem tud részt venni a folyamatban, akkor jelölheti hiányzónak. + success: Hiányzó megbízottról szóló jelentést elküldtük a Hirdetőtáblára + tally_completion: A folyamat akkor fejeződik be, ha az összes megbízott aktív vagy hiányzónak van jelölve. A folyamat befejezéséhez legalább %{quorum} megbízottra van szükség. + undo_mark_as_missing: A tévedésből hiányzónak megjelölt megbízott az eljárás befejezése előtt részt vehet. A szokásos módon folytathatja a folyamatot, és a hiányzó jelölést figyelmen kívül hagyják. elections: results: votes: diff --git a/decidim-elections/config/locales/it.yml b/decidim-elections/config/locales/it.yml index 80682c83d8f92..11186ba73681e 100644 --- a/decidim-elections/config/locales/it.yml +++ b/decidim-elections/config/locales/it.yml @@ -12,7 +12,6 @@ it: start_time: La votazione inizia il title: Titolo question: - description: Descrizione max_selections: Numero massimo di selezioni min_selections: Nessuna delle precedenti opzioni title: Titolo @@ -227,7 +226,6 @@ it: minimum_answers: Le domande devono avere almeno due risposte. minimum_questions: Le elezioni devono avere almeno un quesito. published: L'elezione non è pubblicata. - time_before: L'ora di inizio è in meno di 3 ore prima dell'inizio delle elezioni. trustees_number: Lo spazio partecipativo deve avere almeno %{number} fiduciari con chiave pubblica. invalid: Si è verificato un errore durante la creazione di questa elezione no_trustees: Non ci sono Fiduciari configurati per questo spazio partecipativo @@ -618,6 +616,8 @@ it: failed: header: Votazione fallita lead: Il tuo voto non è stato deposto! + modal: + close: Chiuso text: Qualcosa è andato storto. Riprova di nuovo. try_again: Riprova header: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index fdbeba0030d70..42d54942317a7 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -12,7 +12,6 @@ ja: start_time: 投票開始 title: タイトル question: - description: 説明 max_selections: 選択範囲の最大数 min_selections: 上記のどれでもない title: タイトル @@ -222,12 +221,17 @@ ja: success: 問題が正常に更新されました steps: create_election: + census: センサス errors: + census_codes_generated: センサスの選挙コードは生成されません。 + census_frozen: 選挙コードはエクスポートされません。 + census_uploaded: この選挙にアップロードされたセンサスはありません。 + component_published: 選挙コンポーネントは 未公開です。 max_selections: 質問が 回答の数に対して正しくありません minimum_answers: 質問には 少なくとも2つの回答が必要です minimum_questions: 選挙には 少なくとも1つの質問が必要です。 published: 選挙はが 公開されていません 。 - time_before: 開始時刻が、選挙開始まで3時間未満 しかありません。 + time_before: 開始時刻は選挙が始まる %{hours} 時間以内 になります。 trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者が必要です。 invalid: この選挙の設定中に問題が発生しました no_trustees: この参加スペースに設定された受託者はいません @@ -236,6 +240,10 @@ ja: 'false': 公開鍵がありません 'true': 公開鍵があります requirements: + census_codes_generated: センサスコードが生成されます。 + census_frozen: コードはエクスポートされセンサスは凍結されます + census_uploaded: センサスがアップロードされました。 + component_published: 選挙コンポーネントは 公開済みです. max_selections: すべての質問は正しい 回答の最大値 を持っています。 minimum_answers: 各質問には 少なくとも2つの回答を持ちます。 minimum_questions: 選挙には 少なくとも1つの質問があります。 @@ -348,6 +356,13 @@ ja: update: "%{user_name} が %{space_name} の選挙 %{resource_name} を更新しました" trustee: create: "%{user_name} がユーザー %{trustee_user} を受託者に割り当てました" + connection: + failed: + modal: + close: 閉じる + communication_lost: 投票サーバー (掲示板) との通信が切れているようです。
    インターネット接続が切れているか、接続先のサーバーが混雑している可能性があります。
    この問題が続くようでしたら、時間をおいて再度お試しいただくか、サポートまでお問い合わせください。 + generic_error: 不明なエラーが発生しました。 お使いのブラウザがサポートされていないか、サポートされていない「シークレット」または「プライベート」モードを使用している可能性があります。 + title: 問題が発生しました election_m: badge_name: finished: 完了 @@ -629,6 +644,10 @@ ja: failed: header: 投票に失敗しました lead: 投票は行われませんでした! + modal: + close: 閉じる + communication_lost: 投票サーバー (掲示板) との通信が切れているようです。
    インターネット接続が切れているか、接続先のサーバーが混雑している可能性があります。
    この問題が続くようでしたら、時間をおいて再度お試しいただくか、サポートまでお問い合わせください。 + title: 問題が発生しました text: 問題が発生しました。もう一度やり直してください。 try_again: 再実行 header: diff --git a/decidim-elections/config/locales/lt.yml b/decidim-elections/config/locales/lt.yml index 6c5cb837ac8c1..0f757b3efb5ca 100644 --- a/decidim-elections/config/locales/lt.yml +++ b/decidim-elections/config/locales/lt.yml @@ -1 +1,1428 @@ lt: + activemodel: + attributes: + answer: + description: Aprašymas + image: Paveikslėlis + proposals: Susiję pasiūlymai + title: Pavadinimas + election: + description: Aprašymas + end_time: Balsavimas baigiasi + start_time: Balsavimas prasideda + title: Pavadinimas + question: + max_selections: Didžiausias pasirenkimų skaičius + min_selections: Nei vienas iš pasiūlytų variantų + title: Pavadinimas + voting: + end_time: Balsavimas baigiasi + start_time: Balsavimas prasideda + errors: + models: + answer: + attributes: + attachment: + needs_to_be_reattached: Reikia pridėti iš naujo + election: + attributes: + attachment: + needs_to_be_reattached: Reikia pridėti iš naujo + trustee: + attributes: + name: + cant_be_changed: negali būti pakeista + public_key: + cant_be_changed: negali būti pakeista + activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: Balsavimo prižiūrėtojas jau yra balsavimo punkto prezidentas/vadybininkas + voting: + different_organization: Balsavimas turi būti toje pačioje organizacijoje kaip naudotojas + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: Balsavimo prižiūrėtojas turi būti tame pačiame balsavime kaip balsavimo punktas + models: + decidim/elections/answer: + one: Atsakymas + few: Atsakymai + many: Atsakymai + other: Atsakymai + decidim/elections/election: + one: Rinkimai + few: Rinkimai + many: Rinkimai + other: Rinkimai + decidim/elections/question: + one: Klausimas + few: Klausimai + many: Klausimai + other: Klausimai + decidim/voting: + one: Balsavimas + few: Balsavimai + many: Balsavimai + other: Balsavimai + decidim/votings/census/dataset: + one: Duomenų rinkinys + few: Duomenų rinkiniai + many: Duomenų rinkiniai + other: Duomenų rinkiniai + decidim/votings/census/datum: + one: Duomuo + few: Duomenys + many: Duomenys + other: Duomenys + decidim/votings/polling_officer: + one: Balsavimo prižiūrėtojas + few: Balsavimo prižiūrėtojai + many: Balsavimo prižiūrėtojai + other: Balsavimo prižiūrėtojai + decidim/votings/polling_station: + one: Balsavimo punktas + few: Balsavimo punktas + many: Balsavimo punktas + other: Balsavimo punktas + decidim/votings/voting: + one: Balsavimas + few: Balsavimai + many: Balsavimai + other: Balsavimai + decidim: + admin: + filters: + officers_assigned_eq: + label: Prižiūrėtojai + values: + assigned: Priskirta + unassigned: Nepriskirtas + role_eq: + label: Rolė + values: + manager: Vadybininkas + president: Prezidentas + unassigned: Nepaskirtas + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Ieškoti %{collection} vardu/el. paštu arba balsavimo punktu. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Ieškoti %{collection} pavadinimu, adresu arba prižiūrėtojo vardu/el. paštu. + signed_eq: + label: Pasirašyta + values: + 'false': Pasirašyta + 'true': Nepasirašyta + validated_eq: + label: Patvirtinta + values: + 'false': Patvirtinta + 'true': Nepatvirtinta + components: + elections: + actions: + vote: Balsuoti + name: Rinkimai + settings: + global: + announcement: Pranešimas + step: + announcement: Pranešimas + elections: + actions: + confirm_destroy: Ar esate tikri? + destroy: Sunaikinti + edit: Redaguoti + feedback: Balsuotojų atsiliepimai + import: Importuoti pasiūlymus į atsakymus + manage_answers: Tvarkyti atsakymus + manage_questions: Tvarkyti klausimus + manage_steps: Tvarkyti žingsnius + new: Naujas %{name} + preview: Peržiūra + publish: Publikuoti + title: Veiksmai + unpublish: Depublikuoti + admin: + answers: + create: + invalid: Kuriant šią atsakymą iškilo problema + success: Atsakymas sukurtas + destroy: + invalid: Šalinant šį atsakymą iškilo problema + success: Atsakymas pašalintas + edit: + title: Redaguoti atsakymą + update: Atnaujinti atsakymą + index: + invalid_max_selections: Jums reikia dar %{missing_answers} atsakymų, kad atitikti pasirinkimą + title: Atsakymai + new: + create: Sukurti atsakymą + title: Naujas atsakymas + not_selected: Nepasrinkta + select: + disable: Nebepasirinkti atsakymo + enable: Pažymėti atsakymą kaip pasirinktą + invalid: Pasirenkant šį atsakymą iškilo problema + success: Atsakymas sėkmingai pasirinktas + selected: Pasirinkta + unselect: + invalid: Nebepasirinktant šį atsakymą iškilo problema + success: Atsakymas sėkmingai nebepasirinktas + update: + invalid: Atnaujinant šį atsakymą iškilo problema + success: Atsakymas atnaujintas + elections: + create: + invalid: Kuriant šiuos rinkimus iškilo problema + success: Rinkimai sukurti + destroy: + invalid: Šalinant šiuos rinkimus iškilo problema + success: Rinkimai pašalinti + edit: + title: Redaguoti rinkimus + update: Atnaujinti rinkimus + index: + no_bulletin_board: Nėra šiam moduliui reikalingo sukonfigūruoto Skelbimų Lentos serverio. Šis veiksmas turėtų būti atliktas sistemos administratoriaus. + title: Rinkimai + new: + create: Sukurti rinkimus + title: Nauji rinkimai + publish: + success: Rinkimai paskelbti. + unpublish: + success: Rinkimų skelbimas panaikintas. + update: + invalid: Atnaujinant šiuos rinkimus iškilo problema + success: Rinkimai atnaujinti + exports: + elections: Rinkimai + feedback_form_answers: Atsiliepimų formos atsakymai + mailers: + trustee_mailer: + body: "

    Sveiki %{user_name},

    Buvote pridėtas kaip %{resource_name} patikėtinis.

    " + subject: Buvote pridėtas kaip %{resource_name} patikėtinis + trustee_zone: Eiti į patikėtinių zoną + menu: + trustees: Patikėtiniai + models: + answer: + name: Atsakymas + election: + name: Rinkimai + question: + name: Klausimas + trustee: + name: Patikėtinis + proposals_imports: + create: + invalid: Importuojant pasiūlymus į atsakymus iškilo problema + success: "%{number} pasiūlymai sėkmingai importuoti į atsakymus" + new: + create: Importuoti pasiūlymus į atsakymus + no_components: Šioje dalyvaujamojoje erdvėje nėra kitų pasiūlymų komponentų, pagal kuriuos pasiūlymai būtų įtraukiami į atsakymus. + select_component: Pasirinkite komponentą + title: Importuoti pasiūlymus + questions: + create: + election_started: Rinkimai jau prasidėjo + invalid: Kuriant šį klausimą iškilo problema + success: Klausimas sukurtas + destroy: + invalid: Šalinant šį klausimą iškilo problema + success: Klausimas pašalintas + edit: + title: Redaguoti klausimą + update: Atnaujinti klausimą + index: + title: Klausimai + new: + create: Sukurti klausimą + title: Naujas klausimas + update: + invalid: Atnaujinant šį klausimą iškilo problema + success: Klausimas atnaujintas + steps: + create_election: + census: Surašymas + errors: + census_codes_generated: Rinkimų kodai surašymui nėra sugeneruoti. + census_frozen: Rinkimų kodai nėra eksportuoti. + census_uploaded: Šiems rinkimams nėra surašymo. + component_published: Rinkimų komponentas nėra publikuotas. + max_selections: Klausimai neturi teisingos vertės atsakymų kiekiui + minimum_answers: Klausimai turi turėti bent du atsakymus. + minimum_questions: Rinkimai turi turėti bent vieną klausimą. + published: Rinkimai nėra publikuoti. + time_before: Pradžios laikas už mažiau nei %{hours} valandų. + trustees_number: Dalyvaujomi erdvė turi turėti bent %{number} patikėtinių su viešų raktu. + invalid: Konfigūruojant šiuos rinkimus iškilo problema + no_trustees: Šiai dalyvaujamajai erdvei nėra sukonfigūruotų Patikėtinių + not_used_trustee: "(nenaudojama)" + public_key: + 'false': neturi viešo rakto + 'true': turi viešą raktą + requirements: + census_codes_generated: Surašymo kodai sugeneruoti. + census_frozen: Kodai eksportuoti ir surašymas užšaldytas. + census_uploaded: Surašymas įkeliamas. + component_published: Rinkimų komponentas paskelbtas. + max_selections: Visi klausimai turi teisingą kiekį maksimalių klausimų. + minimum_answers: Kiekvienas klausimas turi bent du atsakymus. + minimum_questions: Rinkimai turi bent vieną klausimą. + published: Rinkimai publikuoti. + time_before: Konfigūracija atliekama bent %{hours} valandas prieš rinkimų pradžią. + trustees_number: Dalyvaujomi erdvė turi bent %{number} patikėtinių su viešų raktu. + submit: Konfigūruoti rinkimus + success: Rinkimai sėkmingai nusiųsti į Skelbimų Lentą + title: Konfigūruoti rinkimus + trustees: Rinkimų patikėtiniai + created: + invalid: Pradedant raktų ceremoniją iškilo problema + submit: Pradėti raktų ceremoniją + success: Raktų ceremonijos pradžios užklausa išsiųsta į Skelbimų Lentą + title: Rinkimai sukurti + trustees: Patikėtiniai + key_ceremony: + continue: Tęsti + title: Raktų ceremonija + key_ceremony_ended: + errors: + time_before: Rinkimai paruošti pradžiai. Reikia palaukti %{hours} valandas prieš pradžios laiką %{start_time} tam, kad pradėti balsavimą. + invalid: Pradedant balsavimo periodą iškilo problema + requirements: + time_before: Rinkimai prasidės neužilgo. Galite pradėti balsavimo perioda rankiniu būdu arba jie prasidės automatiškai %{start_time}. + submit: Pradėti balsavimo periodą + success: Balsavimo pradžios periodo užklausa buvo sėkmingai išsiųsta Skelbimų Lentai + title: Paruošta + processing: Apdorojama... + results_published: + answer: Atsakymas + not_selected: Nepasrinkta + question: Klausimas + result: Rezultatas + selected: Pasirinkta + submit: Pateikti + title: Rezultatai publikuoti + tally: + continue: Tęsti + invalid: Raportuojant trūkstantį patikėtinį iškilo problema + mark_as_missing: Pažymėti neesančiu + mark_as_missing_description: Visi patikėtiniai turėtų dalyvauti procese, bet jei patikėtinis to padaryti negali, galite jį pažymėti kaip trūkstantį. + success: Trūkstančio patikėtinio ataskaita išsiųsta į Skelbimų Lentą + tally_completion: Šis procesas bus įvykdytas kai visi patikėtiniai bus aktyvūs arba pažymėti kaip trūkstantys. Reikia bent %{quorum} patikėtinių, kad įvykdyti šį procesą. + title: Skaičiavimo procesas + undo_mark_as_missing: Patikėtinis netyčia pažymėtas kaip trūkstantis gali dalyvauti prieš pasibaigiant procesui. Jis gali atlikti savo užduotis kaip įprasta. + tally_ended: + answer: Atsakymas + not_selected: Nepasrinkta + question: Klausimas + result: Rezultatas + selected: Pasirinkta + submit: Skelbti rezultatus + success: Balsavimo rezultatų publikavimo užklausa buvo sėkmingai išsiųsta Skelbimų Lentai + title: Suskaičiuoti rezultatai + vote: + errors: + time_after: Rinkimai vis dar vyksta. Turite palaukti iki %{end_time}, kad baigti balsavimo periodą. + invalid: Baigiant balsavimo periodą iškilo problema + requirements: + time_after: Rinkimai baigėse. Galite uždaryti balsavimą rankiniu būdu arba jis bus uždarytas automatiškai. + submit: Uždaryti balsavimo periodą + success: Balsavimo uždarymo periodo užklausa buvo sėkmingai išsiųsta Skelbimų Lentai + title: Balsavimo periodas + vote_ended: + invalid: Pradedant perskaičiviamą iškilo problema + submit: Pradėti perskaičiavimą + success: Perskaičiviamo pradžios užklausa buvo sėkmingai išsiųsta Skelbimų Lentai + text: Balsavimas baigėsi. Galite pradėti skaičiavimą. + title: Balsavimo periodas baigėsi + vote_stats: + no_vote_statistics_yet: Dar nėra balsavimo statistikos + title: Balsavimo statistika + voters: Balsuotojai + votes: Balsai + trustees_participatory_spaces: + actions: + disable: Išjungti + enable: Atsižvelgti + create: + exists: Patikėtinis dalyvaujamojoje erdvėje yra + invalid: Kuriant patikėtinį iškilo problema + success: Patikėtinis sėkmingai sukurtas + delete: + invalid: Šalinant patikėtinį iškilo problema + success: Patikėtinis sėkmingai pašalintas + form: + select_user: Pasirinkti naudotoją + index: + title: Patikėtiniai + new: + create: Sukurti Patikėtinį + title: Naujas Patikėtinis + update: + invalid: Atnaujinant%{trustee} patikėtinį iškilo problema + success: Patikėtinis %{trustee} sėkmingai atnaujintas + admin_log: + election: + create: "%{user_name} sukūrė rinkimus %{resource_name} erdvėje %{space_name}" + delete: "%{user_name} ištrynė rinkimus %{resource_name} erdvėje %{space_name}" + end_vote: "%{user_name} baigė balsavimo periodą %{resource_name} rinkimams %{space_name} erdvėje Skelbimų Lentoje" + publish: "%{user_name} paskelbė rinkimus %{resource_name} erdvėje%{space_name}" + publish_results: "%{user_name} paskelbė rinkimų %{resource_name} erdėje %{space_name} rezultatus Skelbimų Lentoje" + report_missing_trustee: "%{user_name} pranešė %{trustee_name} kaip trūkstantį patikėtinį rinkimų %{resource_name} esančių %{space_name} erdvėje skaičiavimui Skelbimų Lentoje" + setup: "%{user_name} sukūrė rinkimus %{resource_name} erdvėje %{space_name} Skelbimų Lentoje" + start_key_ceremony: "%{user_name} pradėjo raktų ceremoniją rinkimams %{resource_name} erdvėje %{space_name} Skelbimų Lentoje" + start_tally: "%{user_name} pradėjo skaičiavimą rinkimams %{resource_name} erdvėje %{space_name} Skelbimų Lentoje" + start_vote: "%{user_name} pradėjo balsavimo periodą rinkimams %{resource_name} erdvėje%{space_name} Skelbimų Lentoje" + unpublish: "%{user_name} depublikavo %{resource_name} rinkimus %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name} rinkimus %{space_name} erdvėje" + trustee: + create: "%{user_name} priskyrė naudotoją %{trustee_user} kaip patikėtinį" + connection: + failed: + modal: + close: Uždaryti + communication_lost: Deja, bet panašu, kad ryšys su balsavimo serveriu (Skelbimų Lenta) - prarastas.
    Gali būti, kad taip yra dėl interneto ryšio arba serverio apkrovos.
    Pabandykite vėliau arba susisiekite su serverių prižiūrėtojais. + generic_error: Iškilo nežinoma klaida. Gali būti, kad taip yra todėl, kad Jūsų naršyklė nepalaikoma arba naudojate "incognito" nustatymus. + title: Įvyko klaida + election_m: + badge_name: + finished: Užbaigta + ongoing: Aktyvūs + upcoming: Artėjantys + end_date: Baigiasi + footer: + remaining_time: + one: "Iki balsavimo pabaigos liko %{count} valandos %{minutes} minutės ." + other: "Iki balsavimo pabaigos liko %{count} valandos %{minutes} minutės." + zero: "Iki balsavimo pabaigos liko %{minutes} minutės ." + view: Peržiūrėti + vote: Balsuoti + label: + date: Datos + questions: Klausimai %{count} + start_date: Pradžia + unspecified: Nepatikslinta + elections: + count: + elections_count: + one: "%{count} rinkimai" + few: "%{count} rinkimai" + many: "%{count} rinkimai" + other: "%{count} rinkimai" + election_log: + chained_hash: Žinutės Hash grandinė + complete: Baigti + creation_description: + complete: Rinkimai sukurti ir sėkmingai sukonfiguruoti Skelbimų Lentoje. + not_created: Rinkimai dar nesukurti. + creation_title: Rinkimai sukurti + description: Čia yra rinkimų ataskaita, kurije galite peržiūrėti kiekvieno žingsnio būseną. + download: Atsisiųsti + key_ceremony_description: + complete: Raktų ceremonija baigta. Visi patikėtiniai turi tinkamus raktus ir parsisiuntė reikalingus atsarginius raktus. + not_started: Raktų ceremonija dar neprasidėjo. + started: Raktų ceremonija prasidėjo bet dar nesibaigė. + key_ceremony_title: Raktų Ceremonija + not_available: Dar neprieinama + not_created: Nesukurta + not_published: Nepublikuota + not_ready: Neparuošta + not_started: Nepradėta + published: Paskelbta + results_description: + not_published: Rezultatai dar nepaskelbti. + published: Rezultatai paskelbti. + results_title: Rezultatai + started: Prasidėjo + tally_description: + finished: Skaičiavimas baigėsi. + not_started: Skaičiavimas dar neprasidėjo. + started: Skaičiavimas prasidėjo. + tally_title: Skaičiavimo procesas + title: Rinkimų ataskaita + verifiable_results: + checksum: 'SHA256 suma:' + description: + not_ready: Paikrinama rinkim7 rinkmena ir SHA256 suma dar nėra prieinami. Kai tik rezultatai bus publikuoti galėsite patikrinti šiuos rinkimus. + ready: 'Čia turite galimybę patikrinti rinkimus. Pirmiausia parsisiųskite rinkmeną ir įsitikinkite, kad ji pilna. Tam, kad tai padaryti naudokite šią komandą ir patikrinkite ar išeitis sutampa su suma:' + how_to_verify: 'Parsisiuntus rinkimeną galite pradėti naudoti universalų tikrintoją. Klonuokite šią repozitoriją ir iš šakninio aplanko paleiskite šią komandą:' + title: Tikrinti rinkimų rezultatus + verifiable_file: 'Tikrinama rinkimų rinkmena:' + verify: Tikrinti rinkimus + vote_description: + finished: Balsavimo procesas baigėsi. + not_started: Balsavimo procesas dar neprasidėjo. + started: Balsavimo procesas prasidėjo. + vote_title: Balsavimo procesas + filters: + active: Aktyvūs + all: Visi + finished: Užbaigta + search: Ieškoti + state: Būsena + upcoming: Artėjantys + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + preview: + available_answers: 'Galimi atsakymai:' + description: 'Balsavimo procese rasite šiuos klausimus:' + title: Rinkimų klausimai + results: + description: 'Štai rinkimų rezultatai kiekvienam klausimui:' + percentage: "%{count}%" + selected: Pasirinkta + title: Rinkimų rezultatai + votes: + one: "%{count} balsas" + other: "%{count} balsai" + zero: "%{count} balsų" + show: + action_button: + change_vote: Pakeisti balsą + vote: Pradėti balsavimą + vote_again: Balsuoti dar kartą + back: Galimi rinkimai + callout: + already_voted: Šiuose rinkimuose jau balsavote. Galite pakeisti arba patikrinti savo balsą. + pending_vote: Jūsų balsas įkeliamas į serverį. + vote_rejected: Nepavyko patikrinti Jūsų balso. Prašau išsiųskite jį dar kartą. + election_log: Rinkimų ataskaita + preview: Peržiūra + verify: + already_voted: Jau balsuota? + verify_here: Peržiūrėkite savo balsą čia. + will_verify: Galėsite patikrinti savo balsą kai rinkimai prasidės. + voting_period_status: + finished: Balsavimas prasidėjo %{start_time} ir baigėsi %{end_time} + ongoing: 'Balsavimas aktyvus iki: %{end_time}' + upcoming: Balsavimas prasideda %{start_time} + feedback: + answer: + invalid: Siunčiant atsiliepimą iškilo problema. + spam_detected: Atsakant į šios formos klausimus iškilo problema. Galbūt paskubėjote? Ar galite pabandyti dar kartą? + success: Atsiliepimas sėkmingai išsiųstas. + models: + answer: + fields: + proposals: Pasiūlymai + selected: Pasirinkta + title: Pavadinimas + votes: Balsai + election: + fields: + bb_status: Skelbimų Lentos statusas + end_time: Baigiasi + start_time: Prasideda + title: Pavadinimas + verifiable_results_file_hash: SHA256 suma + verifiable_results_file_url: Tikrinama rinkimų rinkmena + question: + fields: + answers: Atsakymai + max_selections: Didžiausias pasirenkamų atsakymų skaičius + title: Pavadinimas + trustees_participatory_space: + fields: + considered: atsižvelgta + email: El. paštas + inactive: neaktyvus + name: Pavadinimas + notification: Pranešimas išsiųstas + public_key: Viešasis raktas + status: Būsena + orders: + label: Rikiuoti rinkimus pagal + older: Ankstesni + recent: Paskutiniai + trustee_zone: + elections: + backup_modal: + description: Šie rinkimai sukūriami Skelbimų Lentoje. Labai svarbu, kad kiekvienas dalyvaujantis patikėtinis susikurtų atsarginę raktų kopiją ir juos laikytų saugioje vietoje. Po to, procesas tęsis. + download_election_keys: Parsisiųsti raktus + download_icon: Ikona indikuojanti parsisiuntimo veiksmą + title: Atsarginiai rinkimų raktai %{election} + key_ceremony_steps: + back: Atgal + description: Šie rinkimai kūriami Skelbimų Lentoje. Norėdami baigti šį procesą, Jūsų dalyvavimas kaip patikėtinio - būtinas. + keys: + create_election: Raktų generavimas + key_ceremony: + joint_election_key: Bendras raktų generavimas + step_1: Raktų skelbimas + list: + status: Būsena + task: Užduotis + process_warning: Kai procesas prasidės neturėtumėt išeiti iš puslapio iki proceso pabaigos. Tai gali užtrukti keletą minučių, kol visi patikėtiniai prisijungs ir įvykdys. + start: Pradėti + start_icon: Ikona indikuojanti pradžios mygtuką skirtą rinkimų raktų generavimo pradžiai + status: + completed: Baigta + pending: Laukiama + processing: Apdorojama + title: Sukurti rinkimų raktus %{election} + restore_modal: + description: Skelbimų Lenta turi informacijų iš Jūsų, kaip patikėtinio, apie rinkimus. Norėdami tęsti procesą pirmiausiai įkelkite atsargos rinkmeną sugeneruotą praeitos sesijos metu. + title: Atkurti %{election} rinkimų raktus + upload_election_keys: Įkelti rinkimų raktus + upload_icon: Ikona indikuojanti parsisiuntimo veiksmą + tally_steps: + back: Atgal + description: Šių rinkimų rezultatai skaičiuojami Skelbimų lentoje. Norint užbaigti šį procesą, būtinas jūsų, kaip Patikėtinio, dalyvavimas. + keys: + end_tally: Balsų skaičiavimas baigtas + tally: + cast: Duoti balsai + share: Balsų dalis + list: + status: Būsena + task: Užduotis + process_warning: Kai procesas prasidės neturėtumėt išeiti iš puslapio iki proceso pabaigos. Tai gali užtrukti keletą minučių, kol visi patikėtiniai prisijungs ir įvykdys. + start: Pradėti + start_icon: Ikona indikuojanti pradžios mygtuką skirtą rinkimų raktų generavimo pradžiai + status: + completed: Baigta + pending: Laukiama + processing: Apdorojama + title: Balsai %{election} + update: + error: Rinkimų būsena neatnaujinta. + success: 'Rinkimų būsena yra: %{status}' + menu: + trustee_zone: Patikėtinių zona + no_bulletin_board: + body: Sukonfiguruota Skelbimų Lenta yra reikalinga šiai daliai. Susisiekite su administratoriumi dėl daugiau informacijos. + title: Atleiskite, Skelbimų Lenta dar nesukonfiguruota. + trustees: + show: + elections: + list: + action_required: + 'false': 'Ne' + name: Reikalingas veiksmas? + 'true': Atlikti veiksmą + bb_status: Būsena + election: Rinkimai + voting_period: Balsavimo periodas + no_elections: Nėra rinkimų, kuriuose būtumėt patikėtinis. + title: Rinkimai + identification_keys: + cancel: Atšaukti + generate: Generuoti atpažinimo raktus + generate_error: Generuojant atpažinimo raktus iškilo problema. + generate_legend: Turite sugeneruoti porą atpažinimo raktų norėdami dalyvauti rinkimuose kaip patikėtinis. + generate_legend_1: Paspaudus mygtuką turėtumėt atsisiųsti rinkmeną su sugeneruotais atpažinimo raktais. + generate_legend_2: Nukopijuokite rinkmeną į švarų USB raktą + generate_legend_3: Įsitikinkite, kad kompiuteryje nėra rinkmenos kopijos. + generate_legend_4: Padarykite kitą rinkmenos kopiją ir laikykite ją labai saugioje vietoje. + submit: Pateikti + submit_legend: Atlikę visus aukščiau aprašytus veiksmus, užbaikite procesą siųsdami viešojo identifikavimo raktą į Decidim serverį. + submit_title: Įkelti viešo atpažinimo raktą + title: Patikėtinių atpažinimo raktai + upload: Įkelkite atpažinimo raktus + upload_error: + invalid_format: Įkelta rinkmena neturi atpažinimo rakto. + invalid_key: Atpažinimo raktai negali būti įkelti. + invalid_public_key: Atpažinimo raktai įkeltoje rinkmenoje nesutampa su viešu apažinimo raktu Decidim platformoje. + upload_legend: Serveris turi atpažinimo raktus, tačiau naršyklė jų neturi. Turite importuoti atpažinimo raktų rinkimeną į kompiuterį iš atsarginės saugyklos kurią sukūrėte sugeneravę raktus. + not_supported_browser_description: Regis naudojate patikėtinio rolei netinkamą naršyklę. Įsitikinkite, kad naršyklė atnaujinta arba pabandykite naudoti kitas naršykles. + not_supported_browser_title: Atnaujinkite naršyklę + trustee_role_description: Buvote priskirtas kaip patikėtinis šioje platformoje vyksiantiems rinkimams. + update: + success: Jūsų viešas atpažinimo raktas sėkmingai išsaugotas. + votes: + ballot_decision: + audit: "Audituoti biuletenį" + back: Vėl pradėti balsavimo procesą + ballot_hash: 'Biuletenio identifikacinis kodas:' + cast: Užpildykite biuletenį norėdami baigti balsavimą + description: Čia galite balsuoti arba patikrinti ar Jūsų balsas buvo teisingai užšifruotas. Saugumo sumetimais audito atlikimas sugadins jūsų balsavimo biuletenį. Tai reiškia, kad, norėdami atiduoti balsą, turėsite iš naujo pradėti balsavimo procesą. + header: 'Biuletenis užšifruotas: galite jį įskaityti arba audituoti' + casting: + header: Biuletenis įskaitomas... + text: Biuletenis yra užskaitomas balsadėžėje. + confirm: + answer: Atsakymas + answer_number: '%{number} atsakymas' + confirm: Patvirtinti + edit: redaguoti + header: Patvirtinkite savo balsą + intro: Toliau pateikiama balsavimo, kurį rengiatės atlikti, santrauka.
    Patvirtinkite savo balsą arba pakeiskite savo atsakymus. + nota_option: Tuščia + question: Klausimas %{count} + confirmed: + back: Atgal į rinkimus + experience: Kokia buvo Jūsų patirtis? + feedback: Pasidalinkite savo nuomone + header: Balsas patvirtintas + lead: Jūsų balsas įskaičiuotas! + text: 'Galite patikrinti, ar jūsų balsas pateko į balsadėžę, pasinaudodami šiuo identifikatoriumi: %{e_vote_poll_id}' + verify_link: Norėdami patikrinti, kopijuokite identifikatorių ir jį įklijuokite balsavimo patikros puslapyje + create: + error: Užskaitant balsą iškilo problema. Prašau pabandykite iš naujo. + encrypting: + header: Biuletenis šifruojamas... + text: Biuletenis šifruojamas siekiant užtikrinti balso slaptumą. + failed: + header: Balsavimas nepavyko + lead: Jūsų balsas nebuvo įskaičiuotas! + modal: + close: Uždaryti + communication_lost: Deja, bet panašu, kad ryšys su balsavimo serveriu (Skelbimų Lenta) - prarastas.
    Gali būti, kad taip yra dėl interneto ryšio arba serverio apkrovos.
    Pabandykite vėliau arba susisiekite su serverių prižiūrėtojais. + title: Įvyko klaida + text: Įvyko klaida. Bandykite dar kartą. + try_again: Bandykite dar kartą + header: + ballot_decision: Balsuokite arba audituokite savo balsą + casting: Biuletenis įskaitomas + confirm: Patvirtinkite savo balsą + confirmed: Balsas patvirtintas + encrypting: Biuletenis šifruojamas + failed: Balsavimas nepavyko + messages: + invalid_token: Jūsų sesija balsavimo kabinoje nėra validi. Pabandykite balsuoti iš naujo. + not_allowed: Dabar balsuoti šiuose rinkimuose negalite. + modal: + close: Uždaryti + proposal_header: 'Pasiūlymai:' + new: + answer_choices: Galite pasirinkti ne daugiau kaip %{choices} atsakymų + more_information: Daugiau informacijos + nota_option: Nei vienas iš pasiūlytų variantų + preview_alert: Tai – balsavimo kabinos peržiūra. + question_steps: '%{current_step} klausimas iš %{total_steps}' + selections: "%{selected} iš %{max_selections}
    pasirinkčių" + onboarding_modal: + close: Uždaryti modalinį langą + create_account: Sukurti paskyrą + description: Ar norite susikurti naują paskyrą šioje platformoje? Galėsite dalyvauti procesuose ir būti aktyvi(-us) organizacijos narė(-ys). + no_account: Ne, ačiū. + title: Naujas Decidim vartotojas? + update: + error: Atnaujinant balso būseną iškilo problema. Prašau pabandykite iš naujo. + verify: + content: + heading: Patikrinkite savo balsą + info: Tikrintojas patikrina ar Jūsų balsas identifikuojamas su užšifruotu kodu buvo užskaitytas. + error: + header: Balsas nerastas! + info: Balso kodas nebuvo rastas %{link} balsadėžėje. Pabandykite iš naujo. + form: + back: Atgal į Decidim + submit: Patikrinti + vote_identifier: 'Atpažinimo kodas:' + header: + title: Patikrinkite savo balsą + success: + header: Balsas rastas! + info: Jūsų užkoduotas balsas yra %{link} balsadėžėje + voting_step: + back: Atgal + continue: Kita + warnings: + no_elections_warning: Jūsų paieškos kriterijus atitinkančių rinkimų nerasta arba neplanuojama. + no_scheduled_elections_warning: Dabar neplanuojama rinkimų, tačiau čia galite rasti visų įvykusių rinkimų sąrašą. + events: + elections: + election_published: + email_intro: '%{participatory_space_title} %{resource_title} rinkimai dabar aktyvūs. Juos galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: '%{participatory_space_title} %{resource_title} rinkimai dabar aktyvūs.' + notification_title: '%{participatory_space_title} %{resource_title} rinkimai dabar aktyvūs.' + trustees: + new_election: + email_intro: Buvote pridėtas kaip patikėtinis į %{resource_title} rinkimus. + email_outro: Gavote šį pranešimą nes buvote pridėtas kaip patikėtinis %{resource_title} rinkimams. + email_subject: Esate patikėtinis %{resource_title} rinkimuose.. + notification_title: Esate patikėtinis %{resource_title} rinkimuose. + new_trustee: + email_intro: Administratorius pridėjo Jus kaip %{resource_name} patikėtinį. Galite sukurti viešą raktą patikėtinių zonoje + email_outro: Gavote šį pranešimą nes buvote pridėtas kaip patikėtinis %{resource_name} rinkimams. + email_subject: Esate %{resource_name} patikėtinis. + notification_title: Esate %{resource_name} patikėtinis. + votes: + accepted_votes: + email_intro: 'Jūsų balsas priimtas. Naudodami balsavimo žetoną: %{encrypted_vote_hash} galite patikrinti savo balsą čia.' + email_outro: Gavote šį pranešimą nes balsavote %{resource_name} rinkimuose. + email_subject: Jūsų balsas %{resource_name} buvo priimtas. + notification_title: 'Jūsų balsas buvo priimtas. Patikrinkite savo balsą čia naudodami balsavimo žetoną %{encrypted_vote_hash}' + votings: + polling_officers: + polling_station_assigned: + email_intro: Buvote priskirtas kaip %{resource_title} Balsavimo Punkto %{role}. Galite valdyti Balsavimo Punktą iš dedikuotos zonos. + email_outro: Gavote šį pranešimą nes buvote pridėtas kaip %{polling_station_name} %{role}. + email_subject: Jūs esate %{polling_station_name} Balsavimo Punkto %{role}. + notification_title: Jūs esate %{resource_title} balsavimo, %{polling_station_name} punkto %{role}. + send_access_code: + instruction: 'Štai Jūsų prieigos kodas: %{access_code}. Su juo galite dalyvauti %{voting}.' + subject: Jūsų prieigos kodas dalyvavimui %{voting} + help: + participatory_spaces: + votings: + contextual: "

    Balsavimai yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti balsavime, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.

    Pavyzdžiai: Balsavimuose gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.

    \n" + page: "

    Balsavimai yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti balsavime, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.

    Pavyzdžiai: Balsavimuose gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.

    \n" + title: Kas yra balsavimai? + menu: + votings: Balsavimai + statistics: + elections_count: Rinkimai + votings_count: Balsavimai + votings: + admin: + ballot_styles: + create: + error: Kuriant šį biuletenio tipą iškilo problema + success: Biuletenio tipas sukurtas sėkmingai + destroy: + invalid: Ištrinant šį biuletenio tipą iškilo problema + success: Biuletenio tipas ištrintas + edit: + title: Redaguoti biuletenio tipą + update: Atnaujinti + form: + code_help: 'Užuomina: kodas yra sujungėjas tarp surašymo ir biuletenio tipo. Kai įkeliate surašymo duomenis, kiekvienai įvesčiai priskiriamas biuletenio stilius ir atitinkamas kodas' + election: Rinkimai + questions: Klausimai biuletenio tipui + questions_help: 'Užuomina: pasirinkite klausimus iš rinkimų komponentų, kurie bus pristatyti balsuotojams priskirtiems šiam biuletenio tipui' + index: + actions: + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + edit: Redaguoti + new: Naujas + title: Veiksmai + associated_census_data: Susiję surašymo duomenys + explanation_callout: Biuletenio tipas numato kokie klausimai bus užduoti balsuotojui. Biuletenio tipe, galite pasirinkti kokie klausimai iš balsavimo komponento priklauso biuletenio tipui. Biuletenio tipo kodas naudojamas sujungti balsuotoją iš surašymo su biuleteniu, kuris jiems pateikiamas balsavimo kabinoje. Nekurkite biuletenio tipų jei norite, kad visi gautų visus klausimus. + title: Biuletenio tipas + new: + create: Sukurti + title: Sukurti biuletenio tipą + update: + invalid: Atnaujinant šį biuletenio tipą iškilo problema + success: Biuletenio tipas atnaujintas sėkmingai + content_blocks: + highlighted_votings: + max_results: Didžiausias rodomų elementų skaičius + landing_page: + attachments_and_folders: + name: Balsavimo prisegimai ir aplankai + description: + name: Balsavimo aprašymas + elections: + name: Balsavimo rinkimai + header: + name: Balsavimo antraštė + html_block_1: + name: Balsavimo html blokas 1 + html_block_2: + name: Balsavimo html blokas 2 + html_block_3: + name: Balsavimo html blokas 3 + metrics: + name: Balsavimo rodikliai + polling_stations: + name: Balsavimo punktai + stats: + name: Balsavimo statistika + timeline: + name: Balsavimo laiko juosta + index: + not_published: Nebeskelbiama + published: Paskelbta + landing_page: + content_blocks: + edit: + update: Atnaujinti + edit: + active_content_blocks: Aktyvūs turinio blokai + inactive_content_blocks: Neaktyvūs turinio blokai + menu: + votings: Balsavimai + votings_submenu: + attachment_collections: Aplankai + attachment_files: Dokumentai + attachments: Priedai + ballot_styles: Biuletenio tipai + census: Surašymas + components: Komponentai + info: Informacija + landing_page: Pagrindinis puslapis + monitoring_committee: Priežiūros komitetas + monitoring_committee_election_results: Patvirtinti rezultatus + monitoring_committee_members: Nariai + monitoring_committee_polling_station_closures: Validuoti sertifikatus + monitoring_committee_verify_elections: Tikrinti rinkimus + polling_officers: Balsavimo prižiūrėtojai + polling_stations: Balsavimo punktai + models: + ballot_style: + fields: + code: Kodas + name: Balsavimo biuletenio tipas + monitoring_committee_member: + fields: + email: El. paštas + name: Pavadinimas + name: Priežiūros komitetas + polling_officer: + fields: + email: El. paštas + name: Pavadinimas + polling_station: Balsavimo punktas (rolė) + name: Balsavimo prižiūrėtojas + polling_station: + fields: + address: Adresas + polling_station_managers: Vadybininkai + polling_station_president: Prezidentas + title: Pavadinimas + name: Balsavimo punktas + voting: + fields: + created_at: Sukurta + promoted: Paryškinta + published: Paskelbta + title: Pavadinimas + monitoring_committee_election_results: + actions: + title: Veiksmai + view: Peržiūrėti + index: + title: Pasirinkite rinkimus iš kurių norite matyti rezultatus + results: + bulletin_board: Skelbimų lenta + election_totals: Rinkimų bendri rezultatai + polling_stations: Balsavimo punktai + result_types: + blank_answers: Tušti atsakymai + blank_ballots: Tušti biuleteniai + null_ballots: Nuliniai biuleteniai + total_ballots: Visi biuleteniai + valid_ballots: Tinkami biuleteniai + selected: Pasirinkta + title: %{election_title} rezultatai + totals: Iš viso + show: + change_election: Keisti rinkimus + publish_results: Skelbti rezultatus + publishing: Rezultatai skelbiami... + update: + invalid: Skelbiant rezultatus iškilo problema + rejected: Skelbimų Lenta atmetė rezultatų publikavimą. Pabandykite dar kartą arba susisiekite su sistemos administratoriumi. + success: Rinkimų rezultatai paskelbti + monitoring_committee_members: + create: + invalid: Kuriant šį priežiūros komiteto narį iškilo problema + success: Priežiūros komiteto narys sukurtas sėkmingai + destroy: + invalid: Trinant šį priežiūros komiteto narį iškilo problema + success: Priežiūros komiteto narys ištrintas sėkmingai + form: + existing_user: Egzistuojantis dalyvis + non_user: Pakviesti naują dalyvį + select_user: Ieškoti pagal el. pašto adresą, vardą arba naudotojo vardą + user_type: Dalyvio tipas + index: + title: Priežiūros komitetas + new: + create: Sukurti + title: Sukurti priežiūros komiteto narį + monitoring_committee_polling_station_closures: + actions: + title: Veiksmai + validate: Patvirtinti + view: Peržiūrėti + closures: + change_election: Keisti rinkimus + signed: Pasirašyta? + title: %{election_title} balsavimo punktai + validated: Patvirtinta? + edit: + change_polling_station: Atgal į balsavimo punktus + monitoring_committee_notes: Pastabos + monitoring_committee_notes_placeholder: Pateikite informaciją apie incidentus čia + title: %{polling_station_title} balsavimo punkto rezultatai %{election_title} rinkimuose + elections: + title: Pasirinkite rinkimus, kuriuos norite patvirtinti + show: + change_polling_station: Atgal į balsavimo punktus + monitoring_committee_notes: Pastabos iš priežiūros komiteto + validate: + error: Patvirtinant užbaigimą iškilo problema + success: Užbaigimas patvirtintas teisingai + monitoring_committee_verify_elections: + index: + download: Atsisiųsti + how_to_checksum: 'Norėdami įsitikinti, kad atsisiųsta rinkmena - tvarkinga, paleiskite šią komandą konsolėje ir patikrinkite ar išeitis sutampa su šia patikrinimo suma:' + how_to_download: Norėdami patvirtinti rinkimus, atsisiųskite patvirtinimo failą iš viršuje esančios lentelės. + how_to_run_verifier: 'Parsisiuntus rinkimeną galite pradėti naudoti universalų tikrintoją. Klonuokite šią repozitoriją ir iš šakninio aplanko paleiskite šią komandą:' + how_to_title: Kaip patikrinti rinkimų galiojimą + not_available: Dar neprieinama + title: Rinkimai + polling_officers: + create: + invalid: Kilo problema sukuriant šį balsavimo prižiūrėtoją + success: Balsavimo prižiūrėtojas sukurtas sėkmingai + destroy: + invalid: Kilo problema pašalinant šį balsavimo prižiūrėtoją + success: Balsavimo prižiūrėtojas sėkmingai pašalintas + form: + existing_user: Egzistuojantis dalyvis + non_user: Pakviesti naują dalyvį + select_user: Ieškoti pagal vardą, el. pašto adresą arba naudotojo vardą + user_type: Dalyvio tipas + index: + role_manager: vadybininkas + role_president: prezidentas + title: Balsavimo prižiūrėtojai + new: + create: Sukurti + title: Sukurti balsavimo prižiūrėtoją + polling_officers_picker: + choose_polling_officers: Pasirinkti balsavimo prižiūrėtojus + close: Uždaryti + more_polling_officers: Yra dar %{number} daugiau balsavimo prižiūrėtojų. Kad nustatytumėte jų vietą, patikslinkite savo paiešką. + no_polling_officers: Jūsų paieškos kriterijus atitinkančių balsavimo prižiūrėtojų nerasta arba nėra balsavimo prižiūrėtojų. + polling_stations: + create: + invalid: Sukuriant šį balsavimo punktą iškilo problema + success: Balsavimo punktas sėkmingai sukurtas + destroy: + invalid: Kilo problema pašalinant šį balsavimo punktą + success: Balsavimo punktas sėkmingai pašalintas + edit: + title: Atnaujinti balsavimo punktą + update: Atnaujinti balsavimo punktą + form: + address_help: 'Adresas: jį naudoja „Geocoder“, kad rastų vietą' + location_help: 'Vieta: žinutė skirta balsuotojams nurodanti tikslią balsavimo punkto vietą' + location_hints_help: 'Vietos nuorodos: papildoma informacija.' + polling_station_managers_help: 'Balsavimo punkto vadybininkai: įsitikinkite, kad jie buvo sukurti ir nepriskirti kitam balsavimo punktui' + polling_station_president_help: 'Balsavimo punkto prezidentas: įsitikinkite, kad jis buvo pridėtas ir nebuvo priskirtas kitam balsavimo punktui' + select_president: Pasirinkite balsavimo punkto vadybininką kaip balsavimo punkto prezidentą + index: + title: Balsavimo punktai + new: + create: Sukurti + title: Sukurti balsavimo punktą + update: + invalid: Atnaujinant balsavimo punktą iškilo problema + success: Balsavimo punktas atnaujintas sėkmingai + titles: + votings: Balsavimai + votings: + actions: + confirm_destroy: Ar esate tikri? + destroy: Sunaikinti + new_voting: Nauja balsavimo erdvė + publish: Publikuoti + unpublish: Depublikuoti + create: + invalid: Kuriant šį balsavimą iškilo problema + success: Balsavimas sukurtas sėkmingai + edit: + add_election_component: Šiam balsavimui nėra sukonfigūruotų rinkimų. Pridėkite juos per Komponentų sekciją + assign_missing_officers: Kai kurie balsavimo punktai neturi prezidento ir/arba vadybininkų. Prašome juos priskirti + update: Atnaujinti + form: + banner_image: Reklamjuostės paveikslėlis + census_contact_information: Surašytojų kontaktinė informacija + census_contact_information_help: Ši kontaktinė informacija skirta dalyviams norintiems pranešti apie problemas. Tai gali būti el. pašto adresas, kontaktinė forma kitame puslapyje ir t. t. + introductory_image: Įvadinis paveikslėlis + promoted: Paremta + select_a_voting_type: Pasirinkite balsavimo tipą + slug: Nuorodos dalis + slug_help: 'Nuorodos priedėliai nukreipia į šią konkretų balsavimą. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + title: Pavadinimas + voting_type: + hybrid: Hibridinis + in_person: Fizinis + online: Virtualus + voting_type_label: Balsavimo tipas + new: + create: Sukurti + title: Naujas balsavimas + publish: + success: Balsavimas sėkmingai paskelbtas + unpublish: + success: Balsavimas sėkmingai depublikuotas + update: + invalid: Atnaujinant šį balsavimą iškilo problema + success: Balsavimas sėkmingai atnaujintas + admin_log: + ballot_style: + create: "%{user_name} sukūrė biuletenio tipą su kodu %{ballot_style_code} erdvėje %{space_name}" + delete: "%{user_name} ištrynė biuletenio tipą su kodu %{ballot_style_code} erdvėje %{space_name}" + update: "%{user_name} atnaujino biuletenio tipą su kodu %{ballot_style_code} erdvėje %{space_name}" + census: + create: "%{user_name} sukūrė surašymą %{space_name} erdvėje" + delete: "%{user_name} ištrynė surašymą erdvėje %{space_name}" + update: "%{user_name} atnaujino surašymą erdvėje %{space_name}" + monitoring_committee_member: + create: "%{user_name} priskyrė naudotoją %{monitoring_committee_member_user} kaip priežiūros komiteto narį erdvėje %{space_name}" + delete: "%{user_name} atskyrė naudotoją %{monitoring_committee_member_user} kaip priežiūros komiteto narį nuo erdvės %{space_name}" + polling_officer: + create: "%{user_name} priskyrė naudotoją %{polling_officer_user} kaip balsavimo prižiūrėtoją erdvėje %{space_name}" + delete: "%{user_name} atskyrė naudotoją %{polling_officer_user} kaip balsavimo prižiūrėtoją nuo erdvės %{space_name}" + polling_station: + create: "%{user_name} sukūrė balsavimo punktą %{resource_name} erdvėje %{space_name}" + delete: "%{user_name} pašalino balsavimo punktą %{resource_name} erdvėje %{space_name}" + update: "%{user_name} atnaujino balsavimo punktą %{resource_name} erdvėje %{space_name}" + voting: + create: "%{user_name} sukūrė %{resource_name} balsavimą" + publish: "%{user_name} paskelbė %{resource_name} balsavimą" + unpublish: "%{user_name} panaikino %{resource_name} balsavimą" + census: + admin: + census: + create: + invalid: Kuriant surašymą kilo problema. Pabandykite dar kartą vėliau. + invalid_csv_header: Trūksta CSV antraščių, arba jos nėra teisingos - prašome atidžiai perskaityti instrukcijas + creating_data: + info_message: "Prašome palaukti, aprodota %{processed_count} iš %{raw_count} eilučių iš %{file} failo." + delete: + button: Pašalinti visus surašymo duomenis + confirm: Pašalinus visus surašymo duomenis, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti? + destroy: + error: Pašalinant surašymą kilo problema. Pabandykite dar kartą vėliau. + success: Surašymo duomenys pašalinti + export_access_codes: + button: Eksportuoti balsavimo prieigos kodus + callout: Galite toliau tęsti prieigos kodų eksportą. Tai gali būti atlikta tik vieną kartą. Kai pradėsite eksportavimą, el. pašto dėžutėje rasite laišką su instrukcijomis į %{email} + confirm: Galite eskportuoti prieigos kodą vieną kartą. Užtikrinkite, kad turite prieigą prie el. pašto %{email}. + file_not_exist: Failas neegzistuoja + launch_error: Pradedant prieigos kodų eksportą kilo problema + launch_success: Prieigos kodų eksportas prasidėjo. Neužilgo gausite el. laišką į %{email} + exporting_access_codes: + info_message: "Prašome palaukti, eskportas ruošiamas ir neužilgo jį gausite į %{email}" + freeze: + callout: Surašymas užšaldytas ir negali būti pakeistas. + generate_access_codes: + button: Generuoti balsavimo prieigos kodus + callout: Dabar galite sugeneruoti prieigos kodus. Atsižvelkite į tai, kad sugeneravus prieigos kodus nebegalėsite pakeisti surašymo. + confirm: Jei tęsite, nebegalėsite pakeisti surašymo. + info_message_all: "Visos eilutės importuotos sėkmingai iš %{file} failo (%{raw_count} nuo %{data_count})." + info_message_warn: Prašome patikrinti ar netrūksta duomenų, nes %{data_count} įrašai buvo sukurti ir įkeltas failas file %{file} turėjo %{raw_count} eilučių. + launch_error: Pradedant prieigos kodų generavimą kilo problema + launch_success: Kodų generavimas pradėtas. + generating_access_codes: + info_message: "Prašome palaukti, balsavimo prieigos kodai yra generuojami..." + new: + file_help: + explanation: 'Failo gairės:' + message_1: Leidžiami tik CSV (.csv) failai. + message_2: Stulpeliai privalo būti išskiriami kabliataškiu (";"). + has_ballot_styles_message: Jūs sukuriate balsavimo biuletenio tipus. Prašome įsitikinti, kad "%{ballot_style_code_header}" laukelis esantis CSV faile sutampa su pageidaujamo biuletenio tipo kodu. + info_message: "Kol kas nėra sukurto surašymo. Kad jį sukurti, prašome naudoti žemiau nurodyta CSV failo importo formą." + missing_ballot_styles_message: 'Šiam balsavimui nėra biuletenio stiliaus. Jei norėtumėt pridėti sąlyginį klausimą (t.y. pateikti skirtingus klausimus skirtingiems balsuotojams pvz. priklausomai nuo jų gyvenamosios vietos), turėtumėt numatyti biuletenių stiliųpriešimportuojant surašymą. Jei norėtumėt visiems balsuotojams adresuoti tą patį klausimą, galite importuoti surašymą.' + submit: Pateikti CSV + title: Sukurkite surašymą + show: + heading: Balsavimo erdvės surašymas + upload_info: + csv_example_with_ballot_style: 'Pavyzdinis failas su balsavimo biuletenio tipais:' + csv_example_without_ballot_style: 'Pavyzdinis failas be balsavimo biuletenio tipų:' + csv_header_after: Neįtraukite paskutinio lauko (%{ballot_style_code_header}) jei Jums nereikia bliutelenio stilių ir sąlyginių klausimų + csv_header_before: 'Surašymo failas privalo būti CSV su šia antrašte:' + document_types: + dni: Asmens tapatybės dokumentas + nie: Asmens tapatybės dokumentas + passport: Pasas + export_mailer: + access_codes_export: + click_button: 'Spustelėkite ant sekančios nuorodos, kad atsisiųsti prieigos kodų duomenis.
    Failas bus prieinamas iki %{date}.
    Jums reikės 7-Zip (Windows), Keka (MacOS) arba PeaZip (Linux) kad jį atverti. Slaptažodis: %{password}' + download: Atsisiųsti + subject: '%{voting_title} balsavimo prieigos kodai gali būti eksportuojami' + vote_flow: + already_voted_in_person: Šis dalyvis jau balsavo ir negali balsuoti dar kartą. + datum_not_found: Šie duomenys nesutampa su jokiu balsuotoju. + content_blocks: + highlighted_votings: + name: Paryškinti balsavimai + landing_page: + description: + title: Apie šį balsavimą + metrics: + heading: Rodikliai + polling_stations: + heading: Balsavimo punktai + no_polling_stations: Balsavimo punktų dar nėra. + timeline: + heading: Laiko juosta + monitoring_committee_members: + actions: + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + new: Naujas narys + title: Veiksmai + pages: + home: + highlighted_votings: + active_votings: Aktyvūs balsavimai + see_all_votings: Žiūrėti visus balsavimus + votings_button_title: Nuoroda į puslapį „Balsavimai“, kuriame pateikiami visi balsavimai + polling_officer_zone: + closures: + back_to_polling_stations: Atgal į balsavimo punktus + certify: + add_images: Pridėti paveikslėlių + error: Prisegant sertifikatą įvyko klaida. Pabandykite dar kartą. + form_legend: Įkelkite rinkiminės baigties sertifikato nuotrauką + heading: Balsų perksaičiavimas - įkelkite sertifikatą + info_text: Įkelkite rinkiminės baigties sertifikato nuotrauką. + submit: Įkelkite sertifikatą + success: Sertifikatas įkeltas sėkmingai. + create: + error: Kuriant uždarymą kilo problema. Pabandykite dar kartą vėliau. + success: Uždarymas sėkmingai sukurtas. + edit: + heading: Balsų perskaičiviamas - atsakymų perskaičiviamas + info_text: Prašau įveskite pilną skaičių atsakymų kiekvienam klausimui. + modal_ballots_results_count_error: + close_modal: Uždaryti + info_text: Biuletenių skaičius nesutampa su vokų skaičium. Patikrinkite biuletenių skaičių. + title: Visas biuletenių skaičius + save_recount: Išsaugoti perskaičiavimą + total_ballots: Visi biuleteniai + total_blank_ballots: Visi tušti biuleteniai + total_null_ballots: Visi nuliniai biuleteniai + total_valid_ballots: Visi validūs biuleteniai + new: + election: 'Rinkimai:' + heading: Balsų perskaičiviamas + info_text: 'Pridėkite visų biuletenių (vokų) skaičių perskaičiuotą balsavimo punkte:' + modal_ballots_count_error: + btn_validate_total: Patvirtinti biuletenių perskaičiavimą + close_modal: Uždaryti + info_explanation_text: 'Prašau peržiūrėkite visą biuletenių skaičių. Jei suminis skaičius neteisingas, prašau pateikite paaiškinimą priežiūros komitetui:' + info_text: Įvestas visas biuletenių skaičius (vokai) neatitinka balsavusių balsavimo punkte skaičiaus. + message_for_monitoring_committee: Žinutė priežiūros komitetui + review_recount: Peržiūrėti perskaičiavimą + text_area_placeholder: Įveskite žinutę + title: Skaičiai nesutampa + total_ballots: 'Viso balsavimo biuletenių:' + total_people: 'Viso žmonių:' + polling_station: 'Balsavimo punktas:' + submit: Patvirtinkite bendrą skaičių + total_ballots_count: Balsavimo biuletenių kiekis + show: + heading: Balsų perskaičiviamas + info_text: Balsavimo punkto rinkimų užbaigimas. + sign: + cancel: Atšaukti + check_box: Peržiūrėjau, ir tai yra tas pats, kaip ir fizinis rinkimų užbaigimo sertifikatas + close_modal: Uždaryti + confirm: Gerai, testi + error: Įvyko klaida, pamėginkite dar kartą. + heading: Balsų perskaičiavimas - Pasirašykite užbaigimą + info_text: Jeigu tęsite, nebegalėsite koreguoti jokios informacijos, šio veiksmo anuliuoti negalima. + submit: Pasirašykite užbaigimą + success: Užbaigimas pasirašytas sėkmingai. + title: Veiksmas negali būti anuliuotas + update: + error: Atliekant užbaigimo atnaujinimą kilo klaida, pabandykite dar kartą vėliau. + success: Užbaigimo rezultatai sėkmingai atnaujinti. + in_person_votes: + complete_voting: + available_answers: 'Galimi atsakymai:' + census_verified: Dalyvis dar nebalsavo. + complete_voting: Užbaigti balsavimą + identify_another: Identifikuoti kitą dalyvį + questions_title: 'Ji turi teisę balsuoti šiais klausimais:' + questions_title_voted: 'Dalyvis jau balsavo internetu ir turi teisę balsuoti šiais klausimais:' + voted: Dalyvis prabalsavo + create: + error: Balsavimas nebuvo užregistruotas. Prašome bandyti dar kartą. + in_person_form: + census_not_present: Šis dalyvis nėra įskaičiuotas į surašymą. + census_not_present_description: Ji turi kreiptis į surašymo skundų biurą arba susisiekti su pagalbos centru. + date_of_birth: Gimimo data + day: Diena + day_placeholder: DD + document_number: Dokumento numeris + document_number_placeholder: Asmens tapatybės dokumento numeris + month: Mėnuo + month_placeholder: MM + select: Pasirinkite dokumento tipą + title: 'Pasirinkite dokumento tipą ir įveskite dalyvio dokumento numerį:' + validate_document: Patvirtinti dokumentą + year: Metai + year_placeholder: MMMM + new: + back: Atgal į balsavimo punktus + title: Identifikuoti ir patvirtinti dalyvį + show: + back: Atgal į balsavimo punktus + title: Laukiama, kol bus užregistruotas fizinis balsavimas + update: + error: Užskaitant balsą iškilo problema. Prašome pabandykite iš naujo. + success: + accepted: Balsavimas užregistruotas sėkmingai. + rejected: Skelbimų lenta balsavimo nepriėmė. Prašome susisiekti su sistemos administratoriumi. + verify_document: + census_present: Šis dalyvis įskaičiuotas surašyme. + name: Vardas + title: 'Patikrinkite ar šie duomenys teisingi:' + verify_document: Patvirtinti dokumentą + menu: + polling_officer_zone: Balsavimo vadybininkų zona + polling_officers: + index: + polling_officer_role_description: Buvote priskirtas kaip balsavimo punkto vadybininkas ar prezidentas. + polling_station: + address: Adresas + count_votes: Skaičiuoti balsus + election: Rinkimai + identify_person: Atpažinti asmenį + name: Vardas + no_polling_stations: Nesate priskirtas prie balsavimo punkto. + role: Jūsų rolė + show_closure: Peržiūrėti uždarymą + title: Balsavimo punktai + voting: Balsavimas + polling_officers: + actions: + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + new: Naujas + title: Veiksmai + roles: + manager: Vadybininkas + president: Prezidentas + unassigned: Nepaskirtas + polling_station_closure_recount: + nota_option: Nei vienas iš pasiūlytų variantų + polling_officer_notes: 'Balsavimo vadybininkų užrašai:' + polling_officer_notes_blank: Užrašų nėra + recount_summary: 'Perskaičiavimo reziumė:' + signed: Pasirašyta + total_ballots: 'Visi biuleteniai:' + total_blank_ballots: 'Visi tušti biuleteniai:' + total_null_ballots: 'Visi nuliniai biuleteniai:' + total_valid_ballots: 'Visi validūs biuleteniai:' + polling_stations: + actions: + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + edit: Redaguoti + new: Naujas + title: Veiksmai + votings: + access_code_modal: + email: Siųsti el. paštu į %{email} + info: Norėdami dalyvauti turite turėti prieigos kodą. Jei jo negavote paštu, galime atsiųsti kitą. + no_email: Nėra galimo el. pašto + no_sms: Nėra galimo tel. nr + sms: Siųsti SMS žinute į %{sms} + title: Gauti prieigos kodą + check_census: + check_status: Patikrinti būseną + description: Čia galite patikrinti surašymo duomenis ir patikrinti ar galite dalyvauti. Turėtumėt turėti prieigos kodą, tačiau jei jį pametėt galėsite paprašyti kito kai duomenys bus teisingi. + error: + info: 'Pabandykite iš naujo. Jei manote, kad duomenys sistemoje neteisingi, apie tai galite pranešti: %{census_contact_information}' + title: Duomenys, kuriuos įvedėte nėra šio balsavimo surašyme + form_title: 'Užpildykite šią formą, kad patikrinti savo surašymo duomenis:' + invalid: Tikrinant surašymo duomenis iškilo problema. + success: + access_link: el. paštu. + access_link_with_sms: SMS ar el. paštu. + info: Turėjote gauti prieigos kodą per paštą. Jei negavote, išsiųskite užklausą čia + title: Jūsų surašymo duomenys teisingi! + title: Ar galiu balsuoti? + check_fields: + date_of_birth: Gimimo data + day: Diena + day_placeholder: DD + document_number: Dokumento numeris + document_number_placeholder: Asmens tapatybės dokumento numeris + document_type: Dokumento tipas + month: Mėnuo + month_placeholder: MM + postal_code: Pašto kodas + postal_code_placeholder: Pašto kodo numeris + select: Pasirinkite dokumento tipą + year: Metai + year_placeholder: MMMM + count: + title: + one: "%{count} balsavimas" + few: "%{count} balsavimai" + many: "%{count} balsavimai" + other: "%{count} balsavimai" + elections_log: + bb_status: Rinkimų būsena + description: Rinkimų ataskaitoje bus pateikta visa aktuali informacija apie kiekvieną balsavimą. Pavyzdžiui pagrindinės ceremonijos būsena, taškai arba jeigu rezultatai jau paskelbti. Spustelėkite ant rinkimų, apie kuriuos norite gauti informaciją. + election_log: Rinkimų ataskaita + title: Rinkimų ataskaita + filters: + active: Aktyvūs + all: Visi + finished: Užbaigta + search: Ieškoti + state: Būsena + upcoming: Artėjantys + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + index: + no_votings: Jūsų paieškos kriterijus atitinkančių balsavimų nerasta. + only_finished: Dabar suplanuotų balsavimų nėra, tačiau čia galite rasti visų įvykusių balsavimų sąrašą. + title: Balsavimai + login: + access_code: Prieigos kodas + access_code_placeholder: Prieigos kodas + ask_for_a_new_one: Prašyti naujo. + dont_have_access_code: Neturite prieigos kodo? + form_title: 'Norėdami prisijungti prie balsavimo, užpildykite šią formą:' + start_voting: Pradėti balsavimą + step: Identifikacija + title: Identifikuoti save pagal mano balsavimo surašymo duomenis + no_census_contact_information: Kol kas nėra kontaktinės informacijos + orders: + label: 'Rūšiuoti balsus pagal:' + random: Atsitiktinai + recent: Naujausia + send_access_code: + invalid: Iškilo problema išsiunčiant Prieigos Kodą + success: Jūsų Prieigos Kodas buvo išsiųstas sėkmingai + show: + dates: Datos + votings_m: + badge_name: + finished: Užbaigta + ongoing: Vykstantys + upcoming: Artėjantys + footer_button_text: + participate: Dalyvauti + view: Peržiūrėti + vote: Balsuoti + unspecified: Nepatikslinta + voting_type: + hybrid: Hibridinis + in_person: Fizinis + online: Virtualus + voting_types_label: Balsavimo tipas + layouts: + decidim: + election_votes_header: + exit: Baigti + voting_navigation: + check_census: Ar galiu balsuoti? + election_log: Rinkimų ataskaita + voting_menu_item: Balsavimas + votings: + index: + promoted_votings: Paryškinti balsavimai + promoted_voting: + more_info: Daugiau informacijos + vote: Balsuoti diff --git a/decidim-elections/config/locales/lv.yml b/decidim-elections/config/locales/lv.yml index e02069c87cbb9..68f4d7821ec7a 100644 --- a/decidim-elections/config/locales/lv.yml +++ b/decidim-elections/config/locales/lv.yml @@ -12,7 +12,6 @@ lv: start_time: Balsošanas sākas plkst. title: Nosaukums question: - description: Apraksts max_selections: Maksimālais izvēļu skaits title: Nosaukums errors: diff --git a/decidim-elections/config/locales/nl.yml b/decidim-elections/config/locales/nl.yml index 7821d92faff86..48601c8a33ac5 100644 --- a/decidim-elections/config/locales/nl.yml +++ b/decidim-elections/config/locales/nl.yml @@ -12,7 +12,6 @@ nl: start_time: Stemming begint om title: Aanspreektitel question: - description: Beschrijving max_selections: Maximum aantal selecties title: Aanspreektitel voting: @@ -205,7 +204,6 @@ nl: minimum_answers: Vragen moeten minstens twee antwoorden hebben. minimum_questions: De stemronde moet ten minste één vraag hebben. published: De stemronde is niet gepubliceerd. - time_before: De starttijd van de stemronde is over minder dan 3 uur. trustees_number: De participatieve ruimte moet ten minste %{number} trustees met publieke sleutel hebben. invalid: Er is een fout opgetreden bij het aanmaken van deze stemronde no_trustees: Er zijn geen Trustees geconfigureerd voor deze participatieve ruimte @@ -540,6 +538,8 @@ nl: failed: header: Stem mislukt lead: Je stem is niet uitgebracht! + modal: + close: Afsluiten text: Er is iets mis gegaan, probeer het alsjeblief nog een keer. try_again: Probeer opnieuw header: diff --git a/decidim-elections/config/locales/no.yml b/decidim-elections/config/locales/no.yml index 3f4fea12d9d5d..b2bc6f5e1eb52 100644 --- a/decidim-elections/config/locales/no.yml +++ b/decidim-elections/config/locales/no.yml @@ -12,7 +12,6 @@ start_time: Stemmegivning starter title: Tittel question: - description: Beskrivelse max_selections: Maksimalt antall valg min_selections: Ingen av valgene over title: Tittel @@ -227,7 +226,6 @@ minimum_answers: Spørsmål må ha minst to svar. minimum_questions: Valget må ha minst ett spørsmål. published: Valget er og ikke publisert. - time_before: Starttiden er mindre enn 3 timer før valget starter. trustees_number: Deltakerområdet må ha minst %{number} tillitsmenn med offentlig nøkkel. invalid: Det oppstod et problem med opprettelsen av dette valget no_trustees: Det er ikke satt opp noen tillitsmenn for dette deltakelsesrommet @@ -537,6 +535,9 @@ feedback: Gi oss en tilbakemelding header: Avstemning bekreftet text: 'Du kan sjekke at stemmen din har blitt lagt til i stemmeboksen med følgende identifikator: %{e_vote_poll_id}' + failed: + modal: + close: Lukk header: confirm: Bekreft stemmen din confirmed: Avstemning bekreftet diff --git a/decidim-elections/config/locales/pl.yml b/decidim-elections/config/locales/pl.yml index b5364bbd9342e..b0a4e1534159b 100644 --- a/decidim-elections/config/locales/pl.yml +++ b/decidim-elections/config/locales/pl.yml @@ -12,7 +12,6 @@ pl: start_time: Głosowanie rozpoczyna się o title: Tytuł question: - description: Opis max_selections: Maksymalna liczba opcji do wybrania min_selections: Żadna z powyższych opcji title: Tytuł @@ -243,7 +242,6 @@ pl: minimum_answers: Pytania muszą mieć co najmniej dwie odpowiedzi. minimum_questions: Wybory muszą mieć co najmniej jedno pytanie. published: Wybory nie zostały opublikowane. - time_before: Godzina rozpoczęcia jest mniej niż 3 godziny przed rozpoczęciem wyborów. trustees_number: Przestrzeń partycypacyjna musi mieć co najmniej %{number} mężów (osób) zaufania z kluczem publicznym. invalid: Wystąpił problem z konfiguracją tych wyborów no_trustees: Nie skonfigurowano mężów (osób) zaufania dla tej przestrzeni partycypacyjnej @@ -291,8 +289,13 @@ pl: title: Opublikowano wyniki tally: continue: Dalej + invalid: Wystąpił błąd podczas usuwania męża (osoby) zaufania mark_as_missing: Oznacz jako brakujący + mark_as_missing_description: Wszyscy mężowie zaufania powinni uczestniczyć w tym procesie, ale jeśli nie może wziąć udziału w tym procesie, możesz oznaczyć go jako brakujący. + success: Brakująca uwaga męża zaufania została pomyślnie wysłana do Tablicy + tally_completion: 'Proces zostanie zakończony, gdy wszyscy mężowie zaufania będą aktywni lub zostaną oznaczeni jako brakujący. Wymagana ilość mężów zaufania: %{quorum}.' title: Proces ustalania wyniku głosowania + undo_mark_as_missing: Przed zakończeniem procesu będzie mógł uczestniczyć mąż zaufania oznaczony jako brakujący omyłkowo. Mężowie zaufania mogą postępować jak zwykle, a oznaczenie jako "brakujący" zostanie zignorowane. tally_ended: answer: Odpowiedź not_selected: Nie wybrano @@ -627,6 +630,8 @@ pl: failed: header: Oddanie głosu nie powiodło się lead: Twój głos nie został oddany! + modal: + close: Zamknij text: Coś poszło nie tak. Spróbuj ponownie. try_again: Spróbuj ponownie header: diff --git a/decidim-elections/config/locales/pt-BR.yml b/decidim-elections/config/locales/pt-BR.yml index 0305107a61c18..fce2f818a3f51 100644 --- a/decidim-elections/config/locales/pt-BR.yml +++ b/decidim-elections/config/locales/pt-BR.yml @@ -12,7 +12,6 @@ pt-BR: start_time: Votação começa às title: Título question: - description: Descrição max_selections: Número máximo de seleções min_selections: Nenhuma das opções acima title: Título @@ -227,7 +226,6 @@ pt-BR: minimum_answers: As perguntas devem ter pelo menos duas respostas. minimum_questions: A eleição deve ter pelo menos uma questão. published: A eleição não está publicada. - time_before: O horário de início é em menos de 3 horas antes do início da eleição. trustees_number: O espaço participativo deve ter pelo menos %{number} administradores com chave pública. invalid: Houve um problema ao configurar essa eleição no_trustees: Não há Agentes fiduciários configurados para este espaço participativo @@ -601,6 +599,8 @@ pt-BR: failed: header: Votação falhou lead: Seu voto não foi transmitido! + modal: + close: Fechado text: Algo deu errado, por favor, tente novamente. try_again: Tente novamente header: diff --git a/decidim-elections/config/locales/pt.yml b/decidim-elections/config/locales/pt.yml index ff3cf9df716a3..5267e45841f39 100644 --- a/decidim-elections/config/locales/pt.yml +++ b/decidim-elections/config/locales/pt.yml @@ -12,7 +12,6 @@ pt: start_time: Votação inicia-se às title: Título question: - description: Descrição max_selections: Número máximo de seleções min_selections: Nenhuma das opções acima title: Título @@ -227,7 +226,6 @@ pt: minimum_answers: As perguntas devem ter pelo menos duas respostas. minimum_questions: A eleição deve ter pelo menos uma pergunta. published: A eleição não está publicada. - time_before: A hora de início é menos de 3 horas antes do início da eleição. trustees_number: O espaço participativo deve ter pelo menos %{número} curadores com chave pública. invalid: Houve um problema ao configurar esta eleição. no_trustees: Não há curadores configurados para este espaço participativo @@ -624,6 +622,8 @@ pt: failed: header: Votação falhou lead: O seu voto não foi registado! + modal: + close: Fechar text: Algo correu mal, por favor tente de novo. try_again: Tente de novo header: diff --git a/decidim-elections/config/locales/ro-RO.yml b/decidim-elections/config/locales/ro-RO.yml index d4019baa2fc1e..fa89b196ea5f5 100644 --- a/decidim-elections/config/locales/ro-RO.yml +++ b/decidim-elections/config/locales/ro-RO.yml @@ -12,7 +12,6 @@ ro: start_time: Votarea începe la title: Titlu question: - description: Descriere max_selections: Numărul maxim de selecții min_selections: Niciuna dintre opțiunile de mai sus title: Titlu @@ -227,7 +226,6 @@ ro: minimum_answers: Întrebările trebuie să aibă cel puţin două răspunsuri. minimum_questions: Alegerile trebuie să aibă cel puţin o întrebare. published: Aceste alegerile nu sunt publicate. - time_before: Timpul de începere este în mai puţin de 3 ore înainte de începerea alegerilor. trustees_number: Spațiul participativ trebuie să aibă cel puțin %{number} împuterniciți cu cheie publică. invalid: A apărut o eroare la organizarea acestor alegeri no_trustees: Nu există împuterniciți configurați pentru acest spațiu participativ @@ -551,6 +549,8 @@ ro: verify_link: Pentru a verifica, copiați identificatorul și lipiți-l pe pagina pentru verificarea votului failed: header: Vot eșuat + modal: + close: Inchide header: confirm: Confirmă votul tău confirmed: Votare confirmată diff --git a/decidim-elections/config/locales/sv.yml b/decidim-elections/config/locales/sv.yml index 7237c053c13dc..344c218c20be0 100644 --- a/decidim-elections/config/locales/sv.yml +++ b/decidim-elections/config/locales/sv.yml @@ -12,7 +12,6 @@ sv: start_time: Röstningsstart vid title: Titel question: - description: Beskrivning max_selections: Maximalt antal val title: Titel voting: @@ -45,12 +44,18 @@ sv: decidim/elections/question: one: Fråga other: Frågor + decidim/voting: + one: Omröstning + other: Omröstningar decidim/votings/census/dataset: one: Datamängd other: Datamängder decidim/votings/census/datum: one: Datum other: Datum + decidim/votings/polling_officer: + one: Röstmottagare + other: Röstmottagare decidim/votings/polling_station: one: Vallokal other: Vallokaler @@ -80,6 +85,7 @@ sv: label: Bekräftad values: 'false': Bekräftad + 'true': Ej Validerad components: elections: actions: @@ -96,6 +102,7 @@ sv: destroy: Förstör edit: Redigera import: Importera förslag till svar + manage_answers: Hantera svar manage_questions: Hantera frågor manage_steps: Hanterade steg new: Ny %{name} @@ -120,6 +127,8 @@ sv: create: Skapa svar title: Nytt svar not_selected: Inte vald + select: + disable: Avmarkera svar selected: Valda update: invalid: Det gick inte att uppdatera svaret @@ -195,6 +204,8 @@ sv: key_ceremony: continue: Fortsätt title: Nyckelceremoni + key_ceremony_ended: + title: Redo att börja processing: Bearbetar... results_published: answer: Svar @@ -262,6 +273,7 @@ sv: results_title: Resultat started: Startad title: Omröstningslogg + vote_title: Omröstningsprocess filters: active: Aktiv all: Allt @@ -278,6 +290,10 @@ sv: percentage: "%{count}%" selected: Valda title: Omröstningsresultat + votes: + one: "%{count} röster" + other: "%{count} röster" + zero: "%{count} röster" show: action_button: change_vote: Ändra din röst @@ -285,6 +301,8 @@ sv: vote_again: Rösta om election_log: Omröstningslogg preview: Förhandsgranska + verify: + already_voted: Redan röstat? voting_period_status: finished: Omröstningen började den %{start_time} och slutade den %{end_time} upcoming: Omröstningen börjar den %{start_time} @@ -350,6 +368,7 @@ sv: action_required: 'false': 'Nej' name: Åtgärd krävs? + 'true': Utför åtgärd bb_status: Status election: Val voting_period: Röstningsperiod @@ -378,6 +397,8 @@ sv: text: 'Du kan kontrollera att din röst har lagts till i röstsedeln med följande identifierare: %{e_vote_poll_id}' failed: header: Röst ej framgångsrik + modal: + close: Stäng try_again: Försök igen header: ballot_decision: Lägg eller granska din röst @@ -397,10 +418,13 @@ sv: selections: "%{selected} av %{max_selections}
    val" onboarding_modal: close: Stäng fönstret + create_account: Skapa konto no_account: Nej tack. verify: content: heading: Verifiera din röst + error: + header: Hittade inga omröstningar! form: back: Tillbaka till Decidim submit: Kontrollera @@ -440,6 +464,12 @@ sv: title: Åtgärder new: create: Skapa + content_blocks: + landing_page: + metrics: + name: Omröstningsmetrik + timeline: + name: Omröstningstidslinje index: not_published: Ej publicerade published: Publicerad @@ -474,12 +504,14 @@ sv: fields: email: E-post name: Namn + name: Röstmottagare polling_station: fields: address: Adress polling_station_managers: Koordinatorer polling_station_president: Ordförande title: Titel + name: Röststation voting: fields: created_at: Skapad den @@ -491,6 +523,11 @@ sv: title: Åtgärder view: Visa results: + result_types: + blank_answers: Tomma svar + blank_ballots: Tomma röstsedlar + total_ballots: Totalt antal röstsedlar + valid_ballots: Giltiga röstsedlar selected: Valda totals: Totalt show: @@ -544,6 +581,8 @@ sv: edit: update: Uppdatera form: + promoted: Annonserad + slug: Slug title: Titel voting_type: hybrid: Hybrid @@ -577,6 +616,7 @@ sv: pages: home: highlighted_votings: + active_votings: Activa omröstningar see_all_votings: Se alla omröstningar polling_officer_zone: closures: @@ -591,6 +631,7 @@ sv: heading: Omräkning modal_ballots_count_error: close_modal: Stäng + total_people: 'Totala människor:' polling_station: 'Vallokal:' show: heading: Omräkning @@ -600,6 +641,7 @@ sv: confirm: Fortsätt in_person_votes: in_person_form: + date_of_birth: Födelsedatum day: Dag day_placeholder: DD document_number: Dokumentnummer @@ -633,6 +675,7 @@ sv: unassigned: Otilldelad polling_station_closure_recount: signed: Signerat + total_ballots: 'Totalt antal röstsedlar:' polling_stations: actions: confirm_destroy: Är du säker? @@ -641,6 +684,8 @@ sv: new: Ny title: Åtgärder votings: + access_code_modal: + title: Få behörighetskod check_census: check_status: Kontrollera status title: Kan jag rösta? @@ -650,11 +695,16 @@ sv: day_placeholder: DD document_number: Dokumentnummer document_number_placeholder: ID-nummer + document_type: Dokumenttyp month: Månad month_placeholder: MM postal_code: Postnummer year: År year_placeholder: ÅÅÅÅ + count: + title: + one: "%{count} omröstning" + other: "%{count} omröstningar" elections_log: election_log: Omröstningslogg title: Omröstningslogg @@ -676,6 +726,7 @@ sv: access_code: Behörighetskod access_code_placeholder: Behörighetskod start_voting: Starta omröstningen + step: Identifikation orders: label: 'Sortera omröstningar efter:' random: Slumpmässig diff --git a/decidim-elections/config/locales/tr-TR.yml b/decidim-elections/config/locales/tr-TR.yml index ae8df7122c562..449a3388f26e1 100644 --- a/decidim-elections/config/locales/tr-TR.yml +++ b/decidim-elections/config/locales/tr-TR.yml @@ -12,7 +12,6 @@ tr: start_time: Oylama başlangıcı title: Başlık question: - description: Açıklama max_selections: Maksimum seçim sayısı min_selections: Yukarıdakilerden hiçbiri title: Başlık @@ -307,6 +306,9 @@ tr: feedback: Bize geri bildirim verin header: Oy onaylandı text: 'Aşağıdaki tanımlayıcıyla oyunuzun başarıyla oy sandığına eklenip eklenmediğini kontrol edebilirsiniz: %{e_vote_poll_id} ' + failed: + modal: + close: Kapat header: confirm: Oyunu onayla confirmed: Oy onaylandı diff --git a/decidim-elections/config/locales/zh-CN.yml b/decidim-elections/config/locales/zh-CN.yml index 986aba269d251..974c78e474125 100644 --- a/decidim-elections/config/locales/zh-CN.yml +++ b/decidim-elections/config/locales/zh-CN.yml @@ -12,7 +12,6 @@ zh-CN: start_time: 投票开始于 title: 标题 question: - description: 描述 max_selections: 最大选择数 min_selections: 上面没有一个选项 title: 标题 @@ -205,6 +204,9 @@ zh-CN: feedback: 给我们一些反馈 header: 已确认投票 text: '您可以检查您的投票是否已成功地添加到选票箱,其标识符如下: %{e_vote_poll_id}' + failed: + modal: + close: 关闭 header: confirm: 确认您的投票 confirmed: 已确认投票 diff --git a/decidim-forms/config/locales/lt.yml b/decidim-forms/config/locales/lt.yml index 6c5cb837ac8c1..81309c4dc4ab5 100644 --- a/decidim-forms/config/locales/lt.yml +++ b/decidim-forms/config/locales/lt.yml @@ -1 +1,189 @@ lt: + activemodel: + attributes: + answer: + body: Atsakymas + choices: Pasirinkimai + selected_choices: Pasirinkti pasirinkimai + question: + max_choices: Maksimalus pasirinkimų skaičius + question_type: Tipas + questionnaire_question: + mandatory: Privaloma + max_characters: Simbolių limitas (palikti 0 jei limito nėra) + errors: + models: + answer: + attributes: + add_documents: + needs_to_be_reattached: Reikia pridėti iš naujo + body: + too_long: per ilgas + choices: + missing: nepilnas - trūksta elementų + too_many: per daug + questionnaire: + request_invalid: Tvarkant prašymą įvyko klaida. Bandykite dar kartą + decidim: + forms: + admin: + models: + components: + description: Aprašymas + tos: Paslaugų teikimo sąlygos + questionnaires: + actions: + back: Grįžti į klausimus + show: Rodyti atsakymus + answer_option: + answer_option: Atsakymo variantas + free_text: Laisva forma + remove: Pašalinti + statement: Pareiškimas + answers: + actions: + back: Grįžti į atsakymus + export: Eksportuoti + show: Rodyti atsakymus + empty: Atsakymų dar nėra + export: + answer: + title: 'Atsakymas #%{number}' + export_response: + title: apklausa_naudotoju_atsakymai_%{token} + index: + title: "%{total} iš viso atsakymų" + show: + title: 'Atsakymas #%{number}' + display_condition: + answer_option: Atsakymo variantas + condition_question: Klausimas + condition_type: Sąlyga + condition_types: + answered: Atsakyta + equal: Lygu + match: Įskaitant tekstą + not_answered: Neatsakyta + not_equal: Nelygu + condition_value: Įskaitytas tekstas + display_condition: Rodymo sąlyga + mandatory: Ši sąlyga turi būti patenkinta visada, neatsižvelgiant į kitų sąlygų statusą + remove: Pašalinti + save_warning: Prieš konfigūruodami rodymo sąlygas, nepamirškite išsaugoti formos + select_answer_option: Pasirinkite atsakymo variantą + select_condition_question: Pasirinkite klausimą + select_condition_type: Pasirinkti sąlygos tipą + edit: + save: Išsaugoti + title: Redaguoti klausimyną + form: + add_question: Pridėti klausimą + add_separator: Pridėti skyriklį + add_title_and_description: Pridėti pavadinimą ir aprašymą + already_answered_warning: Kai kurie naudotojai jau atsakė į formos klausimus, todėl jos klausimų keisti nebegalite. + collapse: Suskleisti visus klausimus + expand: Išskleisti visus klausimus + preview: Peržiūra + title: Taisyti %{questionnaire_for} formą + unpublished_warning: Forma nepaskelbta. Galite keisti klausimus, tačiau tai darydami pašalinsite esamus atsakymus. + matrix_row: + matrix_row: Eilutė + remove: Pašalinti + statement: Pareiškimas + question: + add_answer_option: Pridėti atsakymo variantą + add_display_condition: Pridėti rodymo sąlygą + add_display_condition_info: Išsaugokite formą, kad galėtumėt konfiguruoti rodymo sąlygas + add_matrix_row: Pridėti eilutę + any: Bet koks + collapse: Suskleisti + description: Aprašymas + down: Žemyn + expand: Išplėsti + question: Klausimas + remove: Pašalinti + statement: Pareiškimas + up: Į viršų + separator: + down: Žemyn + remove: Pašalinti + separator: Skirtukas + up: Į viršų + title_and_description: + collapse: Suskleisti + description: Aprašymas + down: Žemyn + expand: Išplėsti + remove: Pašalinti + title: Pavadinimas + title_and_description: Pavadinimas ir aprašymas + up: Aukštyn + update: + invalid: Išsaugant šią formą iškilo problema. + success: Forma sėkmingai išsaugota. + errors: + answer: + body: Pagrindinė dalis negali būti tuščia + files: + extension_allowlist: 'Priimtini formatai:' + images: + dimensions: "%{width} x %{height} px" + dimensions_info: 'Šis vaizdas bus:' + processors: + resize_and_pad: Pakeisto dydžio ir užpildytas iki + resize_to_fit: Pakeistas dydis, kad tilptų + question_types: + files: Dokumentai + long_answer: Ilgas atsakymas + matrix_multiple: Matrica (su keliais variantais) + matrix_single: Matrica (vienas variantas) + multiple_option: Keli variantai + short_answer: Trumpas atsakymas + single_option: Vienas variantas + sorting: Rūšiavimas + title_and_description: Pavadinimas ir aprašymas + questionnaires: + answer: + invalid: Atsakant į šią formą iškilo problema. + max_choices_alert: Per daug pasirinktų variantų + success: Į formos klausimus atsakyta. + question: + max_choices: 'Didžiausias pasirinkčių skaičius: %{n}' + show: + answer_questionnaire: + anonymous_user_message: Prisijunkite su savo paskyra arba užsiregistruokite norėdami užpildyti formą. + title: Atsakyti į formos klausimus + current_step: Žingsnis %{step} + of_total_steps: iš%{total_steps} + questionnaire_answered: + body: Jau atsakėte iš šios formos klausimus. + title: Jau atsakyta + questionnaire_closed: + body: Forma uždaryta ir į ją atsakyti negalima. + title: Forma uždaryta + questionnaire_for_private_users: + body: Forma pateikiama tik privatiems naudotojams + title: Forma uždaryta + questionnaire_js_disabled: + body: Kai kurie šios formos funkcionalumai bus neaktyvūs. Kad pagerintumėte naudojimo patirtį, naršyklėje įjunkite „JavaScript“. + title: '„JavaScript“ išjungta' + questionnaire_not_published: + body: Ši forma dar nepaskelbta. + tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis + step_navigation: + show: + are_you_sure: Šio veiksmo atšaukti negalima ir savo atsakymų keisti negalėsite. Ar esate įsitikinę? + back: Atgal + continue: Tęsti + submit: Pateikti + user_answers_serializer: + body: Atsakymas + completion: Užbaigimas + created_at: Atsakyta + id: Atsakymo ID + ip_hash: IP adreso "hash" kodas + question: Klausimas + registered: Užregistruota + session_token: Naudotojo identifikatorius + unregistered: Neregistruoti + user_status: Naudotojo būsena diff --git a/decidim-initiatives/config/locales/de.yml b/decidim-initiatives/config/locales/de.yml index de93578866ee7..a0f50dc7daa73 100644 --- a/decidim-initiatives/config/locales/de.yml +++ b/decidim-initiatives/config/locales/de.yml @@ -404,6 +404,7 @@ de: notification_title: %{applicant_nickname} hat sich für das Promoter-Komittee Ihrer Initiative %{resource_title} beworben. Um anzunehmen oder abzulehnen, klicken Sie hier. form: add_attachments: Dokumente + attachment_legend: "(Optional) Anhang hinzufügen" delete_attachment: Löschen index: title: Initiativen @@ -574,6 +575,9 @@ de: menu: initiatives: Initiativen resources: + initiative: + actions: + comment: Kommentar initiatives_type: actions: title: Aktionen @@ -605,7 +609,7 @@ de: title: Zeichen %{initiative_title} initiatives: initiative: - check: Hör zu + check: Mehr erfahren check_and_support: Überprüfe es und unterschreibe es no_initiatives_yet: no_initiatives_yet: Keine Initiativen bisher! diff --git a/decidim-initiatives/config/locales/fr.yml b/decidim-initiatives/config/locales/fr.yml index e26ece3c06144..c3d541464f0b4 100644 --- a/decidim-initiatives/config/locales/fr.yml +++ b/decidim-initiatives/config/locales/fr.yml @@ -19,7 +19,7 @@ fr: initiatives_committee_member: user: Membre du Comité de promotion initiatives_type: - area_enabled: Permettre aux auteurs de choisir le périmètre d'application pour leur pétition + area_enabled: Permettre aux auteurs de choisir le périmètre d'assemblée pour leur pétition attachments_enabled: Autoriser les pièces jointes banner_image: Image d'en-tête child_scope_threshold_enabled: Autoriser les signatures par sous-secteur diff --git a/decidim-initiatives/config/locales/hu.yml b/decidim-initiatives/config/locales/hu.yml index a8499e72ea4e5..2c44a7454f0af 100644 --- a/decidim-initiatives/config/locales/hu.yml +++ b/decidim-initiatives/config/locales/hu.yml @@ -5,6 +5,7 @@ hu: decidim_user_group_id: Szerző description: Leírás offline_votes: Támogatás szemtől szembe + offline_votes_for_scope: 'Személyesen aláírások erre: %{scope_name}' scope_id: Hatáskör signature_end_date: Az aláírásgyűjtési időszak vége signature_start_date: Az aláírásgyűjtési időszak kezdete @@ -18,13 +19,18 @@ hu: initiatives_committee_member: user: Bizottsági tag initiatives_type: + area_enabled: Lehetővé teszi a szerzők számára, hogy kiválasszák a kezdeményezésük területét + attachments_enabled: Mellékletek engedélyezése banner_image: Banner kép + child_scope_threshold_enabled: A gyermek hatókör aláírásainak engedélyezése collect_user_extra_fields: Személyes adatok gyűjtése az aláíráskor + custom_signature_end_date_enabled: Lehetővé teszi a szerzők számára, hogy kiválasszák az aláírásgyűjtési időszak végét description: Leírás document_number_authorization_handler: A dokumentum számának ellenőrzésének engedélyezése a szavazatokon extra_fields_legal_information: Jogi információk a személyes adatok gyűjtéséről minimum_committee_members: Bizottsági tagok minimális száma online_signature_enabled: Online aláírás engedélyezve + only_global_scope_enabled: Csak globális hatókörű kezdeményezések létrehozását engedélyezze promoting_committee_enabled: Előléptetési bizottság engedélyezése title: Cím undo_online_signatures_enabled: Engedélyezze a felhasználók számára az online aláírások visszavonását @@ -38,6 +44,14 @@ hu: address: Lakcím id_document: Személyigazolvány name: Teljes név + errors: + models: + initiative: + attributes: + attachment: + file: A fájl érvénytelen + needs_to_be_reattached: Újra kell csatolni + title: A cím nem lehet üres activerecord: models: decidim/initiative: @@ -68,16 +82,22 @@ hu: validating: Technikai érvényesítés type_id_eq: label: Típus + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Keresés a(z) %{collection} elemei között cím, leírás, azonosító vagy szerző alapján. menu: + attachments: Csatolmányok + committee_members: Bizottsági tagok components: Elemek information: Információ initiatives: Kezdeményezések initiatives_types: Kezdeményezések típusa + moderations: Moderálások models: initiatives: fields: created_at: 'Létrehozva:' id: ID + published_at: Publikálás ideje state: Állapot supports_count: Aláírások title: Kezdeményezések @@ -103,6 +123,7 @@ hu: initiative_title: Kezdeményezés címe name_and_surname: Keresztnév és Vezetéknév postal_code: Irányítószám + scope: Hatókör time_and_date: Idő és dátum timestamp: Időbélyeg titles: @@ -110,11 +131,22 @@ hu: initiatives_types: Kezdeményezési típusai events: initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen + email_outro: Azért kapta ezt az értesítést, mert Ön a platform adminisztrátora. + email_subject: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. + notification_title: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen initiative_extended: email_intro: A(z) %{resource_title} kezdeményezés aláírásának határideje kitolódott! email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{resource_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.' email_subject: Kezdeményezés aláírásának határideje kitolva! notification_title: A(z) %{resource_title} kezdeményezés aláírásának határidejét kitolták. + initiative_sent_to_technical_validation: + email_intro: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen + email_outro: Ezt az értesítést kaptad, mert te vagy a platform adminja. + email_subject: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. + notification_title: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen milestone_completed: affected_user: email_intro: A %{resource_title} kezdeményezésed elérte az aláírások %{percentage}% -át! @@ -126,6 +158,11 @@ hu: email_outro: Ezt az értesítést azért kaptad, mert követed ezt %{resource_title}. Leállíthathatod az értesítések fogadását az előző linkkel. email_subject: Új mérföldkő kész áll! notification_title: A(z) %{resource_title} kezdeményezést már %{percentage}% aláírta. + support_threshold_reached: + email_intro: A(z) %{resource_title} kezdeményezés elérte a támogatási küszöböt + email_outro: Ezt az értesítést kaptad, mert te vagy a platform adminja. + email_subject: Támogatási küszöb elérve + notification_title: A(z) %{resource_title} kezdeményezés elérte a támogatási küszöböt gamification: badges: initiatives: @@ -170,10 +207,17 @@ hu: content_blocks: highlighted_initiatives: max_results: A megjelenítendő elemek maximális száma + order: + default: Alapértelmezett (Legutóbbi) + label: 'Elemek rendezése:' + most_recent: Legfrissebb + exports: + initiatives: Kezdeményezések initiatives: edit: accept: Kezdeményezés elfogadása confirm: Biztos vagy benne? + confirm_send_to_technical_validation: Biztos vagy benne? discard: Kezdeményezés félrerakása export_pdf_signatures: Aláírások exportálása PDF-be export_votes: Exportálás támogatása @@ -189,6 +233,11 @@ hu: actions_title: Művelet preview: Előnézet print: Nyomtatás + initiative_attachments: + documents: Dokumentumok + edit: Szerkeszt + new: Új + photos: Fotók update: error: Hiba történt success: Az állampolgári kezdeményezés frissítése sikeres @@ -222,6 +271,10 @@ hu: destroy: Törlés update: Frissítés form: + authorizations: Hitelesítési beállítások + child_scope_threshold_enabled_help: 'Ez a konfigurációs zászló nem támogatja az offline szavazást, engedélyezi az al-hatóköröket, és egy olyan engedélyezési kezelővel működik, amely egy hatókört társít a felhasználóhoz, győződjön meg róla, hogy ezt az engedélyezést választja ki, az engedélyezési beállításoknál. Ahhoz, hogy működjön, a hatóköröket hierarchikusan kell beállítani : 1 szülő - N gyermek. További információért arról, hogy hogyan működik ez a konfiguráció, lásd ezt a cikketlink.' + only_global_scope_enabled_help: Jelölje be ezt a jelölőnégyzetet, ha engedélyezte a "Gyermek hatókör aláírás" opciót, és a globális hatókörét szülő hatókörként konfigurálta. Ennek engedélyezésével a kezdeményezés típusának kiválasztása kihagyásra kerül a kezdeményezés létrehozására szolgáló varázslóban. A konfiguráció működésével kapcsolatos további információkért lásd ezt a cikketlink. + options: Opciók title: Általános információk initiative_type_scopes: title: Kezdeményezés típusának hatásköre @@ -238,18 +291,34 @@ hu: unpublish: "%{user_name} elvetette a(z) %{resource_name} kezdeményezést" update: "%{user_name} frissítette a(z) %{resource_name} kezdeményezést" admin_states: + accepted: Elegendő aláírás created: Létrehozva discarded: Elvetve published: Közzétéve + rejected: Nincs elegendő aláírás validating: Technikai érvényesítés application_helper: + filter_area_values: + all: Összes + filter_scope_values: + all: Összes filter_state_values: + accepted: Elegendő aláírás + all: Összes + answered: Megválaszolt closed: Lezárt open: Megnyitás + rejected: Nincs elegendő aláírás + filter_type_values: + all: Összes committee_requests: + approve: + success: A kérés jóváhagyva. new: continue: Tovább help_text: Arra készülsz, hogy csatlakozz az úgynevezett kezdeményező bizottsághoz + revoke: + success: A kérédés visszavonásra került. spawn: success: A kérelmet elküldtük a kezdeményezés szerzőjének. content_blocks: @@ -259,14 +328,23 @@ hu: fill_data: back: Vissza continue: Tovább + fill_data_help: "
    • Nézd meg a kezdeményezésed tartalmát. Könnyű megérteni? Tiszta a kezdeményezésed célja?
    • Az aláírás típusát válaszd ki. Személyes, online vagy a kombinációja mindkettőnek
    • Mi a földrajzi hatóköre a kezdeményezésednek?
    " initiative_type: Kezdeményezés típusa more_information: "(További információk)" + select_area: Válasszon ki egy területet select_scope: Válassz hatáskört finish: back: Vissza back_to_initiatives: Vissza a kezdeményezésekhez + callout_text: Gratulálunk! A kezdeményezés létrehozása sikeres. + confirm: A kezdeményezés elküldése egy adminisztrátornak felülvizsgálat és közzététel céljából. A közzététel után már nem lesz lehetőség szerkeszteni. Biztos vagy benne? + edit_my_initiative: Kezdeményezésem szerkesztése go_to_my_initiatives: Ugrás a saját kezdeményezéseimhez more_information: "(További információk)" + send_my_initiative: A kezdeményezésem technikai ellenőrzésre küldése + finish_help: + access_reminder: A kezdeményezéseidet elérheted a %{link} a kezdeményezések oldalon. + publish_helper_text: Emlékeztetünk, hogy a kezdeményezésed publikációjához minden szükséges információt meg kell adjál és technikai ellenőrzésen kell átesnie egy adminisztrátor segítségével. previous_form: back: Vissza continue: Tovább @@ -274,12 +352,14 @@ hu: more_information: "(További információk)" promotal_committee: back: Vissza + individual_help_text: Ezt a típusú kezdeményezést csak olyan Előterjesztő Bizottság nyújthatja be, melynek legalább %{committee_size} tagja van. A következő linket oszd meg a kezdeményezést pártolókkal. Amikor megkapják a linket, az abban jelzett lépéseket kell követniük. more_information: "(További információk)" select_initiative_type: back: Vissza choose_html: Szeretnék létrehozni egy %{title} more_information: "(További információk)" select: Szeretném támogatni ezt a kezdeményezést + select_initiative_type_help: A kezdeményezések olyan eszközök, amelyekkel a résztvevők beavatkozhatnak, hogy a szervezet a közérdek védelmében lépéseket tegyen. Milyen kezdeményezést szeretnél elindítani? share_committee_link: continue: Tovább invite_to_committee_help: Link azok meghívásához, akik részt vesznek a kezdeményező bizottságban @@ -288,7 +368,22 @@ hu: compare_help: Ha az alábbi kezdeményezések valamelyike ​​hasonló a tiedhez, inkább azt támogasd. Így a te ügyednek is több esélye van a megvalósításra. continue: Más jellegű kezdeményezés more_information: "(További információk)" + edit: + accept: Kezdeményezés elfogadása + back: Vissza + confirm: Biztos vagy benne? + discard: Kezdeményezés elvetése + export_pdf_signatures: Aláírások exportálása PDF-be + export_votes: Aláírások exportálása + reject: Kezdeményezés elutasítása + title: Kezdeményezésem szerkesztése + update: Frissítés events: + approve_membership_request: + email_intro: "%{author_nickname} elfogadta a jelentkezésedet, hogy részt vegyen a %{resource_title} kezdeményezést előterjesztő bizottságban." + email_outro: 'Ezt az értesítést azért kaptad, mert jelentkeztél a %{resource_title} kezdeményezéshez' + email_subject: "%{author_nickname} elfogadta a jelentkezésedet az előterjesztő bizottságba" + notification_title: %{author_nickname} elfogadta a jelentkezésedet a %{resource_title} kezdeményezés előterjesztő bizottságába. create_initiative_event: email_intro: "%{author_name} %{author_nickname} (akit követsz) új kezdeményezést hozott létre, nézd meg és tegyél hozzá valamit:" email_outro: 'Ezt az értesítést azért kaptad, mert őt követed: "%{author_nickname}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.' @@ -299,8 +394,20 @@ hu: email_outro: 'Ezt az értesítést azért kaptad, mert őt követed: "%{author_nickname}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.' email_subject: '%{author_nickname} támogatta a kezdeményezést' notification_title: 'A(z) %{resource_title}kezdeményezést támogatta: %{author_name} %{author_nickname}.' + revoke_membership_request: + email_intro: "%{author_nickname} visszautasította a jelentkezésedet, hogy részt vegyél a %{resource_title} kezdeményezést előterjesztő bizottságban." + email_outro: 'Ezt az értesítést azért kaptad, mert jelentkeztél a %{resource_title} kezdeményezéshez.' + email_subject: "%{author_nickname} visszautasította a jelentkezésedet az előterjesztő bizottságba" + notification_title: %{author_nickname} visszautasította a jelentkezésedet a %{resource_title} kezdeményezés előterjesztő bizottságába. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} a %{resource_title} kezdeményezésed előterjesztő bizottságába jelentkezett. Az elfogadást vagy visszautasítását a kezdeményezésed szerkesztésénél teheted meg." + email_outro: 'Ezt az értesítést azért kaptad, mert Te vagy a %{resource_title} kezdeményezés elindítója.' + email_subject: "%{applicant_nickname} szeretne csatlakozni a kezdeményezésedhez" + notification_title: %{applicant_nickname} a %{resource_title} kezdeményezésed előterjesztő bizottságába jelentkezett. Az elfogadáshoz vagy elutasításhoz kattints ide. form: + add_attachments: Dokumentumok attachment_legend: "(Opcionális) Csatolmány hozzáadása" + delete_attachment: Törlés index: title: Kezdeményezések initiative_signatures: @@ -337,14 +444,23 @@ hu: hidden_authors_count: one: és további 1 személy other: és még %{count} ember + committee_members: + approve: Jóváhagy + confirm_revoke: Biztos vagy benne? + invite_to_committee_help: Ossza meg ezt a hivatkozást, hogy meghívjon más résztvevőket a támogatói bizottságba + no_members_yet: Nincsenek tagok a támogatói bizottságban + revoke: Visszavonás + title: Bizottsági tagok count: title: one: "%{count} kezdeményezést" other: "%{count} kezdeményezést" filters: any: Bármely + area: Terület author: Szerző myself: Kezdeményezéseim + scope: Hatókör search: Keresés state: Állapot type: Típus @@ -355,6 +471,11 @@ hu: unfold: Kibont index_header: new_initiative: Új kezdeményezés + not_authorized: + authorizations_page: Engedélyezések megtekintése + close: Bezárás + explanation: Ha új kezdeményezést szeretne létrehozni, el kell végezni az Ön adatainak ellenőrzését. + title: Engedélyezés szükséges initiatives: closed_initiatives_warning: Jelenleg nincs nyitott találkozó, de itt megtalálhatod az összes zárt találkozó listáját. no_initiatives_warning: Egyik kezdeményezés sem felel meg a keresési feltételnek. @@ -369,12 +490,40 @@ hu: most_voted: Legtöbb aláírás random: Véletlenszerű recent: Legutóbbi + recently_published: Legfrissebben közzétett print: + address: Cím + author_title: A kezdeményezés indítója city: Település + email: Email + full_name: Teljes név + general_title: Kezdeményezés befogadása iránti kérelem + id_number: ID Szám + initiative: + attachments: Csatolt dokumentáció (kérem minden dokumentum nevét írja meg lentebb) + description: 'Leírás:' + title: 'Cím:' + type: A kezdeményezés típusa + legal_text: Az összegyűjtött személyes adatokat a szervezet a hatályos jogszabályoknak megfelelően beépíti és bizalmasan kezeli. + members_header: A kezdeményezés előterjesztő bizottságának tagjai + phone_number: Telefonszám + place_date: Hely, dátum + postal_code: Irányítószám + print: Nyomtatás + province: Megye + section: 'Ha a szervezet kéri, kérjük, nyomtassa ki és töltse ki ezt az űrlapot, és küldje be a megadott helyre:' + signature: Aláírás result: + answer_title: A kezdeményezés megválaszolásra került initiative_rejected_reason: A kezdeményezést a támogatás hiánya miatt elutasították. show: + any_vote_method: A kezdeményezés online és személyes úton leadott aláírásokat gyűjt. + confirm: A kezdeményezés elküldése egy adminisztrátornak felülvizsgálat és közzététel céljából. A közzététel után már nem lesz lehetőség szerkeszteni. Biztos vagy benne? + edit: Szerkeszt follow_description: Értesítést kapjon, ha ebben a kezdeményezésben vannak hírek + offline_method: E kezdeményezés keretében csak személyes aláírásokat gyűjtenek. + print: Kezdeményezés nyomtatása + send_to_technical_validation: Elküldés technikai ellenőrzésre signatures_count: one: " aláírás" other: " aláírások" @@ -408,13 +557,30 @@ hu: highlighted_initiatives: active_initiatives: Aktív kezdeményezések see_all_initiatives: Összes kezdeményezés + show: + badge_name: + accepted: Elegendő aláírás + created: Létrehozva + discarded: Elvetve + published: Közzétéve + rejected: Nincs elegendő aláírás + validating: Technikai érvényesítés states: accepted: Elfogadva expired: Lejárt unavailable_scope: Nem áll rendelkezésre + update: + error: Hiba történt + success: A kezdeményezés frissítése sikeres + versions: + shared: + back_to_resource: Vissza a kezdeményezéshez menu: initiatives: Kezdeményezések resources: + initiative: + actions: + comment: Megjegyzés initiatives_type: actions: title: Hozzászólások diff --git a/decidim-initiatives/config/locales/is-IS.yml b/decidim-initiatives/config/locales/is-IS.yml index 1d587796ef988..93a82046bd174 100644 --- a/decidim-initiatives/config/locales/is-IS.yml +++ b/decidim-initiatives/config/locales/is-IS.yml @@ -206,6 +206,8 @@ is-IS: check_initiative_details: Þú getur séð frumkvæði upplýsingar here: hér more_information: Hér hefur þú meiri upplýsingar um frumkvöðlunarferlið. + last_activity: + new_initiative: Nýtt frumkvæði pages: home: highlighted_initiatives: diff --git a/decidim-initiatives/config/locales/lt.yml b/decidim-initiatives/config/locales/lt.yml index 6c5cb837ac8c1..553611ce1494b 100644 --- a/decidim-initiatives/config/locales/lt.yml +++ b/decidim-initiatives/config/locales/lt.yml @@ -1 +1,634 @@ lt: + activemodel: + attributes: + initiative: + decidim_user_group_id: Autorė(-ius) + description: Aprašymas + offline_votes: Fiziniai parašai + offline_votes_for_scope: Fiziniai parašai%{scope_name} + scope_id: Apimtis + signature_end_date: Parašų rinkimų periodo pabaiga + signature_start_date: Parašų rinkimo periodo pradžia + signature_type: Parašų rinkimo tipas + signature_type_values: + any: Mišrūs + offline: Fiziniai + online: Internetiniai + state: Būsena + title: Pavadinimas + initiatives_committee_member: + user: Komiteto narys + initiatives_type: + area_enabled: Leisti autoriams pasirinkti savo iniciatyvos erdvę + attachments_enabled: Leisti priedus + banner_image: Reklamjuostės paveikslėlis + child_scope_threshold_enabled: Leisti parašus posritėse + collect_user_extra_fields: Surinkti dalyvio asmens duomenis gavus parašą + custom_signature_end_date_enabled: Suteikti autoriams galimybę pasirinkti parašų rinkimo periodo pabaigą + description: Aprašymas + document_number_authorization_handler: Leidimas tikrinti dokumento numerį gavus parašą + extra_fields_legal_information: Teisinė informacija apie asmens duomenų rinkimą + minimum_committee_members: Mažiausias komiteto narių skaičius + online_signature_enabled: Pasirašymas internetu įjungtas + only_global_scope_enabled: Leisti tik globalių apimčių iniciatyvų kūrimą + promoting_committee_enabled: Leisti sklaidos komitetus + title: Pavadinimas + undo_online_signatures_enabled: Suteikti dalyviams galimybę panaikinti savo skaitmeninius parašus + validate_sms_code_on_votes: Į pasirašymo procesą įtraukti SMS kodo patvirtinimo etapą + initiatives_vote: + date_of_birth: Gimimo data + document_number: Dokumento numeris + name_and_surname: Vardas ir pavardė + postal_code: Pašto kodas + organization_data: + address: Adresas + id_document: Asmens tapatybės dokumentas + name: Pilnas vardas + errors: + models: + initiative: + attributes: + attachment: + file: Rinkmena netinkama + needs_to_be_reattached: Reikia pridėti iš naujo + title: Pavadinimo laukas neturėtų būti tuščias + activerecord: + models: + decidim/initiative: + one: Iniciatyva + few: Iniciatyvos + many: Iniciatyvos + other: Iniciatyvos + decidim/initiative_comittee: + one: Komitetas + few: Komitetai + many: Komitetai + other: Komitetai + decidim/initiative_vote: + one: Parašas + few: Prašai + many: Prašai + other: Prašai + decidim: + admin: + actions: + new_initiative_type: Naujas iniciatyvos tipas + filters: + initiatives: + decidim_area_id_eq: + label: Aplinka + state_eq: + label: Būsena + values: + accepted: Parašų užtenka + created: Sukurta + discarded: Atmesta + published: Publikuota + rejected: Parašų neužtenka + validating: Techninis patvirtinimas + type_id_eq: + label: Tipas + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Ieškoti %{collection} pagal pavadinimą, aprašymą, ID ar autoriaus vardą ir pavardę. + menu: + attachments: Priedai + committee_members: Komiteto nariai + components: Komponentai + information: Informacija + initiatives: Iniciatyvos + initiatives_types: Iniciatyvų tipai + moderations: Moderavimai + models: + initiatives: + fields: + created_at: Sukurta + id: ID + published_at: Publikuota + state: Būsena + supports_count: Parašai + title: Iniciatyvos + initiatives_type_scope: + fields: + scope: Apimtis + supports_required: Reikalingi parašai + name: Iniciatyvos tipo sritis + initiatives_types: + fields: + created_at: Sukurta + title: Iniciatyvų tipai + name: Iniciatyvos tipas + initiatives_votes: + fields: + date_of_birth: Gimimo data + document_number: Dokumento numeris + hash: '"Hash" kodas' + initiative_end_date: Pabaigos data + initiative_id: Iniciatyvos ID + initiative_signatures_count: Parašų skaičius + initiative_start_date: Pradžios data + initiative_title: Iniciatyvos pavadinimas + name_and_surname: Vardas ir pavardė + postal_code: Pašto kodas + scope: Apimtis + time_and_date: Laikas ir data + timestamp: Laiko žymė + titles: + initiatives: Iniciatyvos + initiatives_types: Iniciatyvų tipai + events: + initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje + email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius. + email_subject: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. + notification_title: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje + initiative_extended: + email_intro: Pratęsta %{resource_title} iniciatyvos pasirašymo pabaigos data! + email_outro: Šį pranešimą gavote dėl to, kad sekate %{resource_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Iniciatyvos pasirašymo pabaigos data pratęsta! + notification_title: Pratęsta iniciatyvos %{resource_title} pasirašymo pabaigos data. + initiative_sent_to_technical_validation: + email_intro: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje + email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius. + email_subject: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. + notification_title: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje + milestone_completed: + affected_user: + email_intro: Jūsų iniciatyva %{resource_title} surinko %{percentage}% parašų! + email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} iniciatyvos autorius. + email_subject: Užbaigtas naujas etapas! + notification_title: Jūsų iniciatyva %{resource_title} surinko %{percentage}% parašų. + follower: + email_intro: Iniciatyva %{resource_title} surinko %{percentage}% parašų! + email_outro: Šį pranešimą gavote dėl to, kad sekate %{resource_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Užbaigtas naujas etapas! + notification_title: Iniciatyva %{resource_title} surinko %{percentage}% parašų. + support_threshold_reached: + email_intro: Iniciatyva %{resource_title} pasiekė parašų slenkstį + email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius. + email_subject: Prašų slenkstis pasiektas + notification_title: Iniciatyvos %{resource_title} parašų slenkstis pasiektas + gamification: + badges: + initiatives: + conditions: + - Eiti į iniciatyvų dalyvaujamąją erdvę + - Sekti žingsnius naujos iniciatyvos sukūrimui + description: Šis ženklelis suteikiamas, kai pradedate naujas iniciatyvas ir bendradarbiaujate su kitais, kad jas įgyvendintumėte. + description_another: Šis dalyvis paskelbė %{score} iniciatyvas (-ų). + description_own: Jūs paskelbėte %{score} iniciatyvas (-ų). + name: Paskelbtos iniciatyvos + next_level_in: Paskelbkite dar %{score} iniciatyvas (-ų) ir pasiekite kitą lygį! + unearned_another: Šis dalyvis dar nepaskelbė nė vienos iniciatyvos. + unearned_own: Jūs nepaskelbėte nė vienos iniciatyvos. + help: + participatory_spaces: + initiatives: + contextual: "

    Iniciatyva – pasiūlymas, kurį kiekvienas gali remti savo iniciatyva (nepriklausomai nuo kitų būdų ar dalyvaujamojo proceso erdvių), jeigu organizacijai surenka (skaitmeninių) parašų, kad būtų galima vykdyti konkrečius veiksmus (keisti reglamentą, inicijuoti projektą, keisti departamento ar gatvės pavadinimą ir kt.).

    Iniciatyvos rėmėjai gali apibrėžti savo tikslus, rinkti paramą, diskutuoti, užsiimti jos sklaida ir nustatyti posėdžių vietas, kuriose gali būti renkami dalyvių parašai arba diskusijos atveriamos kitiems dalyviams.

    Pavyzdžiai: Iniciatyva gali būti paremta parašais, kad būtų galima surengti visų organizacijos narių konsultacijas arba sukurti ar sušaukti asamblėją, arba pradėti organizacijos teritorijos ar srities biudžeto didinimo procesą. Renkant parašus, šią iniciatyvą gali paremti daugiau žmonių ir ją įgyvendinti organizacijoje.

    \n" + page: "

    Iniciatyva – pasiūlymas, kurį kiekvienas gali remti savo iniciatyva (nepriklausomai nuo kitų būdų ar dalyvaujamojo proceso erdvių), jeigu organizacijai surenka (skaitmeninių) parašų, kad būtų galima vykdyti konkrečius veiksmus (keisti reglamentą, inicijuoti projektą, keisti departamento ar gatvės pavadinimą ir kt.).

    Iniciatyvos rėmėjai gali apibrėžti savo tikslus, rinkti paramą, diskutuoti, užsiimti jos sklaida ir nustatyti posėdžių vietas, kuriose gali būti renkami dalyvių parašai arba diskusijos atveriamos kitiems dalyviams.

    Pavyzdžiai: Iniciatyva gali būti paremta parašais, kad būtų galima surengti visų organizacijos narių konsultacijas arba sukurti ar sušaukti asamblėją, arba pradėti organizacijos teritorijos ar srities biudžeto didinimo procesą. Renkant parašus, šią iniciatyvą gali paremti daugiau žmonių ir ją įgyvendinti organizacijoje.

    \n" + title: Kas yra iniciatyvos? + initiatives: + actions: + answer: Atsakymas + admin: + answers: + edit: + answer: Atsakymas + title: '%{title} atsakymas' + info_initiative: + created_at: Sukurta + description: Aprašymas + initiative_votes_count: Balsų skaičius + initiatives: Iniciatyvos + state: Būsena + committee_requests: + index: + approve: Patvirtinti + confirm_revoke: Ar esate tikri? + invite_to_committee_help: Bendrinkite šią nuorodą ir į projekto rėmėjų komitetą pakvieskite kitų dalyvių + no_members_yet: Rėmėjų komitete nėra narių + revoke: Atšaukti + title: Komiteto nariai + content_blocks: + highlighted_initiatives: + max_results: Didžiausias rodomų elementų skaičius + order: + default: Numatytasis (seniausias) + label: 'Rikiuoti elementus pagal:' + most_recent: Naujausia + exports: + initiatives: Iniciatyvos + initiatives: + edit: + accept: Priimti iniciatyvą + confirm: Ar esate tikri? + confirm_send_to_technical_validation: Ar esate tikri? + discard: Atmesti iniciatyvą + export_pdf_signatures: Eksportuoti parašus PDF formatu + export_votes: Eksportuoti parašus + reject: Atmesti iniciatyvą + send_to_technical_validation: Siųsti techniniam patvirtinimui + success: Iniciatyva išsiųsta techniniam patvirtinimui + update: Atnaujinti + form: + attachments: Priedai + settings: Nustatymai + title: Bendra informacija + index: + actions_title: Veiksmas + preview: Peržiūra + print: Spausdinti + initiative_attachments: + documents: Dokumentai + edit: Redaguoti + new: Naujas + photos: Nuotraukos + update: + error: Įvyko klaida + success: Iniciatyva sėkmingai atnaujinta + initiatives_type_scopes: + create: + error: Įvyko klaida + success: Sukurta nauja sritis šiam iniciatyvų tipui + destroy: + success: Sritis sėkmingai pašalinta + edit: + back: Atgal + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + title: Redaguoti iniciatyvos tipo sritį + update: Atnaujinti + new: + back: Atgal + create: Sukurti + title: Sukurti iniciatyvos tipo sritį + update: + error: Įvyko klaida + success: Sritis atnaujinta + initiatives_types: + create: + error: Įvyko klaida + success: Naujas iniciatyvos tipas sukurtas + destroy: + success: Iniciatyvos tipas sėkmingai pašalintas + edit: + confirm_destroy: Ar esate tikri? + destroy: Ištrinti + update: Atnaujinti + form: + authorizations: Autorizacijos nustatymai + child_scope_threshold_enabled_help: 'Šis konfigūracijos variantas neleidžia turėti fizinių balsų. Jis leidžia turėti posrites ir dirba su autorizacijų tvarkykle kuri priskiria sritį naudotojui. Įsitikinkite, kad pasirenkate teisingą autorizaciją autorizacijų nustatymuose esančiuose žemiau. Tam, kad tai veiktų, sritys turi būti sukonfigūruotos hierarchiškai: 1. Motininis - N Jaunesnysis. Daugiau informacijos galite rasti iniciatyvų administratorių dokumentacijos puslapyje.' + only_global_scope_enabled_help: Pažymėkite šį laukelį, jei įjungėte "Įgalinti parašus pagal poskyrį" ir nustatėte visuotinę apimtį kaip motininę apimtį. Įjungus šį laukelį iniciatyvos tipo pasirinkimas bus praleistas iniciatyvos kūrimo vedlyje. Jei reikia daugiau informacijos apie tai, kaip veikia ši sąranka, žr. šią nuorodą. + options: Variantai + title: Bendra informacija + initiative_type_scopes: + title: Iniciatyvos rūšies sritys + new: + create: Sukurti + title: Naujas iniciatyvos tipas + update: + error: Įvyko klaida + success: Iniciatyvos tipas sėkmingai atnaujintas + admin_log: + initiative: + publish: "%{user_name} paskelbė %{resource_name} iniciatyvą" + send_to_technical_validation: "%{user_name} išsiuntė iniciatyvą %{resource_name} techniniam patvirtinimui" + unpublish: "%{user_name} atmetė iniciatyvą %{resource_name}" + update: "%{user_name} atnaujino iniciatyvą %{resource_name}" + admin_states: + accepted: Parašų užtenka + created: Sukurta + discarded: Atmesta + published: Paskelbta + rejected: Parašų neužtenka + validating: Techninis patvirtinimas + application_helper: + filter_area_values: + all: Visi + filter_scope_values: + all: Visi + filter_state_values: + accepted: Parašų užtenka + all: Visi + answered: Atsakyta + closed: Uždaryta + open: Atidaryta + rejected: Parašų neužtenka + filter_type_values: + all: Visi + committee_requests: + approve: + success: Užklausa patenkinta. + new: + continue: Tęsti + help_text: Jūs pateiksite prašymą tapti šios iniciatyvos rėmimo komiteto nariu + revoke: + success: Užklausa atsiimta. + spawn: + success: Jūsų prašymas išsiųstas iniciatyvos autoriui. + content_blocks: + highlighted_initiatives: + name: Paryškintos iniciatyvos + create_initiative: + fill_data: + back: Atgal + continue: Tęsti + fill_data_help: "
    • Peržiūrėkite savo iniciatyvos turinį. Ar jūsų pavadinimas lengvai suprantamas? Ar jūsų iniciatyvos tikslas aiškus?
    • Turite pasirinkti parašo rūšį. Asmeniškai, internetu, derinti abu būdus
    • Kokia iniciatyvos geografinė taikymo sritis?
    " + initiative_type: Iniciatyvos tipas + more_information: "(Daugiau informacijos)" + select_area: Pasirinkti erdvę + select_scope: Pasirinkti apimtį + finish: + back: Atgal + back_to_initiatives: Grįžti į iniciatyvas + callout_text: Sveikiname! Jūsų iniciatyva sukurta. + confirm: Jūs siųsite šią iniciatyvą administratoriaus peržiūrai ir publikavimui. Paskelbus iniciatyvą jos koreguoti nebegalėsite. Ar tikrai norite ją siųsti? + edit_my_initiative: Redaguoti mano iniciatyvas + go_to_my_initiatives: Eiti į mano iniciatyvas + more_information: "(Daugiau informacijos)" + send_my_initiative: Siųsti mano iniciatyvą techniniam patvirtinimui + finish_help: + access_reminder: Galite pasiekti savo iniciatyvas per %{link} filtrą iniciatyvų puslapyje. + publish_helper_text: Prisiminkite, kad tam, kad iniciatyva būtų publikuota turite užpildyti būtiną informaciją ir išsiųsti ją techniniam patvirtinimui atliekamam administratorių. + previous_form: + back: Atgal + continue: Tęsti + help: Kas yra ši iniciatyva? Užrašykite pavadinimą ir aprašykite. Rekomenduojame trumpą ir glaustą pavadinimą ir glaustai aprašyti siūlomą sprendimą. + more_information: "(Daugiau informacijos)" + promotal_committee: + back: Atgal + individual_help_text: Kad būtų galima įgyvendinti tokią piliečių iniciatyvą, Rėmimo komisiją turi sudaryti ne mažiau kaip %{committee_size} nariai (vertintojai). Šią nuorodą bendrinkite su kitais šioje iniciatyvoje dalyvaujančiais asmenimis. Gavę šią nuorodą, jūsų kontaktiniai asmenys turės atlikti nurodytus veiksmus. + more_information: "(Daugiau informacijos)" + select_initiative_type: + back: Atgal + choose_html: Noriu sukurti %{title} + more_information: "(Daugiau informacijos)" + select: Noriu paremti šią iniciatyvą + select_initiative_type_help: Iniciatyvos yra būdas dalyviams įsitraukti ir kartu su organizacija ginti bendrąjį interesą. Kurią iniciatyvą norite pradėti Jūs? + share_committee_link: + continue: Tęsti + invite_to_committee_help: Nuoroda, skirta dalyviams į rėmėjų komitetą pakviesti + show_similar_initiatives: + back: Atgal + compare_help: Jei kuri nors iš toliau nurodomų iniciatyvų yra panaši į jūsų iniciatyvą, raginame ją pasirašyti. Bus daugiau galimybių įgyvendinti jūsų pasiūlymus. + continue: Mano iniciatyva skiriasi + more_information: "(Daugiau informacijos)" + edit: + accept: Priimti iniciatyvą + back: Atgal + confirm: Ar esate tikri? + discard: Atmesti iniciatyvą + export_pdf_signatures: Eksportuoti parašus PDF formatu + export_votes: Eksportuoti parašus + reject: Atmesti iniciatyvą + title: Redaguoti iniciatyvą + update: Atnaujinti + events: + approve_membership_request: + email_intro: "%{author_nickname} priėmė aplikaciją tapti remėjų komiteto dalimi %{resource_title} iniciatyvai." + email_outro: 'Ši pranešimą gavote nes aplikavote į iniciatyvą: %{resource_title}' + email_subject: "%{author_nickname} priėmė Jūsų aplikaciją į remėjų komitetą" + notification_title: %{author_nickname} priėmė Jūsų aplikaciją tapti remėjų komiteto dalimi šiai iniciatyvai:%{resource_title}. + create_initiative_event: + email_intro: "%{author_name}%{author_nickname} kurį sekate sukūrė naują iniciatyvą. Ją rasite čia:" + email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Nauja %{author_nickname} iniciatyva + notification_title: Iniciatyvą %{resource_title} sukūrė %{author_name} %{author_nickname}. + endorse_initiative_event: + email_intro: "%{author_name} %{author_nickname}, kurį sekate, pritarė šiai iniciatyvai. Jei norėtumėte įsitraukti į pokalbį:" + email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: Iniciatyvai pritaria %{author_nickname} + notification_title: Iniciatyvai %{resource_title} pritarė %{author_name} %{author_nickname}. + revoke_membership_request: + email_intro: "%{author_nickname} atmetė Jūsų aplikaciją tapti remėjų komiteto nariu %{resource_title} iniciatyvai." + email_outro: 'Ši pranešimą gavote nes aplikavote į iniciatyvą: %{resource_title}.' + email_subject: "%{author_nickname} priėmė Jūsų aplikaciją į remėjų komitetą" + notification_title: %{author_nickname} atmetė Jūsų aplikaciją tapti remėjų komiteto dalimi šiai iniciatyvai:%{resource_title}. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} pateikė paraišką prisijungti prie %{resource_title} iniciatyvos remėjų komiteto. Norėdami priimti ar atmesti paraišką, eikite į iniciatyvos redagavimo formą." + email_outro: 'Šį pranešimą gavote dėl to, kad esate %{resource_title} iniciatyvos autorius' + email_subject: "%{applicant_nickname} nori prisijungti prie Jūsų iniciatyvos" + notification_title: %{applicant_nickname} pateikė paraišką prisijungti prie %{resource_title} iniciatyvos remėjų komiteto. Norėdami priimti ar atmesti paraišką, spauskite čia. + form: + add_attachments: Dokumentai + attachment_legend: "(Neprivaloma) Pridėti priedą" + delete_attachment: Ištrinti + index: + title: Iniciatyvos + initiative_signatures: + fill_personal_data: + continue: Tęsti + date_select: + day: Diena + month: Mėnuo + year: Metai + help: Kad pasirašytumėte iniciatyvą, įrašykite savo asmens duomenis toliau nurodomuose laukeliuose + finish: + back_to_initiative: Grįžti į iniciatyvą + sms_code: + continue: Patikrinkite kodą ir tęskite + help: Pasitikrinkite telefone gautą SMS žinutę + sms_phone_number: + continue: Atsisiųsti SMS + help: Užpildykite formą su patikrintu telefono numeriu tam, kad gautumėte patvirtinimo kodą + initiative_votes: + create: + error: Pasirašant iniciatyvą kilo problema. + invalid: Iniciatyvai pasirašyti pateikti duomenys - neteisingi + success_html: Sveikiname! Iniciatyva %{title} pasirašyta + personal_data: + invalid: Asmens duomenys neatitinka leidimui gauti pateiktų duomenų. + sms_code: + invalid: Jūsų tikrinimo kodas nesutampa su mūsų kodu. Dar kartą patikrinkite jums atsiųstą SMS žinutę. + sms_phone: + invalid: Telefono numeris neteisingas arba laukiama leidimo. Patikrinkite savo leidimus. + initiatives: + author: + deleted: Ištrinta + author_list: + hidden_authors_count: + one: ir dar 1 žmogus + few: ir dar %{count} žmonės (-ių) + many: ir dar %{count} žmonės (-ių) + other: ir dar %{count} žmonės (-ių) + committee_members: + approve: Patvirtinti + confirm_revoke: Ar esate tikri? + invite_to_committee_help: Pasidalinkite šia nuoroda norėdami pakvieti kitus į remėjų komitetą + no_members_yet: Rėmėjų komitete nėra narių + revoke: Atšaukti + title: Komiteto nariai + count: + title: + one: "%{count} iniciatyva" + few: "%{count} iniciatyvos" + many: "%{count} iniciatyvos" + other: "%{count} iniciatyvos" + filters: + any: Bet kas + area: Aplinka + author: Autorė(-ius) + myself: Mano iniciatyvos + scope: Apimtis + search: Ieškoti + state: Būsena + type: Tipas + filters_small_view: + close_modal: Uždaryti langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + index_header: + new_initiative: Nauja iniciatyva + not_authorized: + authorizations_page: Peržiūrėti leidimus + close: Uždaryti + explanation: Norėdami sukurti naują iniciatyvą, turite būti patikrintas. + title: Reikalinga autorizacija + initiatives: + closed_initiatives_warning: Šiuo metu atvirų iniciatyvų nėra, tačiau čia galite rasti visų baigtų svarstyti iniciatyvų sąrašą. + no_initiatives_warning: Jūsų paieškos kriterijus atitinkančių iniciatyvų nerasta. + interactions: + comments_count: + count: + one: Komentaras + few: Komentarai + many: Komentarai + other: Komentarai + orders: + label: 'Rūšiuoti iniciatyvas pagal:' + most_commented: Labiausiai komentuota + most_voted: Surinko daugiausia parašų + random: Atsitiktinai + recent: Naujausia + recently_published: Naujausiai publikuota + print: + address: Adresas + author_title: Iniciatyvos autorė(-ius) + city: Miestas + email: El. paštas + full_name: Vardas ir pavardė + general_title: Aplikacija dėl iniciatyvos priėmimo + id_number: Asmens kodas + initiative: + attachments: Prisegti dokumentai (prašau įrašykite kiekvieno dokumento pavadinimą apačioje) + description: 'Aprašymas:' + title: 'Pavadinimas:' + type: Iniciatyvos tipas + legal_text: Surenkami asmens duomenys bus inkorporuojami ir tvarkomi konfidencialiai - laikantis teisės aktų. + members_header: Iniciatyvos remėjų komiteto nariai + phone_number: Telefono numeris + place_date: Vieta, Data + postal_code: Pašto kodas + print: Spausdinti + province: Provincija/Rajonas + section: 'Jei to reikalauja organizacija, prašome atspausdinti ir užpildyti šią formą išsiunčiamą kur nurodyta:' + signature: Parašas + result: + answer_title: Į iniciatyvą buvo atsakyta + initiative_rejected_reason: Ši iniciatyva atmesta, nes trūksta parašų. + show: + any_vote_method: Šiai piliečių iniciatyvai paremti parašai renkami tiek internetu, tiek fiziškai. + confirm: Jūs siųsite šią iniciatyvą administratoriaus peržiūrai ir publikavimui. Paskelbus iniciatyvą jos koreguoti nebegalėsite. Ar tikrai norite ją siųsti? + edit: Redaguoti + follow_description: Gauti pranešimą, kai atsiras su šia iniciatyva susijusių naujienų + offline_method: Ši iniciatyva renka tik fizinius parašus. + print: Spausdinti Iniciatyvą + send_to_technical_validation: Siųsti techniniam patvirtinimui + signatures_count: + one: " parašas" + few: " parašai" + many: " parašai" + other: " parašai" + vote_cabin: + already_voted: Jau pasirašyta + supports_required: "%{total_supports} – reikalingas parašų skaičius" + verification_required: Norėdami pasirašyti iniciatyvą, patvirtinkite savo paskyrą + vote: Pasirašyti + votes_blocked: Pasirašymas išjungtas + votes_count: + count: + one: Parašas + few: Parašai + many: Parašai + other: Parašai + most_popular_initiative: Populiariausia iniciatyva + need_more_votes: Reikia daugiau parašų + initiatives_mailer: + creation_subject: Jūsų iniciatyva „%{title}“ sukurta + initiative_link: + check_initiative_details: Galite matyti iniciatyvos detales + here: čia + more_information: Čia rasite daugiau informacijos apie iniciatyvos kūrimo procesą. + progress_report_body_for: Iniciatyva %{title} surinko %{percentage}% reikiamų parašų. + progress_report_for: 'Iniciatyvos santrauka: %{title}' + promotal_committee_help: Atminkite, kad į rėmimo komitetą turite pakviesti bent %{member_count} narius. Persiųskite šią nuorodą ir pakvieskite narių į rėmėjų komitetą + status_change_body_for: 'Iniciatyvos %{title} būsena pasikeitė į: %{state}' + status_change_for: Iniciatyvos %{title} būsena pasikeitė + last_activity: + new_initiative: Nauja iniciatyva + pages: + home: + highlighted_initiatives: + active_initiatives: Aktyvios iniciatyvos + see_all_initiatives: Žiūrėti visas iniciatyvas + show: + badge_name: + accepted: Parašų užtenka + created: Sukurta + discarded: Atmesta + published: Publikuota + rejected: Parašų neužtenka + validating: Techninis patvirtinimas + states: + accepted: Priimta + expired: Nebegalioja + unavailable_scope: Sritis nepasiekiama + update: + error: Įvyko klaida + success: Iniciatyva sėkmingai atnaujinta + versions: + shared: + back_to_resource: Grįžti į iniciatyvą + menu: + initiatives: Iniciatyvos + resources: + initiative: + actions: + comment: Komentaras + initiatives_type: + actions: + title: Veiksmai + vote: Pasirašyti + layouts: + decidim: + initiative_creation_header: + back: Atgal + fill_data: Sukurti + finish: Baigti + previous_form: Pradėti + promotal_committee: Rėmėjų komitetas + select_initiative_type: Pasirinkti + show_similar_initiatives: Palyginti + step: '%{current} žingsnis iš %{total}' + title: Sukurti naują iniciatyvą + initiative_header: + initiative_menu_item: Iniciatyva + initiative_signature_creation_header: + back: Atgal + fill_personal_data: Užpildyti savo duomenis + finish: Baigti + finished: Iniciatyvos parašas sukurtas + see_steps: peržiūrėti žingsnius + select_identity: Pasirinkite tapatybę + sms_code: SMS kodo tikrinimas + sms_phone_number: Mobilaus telefono numeris + step: '%{current} žingsnis iš %{total}' + title: Pasirašyti %{initiative_title} + initiatives: + initiative: + check: Peržiūrėti + check_and_support: Peržiūrėti ir pasirašyti + no_initiatives_yet: + no_initiatives_yet: Dar nėra iniciatyvų! diff --git a/decidim-initiatives/config/locales/pl.yml b/decidim-initiatives/config/locales/pl.yml index 6a5d66f704fb1..9a6e78c436273 100644 --- a/decidim-initiatives/config/locales/pl.yml +++ b/decidim-initiatives/config/locales/pl.yml @@ -278,6 +278,7 @@ pl: update: Aktualizuj form: authorizations: Ustawienia autoryzacji + child_scope_threshold_enabled_help: 'Ta konfiguracja nie pozwala na głosowania offline, zezwala na pod-zakresy i działa z procedurą autoryzacji, która łączy zakres z użytkownikiem. Upewnij się, że wybrałeś taką autoryzację w sekcji autoryzacji poniżej. Zakresy muszą być konfigurowane w hierarchii: 1 Rodzic - N element podrzędny. Więcej informacji o działaniu tej konfiguracji znajdziesz pod tym linkiem.' options: Ustawienia title: Informacje ogólne initiative_type_scopes: diff --git a/decidim-initiatives/config/locales/ru.yml b/decidim-initiatives/config/locales/ru.yml index 1687b1a6a4ed0..ca907e2c2852c 100644 --- a/decidim-initiatives/config/locales/ru.yml +++ b/decidim-initiatives/config/locales/ru.yml @@ -292,6 +292,8 @@ ru: promotal_committee_help: Помните, что вы должны пригласить не менее %{member_count} человек в рабочую группу по продвижению. Перешлите им следующую ссылку, чтобы пригласить их в рабочую группу по продвижению status_change_body_for: 'Состояние почина %{title} изменилось на: %{state}' status_change_for: Состояние почина %{title} изменилось + last_activity: + new_initiative: Добавить почин pages: home: highlighted_initiatives: diff --git a/decidim-initiatives/config/locales/uk.yml b/decidim-initiatives/config/locales/uk.yml index 035580118eb53..d90dc35e7ad63 100644 --- a/decidim-initiatives/config/locales/uk.yml +++ b/decidim-initiatives/config/locales/uk.yml @@ -292,6 +292,8 @@ uk: promotal_committee_help: Пам'ятайте, що ви повинні запросити щонайменше %{member_count} людей до робочого гурту з просування. Перешліть їм наступне посилання, щоб запросити їх до робочого гурту з просування status_change_body_for: 'Стан почину %{title} змінився на: %{state}' status_change_for: Стан почину %{title} змінився + last_activity: + new_initiative: Започаткувати почин pages: home: highlighted_initiatives: diff --git a/decidim-meetings/config/locales/de.yml b/decidim-meetings/config/locales/de.yml index d536cd437b023..8988b0303014f 100644 --- a/decidim-meetings/config/locales/de.yml +++ b/decidim-meetings/config/locales/de.yml @@ -23,6 +23,7 @@ de: decidim_user_group_id: Benutzergruppe description: Beschreibung end_time: Endzeit + id: ID location: Ort location_hints: Standorthinweise online_meeting_url: Online Meeting URL @@ -34,6 +35,7 @@ de: registration_terms: Registrierungsbedingungen registration_url: Registrierungs-URL registrations_enabled: Registrierungen aktiviert + show_embedded_iframe: Eingebetteten Iframe für diese URL anzeigen start_time: Startzeit title: Titel transparent: Transparent @@ -71,6 +73,13 @@ de: admin: filters: meetings: + category_id_eq: + label: Kategorie + closed_at_present: + label: Status + values: + 'false': Offen + 'true': Geschlossen is_upcoming_true: label: Datum values: @@ -87,6 +96,7 @@ de: type_eq: label: Art des Treffens values: + hybrid: Hybrid in_person: Persönlich online: Online meeting_copies: @@ -100,6 +110,7 @@ de: components: meetings: actions: + comment: Kommentar join: Beitreten name: Meetings settings: @@ -110,6 +121,7 @@ de: creation_enabled_for_participants: Teilnehmer können Besprechungen erstellen default_registration_terms: Standard-Registrierungsbedingungen enable_pads_creation: Aktivieren Sie die Pads-Erstellung + maps_enabled: Karten aktiviert registration_code_enabled: Registrierungscode aktiviert resources_permissions_enabled: Aktionsberechtigungen können für jedes Meeting festgelegt werden scope_id: Bereich @@ -134,6 +146,7 @@ de: email_subject: Die Sitzung "%{resource_title}" wurde geschlossen notification_title: Die Sitzung %{resource_title} wurde geschlossen. meeting_created: + button_text: Für das Treffen anmelden email_intro: Die Sitzung "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, welchem Sie folgen. email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. email_subject: Neue Sitzung zu %{participatory_space_title} hinzugefügt @@ -165,6 +178,9 @@ de: email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. email_subject: Die Sitzung "%{resource_title}" beginnt in weniger als 48 Stunden. notification_title: Die Sitzung %{resource_title} beginnt in weniger als 48 Stunden. + forms: + meetings: + attendees_count_help_text: Vergessen Sie nicht, die Gesamtzahl der Teilnehmer an Ihrem Meeting anzugeben, egal ob dies persönlich, online oder hybrid stattgefunden hat. gamification: badges: attended_meetings: @@ -190,6 +206,7 @@ de: proposals_count: one: 'Die Besprechung kann nicht gelöscht werden, da %{count} Vorschlag mit dieser verbunden ist:' other: 'Die Besprechung kann nicht gelöscht werden, da %{count} Vorschläge mit dieser verbunden sind:' + manage_poll: Umfrage verwalten new: Neue Sitzung preview: Vorschau registrations: Anmeldungen @@ -226,6 +243,7 @@ de: invalid: Beim Aktualisieren dieser Agenda ist ein Problem aufgetreten success: Agenda erfolgreich aktualisiert exports: + answers: Antworten meeting_comments: Kommentare meetings: Treffen registrations: Anmeldungen @@ -260,6 +278,9 @@ de: edit: close: Schließen title: Sitzung beenden + meeting_copies: + form: + select_a_meeting_type: Bitte eine Meeting-Typ auswählen meetings: close: invalid: Beim Schließen dieses Meetings ist ein Problem aufgetreten @@ -312,6 +333,9 @@ de: update: invalid: Beim Aktualisieren dieses Meetings ist ein Problem aufgetreten success: Sitzung erfolgreich aktualisiert + meetings_poll: + form: + title: Fragebogen für %{questionnaire_for} bearbeiten models: meeting: name: Treffen @@ -410,6 +434,8 @@ de: apple: Zu Apple Kalender hinzufügen close_window: Fenster schließen full_details_html: Für alle Details gehen Sie zu %{link} + google: Zum Google-Kalender hinzufügen + outlook: Zum Outlook-Kalender hinzufügen count: meetings_count: one: "%{count} Besprechung" @@ -442,6 +468,7 @@ de: type: Art type_values: all: Alle + hybrid: Hybrid in_person: Persönlich online: Online filters_small_view: @@ -463,7 +490,10 @@ de: select_a_registration_type: Bitte wählen Sie eine Registrierungsart aus show_embedded_iframe_help: Nur wenige Dienste erlauben das Einbetten einer Veranstaltung oder eines Livestreams (Youtube, Twitch und Jitsi) index: + click_here: Alle Treffen anzeigen new_meeting: Neue Besprechung + see_all: Alle Treffen anzeigen + see_all_withdrawn: Alle zurückgezogenen Treffen ansehen meeting_minutes: related_information: Zugehörige Informationen meetings: @@ -487,6 +517,9 @@ de: join: Tritt dem Treffen bei leave: Registrierung stornieren leave_confirmation: Sind Sie sicher dass Sie Ihre Registrierung für diese Sitzung stornieren möchten? + link_available_soon: Link in Kürze verfügbar + link_closed: Der Link, um an dem Treffen teilzunehmen, wird einige Minuten vor dem Start verfügbar sein + live_event: Dieses Meeting findet gerade statt meeting_minutes: Sitzungsprotokolle no_slots_available: Keine Steckplätze verfügbar organizations: Teilnahme an Organisationen @@ -498,6 +531,9 @@ de: one: "%{count} Slot bleibt übrig" other: "Noch %{count} Slots" view: Anzeigen + visit_finished: Vergangene Treffen anzeigen + withdraw_btn_hint: Sie können Ihr Treffen zurückziehen, wenn Sie Ihre Meinung ändern. Das Meeting wird nicht gelöscht, es wird in der Liste der zurückgezogenen Meetings angezeigt. + withdraw_meeting: Treffen zurückziehen update: invalid: Beim Aktualisieren der Besprechung ist ein Fehler aufgetreten. success: Sie haben die Sitzung erfolgreich aktualisiert. @@ -518,15 +554,32 @@ de: fields: closed: Geschlossen end_time: Endtermin + id: ID map: Karte official_meeting: Offizielle Besprechung start_time: Anfangsdatum title: Titel polls: questions: + index: + empty_questions: Während dieses Treffens werden einige Fragen gesendet und Sie werden sie beantworten können. Sie werden hier angezeigt. + index_admin: + admin_dashboard: Administrations-Dashboard + edit: Im Adminbereich bearbeiten + question: Frage + received_answer: Antwort erhalten + received_answers: erhaltene Antworten + results: Ergebnisse + send: Senden + sent: Gesendet published_question: + max_choices_alert: Es wurden zu viele Auswahlmöglichkeiten ausgewählt question: Frage question_replied: Frage beantwortet + public_participants_list: + hidden_participants_count: + one: und %{count} weitere Person + other: und %{count} weitere Personen read_more: "(Weiterlesen)" registration_mailer: confirmation: @@ -548,14 +601,17 @@ de: invalid: Beim Verlassen dieses Meetings ist ein Problem aufgetreten. success: Sie haben das Meeting erfolgreich verlassen. type_of_meeting: + hybrid: Hybrid in_person: In Person online: Online types: private_meeting: Private Sitzung transparent: Transparent + withdraw: Zurückgezogen versions: back_to_resource: Zurück zur Besprechung withdraw: + error: Beim Zurückziehen des Meetings ist ein Fehler aufgetreten success: Das Meeting wurde erfolgreich zurückgezogen metrics: meetings: diff --git a/decidim-meetings/config/locales/es-MX.yml b/decidim-meetings/config/locales/es-MX.yml index 4c255f56058ad..1bb79667f19dd 100644 --- a/decidim-meetings/config/locales/es-MX.yml +++ b/decidim-meetings/config/locales/es-MX.yml @@ -618,7 +618,7 @@ es-MX: invalid: Ha habido un problema al salir de esta encuentro. success: Has salido del encuentro con éxito. type_of_meeting: - hybrid: Hibrida + hybrid: Híbrido in_person: Presencial online: En línea types: diff --git a/decidim-meetings/config/locales/es-PY.yml b/decidim-meetings/config/locales/es-PY.yml index 06533c78bcfd7..81adebf2e3ec2 100644 --- a/decidim-meetings/config/locales/es-PY.yml +++ b/decidim-meetings/config/locales/es-PY.yml @@ -618,7 +618,7 @@ es-PY: invalid: Ha habido un problema al salir de esta encuentro. success: Has salido del encuentro con éxito. type_of_meeting: - hybrid: Hibrida + hybrid: Híbrido in_person: Presencial online: En línea types: diff --git a/decidim-meetings/config/locales/es.yml b/decidim-meetings/config/locales/es.yml index d1e63ba74f80f..095f416f4dbf3 100644 --- a/decidim-meetings/config/locales/es.yml +++ b/decidim-meetings/config/locales/es.yml @@ -618,7 +618,7 @@ es: invalid: Se ha producido un error al salir de este encuentro. success: Has salido del encuentro con éxito. type_of_meeting: - hybrid: Hibrida + hybrid: Híbrido in_person: Presencial online: En línea types: diff --git a/decidim-meetings/config/locales/hu.yml b/decidim-meetings/config/locales/hu.yml index 1d7c06ac6058c..c440c73a2fe5e 100644 --- a/decidim-meetings/config/locales/hu.yml +++ b/decidim-meetings/config/locales/hu.yml @@ -17,20 +17,29 @@ hu: meeting: address: Lakcím available_slots: A találkozóhoz rendelkezésre álló helyek + customize_registration_email: Regisztrációs email beállítása decidim_category_id: Kategória decidim_scope_id: Hatáskör + decidim_user_group_id: Felhasználói csoport description: Leírás end_time: Záró időpont + id: ID location: Helye location_hints: Tippek a helyre + online_meeting_url: Online megbeszélés URL-címe + organizer_gid: Létrehozás mint organizer_id: Szervező private_meeting: Privát találkozó + registration_email_custom_content: A regisztrációs email egyedi tartalma registration_form_enabled: Regisztrációs űrlap engedélyezve registration_terms: Regisztrációs feltételek + registration_url: Regisztrációs URL registrations_enabled: Regisztráció engedélyezve + show_embedded_iframe: Mutassa ennek az url-nek az iframe beágyazását start_time: Kezdő időpont title: Cím transparent: Átlátszó + type_of_meeting: Típus errors: models: meeting: @@ -68,14 +77,31 @@ hu: admin: filters: meetings: + category_id_eq: + label: Kategória + closed_at_present: + label: Állapot + values: + 'false': Nyitva + 'true': Lezárva + is_upcoming_true: + label: Dátum + values: + 'false': Előzmények + 'true': Közelgő origin_eq: values: citizen: Polgár + official: Hivatalos user_group: Felhasználói csoportok + scope_id_eq: + label: Hatókör type_eq: label: Értekezlet típusa values: + hybrid: Hibrid in_person: Személyesen + online: Online meeting_copies: create: error: Hiba történt a találkozó duplikálása során. @@ -87,18 +113,28 @@ hu: components: meetings: actions: + comment: Megjegyzés join: Csatlakozás name: Találkozók settings: global: announcement: Közlemény comments_enabled: Megjegyzések engedélyezve + comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez) + creation_enabled_for_participants: A résztvevők létrehozhatnak találkozókat default_registration_terms: Alapértelmezett regisztrációs feltételek enable_pads_creation: A közös dokumentum létrehozásának engedélyezése + maps_enabled: Térképek engedélyezve + registration_code_enabled: Regisztrációs kód engedélyezve resources_permissions_enabled: Minden találkozóra saját műveleti engedélyt állíthat be + scope_id: Hatókör + scopes_enabled: A hatókör engedélyezett + terms_and_conditions_url_for_meeting_creators: A találkozó szervezői számára a felhasználás feltételek URL-je step: announcement: Közlemény comments_blocked: Megjegyzések letiltva + creation_enabled_for_participants: Résztvevők általi találkozók engedélyezve + creation_enabled_for_user_groups: Felhasználói csoportok általi találkozó szervezése engedélyezve events: meetings: meeting_closed: @@ -113,6 +149,7 @@ hu: email_subject: A(z) "%{resource_title}" ülés lezárult notification_title: A(z) %{resource_title} ülés lezárult. meeting_created: + button_text: Regisztráció a találkozóra email_intro: 'A(z) "%{resource_title}" találkozót hozzáadtuk ehhez: "%{participatory_space_title}" (követed).' email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Leiratkozás az előző link segítségével.' email_subject: 'Új találkozó hozzáadva ehhez: %{participatory_space_title}' @@ -144,6 +181,9 @@ hu: email_outro: 'Ezt az értesítést azért kaptad, mert követed ezt a találkozót: "%{resource_title}". Leiratkozás az előző link segítségével.' email_subject: A(z) "%{resource_title}" találkozó kevesebb, mint 48 óra múlva kezdődik. notification_title: A(z) %{resource_title} találkozó kevesebb, mint 48 óra múlva kezdődik. + forms: + meetings: + attendees_count_help_text: Ne felejtse el megadni a találkozón részt vevők teljes számát, akár személyesen, akár online, akár vegyesen. gamification: badges: attended_meetings: @@ -169,6 +209,7 @@ hu: proposals_count: one: 'A találkozót nem lehet megsemmisíteni, mert %{count} javaslat van társítva hozzá:' other: 'A találkozót nem lehet megsemmisíteni, mert %{count} javaslat van társítva hozzá:' + manage_poll: Szavazás menedzselése new: Új találkozó preview: Előnézet registrations: Regisztrációk @@ -205,6 +246,8 @@ hu: invalid: Probléma történt a napirend frissítése során success: Napirend frissítése sikeres exports: + answers: Válaszok + meeting_comments: Hozzászólások meetings: Találkozók registrations: Regisztrációk invite_join_meeting_mailer: @@ -238,12 +281,16 @@ hu: edit: close: Bezárás title: Ttalálkozó lezárása + meeting_copies: + form: + select_a_meeting_type: Válassza ki a találkozó típusát meetings: close: invalid: Probléma merült fel a találkozó lezárásakor success: Találkozó lezárása sikeres create: invalid: Probléma történt a találkozó létrehozása során + success: A találkozó létrehozása sikeres - a nyilvánossá tételhez manuálisan kell publikálnia. destroy: invalid: proposals_count: @@ -251,11 +298,19 @@ hu: other: A találkozót nem lehet megsemmisíteni, mert %{count} javaslat van társítva hozzá success: Találkozó törlése sikeres edit: + title: Találkozó szerkesztése update: Frissítés form: address_help: 'Cím: Geocoder használata a helymeghatározáshoz' + available_slots_help: Hagyd "0" értéken, ha a jelentkezők száma korlátlan + disclaimer: 'Jogi nyilatkozat: Egy külső regisztrációs rendszer használatával Ön tudatában van annak, hogy a %{organization} szervezői nem felelősek a felhasználók által a külső szolgáltatásnak megadott adatokért.' location_help: 'Helyszín: üzenet az adott felhasználóknak a találkozó helyéről' + location_hints_help: 'Helyszíni tippek: további információk. Példa: az épület emelete ha személyes találkozóról van szó, vagy a találkozó jelszava, ha korlátozott hozzáféréssel rendelkező online találkozóról van szó.' + online_meeting_url_help: 'Link: a résztvevők engedélyezése a találkozóhoz való közvetlen kapcsolódáshoz' registration_email_help: Ez a szöveg a regisztrációt megerősítő e-mail közepén fog megjelenni. Épp a regisztrációs kód után. + registration_url_help: 'Link: lehetővé teszi a résztvevők számára, hogy a regisztrációhoz a külső szolgáltatást használják' + select_a_meeting_type: Válassza ki a találkozó típusát + select_a_registration_type: Kérjük, válassza ki a regisztráció típusát select_an_iframe_access_level: Kérjük, válassz iframe hozzáférési szintet show_embedded_iframe_help: Csak néhány szolgáltatás engedélyezi a beágyazást megbeszélésekbe vagy élő eseményekbe (YouTube, Twitch és Jitsi) index: @@ -263,6 +318,9 @@ hu: new: create: Létrehozás title: Találkozó létrehozása + publish: + invalid: Hiba történt a találkozó közzététele során + success: A találkozó publikálásra került service: description: Leírás down: Le @@ -273,9 +331,18 @@ hu: services: add_service: Szolgáltatás hozzáadása services: Szolgáltatások + unpublish: + invalid: Hiba történt a találkozó közzétételének visszavonása során + success: A találkozó közzétételének visszavonása sikeres update: invalid: Probléma történt a találkozó frissítése során success: Találkozó frissítése sikeres + meetings_poll: + form: + title: A szavazáshoz kapcsolódó kérdőív szerkesztése %{questionnaire_for} + update: + invalid: Probléma történt a találkozó szavazás frissítése során + success: A találkozó szavazása sikeresen frissült models: meeting: name: Találkozó @@ -287,6 +354,7 @@ hu: form: available_slots_help: Hagyd "0" értéken, ha a jelentkezők száma korlátlan. invites: Meghívók + recommendation_message: Adatvédelmi okokból javasoljuk, hogy törölje ezt az űrlapot, ha már nincs rá szüksége. Alapértelmezés szerint ez 3 hónap az ülés végét követően. registration_form: Regisztrációs űrlap registrations_count: one: '%{count} regisztráció volt.' @@ -314,6 +382,13 @@ hu: value_types: organizer_presenter: not_found: 'A szervező nem található az adatbázisban (ID: %{id})' + application_helper: + filter_category_values: + all: Összes + filter_meeting_space_values: + all: Összes + filter_scope_values: + all: Összes calendar_modal: calendar_url: Naptár URL close_window: Ablak bezárása @@ -321,6 +396,8 @@ hu: conference_venues: Konferencia helyszínek content_blocks: upcoming_meetings: + name: Közelgő találkozók + upcoming_meetings: Közelgő találkozók view_all_meetings: Összes megtekintése directory: meetings: @@ -337,7 +414,13 @@ hu: open_in_live_event_page: Megnyitás az élő esemény oldalán (opcionális szavazásokkal) open_in_new_tab: Megnyitás új fülön last_activity: + meeting_updated_at_html: "Találkozó frissítve %{link}" new_meeting_at_html: "Új találkozó %{link}kor" + layouts: + live_event: + administrate: Admin + close: bezár + questions: Kérdések mailer: invite_join_meeting_mailer: invite: @@ -347,19 +430,58 @@ hu: subject: A találkozód regisztrációját megerősítették meeting: not_allowed: Nincs jogosultságod a találkozó megtekintésére + meeting_closes: + edit: + back: Vissza + close: Találkozó lezárása + title: Találkozó lezárása meetings: + calendar_modal: + add_to_calendar: Hozzáadás a naptárhoz + apple: Küldés Apple Naptárba + close_window: Ablak bezárása + full_details_html: Az összes részletet itt találja %{link} + google: Hozzáadás a Google naptárhoz + outlook: Hozzáadás az Outlook naptárhoz + create: + invalid: Probléma történt a találkozó létrehozása során. + success: Sikeresen létrehoztad a találkozót. + edit: + back: Vissza + title: A találkozód szerkesztése + update: Frissítés filters: + activity: Tevékenységeim + all: Összes category: Kategória date: Dátum + date_values: + all: Összes + past: Korábban + upcoming: Közelgő + my_meetings: Találkozóim origin_values: + all: Összes citizens: Polgárok + official: Hivatalos + user_groups: Csoportok + scope: Hatókör search: Keresés + type: Típus + type_values: + all: Összes + hybrid: Hibrid + in_person: Személyes + online: Online filters_small_view: close_modal: Modal bezárása filter: Szűrő filter_by: 'Szűrés ez alapján:' unfold: Kibont form: + address_help: 'Cím: Geocoder használata a helymeghatározáshoz' + available_slots_help: Hagyd "0" értéken, ha a jelentkezők száma korlátlan + create_as: Ülés létrehozása mint show_embedded_iframe_help: Csak néhány szolgáltatás engedélyezi a beágyazást megbeszélésekbe vagy élő eseményekbe (YouTube, Twitch és Jitsi) meeting_minutes: related_information: Kapcsolódó információ @@ -405,12 +527,23 @@ hu: map: Térkép start_time: Kezdő dátum title: Cím + polls: + questions: + published_question: + question_replied: Kérdés megválaszolva + reply_question: Válasz a kérdésre + public_participants_list: + attending_participants: Résztvevők read_more: "(bővebben)" registration_mailer: confirmation: confirmed_html: Regisztrációd a(z) %{title} találkozóra megerősítve. details: A találkozó részletei megtalálhatók a mellékletben. registration_code: 'Regisztrációs kódod: %{code}.' + registration_type: + on_different_platform: Egy másik platformon + on_this_platform: Ezen a platformon + registration_disabled: Regisztráció kikakpcsolva registrations: create: invalid: Probléma történt a találkozóhoz való csatlakozáskor. @@ -421,9 +554,19 @@ hu: destroy: invalid: Probléma történt a találkozó elhagyása közben. success: Sikeresen elhagytad a találkozót. + type_of_meeting: + hybrid: Hibrid + in_person: Személyesen + online: Online types: private_meeting: Privát találkozó transparent: Átlátszó + withdraw: Visszavonva + versions: + back_to_resource: Vissza a találkozóhoz + withdraw: + error: A találkozó visszavonása során hiba történt + success: A találkozó visszavonása sikeres metrics: meetings: description: A létrehozott találkozók száma @@ -443,6 +586,8 @@ hu: proposals_from_meeting: meeting_proposal: 'Kapcsolódó javaslatok:' proposal_meeting: 'Kapcsolódó találkozók:' + statistics: + meetings_count: Találkozók devise: mailer: join_meeting: diff --git a/decidim-meetings/config/locales/lt.yml b/decidim-meetings/config/locales/lt.yml index 6c5cb837ac8c1..7bc6993388d32 100644 --- a/decidim-meetings/config/locales/lt.yml +++ b/decidim-meetings/config/locales/lt.yml @@ -1 +1,675 @@ lt: + activemodel: + attributes: + agenda: + description: Aprašymas + duration: Trukmė + title: Pavadinimas + close_meeting: + attendees_count: Dalyvių skaičius + attending_organizations: Dalyvavusių organizacijų sąrašas + audio_url: Audio nuoroda + closing_report: Minutės + closing_visible: Matomas + contributions_count: Prisidėjimų skaičius + proposal_ids: Susirinkime sukurti pasiūlymai + video_url: Vaizdo įrašo nuoroda + meeting: + address: Adresas + available_slots: Šiam susirinkimui turimi laisvi intervalai + customize_registration_email: Redaguoti registracijos laišką + decidim_category_id: Kategorija + decidim_scope_id: Apimtis + decidim_user_group_id: Naudotojų grupė + description: Aprašymas + end_time: Pabaigos laikas + id: ID + location: Vieta + location_hints: Vietos užuomina + online_meeting_url: Virtualaus susitikimo URL + organizer_gid: Sukurti kaip + organizer_id: Organizatorius + private_meeting: Uždaras posėdis + registration_email_custom_content: Suasmenintas registracijos el. laiško turinys + registration_form_enabled: Registracijos forma įjungta + registration_terms: Registracijos sąlygos + registration_url: Registracijos URL + registrations_enabled: Registracijos įjungtos + show_embedded_iframe: Rodyti šiame URL įterptąjį „iframe“ + start_time: Pradžios Laikas + title: Pavadinimas + transparent: Skaidrus + type_of_meeting: Tipas + errors: + models: + meeting: + attributes: + iframe_embed_type: + not_embeddable: Šio URL negalima įterpti į susitikimo ar tiesioginio įvykio puslapį + meeting_agenda: + attributes: + base: + too_many_minutes: Elementų trukmė viršija posėdžio trukmę %{count} minutėmis (-čių) + too_many_minutes_child: Antrinių elementų trukmė viršija darbotvarkės pirminio elemento „%{parent_title}“ trukmę %{count} minutėmis (-čių) + meeting_registration_invite: + attributes: + email: + already_invited: Šio el. laiško paskyros adresatas jau buvo pakviestas + models: + decidim/meetings/close_meeting_event: Susitikimas baigtas + decidim/meetings/create_meeting_event: Susitikimas + decidim/meetings/meeting_registrations_enabled_event: Registracijos įjungtos + decidim/meetings/meeting_registrations_over_percentage_event: Registracijų riba viršyta + decidim/meetings/upcoming_meeting_event: Būsimas susitikimas + decidim/meetings/update_meeting_event: Susitikimas atnaujintas + activerecord: + models: + decidim/meetings/meeting: + one: Susitikimas + few: Susitikimai + many: Susitikimų + other: Susitikimai + decidim/meetings/minutes: + one: Minutė + few: Minutės + many: Minučių + other: Minutės + decidim/meetings/registration: + one: Registracija + few: Registracijos + many: Registracijos + other: Registracijos + decidim: + admin: + filters: + meetings: + category_id_eq: + label: Kategorija + closed_at_present: + label: Būsena + values: + 'false': Atidaryta + 'true': Uždaryta + is_upcoming_true: + label: Data + values: + 'false': Praėję + 'true': Artėjantys + origin_eq: + label: Kilmė + values: + citizen: Pilietis + official: Oficialus + user_group: Naudotojų Grupės + scope_id_eq: + label: Apimtis + type_eq: + label: Susitikimo tipas + values: + hybrid: Hibridiniai + in_person: Fizinis + online: Virtualūs + meeting_copies: + create: + error: Dubliuojant šį susitikimą iškilo problema. + success: Susitikimas dubliuotas. + new: + copy: Kopijuoti + select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti + title: Dubliuoti susirinkimą + components: + meetings: + actions: + comment: Komentuoti + join: Prisijungti + name: Susirinkimai + settings: + global: + announcement: Pranešimas + comments_enabled: Komentarai aktyvuoti + comments_max_length: Maksimalus komentarų ilgis (numatytoji vertė – 0) + creation_enabled_for_participants: Dalyviai gali sukurti susitikimus + default_registration_terms: Numatytos registracijos sąlygos + enable_pads_creation: Leisti bendrų dokumentų kūrimą + maps_enabled: Žemėlapiai įjungti + registration_code_enabled: Registracijos kodas įjungtas + resources_permissions_enabled: Kiekvienam posėdžiui galima nustatyti leistinus veiksmus + scope_id: Apimtis + scopes_enabled: Sritys įjungtos + terms_and_conditions_url_for_meeting_creators: Naudojimo taisyklių ir sąlygų URL susirinkimų kūrėjams + step: + announcement: Pranešimas + comments_blocked: Komentarai užblokuoti + creation_enabled_for_participants: Galimybė dalyviams rengti susirinkimus įjungta + creation_enabled_for_user_groups: Galimybė dalyvių grupėms rengti susirinkimus įjungta + events: + meetings: + meeting_closed: + affected_user: + email_intro: 'Jūsų susirinkimas "%{resource_title}" uždarytas. Išvadas galite perskaityti jo puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad organizavote susirinkimą „%{resource_title}“. + email_subject: '"%{resource_title}" susirinkimas uždarytas' + notification_title: %{resource_title} susirinkimas uždarytas. + follower: + email_intro: '%{resource_title} susitikimas uždarytas. Išvadas galite perskaityti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ susirinkimą. Jūs galite jo nebesekti spustelėdami ankstesnę nuorodą. + email_subject: '"%{resource_title}" susirinkimas uždarytas' + notification_title: %{resource_title} susirinkimas uždarytas. + meeting_created: + button_text: Registruotis į susirinkimą + email_intro: Erdvėje „%{participatory_space_title}“, kurią sekate, pridėtas susirinkimas „%{resource_title}“. + email_outro: Gavote šį pranešimą nes sekate %{participatory_space_title}. Galite nebesekti paspaudę and ankstesnės nuorodos. + email_subject: '%{participatory_space_title} pridėtas naujas posėdis' + notification_title: Susirinkimas%{resource_title} pridėtas prie %{participatory_space_title} + meeting_registration_confirmed: + notification_title: Jūsų registracija į susirinkimą %{resource_title} buvo patvirtinta. Jūsų registracijos kodas yra %{registration_code}. + meeting_registrations_over_percentage: + email_intro: Susitikimui „%{resource_title}“ skirti laiko tarpsniai sudaro daugiau kaip %{percentage}%. + email_outro: Šį pranešimą gavote dėl to, kad esate susitikimo dalyvaujamojo proceso erdvės administratorius. + email_subject: Susitikimui „%{resource_title}“ skirti laiko tarpsniai sudaro daugiau kaip %{percentage}% + notification_title: Susitikimui %{resource_title} skirti laiko tarpsniai sudaro daugiau kaip %{percentage}%. + meeting_updated: + email_intro: '"%{resource_title}" susitikimas buvo atnaujintas. Naująją versiją galite perskaityti susitikimo puslapyje:' + email_outro: Gavote šį pranešimą nes sekate "%{resource_title}" susirinkimą. Galite jo nebesekti paspaudę ant ankstesnės nuorodos. + email_subject: '"%{resource_title}" susitikimas buvo atnaujintas' + notification_title: %{resource_title} susitikimas buvo atnaujintas. + registration_code_validated: + email_intro: Jūsų "%{resource_title}" susitikimo registracijos kodas "%{registration_code}" buvo patvirtintas. + email_outro: Šį pranešimą gavote dėl to, kad jūsų "%{resource_title}“ susitikimo registracijos kodas buvo patvirtintas. + email_subject: Jūsų "%{resource_title}" susitikimo registracijos kodas "%{registration_code}" buvo patvirtintas + notification_title: Jūsų registracijos kodas "%{registration_code}" %{resource_title} susirinkimui buvo patvirtintas. + registrations_enabled: + email_intro: '"%{resource_title}" susirinkimo registracijos įjungtos. Galite užsiregistruoti jo tinklalapyje:' + email_outro: Gavote šį pranešimą nes sekate "%{resource_title}" susirinkimą. Galite jo nebesekti paspaudę ant ankstesnės nuorodos. + email_subject: '"%{resource_title}" posėdžio registracijos įjungtos.' + notification_title: %{resource_title} Susirinkimas leidžia registruotis. + upcoming_meeting: + email_intro: '%{resource_title} susirinkimas prasidės už mažiau nei 48 val.' + email_outro: Gavote šį pranešimą nes sekate "%{resource_title}" susirinkimą. Galite jo nebesekti paspaudę ant ankstesnės nuorodos. + email_subject: '"%{resource_title}" susirinkimas prasidės už mažiau nei 48 val.' + notification_title: %{resource_title} Susirinkimas prasidės už mažiau nei 48 val. + forms: + meetings: + attendees_count_help_text: Nepamirškite įrašyti dalyvių susirinkime skaičiaus (tiek dalyvaujančių gyvai, tiek nuotoliniu būdu). + gamification: + badges: + attended_meetings: + conditions: + - Registruokitės į susirinkimus, kuriuose norite dalyvauti + description: Šis ženklelis suteikiamas dalyvavus keliuose tiesioginiuose susirinkimuose. + description_another: Šis dalyvis dalyvavo %{score} susirinkimuose (-ų). + description_own: Jūs dalyvavote %{score} susirinkimuose (-ų). + name: Dalyvauta susirinkimuose + next_level_in: Dalyvaukite dar %{score} susirinkimuose (-ų) ir pasiekite kitą lygį! + unearned_another: Šis dalyvis dar nedalyvavo nė viename susirinkime. + unearned_own: Jūs dar nedalyvavote nė viename susirinkime. + meetings: + actions: + agenda: Darbotvarkė + attachment_collections: Aplankai + attachments: Priedai + close: Uždaryti + confirm_destroy: Ar tikrai norite panaikinti šį susirinkimą? + destroy: Ištrinti + edit: Redaguoti + invalid_destroy: + proposals_count: + one: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymas:' + few: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai:' + many: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai:' + other: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai:' + manage_poll: Tvarkyti apklausą + new: Naujas susirinkimas + preview: Peržiūra + registrations: Registracijos + title: Veiksmai + admin: + agenda: + agenda_item: + add_agenda_item_child: Pridėti darbotvarkės punktą + agenda_item: Darbotvarkės klausimas + agenda_item_children: Darbotvarkės po-punktčiai + down: Žemyn + remove: Pašalinti + up: Aukštyn + agenda_item_child: + agenda_item_child: Darbotvarkės po-punktčiai + down: Žemyn + remove: Pašalinti + up: Aukštyn + create: + invalid: Kuriant šią darbotvarkę iškilo problema + success: Darbotvarkė sukurta + edit: + title: Redaguoti darbotvarkę + update: Atnaujinti + form: + add_agenda_item: Pridėti darbotvarkės klausimą + agenda_items: Darbotvarkės klausimai + end_date: Pabaigos data + start_date: Pradžios data + new: + create: Sukurti + title: Nauja darbotvarkė + update: + invalid: Atnaujinant šią darbotvarkę iškilo problema + success: Darbotvarkė atnaujinta + exports: + answers: Atsakymai + meeting_comments: Komentarai + meetings: Susirinkimai + registrations: Registracijos + invite_join_meeting_mailer: + invite: + decline: Atmesti kvietimą + invited_you_to_join_a_meeting: "%{invited_by} jus pakvietė dalyvauti susirinkime %{application}. Kvietimą galite atmesti arba priimti spustelėję toliau pateikiamą nuorodą." + join: Dalyvauti susirinkime „%{meeting_title}“ + invites: + create: + error: Kviečiant dalyvį dalyvauti susirinkime iškilo problema. + success: Dalyvis pakviestas dalyvauti susirinkime. + form: + attendee_type: Dalyvio tipas + existing_user: Egzistuojantis dalyvis + invite: Pakviesti + invite_explanation: Dalyvis bus pakviestas dalyvauti ne tik susirinkime, bet ir organizacijoje. + non_user: Neegzistuojantis dalyvis + select_user: Pasirinkti dalyvį + index: + filter: + accepted: Priimtas + all: Visi + rejected: Atmestas + sent: Išsiųstas + filter_by: Filtruoti pagal + invite_attendee: Kviesti dalyvį + invites: Pakvietimai + registrations_disabled: Negalite kviesti dalyvio, nes registracija išjungta. + search: Ieškoti + meeting_closes: + edit: + close: Uždaryti + title: Baigti susirinkimą + meeting_copies: + form: + select_a_meeting_type: Prašome pasirinkti susirinkimo tipą + meetings: + close: + invalid: Užbaigiant šį susirinkimą iškilo problema + success: Susirinkimas uždarytas + create: + invalid: Kuriant šį susirinkimą iškilo problema + success: Susirinkimas sėkmingai sukurtas. Jis dar nepublikuotas, tai turite padaryti rankiniu būdu. + destroy: + invalid: + proposals_count: + one: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymas + few: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai + many: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai + other: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai + success: Susirinkimas sėkmingai pašalintas + edit: + title: Redaguoti susirinkimą + update: Atnaujinti + form: + address_help: 'Adresas: jį naudoja „Geocoder“, kad rastų vietą' + available_slots_help: Jei nėra ribojimų įrašykite 0 + disclaimer: 'Perspėjimas: Naudodami išorinę registracijos sistemą, %{organization} nėra atsakinga už dalyvių duomenų tvarkymą.' + location_help: 'Vieta: naudotojams skirtas pranešimas, kuriame nurodoma susitikimo vieta' + location_hints_help: 'Vietos priedėliai: papildoma informacija kaip pvz. buto numeris, iš kurios pusės įeiti ir t. t.' + online_meeting_url_help: 'Nuoroda: leisti dalyviams tiesiai prisijungti prie susirinkimo' + registration_email_help: Šis tekstas bus rodomas registracijos patvirtinimo el. laiško viduryje. Iš karto po registracijos kodo. + registration_url_help: 'Nuoroda: leisti dalyviams eiti į išorinę registracijos sistemą' + select_a_meeting_type: Prašome pasirinkti susirinkimo tipą + select_a_registration_type: Prašome pasirinkti registracijos tipą + select_an_iframe_access_level: Pasirinkite iframe prieigos lygį + show_embedded_iframe_help: Tik kelios paslaugos gali būti integruotos susitikimuose (YouTube, Twitch, Jitsi) + index: + title: Susirinkimai + new: + create: Sukurti + title: Sukurti susirinkimą + publish: + invalid: Skelbiant šį susirinkimą iškilo problema + success: Susirinkimas sėkmingai paskelbtas + service: + description: Aprašymas + down: Žemyn + remove: Pašalinti + service: Paslauga + title: Pavadinimas + up: Į viršų + services: + add_service: Pridėti paslaugą + services: Paslaugos + unpublish: + invalid: Depublikuojant šį susirinkimą iškilo problema + success: Susirinkimas sėkmingai depublikuotas + update: + invalid: Atnaujinat šį susirinkimą iškilo problema + success: Posėdis sėkmingai atnaujintas + meetings_poll: + form: + title: Redaguoti klausimyną %{questionnaire_for} + update: + invalid: Atnaujinat šio susirinkimo klausimyną iškilo problema + success: Susirinkimo klausimynas sėkmingai atnaujintas + models: + meeting: + name: Susirinkimas + registrations: + edit: + save: Išsaugoti + validate: Patvirtinti + validate_registration_code: Patvirtinti registracijos kodą + form: + available_slots_help: Jei nėra ribojimų įrašykite 0. + invites: Pakvietimai + recommendation_message: Dėl privatumo priežasčių rekomenduojame ištrinti šią įrašo formą, kai jos nebereikės. Pagal numatytuosius parametrus, ji ištrinama praėjus 3 mėnesiams nuo susirinkimo pabaigos. + registration_form: Registracijos forma + registrations_count: + one: Yra %{count} registracija. + few: Yra %{count} registracijų. + many: Yra %{count} registracijų. + other: Yra %{count} registracijų. + reserved_slots_help: Palikite 0, jei vietos nerezervuotos + reserved_slots_less_than: Turi būti ne didesnis kaip %{count} arba jam lygus + title: Registracijos + update: + invalid: Išsaugant registracijos nuostatas iškilo problema. + success: Susirinkimo registracijų nuostatos išsaugotos. + validate_registration_code: + invalid: Šis registracijos kodas negalioja. + success: Registracijos kodas patvirtintas. + admin_log: + invite: + create: "%{user_name} pakvietė %{attendee_name} į susirinkimą %{resource_name} %{space_name} erdvėje" + deleted: "%{user_name} panaikino %{attendee_name} kvietimą į susirinkimą %{resource_name} %{space_name} erdvėje" + update: "%{user_name} pakvietė %{attendee_name} į susirinkimą %{resource_name} %{space_name} erdvėje" + meeting: + close: "%{user_name} baigė susirinkimą %{resource_name} %{space_name} erdvėje" + create: "%{user_name} atnaujino %{resource_name} susirinkimą %{space_name} erdvėje" + delete: "%{user_name} pašalino susirinkimą %{resource_name} %{space_name} erdvėje" + export_registrations: "%{user_name} eksportavo susirinkimo %{resource_name} registracijas %{space_name} erdvėje" + update: "%{user_name} atnaujino susirinkimą %{resource_name} %{space_name} erdvėje" + value_types: + organizer_presenter: + not_found: 'Organizatorius duomenų bazėje nerastas (ID: %{id})' + application_helper: + filter_category_values: + all: Visi + filter_meeting_space_values: + all: Visi + filter_scope_values: + all: Visi + calendar_modal: + calendar_url: Kalendoriaus URL + close_window: Uždaryti langą + export_calendar: Eksportuoti kalendorių + conference_venues: Konferencijos vietos + content_blocks: + upcoming_meetings: + name: Artėjantys susirinkimai + upcoming_meetings: Artėjantys susirinkimai + view_all_meetings: Peržiūrėti visus + directory: + meetings: + index: + meetings: Susirinkimai + space_type: Dalyvaujamoji erdvė + iframe_access_level: + all: Visi lankytojai + registered: Registruoti dalyviai + signed_in: Tik prisijungę dalyviai + iframe_embed_type: + embed_in_meeting_page: Integruoti į susirinkimo puslapį + none: Nėra + open_in_live_event_page: Atidaryti renginio puslapyje (pasirinktinai - su apklausomis) + open_in_new_tab: Atidaryti naujame skirtuke + last_activity: + meeting_updated_at_html: "Diskusija atnaujinta %{link}" + new_meeting_at_html: "Naujas susirinkimas %{link}" + layouts: + live_event: + administrate: Administruoti + close: uždaryti + questions: Klausimai + mailer: + invite_join_meeting_mailer: + invite: + subject: Kvietimas dalyvauti susirinkime + registration_mailer: + confirmation: + subject: Jūsų registracija į susirinkimą buvo patvirtinta + meeting: + not_allowed: Jūs negalite peržiūrėti šio susirinkimo + meeting_closes: + edit: + back: Atgal + close: Uždaryti susirinkimą + title: Uždaryti susirinkimą + meetings: + calendar_modal: + add_to_calendar: Pridėti į kalendorių + apple: Įtraukti į Apple kalendorių + close_window: Uždaryti langą + full_details_html: Pilnas aprašymas - %{link} + google: Įtraukti į „Google“ kalendorių + outlook: Įtraukti į „Outlook“ kalendorių + count: + meetings_count: + one: "%{count} susirinkimas" + few: "%{count} susirinkimai" + many: "%{count} susirinkimai" + other: "%{count} susirinkimai" + create: + invalid: Kuriant šį susirinkimą iškilo problema. + success: Jūs sukūrėte susirinkimą. + edit: + back: Atgal + title: Redaguoti susirinkimą + update: Atnaujinti + filters: + activity: Mano veikla + all: Visi + category: Kategorija + date: Data + date_values: + all: Visi + past: Praėję + upcoming: Artėjantys + my_meetings: Susirinkimai + origin: Kilmė + origin_values: + all: Visi + citizens: Piliečiai + official: Oficialus + user_groups: Grupės + scope: Apimtis + search: Ieškoti + type: Tipas + type_values: + all: Visi + hybrid: Hibridiniai + in_person: Fiziniai + online: Virtualūs + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtras + filter_by: Filtruoti pagal + unfold: Išskleisti + form: + address_help: 'Adresas: jį naudoja „Geocoder“, kad rastų vietą' + available_slots_help: Jei nėra ribojimų įrašykite 0 + create_as: Sukurti posėdį kaip + disclaimer: 'Perspėjimas: Naudodami išorinę registracijos sistemą jūs suprantate, kad %{organization} organizatoriai nėra atsakingi už naudotojų išorinei paslaugai pateiktus duomenis.' + location_help: 'Vieta: naudotojams skirtas pranešimas, kuriame nurodoma susitikimo vieta' + location_hints_help: 'Vietos užuominos: papildoma informacija. Pavyzdžiui: pastato aukštas, jei tai yra susitikimas gyvai, arba susitikimo slaptažodis, jei tai virtualus susitikimas su ribota prieiga.' + online_meeting_url_help: 'Nuoroda: leiskite dalyviams tiesiai prisijungti prie susitikimo' + registration_url_help: 'Nuoroda: leiskite dalyviams prisijungti prie išorinės paslaugos, kurią naudojate registracijai' + select_a_category: Pasirinkite kategoriją + select_a_meeting_type: Pasirinkite susitikimo tipą + select_a_registration_type: Pasirinkite registracijos tipą + select_an_iframe_access_level: Pasirinkite iframe prieigos lygį + show_embedded_iframe_help: Tik kelios paslaugos gali būti integruotos susitikimuose (YouTube, Twitch, Jitsi) + index: + click_here: Žiūrėti visus susitikimus + new_meeting: Naujas susitikimas + see_all: Žiūrėti visus susitikimus + see_all_withdrawn: Žiūrėti visus atšauktus susitikimus + text_banner: Jūs žiūrite susitikimų, kuriuos atšaukė jų autoriai, sąrašą. %{go_back_link}. + meeting_minutes: + related_information: Susijusi informacija + meetings: + no_meetings_warning: Nei vienas susitikimas neatitinka jūsų paieškos kriterijų arba nėra suplanuotų susitikimų. + upcoming_meetings_warning: Šiuo metu suplanuotų susitikimų nėra, tačiau čia galite rasti visus buvusius susitikimus. + new: + back: Atgal + create: Sukurti + title: Sukurkite savo susitikimą + registration_confirm: + cancel: Atšaukti + confirm: Patvirtinti + show: + attendees: Dalyvių skaičius + back: Grįžti į sąrašą + close_meeting: Uždaryti susitikimą + contributions: Nuomonių skaičius + date: Data + edit_close_meeting: Redaguoti susitikimo ataskaitą + edit_meeting: Redaguoti susitikimą + going: Jūs užsiregistravote šiame susitikime + join: Prisijunkite prie susitikimo + leave: Atšaukti registraciją + leave_confirmation: Ar tikrai norite atšaukti savo registraciją į šį susirinkimą? + link_available_soon: Nuoroda bus prieinama neužilgo + link_closed: Nuoroda bus prieinama kelias minutes prieš susirinkimą + live_event: Susirinkimas vyksta šiuo metu + meeting_minutes: Susirinkimo Protokolas + micro_camera_permissions_warning: Kai paspausite ant žemiau esančio mygtuko, Jūsų paprašys leidimo naudoti mikrofoną ir kamerą, bei prisijungsite prie susirinkimo + no_slots_available: Nebėra vietų + organizations: Dalyvaujančios organizacijos + registration_code_help_text: Jūsų registracijos kodas + registration_state: + validated: PATIKRINTA + validation_pending: VYKSTA PATIKRINIMAS + remaining_slots: + one: "Liko %{count} vieta" + few: "Liko %{count} vietos" + many: "Liko %{count} vietos" + other: "Liko %{count} vietos" + view: Peržiūrėti + visit_finished: Peržiūrėti susirinkimą + withdraw_btn_hint: Galite išimti susirinkimą jei apsigalvojoje. Susirinkimas nebus ištrintas - jis atsidurs išimtų susirinkimų sąraše. + withdraw_confirmation_html: Ar tikrai norite išimti šį susirinkimą?

    Šio veiksmo atšaukti negalima! + withdraw_meeting: Išimti susirinkimą + update: + invalid: Atnaujinant susirinkimą iškilo problema. + success: Sėkmingai atnaujinote susirinkimą. + meetings_map: + view_meeting: Peržiūrėti susirinkimą + models: + invite: + fields: + email: El. paštas + name: Vardas + sent_at: Išsiųsta + status: Būsena + status: + accepted: Priimta (%{at}) + rejected: Atmesta (%{at}) + sent: Išsiųstas + meeting: + fields: + closed: Uždaryta + end_time: Pabaigos data + id: ID + map: Žemėlapis + official_meeting: Oficialus susirinkimas + start_time: Pradžios data + title: Pavadinimas + polls: + questions: + closed_question: + question_results: Klausimų rezultatai + index: + empty_questions: Viso šio susitikimo metu bus siunčiami klausimai ir galėsite į juos atsakyti. Jie bus rodomi čia. + index_admin: + admin_dashboard: Administratoriaus skydelis + edit: Redaguoti administratoriaus skydelyje + question: Klausimas + received_answer: gautas atsakymas + received_answers: gauti atsakymai + results: Rezultatai + send: Siųsti + sent: Išsiųsta + published_question: + max_choices_alert: Per daug pasirinktų variantų + question: Klausimas + question_replied: Klausimas atsakytas + reply_question: Atsakyti į klausimą + public_participants_list: + attending_participants: Dalyviai + hidden_participants_count: + one: ir dar %{count} žmogus + few: ir dar %{count} žmonės (-ių) + many: ir dar %{count} žmonės (-ių) + other: ir dar %{count} žmonės (-ių) + read_more: "(skaityti toliau)" + registration_mailer: + confirmation: + confirmed_html: Jūsų registracija į susirinkimą %{title} buvo patvirtinta. + details: Išsamią susirinkimo informaciją rasite priede. + registration_code: Jūsų registracijos kodas yra %{code}. + registration_type: + on_different_platform: Kitoje platformoje + on_this_platform: Šioje platformoje + registration_disabled: Registracijos išjungtos + registrations: + create: + invalid: Jungiantis prie šio susirinkimo iškilo problema. + success: Jūs prisijungėte prie susirinkimo. Kadangi užsiregistravote šiame posėdyje, jums bus pranešta, jeigu jo informacija bus atnaujinta. + decline_invitation: + invalid: Atmetant kvietimą iškilo problema. + success: Jūs atmetėte kvietimą. + destroy: + invalid: Paliekant šį susirinkimą iškilo problema. + success: Sėkmingai palikote susirinkimą. + type_of_meeting: + hybrid: Hibridinis + in_person: Fizinis + online: Virtualus + types: + private_meeting: Uždaras posėdis + transparent: Skaidrus + withdraw: Atsiimta + versions: + back_to_resource: Grįžti į susirinkimą + withdraw: + error: Išimant susirinkimą įvyko klaida + success: Susirinkimas sėkmingai išimtas + metrics: + meetings: + description: Sukurtų susirinkimų skaičius + object: susirinkimai + title: Susirinkimai + participatory_spaces: + highlighted_meetings: + past_meetings: Įvykę susirinkimai + see_all: Žiūrėti visus susirinkimus (%{count}) + upcoming_meetings: Artėjantys susirinkimai + upcoming_meeting_for_card: + upcoming_meeting: Būsimas susirinkimas + resource_links: + meetings_through_proposals: + meeting_result: 'Susiję rezultatai:' + result_meeting: 'Susiję susirinkimai:' + proposals_from_meeting: + meeting_proposal: 'Susiję pasiūlymai:' + proposal_meeting: 'Susiję susirinkimai:' + statistics: + meetings_count: Susirinkimai + devise: + mailer: + join_meeting: + subject: Kvietimas dalyvauti susirinkime diff --git a/decidim-meetings/config/locales/nl.yml b/decidim-meetings/config/locales/nl.yml index 968bdf8db27f7..adc9dfce80b8e 100644 --- a/decidim-meetings/config/locales/nl.yml +++ b/decidim-meetings/config/locales/nl.yml @@ -42,6 +42,10 @@ nl: type_of_meeting: Type errors: models: + meeting: + attributes: + iframe_embed_type: + not_embeddable: Deze URL kan niet worden ingesloten in vergadering of live evenement pagina meeting_agenda: attributes: base: @@ -89,13 +93,14 @@ nl: label: Oorsprong values: citizen: Inwoners - official: Officiële + official: Officieel user_group: Gebruikersgroepen scope_id_eq: label: Scope type_eq: label: Type vergadering values: + hybrid: Hybride in_person: Fysiek online: Online meeting_copies: @@ -121,6 +126,7 @@ nl: default_registration_terms: Standaard registratievoorwaarden enable_pads_creation: Schakel het maken van pads in maps_enabled: Kaarten ingeschakeld + registration_code_enabled: Inschrijvingsformulier ingeschakeld resources_permissions_enabled: Actiemachtigingen kunnen voor elke vergadering worden ingesteld scope_id: Scope scopes_enabled: Scopes ingeschakeld @@ -134,37 +140,37 @@ nl: meetings: meeting_closed: affected_user: - email_intro: 'Uw vergadering "%{resource_title}" is gesloten. U kunt de conclusies lezen op de pagina:' - email_outro: U heeft deze melding ontvangen omdat u de vergadering "%{resource_title}" heeft georganiseerd. - email_subject: Het event "%{resource_title}" is afgelopen - notification_title: Het %{resource_title} event is afgelopen. + email_intro: 'Je vergadering "%{resource_title}" is afgesloten. Je kunt de conclusies lezen op de pagina:' + email_outro: Je hebt deze melding ontvangen omdat je de vergadering "%{resource_title}" hebt georganiseerd. + email_subject: De vergadering "%{resource_title}" is afgesloten + notification_title: De vergadering %{resource_title} is afgesloten. follower: - email_intro: 'Het event "%{resource_title}" is afgelopen. Je kan het besluit hier lezen:' - email_outro: Je hebt deze melding ontvangen omdat je de bijeenkomst "%{resource_title}" volgt. Je kan stoppen met deze te volgen via vorige link. - email_subject: Het event "%{resource_title}" is afgelopen - notification_title: Het %{resource_title} event is afgelopen. + email_intro: 'Je vergadering "%{resource_title}" is afgesloten. Je kunt de conclusies lezen op de pagina:' + email_outro: Je hebt deze melding ontvangen omdat je de vergadering "%{resource_title}" volgt. Je kan stoppen met deze te volgen via vorige link. + email_subject: De vergadering "%{resource_title}" is afgesloten + notification_title: De vergadering %{resource_title} is afgesloten. meeting_created: button_text: Schrijf in voor de bijeenkomst email_intro: Het event "%{resource_title}" is toegevoegd aan "%{participatory_space_title}" dat je volgt. email_outro: Je ontvangt deze melding omdat je "%{participatory_space_title}" volgt. Je kan dit ontvolgen door te klikken op de voorgaande link. - email_subject: Nieuw event toegevoegd aan %{participatory_space_title} + email_subject: Nieuwe vergadering toegevoegd aan %{participatory_space_title} notification_title: Het event %{resource_title} is toegevoegd aan %{participatory_space_title} meeting_registration_confirmed: - notification_title: Uw registratie voor de vergadering %{resource_title} is bevestigd. Uw registratiecode is %{registration_code}. + notification_title: Je registratie voor de vergadering %{resource_title} is bevestigd. Je registratiecode is %{registration_code}. meeting_registrations_over_percentage: email_intro: Het aantal ingenomen plaatsen voor de vergadering "%{resource_title}" is groter dan %{percentage}%. email_outro: Je ontvangt deze melding omdat je beheerder bent voor het event van de burgerinspraak. - email_subject: De "%{resource_title}" vergadering bezet meer plaatsen dan %{percentage}% + email_subject: Het aantal ingenomen plaatsen voor de vergadering "%{resource_title}" is groter dan %{percentage}% notification_title: Het aantal ingenomen plaatsen voor de vergadering %{resource_title} is groter dan %{percentage}%. meeting_updated: email_intro: 'Het event "%{resource_title}" is bijgewerkt. Je kan de nieuwe versie hier lezen:' email_outro: Je ontvangt deze omdat je het event "%{resource_title}" volgt. Ontvolgen kan door te klikken op de voorgaande ink. - email_subject: Het event "%{resource_title}" is bijgewerkt + email_subject: De vergadering "%{resource_title}" is bijgewerkt notification_title: Het %{resource_title} event is bijgewerkt. registration_code_validated: email_intro: Uw registratiecode "%{registration_code}" voor de "%{resource_title}" vergadering is gevalideerd. - email_outro: U heeft deze melding ontvangen omdat uw registratiecode voor de "%{resource_title}" vergadering is gevalideerd. - email_subject: Uw registratiecode "%{registration_code}" voor de "%{resource_title}" vergadering is gevalideerd + email_outro: Je ontvangt deze melding omdat je registratiecode voor de "%{resource_title}" vergadering is gevalideerd. + email_subject: Je registratiecode "%{registration_code}" voor de "%{resource_title}" vergadering is gevalideerd notification_title: Uw registratiecode "%{registration_code}" voor de %{resource_title} vergadering is gevalideerd. registrations_enabled: email_intro: 'Het event ''%{resource_title}'' heeft registraties ingeschakeld. Je kan jezelf registreren op zijn pagina:' @@ -176,27 +182,34 @@ nl: email_outro: Je ontvangt deze melding omdat je het event "%{resource_title}" volgt. Ontvolgen kan door te klikken op de voorgaande link. email_subject: Het "%{resource_title}" event start in minder dan 48 uur. notification_title: Het %{resource_title} event begint over minder dan 48 uur. + forms: + meetings: + attendees_count_help_text: Vergeet niet om het totale aantal deelnemers aan je vergadering toe te voegen, of het nu een fysieke, online of hybride bijeenkomst is. gamification: badges: attended_meetings: conditions: - - Registreer u voor de vergaderingen die u wilt bijwonen - description: Deze badge wordt toegekend wanneer u verschillende vergaderingen persoonlijk bijwoont. + - Registreer je voor de vergaderingen die je wil bijwonen + description: Deze badge wordt toegekend wanneer je verschillende vergaderingen persoonlijk bijwoont. description_another: Deze gebruiker heeft %{score} vergaderingen bijgewoond. description_own: U hebt %{score} vergaderingen bijgewoond. name: Bijgewoonde vergaderingen next_level_in: Woon nog %{score} vergaderingen bij om het volgende niveau te bereiken! unearned_another: Deze gebruiker heeft nog geen enkele vergadering bijgewoond. - unearned_own: U heeft nog geen vergadering bijgewoond. + unearned_own: Je hebt nog geen vergadering bijgewoond. meetings: actions: agenda: Agenda - attachment_collections: folders + attachment_collections: Mappen attachments: Bijlagen close: Sluit confirm_destroy: Weet u zeker dat u deze vergadering wilt verwijderen? destroy: Verwijderen edit: Bewerk + invalid_destroy: + proposals_count: + one: 'De vergadering kan niet worden verwijderd omdat er %{count} voorstel aan verbonden is:' + other: 'De vergadering kan niet worden verwijderd omdat er %{count} voorstellen aan verbonden zijn:' manage_poll: Beheer poll new: Nieuwe vergadering preview: Voorbeeld @@ -207,18 +220,18 @@ nl: agenda_item: add_agenda_item_child: Agenda-item kind toevoegen agenda_item: Agendapunt - agenda_item_children: Agenda sub-punten + agenda_item_children: Subrubrieken agendapunt down: naar beneden remove: Verwijderen up: omhoog agenda_item_child: - agenda_item_child: Agenda sub-punten - down: naar beneden + agenda_item_child: Subrubriek agendapunt + down: Naar beneden remove: Verwijderen - up: omhoog + up: Omhoog create: invalid: Er is een probleem opgetreden bij het maken van deze agenda - success: Agenda succesvol gemaakt + success: Agenda succesvol aangemaakt edit: title: Agenda bewerken update: Bijwerken @@ -228,7 +241,7 @@ nl: end_date: Einddatum start_date: Begindatum new: - create: creëren + create: Aanmaken title: Nieuwe agenda update: invalid: Er is een probleem opgetreden bij het bijwerken van deze agenda @@ -236,12 +249,12 @@ nl: exports: answers: Antwoorden meeting_comments: Reacties - meetings: vergaderingen + meetings: Vergaderingen registrations: registraties invite_join_meeting_mailer: invite: decline: Uitnodiging afwijzen - invited_you_to_join_a_meeting: "%{invited_by} heeft u uitgenodigd om deel te nemen aan een vergadering op %{application}. U kunt weigeren of accepteren via de onderstaande link." + invited_you_to_join_a_meeting: "%{invited_by} heeft je uitgenodigd om deel te nemen aan een vergadering op %{application}. Je kunt weigeren of accepteren via de onderstaande links." join: Word lid van '%{meeting_title}' invites: create: @@ -258,7 +271,7 @@ nl: filter: accepted: Aanvaard all: Alle - rejected: Verworpen + rejected: Afgewezen sent: Verzonden filter_by: Filteren op invite_attendee: Nodig een deelnemer uit @@ -280,8 +293,13 @@ nl: invalid: Er is een probleem opgetreden met het maken van deze vergadering success: Vergadering met succes aangemaakt. Merk op dat deze nog niet gepubliceerd is, je moet deze nog handmatig publiceren. destroy: + invalid: + proposals_count: + one: De vergadering kan niet worden verwijderd omdat er %{count} voorstel aan verbonden is + other: De vergadering kan niet worden verwijderd omdat er %{count} voorstellen aan verbonden zijn success: Vergadering succesvol verwijderd edit: + title: Vergadering bewerken update: Bijwerken form: address_help: 'Adres: gebruikt door Geocoder om de locatie te vinden' @@ -294,6 +312,7 @@ nl: registration_url_help: 'Link: verleen deelnemers toegang tot de externe dienst die je gebruikt voor registraties' select_a_meeting_type: Selecteer een vergaderingstype select_a_registration_type: Selecteer een registratietype + select_an_iframe_access_level: Selecteer een iframe toegangsniveau index: title: Events new: @@ -335,7 +354,7 @@ nl: form: available_slots_help: Laat het op 0 indien u onbeperkt beschikbare plaatsen hebt. invites: Uitnodigingen - recommendation_message: Om privacyredenen raden we je aan dit inscriptformulier te verwijderen als je het niet meer nodig hebt. Standaard is dit 3 maanden na afloop van de vergadering. + recommendation_message: Om privacyredenen raden we je aan dit inschrijvingsformulier te verwijderen als je het niet meer nodig hebt. Standaard is dit 3 maanden na afloop van de vergadering. registration_form: Registratieformulier registrations_count: one: Er is %{count} registratie geweest. @@ -351,9 +370,9 @@ nl: success: Registratiecode succesvol gevalideerd. admin_log: invite: - create: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} vergadering op de %{space_name} ruimte" - deleted: "%{user_name} heeft de uitnodiging van %{attendee_name} voor deelname aan %{resource_name} vergadering op de %{space_name} ruimte ingetrokken" - update: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} bijeenkomst op de %{space_name} ruimte" + create: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} vergadering van %{space_name}" + deleted: "%{user_name} heeft de uitnodiging van %{attendee_name} voor deelname aan %{resource_name} vergadering van %{space_name} ingetrokken" + update: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} bijeenkomst van %{space_name}" meeting: close: "%{user_name} sloot het %{resource_name} event in de %{space_name} ruimte" create: "%{user_name} heeft het %{resource_name} event gemaakt in de %{space_name} ruimte" @@ -385,6 +404,15 @@ nl: index: meetings: vergaderingen space_type: Participatieve ruimte + iframe_access_level: + all: Alle bezoekers + registered: Geregistreerde deelnemers aan deze vergadering + signed_in: Alleen ingelogde deelnemers + iframe_embed_type: + embed_in_meeting_page: Insluiten in vergaderpagina + none: Geen + open_in_live_event_page: Open in live event pagina (met optionele polls) + open_in_new_tab: Open link in een nieuw tabblad last_activity: meeting_updated_at_html: "Vergadering bijgewerkt op %{link}" new_meeting_at_html: "Nieuwe vergadering op %{link}" @@ -421,32 +449,33 @@ nl: other: "%{count} vergaderingen" create: invalid: Er is een fout opgetreden bij het maken van deze vergadering. - success: U heeft de vergadering succesvol aangemaakt. + success: Je hebt de vergadering succesvol aangemaakt. edit: - back: Achterzijde + back: Terug title: Bewerk je vergadering - update: Vernieuwen + update: Bijwerken filters: activity: Mijn activiteit all: Alle category: Categorie date: Datum date_values: - all: Allemaal - past: Verleden - upcoming: Aankomende + all: Alle + past: Voorbij + upcoming: Toekomstige my_meetings: Mijn vergaderingen origin: Oorsprong origin_values: - all: Allemaal + all: Alles citizens: Burgers - official: Officiële + official: Officieel user_groups: Groepen - scope: Bereik + scope: Scope search: Zoeken type: Type type_values: all: Alle + hybrid: Hybride in_person: Fysiek online: Online filters_small_view: @@ -459,7 +488,7 @@ nl: available_slots_help: Laat op 0 staan als je onbeperkt aantal tijdsblokken beschikbaar hebt create_as: Maak vergadering als disclaimer: 'Disclaimer: Door gebruik te maken van een extern registratiesysteem, ben je op de hoogte dat de organisatoren van %{organization} niet verantwoordelijk zijn voor de gegevens die door gebruikers aan de externe dienst worden verstrekt.' - location_help: 'Locatie: bericht gericht naar de gebruikers die de plek om elkaar te ontmoeten impliceren' + location_help: 'Locatie: bericht over de ontmoetingsplek gericht naar de gebruikers' location_hints_help: 'Locatie hints: aanvullende informatie. Bijvoorbeeld: de verdieping van het gebouw als het een fysieke vergadering is, of het vergaderwachtwoord als het een online vergadering is met beperkte toegang.' online_meeting_url_help: 'Link: laat deelnemers direct verbinding maken met je vergadering' registration_url_help: 'Link: verleen deelnemers toegang tot de externe dienst die je gebruikt voor registraties' @@ -490,8 +519,9 @@ nl: back: Terug naar het overzicht close_meeting: Vergadering sluiten contributions: Aantal bijdragen - date: 'Datum:' - edit_meeting: Bewerk vergadering + date: Datum + edit_close_meeting: Bewerk vergaderverslag + edit_meeting: Vergadering bewerken going: Je hebt je ingeschreven voor deze vergadering join: Deelnemen aan bijeenkomst leave: Inschrijving annuleren @@ -503,13 +533,13 @@ nl: micro_camera_permissions_warning: Als je op de knop hieronder klikt, wordt toestemming gevraagd voor het gebruik van je microfoon en/of camera en neem je deel aan de videoconferentie no_slots_available: Geen plaatsen beschikbaar organizations: Bijwonen van organisaties - registration_code_help_text: Uw registratiecode + registration_code_help_text: Jouw registratiecode registration_state: validated: GOEDGEKEURD validation_pending: WACHTEN OP GOEDKEURING remaining_slots: one: "%{count} resterende plaats" - other: "%{count} slots over" + other: "%{count} resterende plaatsen" view: Bekijk visit_finished: Bekijk voorbije vergadering withdraw_btn_hint: Je kunt je vergadering afgelasten indien nodig. De vergadering wordt niet verwijderd, deze verschijnt in de lijst met afgelaste vergaderingen. @@ -517,7 +547,7 @@ nl: withdraw_meeting: Vergadering afgelasten update: invalid: Er was een probleem bij het bijwerken van de vergadering. - success: U heeft de vergadering succesvol bijgewerkt. + success: De vergadering is succesvol bijgewerkt. meetings_map: view_meeting: Bekijk vergadering models: @@ -535,6 +565,7 @@ nl: fields: closed: Gesloten end_time: Einddatum + id: ID map: Kaart official_meeting: Officiële vergadering start_time: Startdatum @@ -547,6 +578,7 @@ nl: empty_questions: Tijdens deze vergadering worden er enkele vragen verzonden en je kan ze beantwoorden. Ze zullen hier worden weergegeven. index_admin: admin_dashboard: Beheer Dashboard + edit: Bewerk in admin question: Vraag received_answer: antwoord ontvangen received_answers: ontvangen antwoorden @@ -584,6 +616,7 @@ nl: invalid: Er is een probleem opgetreden bij het verlaten van deze vergadering. success: U heeft de vergadering succesvol verlaten. type_of_meeting: + hybrid: Hybride in_person: Fysiek online: Online types: @@ -603,7 +636,7 @@ nl: participatory_spaces: highlighted_meetings: past_meetings: Vorige events - see_all: Alles zien (%{count}) + see_all: Alle vergaderingen bekijken (%{count}) upcoming_meetings: Aankomende vergaderingen upcoming_meeting_for_card: upcoming_meeting: Aankomende vergadering diff --git a/decidim-meetings/config/locales/pl.yml b/decidim-meetings/config/locales/pl.yml index 513da4b143fac..98f1515e6e8d1 100644 --- a/decidim-meetings/config/locales/pl.yml +++ b/decidim-meetings/config/locales/pl.yml @@ -296,6 +296,7 @@ pl: registration_url_help: 'Link: zezwól użytkownikom na korzystanie z usługi zewnętrznej, której używasz do rejestracji' select_a_meeting_type: Wybierz typ spotkania select_a_registration_type: Wybierz typ rejestracji + show_embedded_iframe_help: Tylko kilka usług pozwala na osadzanie w spotkaniu lub wydarzeniu na żywo (YouTube, Twitch i Jitsi) index: title: Spotkania new: @@ -404,7 +405,7 @@ pl: count: meetings_count: one: "%{count} spotkanie" - few: "%{count} spotkań" + few: "%{count} spotkania" many: "%{count} spotkań" other: "%{count} spotkań" create: @@ -454,6 +455,7 @@ pl: select_a_category: Wybierz kategorię select_a_meeting_type: Wybierz typ spotkania select_a_registration_type: Wybierz typ rejestracji + show_embedded_iframe_help: Tylko kilka usług pozwala na osadzanie w spotkaniu lub wydarzeniu na żywo (YouTube, Twitch i Jitsi) index: new_meeting: Nowe spotkanie meeting_minutes: diff --git a/decidim-meetings/config/locales/sv.yml b/decidim-meetings/config/locales/sv.yml index bca49f16121cc..a0e467a5fa82f 100644 --- a/decidim-meetings/config/locales/sv.yml +++ b/decidim-meetings/config/locales/sv.yml @@ -100,6 +100,7 @@ sv: type_eq: label: Mötestyp values: + hybrid: Hybrid in_person: Fysiska online: Online meeting_copies: @@ -472,6 +473,7 @@ sv: type: Typ type_values: all: Allt + hybrid: Hybrid in_person: Fysiska online: Online filters_small_view: @@ -562,6 +564,7 @@ sv: fields: closed: Stängd end_time: Slutdatum + id: ID map: Karta official_meeting: Officiellt möte start_time: Startdatum @@ -611,6 +614,7 @@ sv: invalid: Det gick inte att lämna mötet. success: Du har lämnat mötet. type_of_meeting: + hybrid: Hybrid in_person: Fysiska online: Online types: diff --git a/decidim-pages/config/locales/ca.yml b/decidim-pages/config/locales/ca.yml index a5b3001637a83..85d0f563fee57 100644 --- a/decidim-pages/config/locales/ca.yml +++ b/decidim-pages/config/locales/ca.yml @@ -30,6 +30,6 @@ ca: success: Pàgina desada correctament. home: hero: - participate_title: Participeu en els processos de la plataforma + participate_title: Participa en els processos de la plataforma sub_hero: register_title: Registra't per tenir un compte diff --git a/decidim-pages/config/locales/de.yml b/decidim-pages/config/locales/de.yml index 7aaaedbf6c523..d0e0fb5f576cb 100644 --- a/decidim-pages/config/locales/de.yml +++ b/decidim-pages/config/locales/de.yml @@ -29,5 +29,7 @@ de: invalid: Beim Speichern der Seite sind Fehler aufgetreten. success: Seite erfolgreich gespeichert home: + hero: + participate_title: Beteiligen Sie sich an den Prozessen auf dieser Plattform sub_hero: register_title: Registrieren diff --git a/decidim-pages/config/locales/es-MX.yml b/decidim-pages/config/locales/es-MX.yml index a7a816c65f3d2..e7298d4f6f483 100644 --- a/decidim-pages/config/locales/es-MX.yml +++ b/decidim-pages/config/locales/es-MX.yml @@ -30,6 +30,6 @@ es-MX: success: Página guardada correctamente. home: hero: - participate_title: Participar en los procesos de la plataforma + participate_title: Participa en los procesos de la plataforma sub_hero: register_title: Regístrate para tener una cuenta diff --git a/decidim-pages/config/locales/es-PY.yml b/decidim-pages/config/locales/es-PY.yml index 9ee312df3122d..2d47b1ff03c87 100644 --- a/decidim-pages/config/locales/es-PY.yml +++ b/decidim-pages/config/locales/es-PY.yml @@ -30,6 +30,6 @@ es-PY: success: Página guardada correctamente. home: hero: - participate_title: Participar en los procesos de la plataforma + participate_title: Participa en los procesos de la plataforma sub_hero: register_title: Regístrate para tener una cuenta diff --git a/decidim-pages/config/locales/es.yml b/decidim-pages/config/locales/es.yml index 1c91722c752cc..0b0ffef6c2742 100644 --- a/decidim-pages/config/locales/es.yml +++ b/decidim-pages/config/locales/es.yml @@ -30,6 +30,6 @@ es: success: Página guardada correctamente. home: hero: - participate_title: Participar en los procesos de la plataforma + participate_title: Participa en los procesos de la plataforma sub_hero: register_title: Regístrate para tener una cuenta diff --git a/decidim-pages/config/locales/hu.yml b/decidim-pages/config/locales/hu.yml index 48a75ced047f5..d426ea1830f76 100644 --- a/decidim-pages/config/locales/hu.yml +++ b/decidim-pages/config/locales/hu.yml @@ -28,3 +28,8 @@ hu: update: invalid: Hiba történt az oldal mentése során. success: Oldal mentése sikeres. + home: + hero: + participate_title: Részvétel a platform folyamataiban + sub_hero: + register_title: A fiók létrehozásához iratkozz fel diff --git a/decidim-pages/config/locales/lt.yml b/decidim-pages/config/locales/lt.yml index 6c5cb837ac8c1..963fa3086c51d 100644 --- a/decidim-pages/config/locales/lt.yml +++ b/decidim-pages/config/locales/lt.yml @@ -1 +1,37 @@ lt: + activerecord: + models: + decidim/pages/page: + one: Puslapis + few: Puslapiai + many: Puslapiai + other: Puslapiai + decidim: + admin_log: + page: + update: "%{user_name} atnaujino %{resource_name} puslapį %{space_name}" + components: + pages: + name: Puslapis + settings: + global: + announcement: Pranešimas + step: + announcement: Pranešimas + pages: + admin: + models: + components: + body: Pagrindinė dalis + pages: + edit: + save: Atnaujinimas + title: Redaguoti puslapį + update: + invalid: Išsaugant šį puslapį iškilo problema. + success: Puslapis išsaugotas. + home: + hero: + participate_title: Dalyvauti platformos procesuose + sub_hero: + register_title: Užsiregistruokite norėdami susikurti paskyrą diff --git a/decidim-participatory_processes/config/locales/cs.yml b/decidim-participatory_processes/config/locales/cs.yml index e9b30a8baa95f..e04129cb3a194 100644 --- a/decidim-participatory_processes/config/locales/cs.yml +++ b/decidim-participatory_processes/config/locales/cs.yml @@ -78,9 +78,9 @@ cs: other: Participativní procesy decidim/participatory_process_group: one: Skupina účastnických procesů - few: Skupiny zúčastněných procesů - many: Skupiny zúčastněných procesů - other: Skupiny zúčastněných procesů + few: Skupiny účastnických procesů + many: Skupiny účastnických procesů + other: Skupiny účastnických procesů decidim/participatory_process_step: one: Krok few: Kroky @@ -122,7 +122,7 @@ cs: info: Info moderations: Moderování private_users: Soukromí uživatelé - process_admins: Zpracovat uživatele + process_admins: Administrátoři procesu steps: Kroky models: participatory_process: @@ -268,7 +268,7 @@ cs: error: Došlo k chybě při vytváření nové skupiny účastnických procesů. success: Skupina úspěšně vytvořená skupina účastníků. titles: - participatory_process_groups: Skupiny zúčastněných procesů + participatory_process_groups: Skupiny účastnických procesů participatory_processes: Participativní procesy users: resend_invitation: @@ -352,7 +352,7 @@ cs: many: "%{count} procesů" other: "%{count} procesy" show: - title: Skupiny zúčastněných procesů + title: Skupiny účastnických procesů participatory_process_steps: index: process_steps: Procesní kroky diff --git a/decidim-participatory_processes/config/locales/fr.yml b/decidim-participatory_processes/config/locales/fr.yml index 98b725c9b4883..6820a5ff9dfbe 100644 --- a/decidim-participatory_processes/config/locales/fr.yml +++ b/decidim-participatory_processes/config/locales/fr.yml @@ -25,7 +25,7 @@ fr: related_process_ids: Concertations liées scope_id: Périmètre d'application scope_type_max_depth_id: Profondeur du filtre de portée - scopes_enabled: Périmètres d'application activés + scopes_enabled: Secteurs activés short_description: Résumé show_metrics: Afficher les métriques show_statistics: Montrer les statistiques diff --git a/decidim-participatory_processes/config/locales/hu.yml b/decidim-participatory_processes/config/locales/hu.yml index a44bc5afbdaa4..15859342e4d81 100644 --- a/decidim-participatory_processes/config/locales/hu.yml +++ b/decidim-participatory_processes/config/locales/hu.yml @@ -34,10 +34,20 @@ hu: subtitle: Felirat target: Ki vesz részt benne title: Cím + weight: Pozíció sorrend participatory_process_group: description: Leírás + developer_group: Előterjesztő csoport + group_url: Weboldal + hashtag: Hashtag hero_image: Kép + local_area: Szervezeti terület + meta_scope: Hatókör-metaadatok participatory_process_ids: Kapcsolódó folyamatok + participatory_scope: Miről születik döntés + participatory_structure: Hogyan születik döntés + target: Ki részt vesz + title: Cím participatory_process_step: cta_path: Hívás cselekvés útjára cta_text: Call to Action szöveg @@ -93,6 +103,9 @@ hu: unpublish: Közzététel visszavonása menu: participatory_process_groups: Folyamat csoportok + participatory_process_groups_submenu: + info: Info + landing_page: Landing oldal participatory_processes: Folyamatok participatory_processes_submenu: attachment_collections: Mappák @@ -115,6 +128,8 @@ hu: title: Cím name: Részvételi folyamat participatory_process_group: + fields: + title: Cím name: Folyamat csoport participatory_process_step: fields: @@ -142,6 +157,13 @@ hu: copy: Másolás select: Válaszd ki, mely adatokat szeretnéd duplikálni title: Részvételi folyamat duplikálása + participatory_process_group_landing_page: + edit: + active_content_blocks: Aktív tartalom blokkok + inactive_content_blocks: Inaktív tartalomblokkok + participatory_process_group_landing_page_content_blocks: + edit: + update: Frissítés participatory_process_groups: destroy: error: Hiba történt a részvételi folyamatcsoport törlése során. @@ -266,6 +288,11 @@ hu: update: "%{user_name} megváltoztatta %{resource_name} szerepét a(z) %{space_name} részvételi folyamatban" events: participatory_process: + role_assigned: + email_intro: Önt a(z) %{role} szerephez rendelték a következő részvételi folyamatban "%{resource_title}". + email_outro: Azért kapta ezt az értesítést, mert a(z) "%{resource_title}" részvételi folyamatban ön %{role}. + email_subject: 'Önt a(z) %{role} szerephez rendelték itt: "%{resource_title}".' + notification_title: 'A(z) %{role} szerephez rendelték a részvételi folyamatban: %{resource_title}.' step_activated: email_intro: 'A(z) %{resource_title} lépés aktiválva itt: %{participatory_space_title}. További részleteket itt találsz:' email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.' @@ -289,10 +316,30 @@ hu: description: A részvételi folyamatok száma ebben a szervezetben object: részvételi folyamatok title: Részvételi folyamatok + participatory_process: + show: + related_assemblies: Kapcsolódó gyűlések participatory_process_groups: content_blocks: + html_1: + name: Első HTML block + html_2: + name: Második HTML block + html_3: + name: Harmadik HTML block + metadata: + developer_group: Kezdeményezve + name: Metaadatok + participatory_scope: Miről születik döntés + participatory_structure: Hogyan születik döntés + target: Ki vesz részt benne + participatory_processes: + name: Részvételi folyamatok stats: name: Tevékenység + title: + meta_scope: Hatókör + name: Cím, leírás és hashtag show: title: Részvételi folyamat csoportok participatory_process_steps: @@ -304,9 +351,17 @@ hu: content_blocks: highlighted_processes: max_results: A megjelenítendő elemek maximális száma + new_import: + accepted_types: + json: JSON participatory_process_copies: form: slug_help: 'Az URL slugok a folyamatok linkjeinek generáláshoz szükségesek. Csak betűket, számokat és kötőjeleket használhatsz. Betűvel kell kezdened. Példa: %{url}' + participatory_process_groups: + form: + metadata: Metaadat + title: Általános információ + visibility: Láthatóság participatory_process_imports: form: document_legend: Dokumentum hozzáadása @@ -344,7 +399,12 @@ hu: active_step: Aktív lépés more_information: További információk participate: Részvétel + participate_in: Részvétel a(z) %{resource_name} folyamatban + processes_button_title: Link a Folyamatok oldalra, ahol az összes folyamat látható see_all_processes: Összes folyamat + participatory_process_steps: + index: + back_to_process: Vissza a folyamatok oldalára participatory_processes: filters: counters: @@ -372,8 +432,12 @@ hu: see: Lásd index: loading: Eredmények betöltése... + show: + title: Erről a folyamatról show: area: Terület + belongs_to_group: Ide tartozik ez a folyamat + dates: Dátumok developer_group: Kezdeményező csoport end_date: Befejezés dátuma local_area: Szervezet területe @@ -385,11 +449,14 @@ hu: start_date: Kezdő dátum target: Ki részt vesz unspecified: Nem meghatározott + statistics: + processes_count: Folyamatok layouts: decidim: participatory_process_groups: participatory_process_group: browse: Böngészés + browse_resource: '%{resource_name} folyamatcsoport böngészése' processes_count: 'Folyamatok:' participatory_process_widgets: show: @@ -401,11 +468,17 @@ hu: participatory_process: active_step: 'Aktuális lépés:' more_info: Több információ + more_info_about: További információ a(z) %{resource_name} folyamatról take_part: Vegyél részt + take_part_in: Részvétel a(z) %{resource_name} folyamatban promoted_process: active_step: 'Aktuális lépés:' more_info: További információ + more_info_about: További információ a(z) %{resource_name} folyamatról take_part: Vegyél részt + take_part_in: Részvétel a(z) %{resource_name} folyamatban + promoted_process_group: + more_info: Több információ process_header_steps: step: '%{current}. lépés ennyiből: %{total}' view_steps: Lépések megtekintése diff --git a/decidim-participatory_processes/config/locales/lt.yml b/decidim-participatory_processes/config/locales/lt.yml index 6c5cb837ac8c1..05f6e5ff0ae52 100644 --- a/decidim-participatory_processes/config/locales/lt.yml +++ b/decidim-participatory_processes/config/locales/lt.yml @@ -1 +1,505 @@ lt: + activemodel: + attributes: + participatory_process: + announcement: Pranešimas + area_id: Aplinka + banner_image: Reklamjuostės paveikslėlis + copy_categories: Kopijuoti kategorijas + copy_components: Kopijuoti komponentus + copy_steps: Kopijuoti veiksmus + decidim_area_id: Aplinka + description: Aprašymas + developer_group: Rėmėjų grupė + domain: Domenas + end_date: Pabaigos data + hashtag: Grotažymė + hero_image: Pradžios paveikslėlis + local_area: Organizacijos aplinka + meta_scope: Srities metaduomenys + participatory_process_group_id: Procesų grupė + participatory_scope: Kas nuspręsta + participatory_structure: Kaip nuspręsta + promoted: Paaukštintas/a + published_at: Publikuota + related_process_ids: Susiję procesai + scope_id: Apimtis + scope_type_max_depth_id: Srities filtro gylis + scopes_enabled: Sritys įjungtos + short_description: Trumpas aprašymas + show_metrics: Rodyti metriką + show_statistics: Rodyti statistiką + slug: URL priedas + start_date: Pradžios data + subtitle: Paantraštė + target: Kas dalyvauja + title: Pavadinimas + weight: Vieta eilėje + participatory_process_group: + description: Aprašymas + developer_group: Rėmėjų grupė + group_url: Tinklalapis + hashtag: Grotažymė + hero_image: Paveikslėlis + local_area: Organizacijos aplinka + meta_scope: Srities metaduomenys + participatory_process_ids: Susiję procesai + participatory_scope: Kas nuspręsta + participatory_structure: Kaip nuspręsta + target: Kas dalyvauja + title: Pavadinimas + participatory_process_step: + cta_path: Mygtuko „Raginti imtis veiksmų“ kelias + cta_text: Mygtuko „Raginti imtis veiksmų“ tekstas + description: Aprašymas + end_date: Pabaigos data + short_description: Trumpas aprašymas + start_date: Pradžios data + title: Pavadinimas + participatory_process_user_role: + email: El. paštas + name: Vardas + role: Rolė + errors: + models: + participatory_process: + attributes: + document: + invalid_document_type: 'Netinkamas dokumento tipas. Priimtini formatai: %{valid_mime_types}' + models: + decidim/participatory_process_step_activated_event: Etapas aktyvuotas + decidim/participatory_process_step_changed_event: Eatapas pakeistas + activerecord: + models: + decidim/participatory_process: + one: Dalyvaujamasis procesas + few: Dalyvaujamieji procesai + many: Dalyvaujamieji procesai + other: Dalyvaujamieji procesai + decidim/participatory_process_group: + one: Dalyvaujamojo proceso grupė + few: Dalyvaujamojo proceso grupės + many: Dalyvaujamojo proceso grupės + other: Dalyvaujamojo proceso grupės + decidim/participatory_process_step: + one: Etapas + few: Etapai + many: Etapai + other: Etapai + decidim: + admin: + actions: + activate: Aktyvuoti + configure: Konfigūruoti + confirm_destroy: Patvirtinti ištrynimą + destroy: Ištrinti + duplicate: Sukurti kopiją + edit: Redaguoti + filter: + all_processes: Rodyti visus procesus + process_groups: Procesų grupės + import_process: Importuoti + new_process: Naujas procesas + new_process_group: Nauja procesų grupė + new_process_step: Naujas etapas + new_process_user_role: Naujas proceso administratorius + preview: Peržiūra + publish: Publikuoti + resend_invitation: Persiųsti pakvietimą + unpublish: Depublikuoti + menu: + participatory_process_groups: Procesų grupės + participatory_process_groups_submenu: + info: Informacija + landing_page: Pagrindinis puslapis + participatory_processes: Procesai + participatory_processes_submenu: + attachment_collections: Aplankai + attachment_files: Dokumentai + attachments: Priedai + categories: Kategorijos + components: Komponentai + info: Informacija + moderations: Moderavimai + private_users: Privatūs dalyviai + process_admins: Proceso administratoriai + steps: Etapai + models: + participatory_process: + fields: + created_at: Sukurta + private: Privatu + promoted: Paryškinta + published: Paskelbta + title: Pavadinimas + name: Dalyvaujamasis procesas + participatory_process_group: + fields: + title: Pavadinimas + name: Procesų grupė + participatory_process_step: + fields: + end_date: Pabaigos data + start_date: Pradžios data + title: Pavadinimas + name: Dalyvaujamojo proceso etapas + participatory_process_user_role: + fields: + email: El. paštas + name: Vardas + role: Rolė + name: Dalyvaujamojo proceso administratorius + roles: + admin: Administratorius + collaborator: Bendraautorius + moderator: Moderatorius + valuator: Vertintojas + user: + fields: + invitation_accepted_at: Kvietimas priimtas + invitation_sent_at: Kvietimas išsiųstas + participatory_process_copies: + new: + copy: Kopijuoti + select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti + title: Dubliuoti dalyvaujamąjį procesą + participatory_process_group_landing_page: + edit: + active_content_blocks: Aktyvūs turinio blokai + inactive_content_blocks: Neaktyvūs turinio blokai + participatory_process_group_landing_page_content_blocks: + edit: + update: Atnaujinti + participatory_process_groups: + destroy: + error: Naikinant Dalyvaujamojo proceso grupę įvyko klaida. + success: Dalyvaujamojo proceso grupė pašalinta. + edit: + title: Keisti procesų grupę + update: Atnaujinti + new: + create: Sukurti + title: Nauja procesų grupė + update: + error: Atnaujinant šio dalyvaujamojo proceso grupę iškilo problema. + success: Dalyvaujamojo proceso grupė atnaujinta. + participatory_process_imports: + create: + error: Importuojant šį dalyvaujamąjį procesą iškilo problema. + success: Dalyvaujamasis procesas importuotas. + new: + import: Importuoti + select: Pasirinkite, kuriuos duomenis norėtumėte importuoti + title: Importuoti dalyvaujamąjį procesą + participatory_process_publications: + create: + error: Skelbiant šį dalyvaujamąjį procesą iškilo problema. + success: Dalyvaujamasis procesas paskelbtas. + destroy: + error: Naikinant šio dalyvaujamojo proceso skelbimą iškilo problema. + success: Dalyvaujamojo proceso skelbimas pašalintas. + participatory_process_step_activations: + create: + error: Aktyvuojant šio dalyvaujamojo proceso etapą iškilo problema. + success: Dalyvaujamojo proceso etapas aktyvuotas. + participatory_process_steps: + create: + error: Kuriant naują dalyvaujamojo proceso etapą iškilo problema. + success: Dalyvaujamojo proceso etapas sukurtas. + default_title: Įžanga + destroy: + error: + active_step: Negalima pašalinti aktyviojo etapo. + last_step: Negalima pašalinti proceso paskutinio etapo. + success: Dalyvaujamojo proceso etapas pašalintas. + edit: + title: Redaguoti dalyvaujamojo proceso etapą + update: Atnaujinti + index: + steps_title: Etapai + new: + create: Sukurti + title: Naujas dalyvaujamojo proceso etapas + ordering: + error: Pertvarkant šiuos dalyvaujamojo proceso etapus iškilo problema. + update: + error: Atnaujinant šio dalyvaujamojo proceso etapą iškilo problema. + success: Dalyvaujamasis etapas atnaujintas. + participatory_process_user_roles: + create: + error: Pridedant dalyvį prie dalyvaujamojo proceso iškilo problema. + success: Administratorius sėkmingai pridėtas prie šio dalyvaujamojo proceso. + destroy: + success: Šio dalyvaujamojo proceso administratorius pašalintas. + edit: + title: Atnaujinti dalyvaujamojo proceso administratorių + update: Atnaujinti + index: + process_admins_title: Dalyvaujamojo proceso administratoriai + new: + create: Sukurti + title: Naujas dalyvaujamojo proceso administratorius + update: + error: Atnaujinant šio dalyvaujamojo proceso administratorių iškilo problema. + success: Šio dalyvaujamojo proceso administratorius atnaujintas. + participatory_processes: + create: + error: Kuriant naują dalyvaujamąjį procesą iškilo problema. + success: Dalyvaujamasis procesas sukurtas. Dabar konfiguruokite jo etapus. + edit: + update: Atnaujinti + index: + not_published: Nepaskelbta + private: Privatu + public: Vieša + published: Paskelbta + new: + create: Sukurti + title: Naujas dalyvaujamasis procesas + update: + error: Atnaujinant šį dalyvaujamąjį procesą iškilo problema. + success: Dalyvaujamasis procesas atnaujintas. + participatory_processes_copies: + create: + error: Dubliuojant šį dalyvaujamąjį procesą iškilo problema. + success: Dalyvaujamasis procesas dubliuotas. + participatory_processes_group: + create: + error: Kuriant naują dalyvaujamojo proceso grupę iškilo problema. + success: Dalyvaujamojo proceso grupė sukurta. + titles: + participatory_process_groups: Dalyvaujamojo proceso grupės + participatory_processes: Dalyvaujamieji procesai + users: + resend_invitation: + error: Dar kartą siunčiant šį kvietimą iškilo problema. + success: Kvietimas išsiųstas iš naujo. + admin_log: + participatory_process: + create: "%{user_name} sukūrė %{resource_name} dalyvaujamąjį procesą" + publish: "%{user_name} paskelbė %{resource_name} dalyvaujamąjį procesą" + unpublish: "%{user_name} panaikino %{resource_name} dalyvaujamojo proceso skelbimą" + update: "%{user_name} atnaujino %{resource_name} dalyvaujamąjį procesą" + participatory_process_group: + create: "%{user_name} sukūrė %{resource_name} dalyvaujamojo proceso grupę" + update: "%{user_name} atnaujino %{resource_name} dalyvaujamojo proceso grupę" + participatory_process_step: + activate: "%{user_name} aktyvavo %{space_name} dalyvaujamojo proceso %{resource_name} etapą" + create: "%{user_name} sukūrė %{space_name} dalyvaujamojo proceso %{resource_name} etapą" + delete: "%{user_name} pašalino %{space_name} dalyvaujamojo proceso %{resource_name} etapą" + update: "%{user_name} atnaujino %{space_name} dalyvaujamojo proceso %{resource_name} etapą" + participatory_process_user_role: + create: "%{user_name} pakvietė %{resource_name} dalyvį į %{space_name} dalyvaujamąjį procesą" + delete: "%{user_name} pašalino %{resource_name} dalyvį iš %{space_name} dalyvaujamojo proceso" + update: "%{user_name} pakeitė %{resource_name} dalyvio vaidmenį %{space_name} dalyvaujamajame procese" + events: + participatory_process: + role_assigned: + email_intro: Jūs paskirtas "%{resource_title}“ dalyvaujamojo proceso %{role}. + email_outro: Šį pranešimą gavote dėl to, kad esate "%{resource_title}" dalyvaujamojo proceso %{role}. + email_subject: Jūs paskirtas „%{resource_title}“ %{role}. + notification_title: Jūs paskirtas %{resource_title} dalyvaujamojo proceso %{role}. + step_activated: + email_intro: '%{participatory_space_title} %{resource_title} etapas dabar aktyvus. Jį galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: '%{participatory_space_title} atnaujinimas' + notification_title: '%{resource_title} etapas dabar įjungtas %{participatory_space_title}' + step_changed: + email_intro: '%{participatory_space_title} %{resource_title} etapo datos buvo atnaujintos. Tai galite pamatyti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: '%{participatory_space_title} atnaujinimas' + notification_title: %{participatory_space_title} %{resource_title} etapo datos buvo atnaujintos. + help: + participatory_spaces: + participatory_processes: + contextual: "

    dalyvaujamasis procesas – dalyvaujamųjų veiklų seka (pvz., visų pirma surengiama apklausa, tada pateikiami pasiūlymai, jie aptariami tiesioginiuose susitikimuose arba vaizdo konferencijose ir galiausiai nustatomi pasiūlymų prioritetai). Šios veiklos tikslas – nustatyti ir priimti sprendimus konkrečia tema.

    Dalyvaujamojo proceso pavyzdžiai: komiteto narių rinkimo procesas (pirmiausia pateikiamos kandidatūros, po to diskutuojama ir galiausiai pasirenkamas kandidatas), dalyvaujamojo biudžeto nustatymas (teikiami pasiūlymai, jie vertinami ekonomiškai ir dėl jų balsuojama remiantis turimomis lėšomis), strateginio planavimo procesas, bendras reglamento ar standarto rengimas, miesto erdvės planavimas arba viešosios politikos plano rengimas.

    \n" + page: "

    dalyvaujamasis procesas – dalyvaujamųjų veiklų seka (pvz., visų pirma surengiama apklausa, tada pateikiami pasiūlymai, jie aptariami tiesioginiuose susitikimuose arba vaizdo konferencijose ir galiausiai nustatomi pasiūlymų prioritetai). Šios veiklos tikslas – nustatyti ir priimti sprendimus konkrečia tema.

    Dalyvaujamojo proceso pavyzdžiai: komiteto narių rinkimo procesas (pirmiausia pateikiamos kandidatūros, po to diskutuojama ir galiausiai pasirenkamas kandidatas), dalyvaujamojo biudžeto nustatymas (teikiami pasiūlymai, jie vertinami ekonomiškai ir dėl jų balsuojama remiantis turimomis lėšomis), strateginio planavimo procesas, bendras reglamento ar standarto rengimas, miesto erdvės planavimas arba viešosios politikos plano rengimas.

    \n" + title: Kas yra dalyvaujamasis procesas? + menu: + processes: Procesai + metrics: + participatory_processes: + description: Dalyvaujamųjų procesų skaičius šioje organizacijoje + object: dalyvaujamieji procesai + title: Dalyvaujamieji procesai + participatory_process: + show: + related_assemblies: Susijusios asamblėjos + participatory_process_groups: + content_blocks: + html_1: + name: Pirmas HTML blokas + html_2: + name: Antras HTML blokas + html_3: + name: Trečias HTML blokas + metadata: + developer_group: Paaukštintas/a + name: Metaduomenys + participatory_scope: Kas nuspręsta + participatory_structure: Kaip nuspręsta + target: Kas dalyvauja + participatory_processes: + name: Dalyvaujamieji procesai + stats: + name: Statistika + title: + meta_scope: Apimtis + name: Pavadinimas, aprašymas ir grotažymė + participatory_processes: + one: 1 procesas + few: "%{count} procesai" + many: "%{count} procesų" + other: "%{count} procesai" + show: + title: Dalyvaujamojo proceso grupės + participatory_process_steps: + index: + process_steps: Proceso etapai + title: Dalyvaujamojo proceso etapai + participatory_processes: + admin: + content_blocks: + highlighted_processes: + max_results: Didžiausias rodomų elementų skaičius + new_import: + accepted_types: + json: JSON + participatory_process_copies: + form: + slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + participatory_process_groups: + form: + metadata: Metaduomenys + title: Bendroji informacija + visibility: Matomumas + participatory_process_imports: + form: + document_legend: Pridėti dokumentą + slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + participatory_process_steps: + form: + cta_path_help: 'Naudokite dalines, ne pilnas, nuorodas. Galima naudoti raides, skaičius, brūkšnius ir pasviruosius brūkšnius, tačiau pradėti būtina raide. Pavyzdys: %{url}' + cta_text_help: Jei nenustatyta, mygtukas nebus matomas. + participatory_processes: + form: + announcement_help: Čia įrašytas tekstas naudotojui bus rodomas iš karto po informacijos apie procesą. + duration: Trukmė + filters: Filtrai + images: Paveikslėliai + metadata: Metaduomenys + other: Kita + related_processes: Susiję procesai + scope_type_max_depth_help: Riboti srities filtro dydį; Filtras parodys nuo bendros iki pasirinktos apimties tipo. + select_an_area: Pasirinkti aplinką + select_process_group: Pasirinkti procesų grupę + slug_help: 'Nuorodos priedėliai nukreipia į šią konkretų procesą. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}' + title: Bendroji informacija + visbility: Matomumas + content_blocks: + highlighted_processes: + name: Paryškinti procesai + index: + title: Dalyvaujamieji procesai + last_activity: + new_participatory_process: Naujas dalyvaujamasis procesas + pages: + home: + highlighted_processes: + active_processes: Aktyvūs procesai + active_step: Aktyvusis etapas + more_information: Daugiau informacijos + participate: Dalyvauti + participate_in: Dalyvauti procese %{resource_name} + processes_button_title: Nuoroda į puslapį „Procesai“, kuriame pateikiami visi procesai + see_all_processes: Žiūrėti visus procesus + participatory_process_steps: + index: + back_to_process: Grįžti į procesų puslapį + participatory_processes: + filters: + counters: + active: + one: 1 aktyvus procesas + few: "%{count} aktyvūs procesai" + many: "%{count} aktyvūs procesai" + other: "%{count} aktyvūs procesai" + all: + one: 1 procesas + few: "%{count} procesai" + many: "%{count} procesai" + other: "%{count} procesai" + past: + one: 1 buvęs procesas + few: "%{count} buvę procesai" + many: "%{count} buvę procesai" + other: "%{count} buvę procesai" + upcoming: + one: 1 būsimas procesas + few: "%{count} būsimi procesai" + many: "%{count} būsimi procesai" + other: "%{count} būsimi procesai" + explanations: + no_active: Aktyvių procesų nėra + no_active_nor_upcoming: Nei aktyvių, nei būsimų procesų nėra + no_active_nor_upcoming_callout: Nei aktyvių, nei būsimų procesų nėra. Čia pateikiamas buvusių procesų sąrašas. + names: + active: Aktyvūs + all: Visi + past: Praėję + upcoming: Artėjantys + see: Žiūrėti + index: + loading: Įkeliami rezultatai... + show: + title: Apie šį procesą + show: + area: Aplinka + belongs_to_group: Šis procesas priklauso + dates: Datos + developer_group: Rėmėjų grupė + end_date: Pabaigos data + local_area: Organizacijos vietovė + participatory_scope: Kas nuspręsta + participatory_structure: Kaip nuspręsta + private_space: Tai yra uždaras procesas + related_processes: Susiję procesai + scope: Apimtis + start_date: Pradžios data + target: Kas dalyvauja + unspecified: Nepatikslinta + statistics: + processes_count: Procesai + layouts: + decidim: + participatory_process_groups: + participatory_process_group: + browse: Naršyti + browse_resource: Naršyti proceso grupėje %{resource_name} + processes_count: 'Procesai:' + participatory_process_widgets: + show: + active_step: Aktyvusis etapas + take_part: Dalyvaukite + participatory_processes: + index: + promoted_processes: Paryškinti procesai + participatory_process: + active_step: 'Dabartinis etapas:' + more_info: Daugiau informacijos + more_info_about: Daugiau informacijos apie procesą %{resource_name} + take_part: Dalyvaukite + take_part_in: Dalyvaukite procese %{resource_name} + promoted_process: + active_step: 'Dabartinis etapas:' + more_info: Daugiau informacijos + more_info_about: Daugiau informacijos apie procesą %{resource_name} + take_part: Dalyvaukite + take_part_in: Dalyvaukite procese %{resource_name} + promoted_process_group: + more_info: Daugiau informacijos + process_header_steps: + step: '%{current} etapas iš %{total}' + view_steps: Proceso etapai + process_navigation: + process_menu_item: Procesas diff --git a/decidim-proposals/config/locales/ca.yml b/decidim-proposals/config/locales/ca.yml index 384043a48ef43..cce9d050ab629 100644 --- a/decidim-proposals/config/locales/ca.yml +++ b/decidim-proposals/config/locales/ca.yml @@ -213,6 +213,7 @@ ca: endorsements_enabled: Adhesions habilitades proposal_answering_enabled: Resposta a propostes activada publish_answers_immediately: Publica les respostes a les propostes immediatament + publish_answers_immediately_help_html: 'Tingues present que si respons alguna proposta sense que això estigui habilitat, l''hauràs de publicar-les manualment seleccionant-les i fent servir l''acció de publicar. Per a més informació sobre el funcionament, consulta la pàgina de documentació de les respostes a les propostes.' suggested_hashtags: Hashtags suggerits a les participants per a noves propostes votes_blocked: Suports bloquejats votes_enabled: Suports habilitats @@ -302,6 +303,7 @@ ca: email_outro: Has rebut aquesta notificació perquè estàs seguint "%{participatory_space_title}". Pots deixar de rebre notificacions seguint l'enllaç anterior. email_subject: Nova proposta "%{resource_title}" afegida a %{participatory_space_title} notification_title: '%{author} ha afegit la proposta %{resource_title} a %{participatory_space_title}' + notification_title_official: S'ha afegit la proposta oficial %{resource_title} a %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'La teva proposta "%{resource_title}" ha estat rebutjada. Pots llegir la resposta en aquesta pàgina:' @@ -433,14 +435,14 @@ ca: info_1: Les seccions següents s'han convertit a propostes. Ara pots revisar-les i ajustar-les abans de publicar. publish_document: Publicar el document save_draft: Desa l'esborrany - title: PREVISUALITZAR EL TEXT PARTICIPATIU + title: Previsualitzar el text participatiu new_import: accepted_mime_types: md: Markdown odt: ODT bottom_hint: "(Podràs previsualitzar i ordenar les seccions del document)" document_legend: 'Afegeix un document de menys de 2 Mb, cadascuna de les seccions (fins a 3 nivells de profunditat) es convertiran a propostes. Els formats suportats són: %{valid_mime_types}' - title: AFEGIR DOCUMENT + title: Afegir document upload_document: Puja el document publish: invalid: No s'han pogut publicar propostes diff --git a/decidim-proposals/config/locales/cs.yml b/decidim-proposals/config/locales/cs.yml index 74b38d293e92f..53065cfa7b3ae 100644 --- a/decidim-proposals/config/locales/cs.yml +++ b/decidim-proposals/config/locales/cs.yml @@ -221,6 +221,7 @@ cs: endorsements_enabled: Schvalování povoleno proposal_answering_enabled: Odpovídání návrhu je povoleno publish_answers_immediately: Okamžitě publikovat odpovědi návrhu + publish_answers_immediately_help_html: 'Mějte na paměti, že pokud odpovíte na jakýkoli návrh bez tohoto povolení, budete je muset publikovat ručně jejich výběrem a použitím publikační akce. Více informací o tom, jak to funguje, naleznete na stránce odpovědi návrhů.' suggested_hashtags: Hashtagy navržené uživatelům pro nové návrhy votes_blocked: Hlasování bylo blokováno votes_enabled: Hlasování povoleno @@ -310,6 +311,7 @@ cs: email_outro: Toto oznámení jste obdrželi, protože jste sledovali "%{participatory_space_title}". Můžete jej odhlásit od předchozího odkazu. email_subject: Nový návrh "%{resource_title}" byl přidán k %{participatory_space_title} notification_title: Návrh %{resource_title} byl přidán do %{participatory_space_title} uživatelem %{author} + notification_title_official: Oficiální návrh %{resource_title} byl přidán do %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Váš návrh "%{resource_title}" byl zamítnut. Odpověď můžete číst na této stránce:' diff --git a/decidim-proposals/config/locales/de.yml b/decidim-proposals/config/locales/de.yml index f212f2ae26184..8fee212107a26 100644 --- a/decidim-proposals/config/locales/de.yml +++ b/decidim-proposals/config/locales/de.yml @@ -57,6 +57,14 @@ de: identical: UND Titel dürfen nicht identisch sein title: identical: Der UND-Körper kann nicht identisch sein + proposals_merge: + attributes: + base: + not_official: Sind nicht offiziell + proposals_split: + attributes: + base: + not_official: Sind nicht offiziell models: decidim/proposals/accepted_proposal_event: Vorschlag angenommen decidim/proposals/admin/update_proposal_category_event: Vorschlagskategorie geändert @@ -134,6 +142,16 @@ de: collaborative_drafts_enabled: Kollaborative Entwürfe aktiviert comments_enabled: Kommentare aktiviert comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + default_sort_order: Standardsortierung für Vorschläge + default_sort_order_options: + default: Standard + most_commented: Am häufigsten kommentiert + most_endorsed: Am häufigsten befürwortet + most_followed: Am häufigsten gefolgt + most_voted: Am meisten unterstützt + random: Zufällig + recent: Neueste + with_more_authors: Mit mehr Autoren geocoding_enabled: Geocoding aktiviert minimum_votes_per_user: Mindeststimmen pro Nutzer new_proposal_body_template: Textvorlage für neuen Vorschlag @@ -175,6 +193,17 @@ de: answers_with_costs: Kosten für Vorschlagsantworten aktivieren automatic_hashtags: Hashtags wurden allen Vorschlägen hinzugefügt comments_blocked: Kommentare blockiert + creation_enabled: Teilnehmer können Vorschläge erstellen + default_sort_order: Standardsortierung für Vorschläge + default_sort_order_options: + default: Standard + most_commented: Am meisten kommentiert + most_endorsed: Am meisten befürwortet + most_followed: Am häufigsten gefolgt + most_voted: Am häufigsten unterstützt + random: Zufällig + recent: Neueste + with_more_authors: Mit mehr Autoren endorsements_blocked: Zustimmungen blockiert endorsements_enabled: Bestätigungen aktiviert proposal_answering_enabled: Vorschlagsantworten aktiviert @@ -351,6 +380,16 @@ de: exports: proposal_comments: Kommentare proposals: Vorschläge + imports: + label: + answers: Antworten aus einer Datei importieren + proposals: Vorschläge aus einer Datei importieren + resources: + proposals: + one: Vorschlag + other: Vorschläge + title: + proposals: Vorschläge importieren models: proposal: name: Vorschlag @@ -392,6 +431,7 @@ de: accepted: Angenommen answer_proposal: Antworten evaluating: In Bewertung + not_answered: Unbeantwortet rejected: Abgelehnt title: Antwort auf Vorschlag %{title} proposal_notes: @@ -698,6 +738,8 @@ de: proposals_count: one: "%{count} Vorschlag" other: "%{count} Vorschläge" + dynamic_map_instructions: + instructions: Sie können den Marker auf der Karte verschieben. edit: add_documents: Unterlagen add_images: Datei @@ -733,8 +775,10 @@ de: filter_by: Filtern nach unfold: Aufklappen index: + click_here: Alle Vorschläge ansehen collaborative_drafts_list: Greifen Sie auf gemeinsame Entwürfe zu new_proposal: Neuer Vorschlag + see_all: Alle Vorschläge ansehen see_all_withdrawn: Sehen Sie sich alle zurückgezogenen Vorschläge an view_proposal: Vorschlag anzeigen linked_proposals: @@ -743,6 +787,7 @@ de: other: Stimmen new: send: Fortsetzen + title: Ihren Vorschlag erstellen orders: label: 'Vorschläge sortieren nach:' most_commented: Am meisten kommentiert diff --git a/decidim-proposals/config/locales/es-MX.yml b/decidim-proposals/config/locales/es-MX.yml index 83b102d628819..4f4d43fdb6708 100644 --- a/decidim-proposals/config/locales/es-MX.yml +++ b/decidim-proposals/config/locales/es-MX.yml @@ -197,7 +197,7 @@ es-MX: automatic_hashtags: Hashtags añadidos a todas las propuestas. comments_blocked: Comentarios bloqueados creation_enabled: Las participantes pueden crear propuestas - creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haga clic en el botón Textos Participativos y siga las instrucciones. + creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haz clic en el botón Textos Participativos y sigue las instrucciones. default_sort_order: Orden predeterminado de propuestas default_sort_order_help: Por defecto significa que si los apoyos están habilitados, las propuestas se mostrarán en orden aleatorio, y si los apoyos están bloqueados, se ordenarán por las más apoyadas. default_sort_order_options: @@ -213,6 +213,7 @@ es-MX: endorsements_enabled: Adhesiones habilitadas proposal_answering_enabled: Respuesta a propuestas activadas publish_answers_immediately: Publicar respuestas a las propuestas inmediatamente + publish_answers_immediately_help_html: 'Ten en cuenta que si respondes a alguna propuesta sin que esto esté habilitado, tendrás que publicarlas manualmente seleccionándolas y utilizando la acción de publicar. Para más información sobre el funcionamiento, consulta la página de documentación de respuestas a las propuestas.' suggested_hashtags: Hashtags sugeridos a los usuarios para nuevas propuestas. votes_blocked: Votación deshabilitada votes_enabled: Votación habilitada @@ -302,6 +303,7 @@ es-MX: email_outro: Recibiste esta notificación porque estás siguiendo "%{participatory_space_title}". Puedes dejar de seguirlo desde el enlace anterior. email_subject: Nueva propuesta "%{resource_title}" añadida a %{participatory_space_title} notification_title: La propuesta %{resource_title} ha sido añadida a %{participatory_space_title} por %{author} + notification_title_official: Se ha añadido la propuesta oficial %{resource_title} en %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Su propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:' diff --git a/decidim-proposals/config/locales/es-PY.yml b/decidim-proposals/config/locales/es-PY.yml index d79521c211fae..54b1bc43aa916 100644 --- a/decidim-proposals/config/locales/es-PY.yml +++ b/decidim-proposals/config/locales/es-PY.yml @@ -197,7 +197,7 @@ es-PY: automatic_hashtags: Hashtags añadidos a todas las propuestas. comments_blocked: Comentarios bloqueados creation_enabled: Las participantes pueden crear propuestas - creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haga clic en el botón Textos Participativos y siga las instrucciones. + creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haz clic en el botón Textos Participativos y sigue las instrucciones. default_sort_order: Orden predeterminado de propuestas default_sort_order_help: Por defecto significa que si los apoyos están habilitados, las propuestas se mostrarán en orden aleatorio, y si los apoyos están bloqueados, se ordenarán por las más apoyadas. default_sort_order_options: @@ -213,6 +213,7 @@ es-PY: endorsements_enabled: Adhesiones habilitados proposal_answering_enabled: Contestación de propuesta habilitada publish_answers_immediately: Publicar respuestas a las propuestas inmediatamente + publish_answers_immediately_help_html: 'Ten en cuenta que si respondes a alguna propuesta sin que esto esté habilitado, tendrás que publicarlas manualmente seleccionándolas y utilizando la acción de publicar. Para más información sobre el funcionamiento, consulta la página de documentación de respuestas a las propuestas.' suggested_hashtags: Hashtags sugeridos a los usuarios para nuevas propuestas. votes_blocked: Votación bloqueada votes_enabled: Votación habilitada @@ -302,6 +303,7 @@ es-PY: email_outro: Recibiste esta notificación porque estás siguiendo "%{participatory_space_title}". Puedes dejar de seguirlo desde el enlace anterior. email_subject: Nueva propuesta "%{resource_title}" añadida a %{participatory_space_title} notification_title: La propuesta %{resource_title} ha sido añadida a %{participatory_space_title} por %{author} + notification_title_official: Se ha añadido la propuesta oficial %{resource_title} en %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Su propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:' diff --git a/decidim-proposals/config/locales/es.yml b/decidim-proposals/config/locales/es.yml index 29a6bbe18c5eb..3fa6e0339da17 100644 --- a/decidim-proposals/config/locales/es.yml +++ b/decidim-proposals/config/locales/es.yml @@ -197,7 +197,7 @@ es: automatic_hashtags: Hashtags añadidos a todas las propuestas. comments_blocked: Comentarios bloqueados creation_enabled: Las participantes pueden crear propuestas - creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haga clic en el botón Textos Participativos y siga las instrucciones. + creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haz clic en el botón Textos Participativos y sigue las instrucciones. default_sort_order: Orden predeterminado de propuestas default_sort_order_help: Por defecto significa que si los apoyos están habilitados, las propuestas se mostrarán en orden aleatorio, y si los apoyos están bloqueados, se ordenarán por las más apoyadas. default_sort_order_options: @@ -213,6 +213,7 @@ es: endorsements_enabled: Adhesiones habilitadas proposal_answering_enabled: Respuesta a propuestas activadas publish_answers_immediately: Publicar respuestas a las propuestas inmediatamente + publish_answers_immediately_help_html: 'Ten en cuenta que si respondes a alguna propuesta sin que esto esté habilitado, tendrás que publicarlas manualmente seleccionándolas y utilizando la acción de publicar. Para más información sobre el funcionamiento, consulta la página de documentación de respuestas a las propuestas.' suggested_hashtags: Hashtags sugeridos a las participantes para nuevas propuestas votes_blocked: Apoyos bloqueados votes_enabled: Apoyos habilitados @@ -302,6 +303,7 @@ es: email_outro: Recibiste esta notificación porque estás siguiendo "%{participatory_space_title}". Puedes dejar de recibir notificaciones siguiendo el enlace anterior. email_subject: Nueva propuesta "%{resource_title}" añadida a %{participatory_space_title} notification_title: La propuesta %{resource_title} ha sido añadida a %{participatory_space_title} por %{author} + notification_title_official: Se ha añadido la propuesta oficial %{resource_title} en %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Tu propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:' diff --git a/decidim-proposals/config/locales/fi-plain.yml b/decidim-proposals/config/locales/fi-plain.yml index 5c8bf0aa33bd8..e74093298f930 100644 --- a/decidim-proposals/config/locales/fi-plain.yml +++ b/decidim-proposals/config/locales/fi-plain.yml @@ -213,6 +213,7 @@ fi-pl: endorsements_enabled: Suositukset käytössä proposal_answering_enabled: Ehdotukseen vastaaminen käytössä publish_answers_immediately: Julkaise ehdotusten vastaukset heti + publish_answers_immediately_help_html: 'Huomioithan, että jos vastaat mihin tahansa ehdotukseen ilman tätä asetusta, sinun on julkaistava vastaukset manuaalisesti valitsemalla vastaukset sisältävät ehdotukset ja käyttämällä julkaisutoimintoa. Lisätietoja, miten tämä toimii, löytyy dokumentaation osiosta ehdotuksiin vastaaminen.' suggested_hashtags: Käyttäjille ehdotettavat hashtagit uusille ehdotuksille votes_blocked: Äänestys estetty votes_enabled: Äänestys käytössä @@ -302,6 +303,7 @@ fi-pl: email_outro: Tämä ilmoitus on lähetetty sinulle, koska seuraat kohdetta "%{participatory_space_title}". Voit lopettaa seuraamisen edellä esitetyn linkin kautta. email_subject: Uusi ehdotus "%{resource_title}" lisätty kohteeseen %{participatory_space_title} notification_title: '%{author} on lisännyt ehdotuksen %{resource_title} kohteeseen %{participatory_space_title}' + notification_title_official: Virallinen ehdotus %{resource_title} on lisätty kohteeseen %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Ehdotuksesi "%{resource_title}" on hylätty. Voit lukea vastauksen täältä:' diff --git a/decidim-proposals/config/locales/fi.yml b/decidim-proposals/config/locales/fi.yml index ebf20f378818a..448e1618de1a7 100644 --- a/decidim-proposals/config/locales/fi.yml +++ b/decidim-proposals/config/locales/fi.yml @@ -213,6 +213,7 @@ fi: endorsements_enabled: Suositukset käytössä proposal_answering_enabled: Ehdotukseen vastaaminen käytössä publish_answers_immediately: Julkaise ehdotusten vastaukset heti + publish_answers_immediately_help_html: 'Huomioithan, että jos vastaat mihin tahansa ehdotukseen ilman tätä asetusta, sinun on julkaistava vastaukset manuaalisesti valitsemalla vastaukset sisältävät ehdotukset ja käyttämällä julkaisutoimintoa. Lisätietoja, miten tämä toimii, löytyy dokumentaation osiosta ehdotuksiin vastaaminen.' suggested_hashtags: Käyttäjille ehdotettavat aihetunnisteet (hashtag) uusille ehdotuksille votes_blocked: Kannatukset estetty votes_enabled: Kannatukset käytössä @@ -302,6 +303,7 @@ fi: email_outro: Tämä ilmoitus on lähetetty sinulle, koska seuraat kohdetta "%{participatory_space_title}". Voit lopettaa seuraamisen edellä esitetyn linkin kautta. email_subject: Uusi ehdotus "%{resource_title}" lisätty kohteeseen %{participatory_space_title} notification_title: '%{author} on lisännyt ehdotuksen %{resource_title} kohteeseen %{participatory_space_title}' + notification_title_official: Virallinen ehdotus %{resource_title} on lisätty kohteeseen %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Ehdotuksesi "%{resource_title}" on hylätty. Voit lukea vastauksen täältä:' diff --git a/decidim-proposals/config/locales/fr-CA.yml b/decidim-proposals/config/locales/fr-CA.yml index 17fcaacd5807c..5de3b2e488057 100644 --- a/decidim-proposals/config/locales/fr-CA.yml +++ b/decidim-proposals/config/locales/fr-CA.yml @@ -197,6 +197,7 @@ fr-CA: automatic_hashtags: Hashtags ajoutés à toutes les propositions comments_blocked: Bloquer la création de nouveaux commentaires creation_enabled: Les participants peuvent créer des propositions + creation_enabled_readonly: Ce paramètre est désactivé lorsque vous activez la fonctionnalité Textes participatifs. Pour télécharger des propositions sous forme de texte participatif, cliquez sur le bouton Textes participatifs et suivez les instructions. default_sort_order: Tri des propositions par défaut default_sort_order_help: Par défaut, si les aides sont activés, les propositions seront affichées par ordre aléatoire, et si les aides sont bloqués, alors ils seront triés par l’aide le plus soutenu. default_sort_order_options: @@ -212,6 +213,7 @@ fr-CA: endorsements_enabled: Activer le module de soutiens proposal_answering_enabled: Autoriser la réponse officielle aux propositions publish_answers_immediately: Publier immédiatement les réponses à la proposition + publish_answers_immediately_help_html: 'N''oubliez pas que si vous répondez à une proposition sans cette option, vous devrez la publier manuellement en les sélectionnant et en utilisant l''action de publication. Pour plus d''informations sur comment cela fonctionne, voir la page de documentation de propositions.' suggested_hashtags: Hashtags suggérés aux utilisateurs pour de nouvelles propositions votes_blocked: Bloquer les votes votes_enabled: Activer le module de vote simple @@ -301,6 +303,7 @@ fr-CA: email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Vous pouvez cesser de le suivre en cliquant sur le lien précédent. email_subject: Nouvelle proposition "%{resource_title}" ajoutée à %{participatory_space_title} notification_title: La proposition %{resource_title} a été ajoutée à %{participatory_space_title} par %{author} + notification_title_official: La proposition officielle %{resource_title} a été ajoutée à %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Votre proposition "%{resource_title}" a été rejetée. Vous pouvez lire la réponse sur cette page:' diff --git a/decidim-proposals/config/locales/fr.yml b/decidim-proposals/config/locales/fr.yml index 3c6d99dd2acff..02a8a6c443521 100644 --- a/decidim-proposals/config/locales/fr.yml +++ b/decidim-proposals/config/locales/fr.yml @@ -197,6 +197,7 @@ fr: automatic_hashtags: Hashtags ajoutés à toutes les propositions comments_blocked: Bloquer la création de nouveaux commentaires creation_enabled: Les participants peuvent créer des propositions + creation_enabled_readonly: Ce paramètre est désactivé lorsque vous activez la fonctionnalité Textes participatifs. Pour télécharger des propositions sous forme de texte participatif, cliquez sur le bouton Textes participatifs et suivez les instructions. default_sort_order: Tri des propositions par défaut default_sort_order_help: L'option par défaut signifie que si les votes sont activés, les propositions seront affichées par ordre aléatoire, et si les votes sont bloqués, alors elles seront triées par nombre de votes. default_sort_order_options: @@ -212,6 +213,7 @@ fr: endorsements_enabled: Activer le module de soutiens proposal_answering_enabled: Autoriser la réponse officielle aux propositions publish_answers_immediately: Publier immédiatement les réponses à la proposition + publish_answers_immediately_help_html: 'N''oubliez pas que si vous répondez à une proposition sans cette option, vous devrez la publier manuellement en les sélectionnant et en utilisant l''action de publication. Pour plus d''informations sur comment cela fonctionne, voir la page de documentation de propositions.' suggested_hashtags: Hashtags suggérés aux utilisateurs pour de nouvelles propositions votes_blocked: Bloquer les votes votes_enabled: Activer le module de vote simple @@ -301,6 +303,7 @@ fr: email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”. email_subject: Nouvelle proposition "%{resource_title}" ajoutée à %{participatory_space_title} notification_title: La proposition %{resource_title} a été ajoutée à %{participatory_space_title} par %{author} + notification_title_official: La proposition officielle %{resource_title} a été ajoutée à %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Votre proposition "%{resource_title}" a été rejetée. Vous pouvez lire la réponse sur cette page:' diff --git a/decidim-proposals/config/locales/hu.yml b/decidim-proposals/config/locales/hu.yml index 610956e97ca1b..6b87dce1ff409 100644 --- a/decidim-proposals/config/locales/hu.yml +++ b/decidim-proposals/config/locales/hu.yml @@ -671,8 +671,11 @@ hu: other: "%{count} javaslatot" edit: add_documents: Dokumentumok + add_images: Fájl attachment_legend: "(Nem kötelező) Melléklet hozzáadása" back: Vissza + delete_document: Dokumentum törlése + delete_image: Kép törlése select_a_category: Válassz kategóriát send: Küldés title: Javaslat szerkesztése diff --git a/decidim-proposals/config/locales/ja.yml b/decidim-proposals/config/locales/ja.yml index 267d129890e88..15482b039a3a9 100644 --- a/decidim-proposals/config/locales/ja.yml +++ b/decidim-proposals/config/locales/ja.yml @@ -209,6 +209,7 @@ ja: endorsements_enabled: オススメを有効にする proposal_answering_enabled: 提案への回答を有効にする publish_answers_immediately: 提案の回答をすぐに公開 + publish_answers_immediately_help_html: 'これが有効になっていない提案に答える場合は、公開する項目を選択し、アクションを使用して手動で公開する必要があることに注意してください。 これがどのように機能するかについての詳細は、 提案の回答ドキュメント ページ を参照してください。' suggested_hashtags: 提案作成時に参加者に提案するハッシュタグ votes_blocked: サポートをブロック votes_enabled: サポートを有効にする @@ -298,6 +299,7 @@ ja: email_outro: '「%{participatory_space_title}」をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止できます。' email_subject: 新しい提案 "%{resource_title}" が %{participatory_space_title} に追加されました notification_title: 提案 %{resource_title} が %{author} によって %{participatory_space_title} に追加されました + notification_title_official: 公式の提案 %{resource_title} が %{participatory_space_title} に追加されました proposal_rejected: affected_user: email_intro: 'あなたの提案 "%{resource_title}" は拒否されました。このページで回答を読むことができます:' diff --git a/decidim-proposals/config/locales/lt.yml b/decidim-proposals/config/locales/lt.yml index 6c5cb837ac8c1..48ab2234754c1 100644 --- a/decidim-proposals/config/locales/lt.yml +++ b/decidim-proposals/config/locales/lt.yml @@ -1 +1,994 @@ lt: + activemodel: + attributes: + collaborative_draft: + address: Adresas + body: Pagrindinė dalis + category_id: Kategorija + decidim_scope_id: Apimtis + has_address: Turi adresą + scope_id: Apimtis + state: Būsena + title: Pavadinimas + user_group_id: Sukurti bendrą projektą kaip + proposal: + address: Adresas + answer: Atsakyti + answered_at: Atsakyta + automatic_hashtags: Grotažymės pridėtos automatiškai + body: Pagrindinė dalis + category_id: Kategorija + decidim_scope_id: Apimtis + has_address: Turi adresą + scope_id: Apimtis + state: Būsena + suggested_hashtags: Pasiūlytos grotažymės + title: Pavadinimas + user_group_id: Sukurti pasiūlymą kaip + proposal_answer: + answer: Atsakymas + cost: Kaina + cost_report: Kaštų ataskaita + execution_period: Vykdymo periodas + proposals_copy: + copy_proposals: Suprantu, kad visi pasiūlymai bus perkelti iš pasirinkto komponento į dabartinį ir kad šio veiksmo negalima atšaukti. + origin_component_id: Komponentas, skirtas kopijuoti pasiūlymams iš + proposals_import: + import_proposals: Importuoti pasiūlymus + keep_answers: Išlaikyti būseną ir atsakymus + keep_authors: Išlaikyti originalius autorius + valuation_assignment: + admin_log: + valuator_role_id: Vertintojo vardas ir pavardė + errors: + models: + participatory_text: + attributes: + document: + invalid_document_type: 'Netinkamas dokumento tipas. Priimtini formatai: %{valid_mime_types}' + proposal: + attributes: + add_documents: + needs_to_be_reattached: Reikia pridėti iš naujo + add_photos: + needs_to_be_reattached: Reikia pridėti iš naujo + body: + cant_be_equal_to_template: negali prilygti šablonui + identical: IR pavadinimas negali sutapti + title: + identical: IR pagrindinė dalis negali sutapti + proposals_merge: + attributes: + base: + not_official: Nėra oficialūs + supported: Gavo palaikymo ar pritarimo + proposals_split: + attributes: + base: + not_official: Nėra oficialūs + supported: Gavo palaikymo ar pritarimo + models: + decidim/proposals/accepted_proposal_event: Pasiūlymas priimtas + decidim/proposals/admin/update_proposal_category_event: Pasiūlymo kategorija pakeista + decidim/proposals/admin/update_proposal_scope_event: Pasiūlymo sritis pakeista + decidim/proposals/creation_enabled_event: Pasiūlymo sukūrimas aktyvintas + decidim/proposals/endorsing_enabled_event: Parama pasiūlymui aktyvinta + decidim/proposals/evaluating_proposal_event: Pasiūlymas šiuo metu vertinamas + decidim/proposals/proposal_mentioned_event: Pasiūlymas paminėtas + decidim/proposals/publish_proposal_event: Pasiūlymas paskelbtas + decidim/proposals/rejected_proposal_event: Pasiūlymas atmestas + decidim/proposals/voting_enabled_event: Balsavimas už pasiūlymą aktyvintas + activerecord: + models: + decidim/proposals/collaborative_draft: + one: Bendras juodraštis + few: Bendri projektai + many: Bendri projektai + other: Bendri projektai + decidim/proposals/proposal: + one: Pasiūlymas + few: Pasiūlymai + many: Pasiūlymai + other: Pasiūlymai + decidim/proposals/proposal_note: + one: Užrašas + few: Užrašai + many: Užrašai + other: Užrašai + decidim/proposals/proposal_vote: + one: Palaikymas + few: Palaikymai + many: Palaikymai + other: Palaikymai + decidim: + admin: + filters: + proposals: + category_id_eq: + label: Kategorija + is_emendation_true: + label: Tipas + values: + 'false': Pasiūlymai + 'true': Pataisos + scope_id_eq: + label: Apimtis + state_eq: + label: Būsena + values: + accepted: Priimta + evaluating: Vertinamas + published: Paskelbta + rejected: Atmesta + validating: Techninis patvirtinimas + withdrawn: Atsiimta + state_null: + label: Būsena + values: + 'true': Neatsakyta + valuator_role_ids_has: + label: Pavesta vertintojui + search_placeholder: + id_string_or_title_cont: Ieškoti %{collection} pagal ID arba pavadinimą. + components: + proposals: + actions: + amend: Pakeisti + comment: Komentuoti + create: Sukurti + endorse: Palaikyti + vote: Paremti + vote_comment: Balsuoti už komentarą + withdraw: Atsiimti + name: Pasiūlymai + settings: + global: + amendments_enabled: Pataisos leidžiamos + amendments_enabled_help: Jeigu jie aktyvūs, sukonfigūruokite kiekvieno etapo pakeitimo požymius. + amendments_wizard_help_text: Pakeitimų vedlio pagalbos tekstas + announcement: Pranešimas + attachments_allowed: Leisti failų prisegimus + can_accumulate_supports_beyond_threshold: Gali kaupti paramą virš numatytos ribos + collaborative_drafts_enabled: Bendri projektai įjungti + comments_enabled: Komentarai įjungti + comments_max_length: Maksimalus komentarų ilgis (Palikite 0 kaip numatytą vertę) + default_sort_order: Numatytas pasiūlymų rikiavimas + default_sort_order_help: Numatytasis reiškia, kad įjungus paramą, pasiūlymai bus surūšiuotjami atsitiktine tvarka, o jeigu paramos blokuojamos – pagal labiausiai palaikomus. + default_sort_order_options: + default: Numatytasis + most_commented: Labiausiai komentuojamas + most_endorsed: Labiausiai pritarta + most_followed: Labiausiai sekė + most_voted: Labiausiai parėmė + random: Atsitiktinai + recent: Naujausi + with_more_authors: Turintys daugiausia autorių + geocoding_enabled: Geokodavimas įjungtas + minimum_votes_per_user: Mažiausia parama vienam naudotojui + new_proposal_body_template: Naujo pasiūlymo pagrindinės dalies šablonas + new_proposal_body_template_help: Galite nustatyti naujiuose pasiūlymuose būsimą iš anksto užpildytą tekstą + new_proposal_help_text: Naujo pasiūlymo pagalbos tekstas + official_proposals_enabled: Oficialūs pasiūlymai aktyvuoti + participatory_texts_enabled: Dalyvaujamieji tekstai aktyvuoti + participatory_texts_enabled_readonly: Jei yra pasiūlymų, negalima sąveika su šia nuostata. Sukurkite naują „Pasiūlymų komponentą“, jei norite aktyvinti šią funkciją arba, jei norite išjungti šią funkciją, visus importuotus pasiūlymus pašalinkite iš laukelio „Bendri tekstai“ meniu. + proposal_answering_enabled: Atsakymas į pasiūlymą aktyvintas + proposal_edit_before_minutes: Kol nepraeis nurodytas skaičius minučių, autoriai gali keisti pasiūlymus + proposal_edit_time: Pasiūlymų koregavimas + proposal_edit_time_choices: + infinite: Lesti redaguoti pasiūlymus neribotą laiką + limited: Leisti redaguoti pasiūlymus nustatytame laiko intervale + proposal_length: Ilgiausia įmanoma pasiūlymo pagrindinė dalis + proposal_limit: Pasiūlymų skaičiaus limitas vienam dalyviui + proposal_wizard_step_1_help_text: Pasiūlymo vedlio etapo „Sukurti“ pagalbos tekstas + proposal_wizard_step_2_help_text: Pasiūlymo vedlio etapo „Palyginti“ pagalbos tekstas + proposal_wizard_step_3_help_text: Pasiūlymo vedlio etapo „Užbaigti“ pagalbos tekstas + proposal_wizard_step_4_help_text: Pasiūlymo vedlio etapo „Paskelbti“ pagalbos tekstas + resources_permissions_enabled: Kiekvienam pasiūlymui galima nustatyti leistinus veiksmus + scope_id: Apimtis + scopes_enabled: Sritys įjungtos + threshold_per_proposal: Vienam pasiūlymui nustatyta riba + vote_limit: Paramos riba vienam dalyviui + step: + amendment_creation_enabled: Pataisų kūrimas leidžiamas + amendment_creation_enabled_help: Dalyvis gali pataisyti pasiūlymus. + amendment_promotion_enabled: Pataisų paaukštinimai įjungti + amendment_promotion_enabled_help: Pataisymų autoriai galės paaukštinti atmestą pataisymą į pasiūlymą. + amendment_reaction_enabled: Pataisų reakcijos įjungtos + amendment_reaction_enabled_help: Pasiūlymo autoriai galės priimti arba atmesti dalyvių pataisas. + amendments_visibility: Pataisų matomumas + amendments_visibility_choices: + all: Pataisos matomos visiems + participants: Pakeitimai matomi tik jų autoriams + amendments_visibility_help: Jeigu pasirenkama „Pakeitimai matomi tik jų autoriams“, dalyvis turi būti prisijungęs, kad galėtų matyti padarytus pakeitimus. + announcement: Pranešimas + answers_with_costs: Įjungti atsakymų į pasiūlymus išlaidų funkciją + automatic_hashtags: Grotažymės pridėtos prie visų pasiūlymų + comments_blocked: Komentarai užblokuoti + creation_enabled: Dalyviai gali kurti pasiūlymus + creation_enabled_readonly: Šis nustatymas išjungiamas, kai suaktyvinate Dalyvaujančių Tekstų funkciją. Norėdami įkelti pasiūlymus kaip dalyvaujamąjį tekstą, spustelėkite mygtuką Dalyvaujantys Tekstai ir vadovaukitės instrukcijomis. + default_sort_order: Numatytasis pasiūlymų rūšiavimas + default_sort_order_help: Numatytasis reiškia, kad įjungus palaikymus pasiūlymai bus rodomi surūšiuoti atsitiktine tvarka, o jei palaikymai yra blokuojami – pagal labiausiai palaikomus. + default_sort_order_options: + default: Numatytasis + most_commented: Labiausiai komentuojamas + most_endorsed: Labiausiai pritarta + most_followed: Labiausiai sekamas + most_voted: Labiausiai paremtas + random: Atsitiktinis + recent: Naujausi + with_more_authors: Turintys daug autorių + endorsements_blocked: Pritarimai užblokuoti + endorsements_enabled: Pritarimai aktyvuoti + proposal_answering_enabled: Atsakymas į pasiūlymą suaktyvintas + publish_answers_immediately: Skelbti atsakymus į pasiūlymius nedelsiant + publish_answers_immediately_help_html: 'Atminkite, kad jei atsakysite į bet kurį pasiūlymą neįjungę šio funkcijos, turėsite atsakymus paskelbti rankiniu būdu, pasirinkdami ir naudodami paskelbimo veiksmą. Norėdami gauti daugiau informacijos apie tai, kaip tai veikia, aplankykite pasiūlymų atsakymų dokumentacijos puslapį.' + suggested_hashtags: Dalyviams pasiūlytos grotažymės naujiems pasiūlymams + votes_blocked: Blokuoti balsai + votes_enabled: Parama aktyvuota + votes_hidden: Balsai paslėpti (jei balsavimo funkcija įjungta, pažymėjus šį pasirinkimą, balsų kiekis bus paslėptas) + events: + proposals: + admin: + proposal_note_created: + email_intro: Kažkas paliko pastabą dėl pasiūlymo „%{resource_title}“. Patikrinkite tai administratoriaus srityje + email_outro: Šį pranešimą gavote dėl to, kad galite vertinti pasiūlymą. + email_subject: Kažkas paliko pastabą dėl pasiūlymo „%{resource_title}“. + notification_title: Kažkas paliko pastabą dėl pasiūlymo %{resource_title}. Peržiūrėkite ją administratoriaus srityje + collaborative_draft_access_accepted: + email_intro: '%{requester_name} buvo priimtas kaip %{resource_title} bendradarbiavimo juodraščio bendradarbis.' + email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius. + email_subject: "%{requester_name}, kaip %{resource_title} bendraautoriui, suteikta prieiga." + notification_title: %{requester_name} %{requester_nickname}, , kaip bendro juodraščio %{resource_title} bendraautoriui, suteikta prieiga. + collaborative_draft_access_rejected: + email_intro: '%{requester_name} buvo atmestas kaip %{resource_title} bendradarbiavimo juodraščio bendradarbis.' + email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius. + email_subject: "%{requester_name} nesuteikta prieigos prie bendro juodraščio %{resource_title} kaip bendraautoriui." + notification_title: %{requester_name} %{requester_nickname} nesuteikta prieigos kaip juodraščio %{resource_title} bendraautoriui. + collaborative_draft_access_requested: + email_intro: '%{requester_name} paprašė prieigos kaip bendraautorius. Galite priimti arba atmesti užklausą iš bendro juodraščio %{resource_title} puslapio.' + email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius. + email_subject: "%{requester_name} paprašė prieigos, kad galėtų prisidėti prie %{resource_title}." + notification_title: %{requester_name} %{requester_nickname} paprašė prieigos, kad galėtų prisidėti prie bendro juodraščio %{resource_title}. Užklausą priimkite arba atmeskite. + collaborative_draft_access_requester_accepted: + email_intro: Jums suteikta prieiga kaip bendro juodraščio %{resource_title} bendraautoriui. + email_outro: Šį pranešimą gavote dėl to, kad pateikėte prašymą tapti %{resource_title} bendraautoriumi. + email_subject: Jūs patvirtintas %{resource_title} bendraautoriumi. + notification_title: Jums suteikta prieiga kaip bendro juodraščio %{resource_title} bendraautoriui. + collaborative_draft_access_requester_rejected: + email_intro: Jums nesuteikta prieiga kaip bendro juodraščio %{resource_title} bendraautoriui. + email_outro: Šį pranešimą gavote dėl to, kad pateikėte prašymą tapti %{resource_title} bendraautoriumi. + email_subject: Jūs prašymas tapti %{resource_title} bendraautoriumi atmestas. + notification_title: Jums nesuteikta prieiga prie juodraščio %{resource_title}. + collaborative_draft_withdrawn: + email_intro: %{author_name} %{author_nickname} atsiėmė %{resource_title} juodraštį. + email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius. + email_subject: "%{author_name} %{author_nickname} atsiėmė juodraštį %{resource_title}." + notification_title: %{author_nickname} atsiėmė%{resource_title} juodraštį. + creation_enabled: + email_intro: 'Dabar galite kurti naujus pasiūlymus %{participatory_space_title}! Pradėti dalyvauti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Dabar su pasiūlymais galima susipažinti in %{participatory_space_title} + notification_title: Dabar galite pateikti naujų pasiūlymų %{participatory_space_title} + endorsing_enabled: + email_intro: 'Galite pritarti pasiūlymams %{participatory_space_title}! Pradėkite dalyvauti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Pritarimas pasiūlymams %{participatory_space_title} prasidėjo + notification_title: Dabar galite pradėti pritarti pasiūlymams %{participatory_space_title} + proposal_accepted: + affected_user: + email_intro: 'Jūsų pasiūlymas "%{resource_title}" priimtas. Atsakymą galite perskaityti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius. + email_subject: Jūsų pasiūlymas priimtas + notification_title: Jūsų pasiūlymas %{resource_title} priimtas. + follower: + email_intro: 'Pasiūlymas "%{resource_title}" priimtas. Atsakymą galite perskaityti šiame puslapyje:' + email_outro: Gavote šį pranešimą, nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos. + email_subject: Pasiūlymas, kurį sekate, buvo priimtas + notification_title: %{resource_title} pasiūlymas priimtas. + proposal_evaluating: + affected_user: + email_intro: 'Jūsų pasiūlymas "%{resource_title}" šiuo metu vertinamas. Atsakymą galite pasitikrinti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius. + email_subject: Jūsų pasiūlymas šiuo metu vertinamas + notification_title: Jūsų pasiūlymas %{resource_title} šiuo metu vertinamas. + follower: + email_intro: 'Pasiūlymas "%{resource_title}" šiuo metu vertinamas. Atsakymą galite patikrinti šiame puslapyje:' + email_outro: Gavote šį pranešimą, nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos. + email_subject: Pasiūlymas, kurį sekate, šiuo metu vertinamas + notification_title: %{resource_title} pasiūlymas šiuo metu vertinamas. + proposal_mentioned: + email_intro: Jūsų pasiūlymas „%{mentioned_proposal_title}“ buvo paminėtas šioje erdvėje komentaruose. + email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius. + email_subject: Jūsų pasiūlymas „%{mentioned_proposal_title}“ buvo paminėtas + notification_title: Jūsų pasiūlymas „%{mentioned_proposal_title}“ buvo paminėtas šioje erdvėje komentaruose. + proposal_published: + email_intro: '%{author_name} %{author_nickname}, kurį sekate, paskelbė naują pasiūlymą, pavadintą „%{resource_title}“. Peržiūrėkite ir prisidėkite:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą. + email_subject: '%{author_nickname} pateikė naują pasiūlymą "%{resource_title}"' + notification_title: %{author_name} %{author_nickname} paskelbė pasiūlymą %{resource_title}. + proposal_published_for_space: + email_intro: Erdvėje „%{participatory_space_title}“, kurią sekate, pridėtas pasiūlymas „%{resource_title}“. + email_outro: Šį pranešimą gavote dėl to, kad sekate „%{participatory_space_title}“. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: '%{participatory_space_title} pridėtas naujas pasiūlymas „%{resource_title}“' + notification_title: '%{author} dalyvaujamojoje erdvėje %{participatory_space_title} pridėjo pasiūlymą %{resource_title}' + notification_title_official: Erdvėje %{participatory_space_title} pridėtas oficialus pasiūlymas %{resource_title} + proposal_rejected: + affected_user: + email_intro: 'Jūsų pasiūlymas „%{resource_title}“ atmestas. Atsakymą galite perskaityti šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius. + email_subject: Jūsų pasiūlymas atmestas + notification_title: Jūsų pasiūlymas %{resource_title} atmestas. + follower: + email_intro: 'Pasiūlymas „%{resource_title}“ atmestas. Atsakymą galite perskaityti šiame puslapyje:' + email_outro: Gavote šį pranešimą, nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos. + email_subject: Pasiūlymas, kurį sekate, buvo atmestas + notification_title: Pasiūlymas %{resource_title} buvo atmestas. + proposal_update_category: + email_intro: 'Administratorius atnaujino jūsų pasiūlymo „%{resource_title}“ kategoriją, patikrinkite tai šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate pasiūlymo autorius. + email_subject: '%{resource_title} pasiūlymo kategorija buvo atnaujinta' + notification_title: Administratorius atnaujino %{resource_title} pasiūlymo kategoriją. + proposal_update_scope: + email_intro: 'Administratorius atnaujino jūsų pasiūlymo „%{resource_title}“ apimtį, patikrinkite tai šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad esate pasiūlymo autorius. + email_subject: '%{resource_title} pasiūlymo apimtis buvo atnaujinta' + notification_title: Administratorius atnaujino %{resource_title} pasiūlymo apimtį. + voting_enabled: + email_intro: 'Galite paremti pasiūlymus %{participatory_space_title} erdvėje! Prisidėkite šiame puslapyje:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Balsavimas %{participatory_space_title} prasidėjo + notification_title: Dabar galite pradėti balsuoti už pasiūlymus %{participatory_space_title}erdvėje + gamification: + badges: + accepted_proposals: + conditions: + - Pasirinkite jus dominančią dalyvavimo erdvę, kurioje įjungta pasiūlymų teikimo funkcija + - Pabandykite teikti pasiūlymus, kuriuos būtų galima įgyvendinti. Taip labiau tikėtina, kad jie bus priimti. + description: Šis ženklelis suteikiamas, kai aktyviai teikiate naujus pasiūlymus ir jie yra priimami. + description_another: Priimti (-a) %{score} šio dalyvio pasiūlymai (-ų). + description_own: Priimti (-a) %{score} jūsų pasiūlymai (-ų). + name: Priimti pasiūlymai + next_level_in: Pasistenkite, kad būtų priimti (-a) dar %{score} pasiūlymai (-ų) ir pasiekite kitą lygį! + unearned_another: Dar nepriimtas nė vienas šio dalyvio pasiūlymas. + unearned_own: Dar nepriimtas nė vienas jūsų pasiūlymas. + proposal_votes: + conditions: + - Naršykite ir praleiskite šiek tiek laiko skaitydami kitų žmonių pasiūlymus + - Palaikykite pasiūlymus, kurie jums patinka arba kurie jums atrodo įdomūs + description: Šis ženklelis suteikiamas, kai paremiate kitų žmonių pasiūlymus. + description_another: Šis dalyvis parėmė %{score} pasiūlymus (-ų). + description_own: Jūs parėmėte %{score} pasiūlymus (-ų). + name: Pasiūlymą palaiko + next_level_in: Paremkite dar %{score} pasiūlymus (-ų) ir pasiekite kitą lygį! + unearned_another: Šis dalyvis dar neparėmė jokių pasiūlymų. + unearned_own: Jūs dar neparėmėte jokių pasiūlymų. + proposals: + conditions: + - Pasirinkite jus dominančią dalyvavimo erdvę, kurioje įjungta pasiūlymų teikimo funkcija + - Sukurti naują pasiūlymą + description: Šis ženklelis suteikiamas, kai aktyviai teikiate naujus pasiūlymus. + description_another: Šis dalyvis sukūrė %{score} pasiūlymus (-ų). + description_own: Jūs parengėte %{score} pasiūlymus (-ų). + name: Pasiūlymai + next_level_in: Parenkite dar %{score} pasiūlymus (-ų) ir pasiekite kitą lygį! + unearned_another: Šis dalyvis dar neparengė jokių pasiūlymų. + unearned_own: Jūs dar neparengėte jokių pasiūlymų. + metrics: + accepted_proposals: + description: Priimtų pasiūlymų skaičius + object: pasiūlymai + title: Priimti pasiūlymai + endorsements: + description: Pritarimų pasiūlymams skaičius + object: pritarimai + title: Pritarimai + proposals: + description: Pasiūlymų skaičius + object: pasiūlymai + title: Pasiūlymai + votes: + description: Paramos pasiūlymams skaičius + object: balsai + title: Balsai + participatory_spaces: + highlighted_proposals: + see_all: Žiūrėti visus pasiūlymus (%{count}) + proposals: + actions: + answer_proposal: Atsakyti į pasiūlymą + edit_proposal: Redaguoti pasiūlymą + import: Importuoti pasiūlymus iš kito komponento + new: Naujas pasiūlymas + participatory_texts: Dalyvaujamieji tekstai + show: Rodyti pasiūlymą + title: Veiksmai + admin: + actions: + preview: Peržiūra + exports: + proposal_comments: Komentarai + proposals: Pasiūlymai + imports: + help: + answers: 'Importavimo dokumente turi būti šie stulpeliai: Id, būsena (priimta, vertinama, atmesta), atsakymas/lt (ir kitos organizacijos įjungtos kalbos).' + proposals: Failas turi turėti stulpelių pavadinimus title/lt ir body/lt (arba kitą pageidaujamą lokalę, pvz., title/en ir body/en). Taip pat palaikomi scope/id ir category/id stulpeliai. + label: + answers: Importuoti atsakymus iš failo + proposals: Importuoti pasiūlymus iš failo + resources: + answers: + one: pasiūlymo atsakymas + few: pasiūlymo atsakymai + many: pasiūlymo atsakymų + other: pasiūlymo atsakymai + proposals: + one: pasiūlymas + few: pasiūlymai + many: pasiūlymų + other: pasiūlymai + title: + answers: Importuoti atsakymus į pasiūlymus + proposals: Importuoti pasiūlymus + models: + proposal: + name: Pasiūlymas + participatory_texts: + bulk-actions: + are_you_sure: Ar tikrai norite išmesti visą dalyvaujamojo teksto juodraštį? + discard_all: Pašalinti visus + import_doc: Importuoti dokumentą + discard: + success: Visi dalyvaujamųjų tekstų juodraščiai ištrinti. + import: + invalid: Forma netinkama! + invalid_file: Rinkmenoje yra klaidų, pabandykite redaguoti rinkmenos turinį ir dar kartą ją įkelti. + success: Sveikiname! Šie skirsniai tapo pasiūlymais. Dabar galite juos peržiūrėti ir patikslinti prieš paskelbdami. + index: + info_1: Šie skirsniai tapo pasiūlymais. Dabar galite juos peržiūrėti ir patikslinti prieš paskelbdami. + publish_document: Skelbti dokumentą + save_draft: Išsaugoti juodraštį + title: Peržiūrėti dalyvaujamąjį tekstą + new_import: + accepted_mime_types: + md: Markdown + odt: ODT + bottom_hint: "(Dokumentų skirsnius galėsite peržiūrėti ir rūšiuoti)" + document_legend: 'Pridėkite mažesnį nei 2MB dokumentą, kiekvienas ne didesnio kaip 3 lygių gylio skirsnis bus išanalizuotas ir įkeltas į „Pasiūlymus“. Priimtini formatai: %{valid_mime_types}' + title: Pridėti dokumentą + upload_document: Įkelti dokumentą + publish: + invalid: Nepavyko paskelbti pasiūlymų + success: Visi pasiūlymai paskelbti + sections: + article: "Straipsnis" + section: "Skirsnis: %{title}" + sub-section: "Poskirsnis: %{title}" + update: + success: Dalyvaujamasis tekstas atnaujintas. + proposal_answers: + form: + accepted: Priimta + answer_proposal: Atsakyti + evaluating: Vertinama + not_answered: Neatsakyta + rejected: Atmesta + title: Atsakymai į %{title} pasiūlymą + proposal_notes: + create: + error: Kuriant šią pastabą prie pasiūlymo iškilo problema + success: Pastaba prie pasiūlymo sukurta + form: + note: Pastaba + submit: Pateikti + leave_your_note: Palikite pastabą + title: Privačios pastabos + proposals: + answer: + invalid: Atsakant į šį pasiūlymą iškilo problema + success: Į pasiūlymą atsakyta + create: + invalid: Kuriant šį pasiūlymą iškilo problema + success: Pasiūlymas sukurtas + edit: + title: Atnaujinti pasiūlymą + update: Atnaujinti + form: + attachment_legend: "(Neprivaloma) Pridėti priedą" + created_in_meeting: Šis pasiūlymas iškeltas susirinkime + delete_attachment: Ištrinti prikabintą failą + select_a_category: Pasirinkite kategoriją + select_a_meeting: Pasirinkite susitikimą + index: + actions: Veiksmai + assign_to_valuator: Priskirti vertintojui + assign_to_valuator_button: Priskirti + cancel: Atšaukti + change_category: Keisti kategoriją + change_scope: Keisti apimtį + merge: Sulieti į vieną + merge_button: Sulieti + publish: Publikuoti + publish_answers: Skelbti atsakymus + select_component: Pasirinkite komponentą + selected: pasirinkta + split: Išskaidyti pasiūlymus + split_button: Skaidyti + title: Pasiūlymai + unassign_from_valuator: Panaikinti vertintojui pavestą užduotį + unassign_from_valuator_button: Atšaukti priskyrimą + update: Atnaujinti + update_scope_button: Atnaujinti apimtį + new: + create: Sukurti + title: Sukurti pasiūlymą + publish_answers: + number_of_proposals: Bus paskelbti atsakymai į %{number} pasiūlymus (-ų). + select_a_proposal: Pasirinkite pasiūlymą + show: + amendments_count: Pakeitimų skaičius + assigned_valuators: Paskirti vertintojai + authors: Autoriai + body: Pagrindinė dalis + comments_count: Komentarų skaičius + comments_negative_count: Prieš + comments_neutral_count: Neutralūs + comments_positive_count: Už + created_at: Sukūrimo data + documents: Dokumentai + endorsements_count: Palaikymų skaičius + endorsements_ranking: Reitingavimas pagal pritarimus + endorsers: Pritariantieji + link: Nuoroda + n_more_endorsers: + one: ir dar vienas + few: ir dar %{count} + many: ir dar %{count} daugiau + other: ir dar %{count} daugiau + photos: Nuotraukos + proposals: Pasiūlymai + ranking: "%{ranking} iš %{total}" + related_meetings: Susiję susitikimai + remove_assignment: Pašalinti užduotį + remove_assignment_confirmation: Ar tikrai norite nušalinti vertintoją nuo šio pasiūlymo? + valuators: Vertintojai + votes_count: Balsų skaičius + votes_ranking: Reitingavimas pagal balsų skaičių + update_category: + invalid: 'Šie pasiūlymai jau priskirti kategorijai %{subject_name}: %{proposals}.' + select_a_category: Pasirinkite kategoriją + select_a_proposal: Pasirinkite pasiūlymą + success: 'Pasiūlymas atnaujintas ir priskirtas kategorijai %{subject_name}: %{proposals}.' + update_scope: + invalid: 'Šie pasiūlymai jau turi %{subject_name} apimtį: %{proposals}.' + select_a_proposal: Pasirinkite pasiūlymą + select_a_scope: Pasirinkite apimtį + success: 'Pasiūlymai sėkmingai atnaujinti į %{subject_name} sritį: %{proposals}.' + proposals_imports: + create: + invalid: Importuojant pasiūlymus iškilo problema + success: "%{number} pasiūlymai (-ų) importuoti" + new: + create: Importuoti pasiūlymus + no_components: Šioje dalyvaujamojo proceso erdvėje nėra kitų pasiūlymų komponentų, iš kurių būtų galima importuoti pasiūlymus. + select_component: Pasirinkite komponentą + select_states: Patikrinti importuoti skirtų pasiūlymų būseną + title: Importuoti pasiūlymus + proposals_merges: + create: + invalid: 'Suliejant pasirinktus pasiūlymus iškilo problema, nes kai kurie iš jų:' + success: Pasiūlymai sulieti į vieną naują pasiūlymą. + proposals_splits: + create: + invalid: 'Iškilo problema skaidant pasirinktus pasiūlymus, nes kai kurie iš jų:' + success: Pasiūlymai išskaidyti į naujus. + valuation_assignments: + create: + invalid: Pavedant pasiūlymus vertintojui įvyko klaida + success: Pasiūlymai pavesti vertintojui + delete: + invalid: Naikinant vertintojui pavestus pasiūlymus įvyko klaida + success: Vertintojas sėkmingai pašalintas nuo pasiūlymų + admin_log: + proposal: + answer: "%{user_name} atsakė į pasiūlymą %{resource_name} %{space_name} erdvėje" + create: "%{user_name} sukūrė %{resource_name} pasiūlymą kaip oficialų pasiūlymą %{space_name} erdvėje" + publish_answer: "%{user_name} paskelbė atsakymą į pasiūlymą %{resource_name} %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name} oficialų pasiūlymą %{space_name} erdvėje" + proposal_note: + create: "%{user_name} paliko privačią pastabą dėl pasiūlymo %{resource_name} %{space_name} erdvėje" + valuation_assignment: + create: "%{user_name} pavedė %{resource_name} pasiūlymą vertintojui" + delete: "%{user_name} pašalino vertintoją nuo %{proposal_title} pasiūlymo" + answers: + accepted: Priimta + evaluating: Vertinama + not_answered: Neatsakyta + rejected: Atmesta + withdrawn: Atsiimta + application_helper: + filter_category_values: + all: Visi + filter_origin_values: + all: Visi + citizens: Piliečiai + meetings: Susitikimai + official: Oficialūs + user_groups: Grupės + filter_scope_values: + all: Visi + filter_state_values: + accepted: Priimta + all: Visi + evaluating: Vertinama + not_answered: Neatsakyta + rejected: Atmesta + filter_type_values: + all: Visi + amendments: Pakeitimai + proposals: Pasiūlymai + collaborative_drafts: + collaborative_draft: + publish: + error: Skelbiant bendrąjį juodraštį iškilo problema. + irreversible_action_modal: + body: Paskelbus juodraštį, kaip pasiūlymą, jo nebebus galima redaguoti. Į pasiūlymo kūrimą negalės įsitraukti nauji autoriai ir nebus galima pateikti naujų nuomonių. + cancel: Atšaukti + ok: Paskelbti kaip Pasiūlymą + title: Tai yra negrįžtamas veiksmas + success: Bendrasis juodraštis paskelbtas kaip pasiūlymas. + view_collaborative_draft: Peržiūrėti Bendrąjį Juodraštį + withdraw: + error: Uždarant bendrąjį juodraštį iškilo problema. + irreversible_action_modal: + body: Uždarius juodraštį, jo nebebus galima redaguoti. Į juodraščio kūrimą negalės įsitraukti nauji autoriai ir nebus galima pateikti naujų nuomonių. + cancel: Atšaukti + ok: Atsiimti bendrąjį juodraštį + title: Tai yra negrįžtamas veiksmas + success: Bendrasis juodraštis atsiimtas. + count: + drafts_count: + one: "%{count} bendras projektas" + few: "%{count} bendri projektai" + many: "%{count} bendri projektai" + other: "%{count} bendri projektai" + create: + error: Kuriant šį bendrąjį juodraštį iškilo problema + success: Bendrasis juodraštis sukurtas. + edit: + attachment_legend: "(Neprivaloma) Pridėti priedą" + back: Atgal + select_a_category: Pasirinkite kategoriją + send: Siųsti + title: Redaguoti bendrąjį juodraštį + filters: + all: Visi + amendment: Pataisos + category: Kategorija + open: Atidaryta + published: Paskelbta + related_to: Susiję su + scope: Apimtis + search: Ieškoti + state: Būsena + withdrawn: Atsiimta + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + new: + send: Tęsti + new_collaborative_draft_button: + new_collaborative_draft: Naujas bendrasis projektas + orders: + label: 'Juodraščių rikiavimo kriterijai:' + most_contributed: Prie kurio labiausiai prisidėta + random: Atsitiktinai + recent: Naujausi + requests: + accepted_request: + error: Nepavyko patvirtinti bendraautoriumi. Bandykite dar kartą vėliau. + success: "@%{user} patvirtintas bendraautoriumi" + access_requested: + error: Jūsų užklausos įvykdyti nepavyko. Bandykite dar kartą vėliau. + success: Jūsų bendradarbiavimo užklausa išsiųsta + collaboration_requests: + accept_request: Sutikti + reject_request: Atmesti + title: Bendradarbiavimo užklausos + rejected_request: + error: Nepavyko atmesti kaip bendraautoriaus. Bandykite dar kartą vėliau. + success: "@%{user} atmestas kaip bendraautorius" + show: + back: Atgal + edit: Redaguoti bendrąjį juodraštį + final_proposal: galutinis pasiūlymas + final_proposal_help_text: Šis juodraštis baigtas. Patikrinkite galutinį pasiūlymą + hidden_authors_count: + one: ir dar %{count} žmogus + few: ir dar %{count} žmonės (-ių) + many: ir dar %{count} žmonės (-ių) + other: ir dar %{count} žmonės (-ių) + info-message: Tai bendras pasiūlymo projektas (juodraštis). Tai reiškia, kad galite padėti jo autoriams parengti pasiūlymą naudodamiesi komentarų skirsniu arba tiesiogiai jį patobulinti, prašydami prieigos jį keisti. Kai autoriai jums suteiks prieigą, galėsite keisti šį juodraštį. + publish: Paskelbti + publish_info: Skelbti šią juodraščio versiją arba + published_proposal: paskelbtas pasiūlymas + request_access: Prašyti prieigos + requested_access: Prieigos prašymas pateiktas + version_history: peržiūrėti šio pasiūlymo ankstesnes versijas + withdraw: atsiimti juodraštį + states: + open: Atviras + published: Paskelbtas + withdrawn: Atsiimtas + update: + error: Išsaugant bendrąjį juodraštį iškilo problema. + success: Bendrasis juodraštis atnaujintas. + wizard_aside: + back_from_collaborative_draft: Grįžti į bendruosius juodraščius + info: Rengiate bendrąjį juodraštį. + wizard_header: + title: Sukurkite savo bendrąjį juodraštį + content_blocks: + highlighted_proposals: + proposals: Pasiūlymai + create: + error: Išsaugant šį pasiūlymą iškilo problema. + success: Pasiūlymas sukurtas. Išsaugotas kaip Juodraštis. + destroy_draft: + error: Šalinant bendrąjį juodraštį iškilo problema. + success: Pasiūlymo projektas pašalintas. + last_activity: + new_proposal_at_html: "Naujas pasiūlymas %{link}" + proposal_updated_at_html: "Pasiūlymas atnaujintas %{link}" + models: + collaborative_draft: + fields: + authors: Autoriai + comments: Komentarai + contributions: Papildymai + proposal: + fields: + category: Kategorija + comments: Komentarai + id: ID + notes: Užrašai + official_proposal: Oficialus pasiūlymas + published_answer: Paskelbtas atsakymas + published_at: Paskelbta + scope: Apimtis + state: Būsena + title: Pavadinimas + valuator: Vertintojas + valuators: Vertintojai + votes: Balsai + new: + limit_reached: Naujų pasiūlymų rengti negalite, nes viršijote nustatytą ribą. + participatory_text_proposal: + alternative_title: Šiuo metu dalyvaujamųjų tekstų nėra + buttons: + amend: Pakeisti + comment: Komentuoti + comments: Komentarai + proposal_votes: + create: + error: Išreiškiant paramą pasiūlymui įvyko klaidų. + proposals: + compare: + continue: Tęsti + no_similars_found: Puiku! Panašių pasiūlymų nerasta + title: Panašūs Pasiūlymai + complete: + send: Siųsti + title: Užbaikite savo pasiūlymą + count: + proposals_count: + one: "%{count} pasiūlymas" + few: "%{count} pasiūlymai" + many: "%{count} pasiūlymų" + other: "%{count} pasiūlymai" + dynamic_map_instructions: + description: Koordinatės bus atnaujintos paspaudus mygtuką „Peržiūrėti“. Tačiau adresas nesikeičia. + instructions: Galite perkelti tašką žemėlapyje. + edit: + add_documents: Dokumentai + add_images: Rinkmena + attachment_legend: "(Neprivaloma) Pridėti priedą" + back: Atgal + delete_document: Ištrinti Dokumentą + delete_image: Pašalinti Paveikslėlį + gallery_legend: "(Neprivaloma) Pridėkite vaizdą prie pasiūlymo kortelės" + select_a_category: Pasirinkite kategoriją + send: Siųsti + title: Redaguoti pasiūlymą + edit_draft: + discard: Ištrinti šį juodraštį + discard_confirmation: Ar tikrai norite ištrinti šį pasiūlymo juodraštį? + send: Peržiūrėti + title: Redaguoti pasiūlymo projektą + filters: + activity: Mano veikla + all: Visi + amendment_type: Tipas + category: Kategorija + my_proposals: Mano pasiūlymai + origin: Kilmė + related_to: Susiję su + scope: Apimtis + search: Ieškoti + state: Būsena + type: Tipas + voted: Balsuota + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + index: + click_here: Žiūrėti visus pasiūlymus + collaborative_drafts_list: Prieiga prie bendrų projektų (juodraščių) + new_proposal: Naujas pasiūlymas + see_all: Žiūrėti visus pasiūlymus + see_all_withdrawn: Žiūrėti visus atsiimtus pasiūlymus + text_banner: Jūs žiūrite autorių atsiimtų pasiūlymų sąrašą. %{go_back_link}. + view_proposal: Žiūrėti pasiūlymą + linked_proposals: + proposal_votes: + one: balsas + few: balsai + many: balsų + other: balsai + new: + send: Tęsti + title: Sukurti savo pasiūlymą + orders: + label: 'Rikiuoti pasiūlymus pagal:' + most_commented: Labiausiai komentuojamas + most_endorsed: Labiausiai paremtas + most_followed: Labiausiai sekamas + most_voted: Labiausiai balsuotas + random: Atsitiktinai + recent: Naujausi + with_more_authors: Turintys daug autorių + participatory_texts: + index: + document_index: Dokumentų rodyklė + view_index: + see_index: Žiūrėti rodyklę + placeholder: + address: 37 Homewood Drive Brownsburg, IN 46112 + preview: + announcement_body: Jūsų pasiūlymas buvo išsaugotas kaip juodraštis. Jis turi būti paskelbtas, kad jis būtų rodomas svetainėje. + announcement_title: Jūsų pasiūlymas dar nepaskelbtas + modify: Modifikuoti pasiūlymą + proposal_edit_before_minutes: + one: Šį pasiūlymą galėsite keisti pirmą minutę po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite. + few: Šį pasiūlymą galėsite keisti pirmąsias %{count} minutes (-čių) po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite. + many: Šį pasiūlymą galėsite keisti pirmąsias %{count} minutes (-čių) po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite. + other: Šį pasiūlymą galėsite keisti pirmąsias %{count} minutes (-čių) po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite. + publish: Paskelbti + title: Paskelbkite savo pasiūlymą + proposal: + creation_date: 'Sukūrimo data: %{date}' + view_proposal: Žiūrėti pasiūlymą + proposals: + empty: Pasiūlymų dar nėra + empty_filters: Pagal šį kriterijų nėra nė vieno pasiūlymo + show: + answer: Atsakymas + back_to: Grįžti į + back_to_list: Grįžti į sąrašą + changes_at_title: '„%{title}“ pakeitimas' + comments: Komentarai + edit_proposal: Redaguoti pasiūlymą + endorsements_list: Pritarimų Sąrašas + estimated_cost: Numatomos išlaidos + hidden_endorsers_count: + one: ir dar %{count} žmogus + few: ir dar %{count} žmonės (-ių) + many: ir dar %{count} žmonės (-ių) + other: ir dar %{count} žmonės (-ių) + link_to_collaborative_draft_help_text: Šis pasiūlymas yra bendro projekto rezultatas. Peržiūrėkite istoriją + link_to_collaborative_draft_text: Peržiūrėti bendrą projektą (juodraštį) + link_to_promoted_emendation_help_text: Šis pasiūlymas yra remiamas pakeitimas + link_to_promoted_emendation_text: Žiūrėti atmestą pakeitimą. + link_to_proposal_from_emendation_help_text: Tai yra atmestas pakeitimas + link_to_proposal_from_emendation_text: Žiūrėti Pasiūlymą + proposal_accepted_reason: 'Šis pasiūlymas buvo priimtas, nes:' + proposal_in_evaluation_reason: Šis pasiūlymas šiuo metu vertinamas + proposal_rejected_reason: 'Šis pasiūlymas buvo atmestas, nes:' + read_less: Suskleisti + read_more: Skaityti toliau + report: Pranešti + withdraw_btn_hint: Persigalvoję galėsite atsiimti savo pasiūlymą, jeigu niekas už jį dar nebalsavo. Pasiūlymas nepašalinamas. Jis bus rodomas atsiimtų pasiūlymų sąraše. + withdraw_confirmation_html: Ar tikrai norite atsiimti šį pasiūlymą?

    Šio veiksmo atšaukti negalima! + withdraw_proposal: Atsiimti pasiūlymą + tags: + changed_from: "(administratorius pakeitė iš %{previous_name})" + update: + title: Atnaujinti pasiūlymą + vote_button: + already_voted: Jau balsuota + already_voted_hover: Atsiimti balsą + maximum_votes_reached: Pasiektas maksimalus balsų skaičius + no_votes_remaining: Balsų neliko + vote: Balsuoti + votes_blocked: Balsavimas išjungtas + votes_count: + count: + one: Balsas + few: Balsai + many: Balsų + other: Balsai + most_popular_proposal: Populiariausias pasiūlymas + need_more_votes: Reikia daugiau balsų + voting_rules: + can_accumulate_supports_beyond_threshold: + description: Kiekvienas pasiūlymas gali sukaupti daugiau nei %{limit} balsų + minimum_votes_per_user: + description: Turite paskirstyti mažiausiai %{votes} balsų tarp skirtingų pasiūlymų. + given_enough_votes: Jūs suteikėte pakankamai paramos. + supports_remaining: Kad į jūsų balsus būtų atsižvelgta, turite paremti dar %{remaining_votes} pasiūlymus (-ų). + proposal_limit: + description: Galite parengti iki %{limit} pasiūlymų. + threshold_per_proposal: + description: Kad pasiūlymai būtų priimti, jie turi surinkti %{limit} balsų + title: 'Paramai taikomos šios taisyklės:' + vote_limit: + description: Galite paremti iki %{limit} pasiūlymų. + left: Liko + votes: Balsai + wizard_aside: + back: Grįžti + back_from_step_1: Grįžti į pasiūlymus + back_from_step_2: Grįžti į pasiūlymus + back_from_step_3: Grįžti į pasiūlymų palyginimą + back_from_step_4: Grįžti į juodraščio redagavimą + info: Jūs kuriate pasiūlymą. + wizard_steps: + current_step: Dabartinis veiksmas + see_steps: peržiūrėti žingsnius + step_1: Sukurkite savo pasiūlymą + step_2: Palyginti + step_3: Baigti + step_4: Paskelbkite savo pasiūlymą + step_of: '%{current_step_num} žingsnis iš %{total_steps}' + title: Pasiūlymo sukūrimo etapai + proposals_picker: + choose_proposals: Pasirinkti pasiūlymus + close: Uždaryti + more_proposals: Yra dar %{number} pasiūlymai (-ų). Kad nustatytumėte jų vietą, patikslinkite savo paiešką. + no_proposals: Jūsų paieškos kriterijus atitinkančių pasiūlymų nerasta arba pasiūlymų nėra. + publish: + error: Skelbiant šį pasiūlymą iškilo problema. + success: Pasiūlymas paskelbtas. + publish_answers: + success: Pasiūlymų atsakymai paskelbti. + update: + error: Išsaugant šį pasiūlymą iškilo problema. + success: Pasiūlymas atnaujintas. + update_draft: + error: Išsaugant bendrąjį juodraštį iškilo problema. + success: Pasiūlymo juodraštis atnaujintas. + versions: + collaborative_drafts: + back_to_resource: Grįžti į bendrąjį juodraštį + index: + title: Versijos + proposals: + back_to_resource: Grįžti į pasiūlymą + withdraw: + errors: + has_supports: Šio pasiūlymo negalima atsiimti, nes jau yra už jį balsavusių. + resource_links: + copied_from_component: + proposal_proposal: Susiję pasiūlymai + included_projects: + project_result: 'Pasiekimai šiame projekte:' + included_proposals: + proposal_project: 'Šiuose projektuose pateikiamas pasiūlymas:' + proposal_result: 'Pasiūlymas įtrauktas į šiuos rezultatus:' + statistics: + proposals_accepted: Priimti Pasiūlymai + proposals_count: Pasiūlymai + supports_count: Palaikymai diff --git a/decidim-proposals/config/locales/sv.yml b/decidim-proposals/config/locales/sv.yml index a590c8b4e25ce..d4339f000e277 100644 --- a/decidim-proposals/config/locales/sv.yml +++ b/decidim-proposals/config/locales/sv.yml @@ -465,7 +465,7 @@ sv: title: Uppdatera förslag update: Uppdatera form: - attachment_legend: "(Valfritt) Lägg till en bilaga" + attachment_legend: "(Frivilligt) Lägg till en bilaga" created_in_meeting: Detta förslag kommer från ett möte delete_attachment: Ta bort bilaga select_a_category: Välj en kategori @@ -623,7 +623,7 @@ sv: error: Det gick inte att skapa det gemensamma utkastet success: Det gemensamma utkastet har skapats. edit: - attachment_legend: "(Valfritt) Lägg till en bilaga" + attachment_legend: "(Frivilligt) Lägg till en bilaga" back: Tillbaka select_a_category: Välj en kategori send: Skicka @@ -757,7 +757,7 @@ sv: edit: add_documents: Dokument add_images: Bild - attachment_legend: "(Valfritt) Lägg till en bilaga" + attachment_legend: "(Frivilligt) Lägg till en bilaga" back: Tillbaka delete_document: Radera dokument delete_image: Radera bild diff --git a/decidim-sortitions/config/locales/de.yml b/decidim-sortitions/config/locales/de.yml index 59932efec8da0..68221e447133f 100644 --- a/decidim-sortitions/config/locales/de.yml +++ b/decidim-sortitions/config/locales/de.yml @@ -19,6 +19,8 @@ de: decidim: components: sortitions: + actions: + comment: Kommentar name: Sortierungen settings: global: diff --git a/decidim-sortitions/config/locales/lt.yml b/decidim-sortitions/config/locales/lt.yml index 6c5cb837ac8c1..9bad65ce9716e 100644 --- a/decidim-sortitions/config/locales/lt.yml +++ b/decidim-sortitions/config/locales/lt.yml @@ -1 +1,162 @@ lt: + activemodel: + attributes: + sortition: + additional_info: Informacija apie sprendimą burtų keliu + decidim_category_id: Pasiūlymų rinkinio, dėl kurio norite spręsti burtų keliu, kategorijos + decidim_proposals_component_id: Pasiūlymų rinkinys + dice: Kauliukų ridenimo rezultatai. Riskite šešiasienį kauliuką arba raskite kitą būdą, kaip atsitiktinai išridenti skaičių nuo 1 iki 6. Gautą skaičių užrašykite prie liudytojų. Tai padeda kokybei ir užtikrina atsitiktinį rezultatą + target_items: Pasirinktinų pasiūlymų skaičius (tai yra pasiūlymų, kuriuos norite atrinkti burtų keliu iš anksčiau pasirinktos pasiūlymų grupės, skaičius) + title: Pavadinimas + witnesses: Liudytojai + models: + decidim/sortitions/create_sortition_event: Sprendimas burtų keliu + activerecord: + models: + decidim/sortitions/sortition: + one: Sprendimas burtų keliu + few: Sprendimai burtų keliu + many: Sprendimai burtų keliu + other: Sprendimai burtų keliu + decidim: + components: + sortitions: + actions: + comment: Komentuoti + name: Sprendimai burtų keliu + settings: + global: + comments_enabled: Komentarai įjungti + comments_max_length: Maksimalus komentarų ilgis (Palikite 0 kaip numatytą vertę) + events: + sortitions: + sortition_created: + email_intro: Erdvėje „%{participatory_space_title}“, kurią sekate, pridėta sprendimo burtų keliu funkcija „%{resource_title}“. + email_outro: Gavote šį pranešimą nes sekate %{participatory_space_title}. Galite nebesekti paspaudę and ankstesnės nuorodos. + email_subject: '%{participatory_space_title} pridėtas nauja sprendimo burtų keliu funkcija' + notification_title: '%{participatory_space_title} pridėta %{resource_title} sprendimo burtų keliu funkcija' + sortitions: + admin: + actions: + destroy: Atšaukti sprendimą burtų keliu + edit: Redaguoti + new: Nauja galimybė spręsti burtų keliu + show: Išsami informacija apie sprendimą burtų keliu + models: + sortition: + fields: + category: Kategorija + created_at: Sukūrimo data + decidim_proposals_component: Pasiūlymų komponentas + dice: Kauliukai + reference: Nuoroda + request_timestamp: Sprendimo burtų keliu laikas + seed: Generavimo raktas + target_items: Pasirinktini elementai + title: Pavadinimas + name: + one: Sprendimas burtų keliu + few: Sprendimai burtų keliu + many: Sprendimai burtų keliu + other: Sprendimai burtų keliu + sortitions: + confirm_destroy: + confirm_destroy: Ar tikrai norite atšauti šį sprendimą burtų keliu? + destroy: Atšaukti sprendimą burtų keliu + title: Sprendimo burtų keliu atšaukimas + create: + error: Rengiant naują sprendimą burtų keliu iškilo problema. + success: Sprendimas burtų keliu sukurtas + destroy: + error: Negalima atšaukti sprendimo burtų keliu. + success: Sprendimas burtų keliu atšauktas + edit: + title: Atnaujinti informaciją apie sprendimo burtų keliu galimybę + update: Atnaujinti + form: + all_categories: Visos kategorijos + select_proposal_component: Pasirinkti pasiūlymų rinkinį + title: Nauja galimybė dėl pasiūlymų spręsti burtų keliu + index: + title: Sprendimai burtų keliu + new: + confirm: Spustelėjus kitą mygtuką, „Decim“ užregistruos datą ir laiką (sekundžių tikslumu). Kartu su kauliuko metimu ši informacija bus naudojama atsitiktinei atrankai vykdyti. Spustelėjus mygtuką, veiksmas bus negrįžtamas, o jo rezultatas bus paskelbtas kartu su šioje formoje įrašytais duomenimis ir jų nebus galima keisti, taigi, atidžiai patikrinkite turinį + create: Sukurti + title: Nauja galimybė spręsti burtų keliu + show: + selected_proposals: Pasirinkti pasiūlymai sprendimui burtų keliu priimti + update: + error: Atnaujinant galimybę spręsti burtų keliu iškilo problema. + success: Galimybė spręsti burtų keliu atnaujinta + admin_log: + sortition: + create: "%{user_name} sukūrė %{resource_name} galimybę spręsti burtų keliu %{space_name} erdvėje" + delete: "%{user_name} atšaukė %{resource_name} galimybę spręsti burtų keliu %{space_name} erdvėje" + update: "%{user_name} atnaujino %{resource_name} galimybę spręsti burtų keliu %{space_name} erdvėje" + sortitions: + count: + proposals_count: + one: 1 pasiūlymas + few: "%{count} pasiūlymai" + many: "%{count} pasiūlymai" + other: "%{count} pasiūlymai" + filters: + active: Aktyvūs + all: Visos + cancelled: Atšaukti + category: Kategorija + category_prompt: Pasirinkite kategoriją + search: Ieškoti + state: Būsena + filters_small_view: + close_modal: Uždaryti modalinį langą + filter: Filtruoti + filter_by: Filtruoti pagal + unfold: Išskleisti + linked_sortitions: + selected_proposals: Pasirinkti pasiūlymai + orders: + label: 'Galimybių spręsti burtų keliu rikiavimo kriterijai:' + random: Atsitiktinai + recent: Naujausi + results_count: + count: + one: pasirinktas pasiūlymas + few: pasirinkti pasiūlymai + many: pasirinkti pasiūlymai + other: pasirinkti pasiūlymai + show: + algorithm: Galimybės spręsti burtų keliu algoritmo kodas + any_category: iš visų kategorijų + back: Grįžti į sąrašą + cancelled: Galimybė spręsti burtų keliu atšaukta + candidate_proposal_ids: Pasiūlymų, dėl kurių sprendžiama burtų keliu, rikiavimo kriterijai ir ID + candidate_proposals_info: 'Burtų keliu spręsta dėl šių pasiūlymų (%{category_label}) su šiais ID (pasirinkti pasiūlymai – paryškintu šriftu) ' + category: iš %{category} kategorijos + dice_result: "1) Kauliuko metimo rezultatai" + introduction: 'Šiame puslapyje pateikiami sprendimo burtų keliu %{reference} rezultatai. Naudojantis šia galimybe spręsti burtų keliu, iš rodomų pasiūlymų rinkinio atsitiktine tvarka pasirenkamas rezultatų skaičius %{target_items}, esant vienodai pasiskirstymo tikimybei. Kartu su rezultatais šiame puslapyje pateikiamoje informacijoje nurodoma viskas, ko reikia siekiant kuo labiau padidinti garantijas ir atkurti rezultatus. Šios galimybės spręsti burtų keliu pagrindas – dvigubas atsitiktinumas, kurį užtikrina kauliuko ridenimas (jį patvirtina liudytojai) ir tikslus sprendimo burtų keliu laikas, – informacija, įvedama į atsitiktinės atrankos vykdymo algoritmą. Sprendimo burtų keliu pradžia yra tokia tiksli (sekundės), kad žmogus šio proceso kontroliuoti negali, taigi, tai dvigubas nekontroliuojamas veiksmas sąžiningam rezultatui užtikrinti. ' + mathematical_result: Rezultatas (1) x (2) + proposals_selected_by_sortition: Pasiūlymai pasirinkti burtų keliu + sortition_reproducibility_details: Rūšiavimo atkuriamumo detalės + time_seed: "(2) Time seed" + witnesses: Liudytojai + sortition: + random_seed: Atsitiktinė vertė + selected_proposals: + one: pasiūlymas pasirinktas + few: pasiūlymai pasirinkti + many: pasiūlymai pasirinkti + other: pasiūlymai pasirinkti + view: Peržiūrėti + sortition_author: + deleted: Ištrintas dalyvis + sortition_cancel_author: + deleted: Ištrintas dalyvis + sortitions_count: + count: + one: 1 pasirinkimas burtų keliu + few: "%{count} pasirinkimai burtų keliu" + many: "%{count} pasirinkimų burtų keliu" + other: "%{count} pasirinkimai burtų keliu" + statistics: + sortitions_count: Pasirinkimai burtų keliu diff --git a/decidim-surveys/config/locales/lt.yml b/decidim-surveys/config/locales/lt.yml index 6c5cb837ac8c1..a02909c4e1435 100644 --- a/decidim-surveys/config/locales/lt.yml +++ b/decidim-surveys/config/locales/lt.yml @@ -1 +1,72 @@ lt: + activemodel: + models: + decidim/surveys/closed_survey_event: Apklausa pasibaigė + decidim/surveys/opened_survey_event: Apklausa prasidėjo + activerecord: + models: + decidim/surveys/survey: + one: Apklausa + few: Apklausos + many: Apklausos + other: Apklausos + decidim/surveys/survey_answer: + one: Atsakyti + few: Atsakymai + many: Atsakymai + other: Atsakymai + decidim: + components: + surveys: + actions: + answer: Atsakyti + name: Apklausa + settings: + global: + announcement: Pranešimas + clean_after_publish: Skelbiant apklausą, šalinti atsakymus + ends_at: Atsakymai priimami iki + ends_at_help: Jei nėra tikslios datos, palikite lauką tuščią + scope_id: Sritis + scopes_enabled: Sritys įjungtos + starts_at: Atsakymai priimami iš + starts_at_help: Jei nėra tikslios datos, palikite lauką tuščią + step: + allow_answers: Leisti atsakymus + allow_unregistered: Leisti neregistruotiems naudotojams atsakyti į apklausos klausimus + allow_unregistered_help: Jei aktyvu, prisijungimas nebus būtinas norint atsakyti į apklausą. Tai sukuria patogesnę aplinką atakoms ir nepatikimiems duomenims, tad naudokite šį funkcionalumą su atsarga. Atsižvelkite ir į tai, kad dalyvis galės atsakyti į apklausą kelis kartus. + announcement: Pranešimas + events: + surveys: + survey_closed: + email_intro: Apklausa %{resource_title} %{participatory_space_title} baigta. + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Apklausa %{participatory_space_title} baigta + notification_title: Apklausa %{resource_title} %{participatory_space_title} baigta. + survey_opened: + email_intro: 'Apklausa %{resource_title} %{participatory_space_title} dabar vyksta. Joje galite dalyvauti iš šio puslapio:' + email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą. + email_subject: Nauja apklausa %{participatory_space_title} + notification_title: Apklausa %{resource_title} %{participatory_space_title} dabar vyksta. + metrics: + survey_answers: + description: Apklausų, į kurių klausimus atsakė dalyviai, skaičius + object: atsakymai į apklausų klausimus + title: Atsakymai į apklausų klausimus + statistics: + answers_count: Atsakymai + surveys: + admin: + exports: + survey_user_answers: Apklausos dalyvių atsakymai + surveys: + update: + invalid: Išsaugant šią apklausą iškilo problema. + success: Apklausa išsaugota. + last_activity: + new_survey_at_html: "Nauja apklausa %{link}" + surveys: + answer: + invalid: Atsakant į šios apklausos klausimus iškilo problema. + spam_detected: Atsakant į šios formos klausimus iškilo problema. Galbūt paskubėjote? Ar galite pabandyti dar kartą? + success: Į apklausos klausimus atsakyta. diff --git a/decidim-system/config/locales/lt.yml b/decidim-system/config/locales/lt.yml index 6c5cb837ac8c1..39fbfff86b631 100644 --- a/decidim-system/config/locales/lt.yml +++ b/decidim-system/config/locales/lt.yml @@ -1 +1,188 @@ lt: + activemodel: + attributes: + oauth_application: + name: '„OAuth“ programos pavadinimas' + organization_logo: Organizacijos logotipas (keturkampis) + organization_name: Organizacija + organization_url: Organizacijos URL + redirect_uri: Peradresavimo URI + organization: + address: SMTP pagrindinio kompiuterio vardas + from_email: El. pašto adresas + from_label: Etiketė + password: Slaptažodis + port: Portas + user_name: Naudotojo vardas + organization_file_uploads: + allowed_content_types: + admin: Administratoriaus MIME tipai + default: Numatytieji MIME tipai + allowed_file_extensions: + admin: Administratoriaus failų plėtiniai + default: Numatytieji failų plėtiniai + image: Vaizdo failų plėtiniai + maximum_file_size: + avatar: Avataro failo dydis + default: Numatytasis failo dydis + errors: + models: + oauth_application: + attributes: + redirect_uri: + must_be_ssl: Peradresavimo URI turi būti SSL URI + decidim: + system: + actions: + confirm_destroy: Ar tikrai norite tai ištrinti? + destroy: Ištrinti + edit: Redaguoti + new: Naujas + save: Išsaugoti + title: Veiksmai + admins: + create: + error: Kuriant naują administratorių iškilo problema. + success: Administratorius sukurtas + destroy: + success: Administratorius pašalintas + edit: + title: Redaguoti administratorių + update: Atnaujinti + index: + title: Administratoriai + new: + create: Sukurti + title: Naujas administratorius + update: + error: Atnaujinant šį administratorių iškilo problema. + success: Administratorius atnaujintas + dashboard: + show: + current_organizations: Dabartinės organizacijos + default_pages: + placeholders: + content: Administratoriaus suvestinės statiniame puslapyje %{page} įrašykite prasmingą turinį. + title: '%{page} numatytasis pavadinimas' + menu: + admins: Administratoriai + dashboard: Švieslentė + oauth_applications: OAuth aplikacijos + organizations: Organizacijos + models: + admin: + fields: + created_at: Sukurta + email: El. paštas + name: Administratorius + validations: + email_uniqueness: jau yra kitas administratorius su tokiu pačiu el. pašto adresu + oauth_application: + fields: + created_at: Sukurta + name: '„OAuth“ programos pavadinimas' + organization_name: Organizacija + name: OAuth aplikacija + organization: + actions: + save_and_invite: Sukurti organizaciją ir pakviesti administratorių + fields: + created_at: Sukurta + file_upload_settings: Failų įkėlimo nustatymai + name: Vardas + omniauth_settings: '„Omniauth“ nuostatos' + smtp_settings: SMTP nustatymai + name: Organizacija + oauth_applications: + create: + error: Kuriant šią aplikaciją iškilo problema. + success: Programa sukurta. + destroy: + error: Naikinant šią programą iškilo problema. + success: Programa panaikinta. + edit: + save: Išsaugoti + title: Redaguoti programą + form: + select_organization: Pasirinkti organizaciją + index: + confirm_delete: Ar tikrai norite ištrinti šią programą? + title: OAuth aplikacijos + new: + save: Išsaugoti + title: Nauja aplikacija + update: + error: Atnaujinant šią programą iškilo problema. + success: Programa atnaujinta. + organizations: + advanced_settings: + hide: Slėpti išplėstinius nustatymus + show: Rodyti išplėstinius nustatymus + create: + error: Kuriant naują organizaciją iškilo problema. + success: Organizacija sėkmingai sukurta. + edit: + secondary_hosts_hint: Kiekvieną iš jų įrašykite į naują eilutę + file_upload_settings: + content_types: + admin_hint: Šie MIME tipai leidžiami administratorių dalies įkėlimams. Administratoriai turėtų suprasti tokių dokumentų formatų rizikas. + default_hint: Pagal numatytuosius nustatymus šie MIME tipai leidžiami visiems vartotojams. + intro_html: Pridedate "wildcards" su asterisku MIME tipams (pvz. paveikslelis/*. + title: Leidžiami MIME tipai + file_extensions: + admin_hint: Šie Mime tipai leidžiami administratorių dalies įkėlimams. Administratoriai turėtų suprasti tokių dokumentų formatų rizikas. + default_hint: Šie rinkmenų tipai leidžiami visiems naudotojams. + image_hint: Šie rinkmenų tipai tinkami paveikslėlių įkėlimui. + title: Leidžiami failų plėtiniai + file_sizes: + avatar_hint: Megabaitai (MB). Šis failo dydžio apribojimas naudojamas avataro paveiksliukams įkelti. + default_hint: Megabaitai (MB). Šis failo dydžio apribojimas yra numatytasis, jei nenurodyta kitaip. + title: Didžiausi failų dydžiai + intro: | + Būkite ypač atsargūs, kai ketinate pakeisti šiuos nustatymus. Kuo mažiau leisite, tuo geriau. + Leidžiant konkrečius failų plėtinius arba MIME tipus, sistemos naudotojai gali susidurti su saugumo rizika, taip pat gali turėti įtakos svetainės pasiekiamumui. + index: + title: Organizacijos + new: + reference_prefix_hint: Nuorodos priešdėlis naudojamas unikaliai identifikuoti išteklius visoje organizacijoje + secondary_hosts_hint: Kiekvieną iš jų įrašykite į naują eilutę + title: Nauja organizacija + omniauth_settings: + decidim: + client_id: Kliento ID + client_secret: Kliento paslaptis + site_url: Svetainės URL + enabled: Įjungta + enabled_by_default: Šis teikėjas įjungtas pagal numatytuosius nustatymus. Jį galima redaguoti, bet ne išjungti. + facebook: + app_id: Programos ID + app_secret: Programos paslaptis + google_oauth2: + client_id: Kliento ID + client_secret: Kliento paslaptis + icon: Piktograma + icon_path: Piktogramos kelias + twitter: + api_key: API raktas + api_secret: API paslaptis + smtp_settings: + fieldsets: + sender: Siuntėjas + instructions: + from_label: 'El. pašto siuntėjas bus: "jūsų-organizacijos-pavadinimas ". Palikite tuščią, jei norite naudoti „El. pašto adresas“ kaip etiketę' + placeholder: + from_email: jūsų-organizacija@example.org + from_label: jūsų-organizacijos-pavadinimas + update: + error: Atnaujinant šią organizaciją iškilo problema. + success: Organizacija atnaujinta. + users_registration_mode: + disabled: Prieiga galima tik iš išorės paskyrų + enabled: Leisti dalyviams registruotis ir prisijungti + existing: Neleiskite dalyviams registruotis, bet leiskite esamiems dalyviams prisijungti + shared: + notices: + no_organization_warning_html: Norėdami pradėti, turite sukurti organizaciją. Prieš tęsdami būtinai perskaitykite %{guide}. + our_getting_started_guide: mūsų veiklos pradžios vadovas + titles: + dashboard: Švieslentė diff --git a/decidim-templates/config/locales/de.yml b/decidim-templates/config/locales/de.yml index 09bdb46931510..8c4126fe7c105 100644 --- a/decidim-templates/config/locales/de.yml +++ b/decidim-templates/config/locales/de.yml @@ -1,4 +1,11 @@ de: + activemodel: + attributes: + questionnaire: + title: Titel + template: + description: Beschreibung + name: Name decidim: admin: menu: diff --git a/decidim-templates/config/locales/hu.yml b/decidim-templates/config/locales/hu.yml index 52314c50c979f..9c6b6610b39a0 100644 --- a/decidim-templates/config/locales/hu.yml +++ b/decidim-templates/config/locales/hu.yml @@ -1 +1,67 @@ hu: + activemodel: + attributes: + questionnaire: + title: Cím + template: + description: Leírás + name: Név + decidim: + admin: + menu: + templates: Sablonok + templates: + apply: + error: Probléma merült fel a sablon alkalmazása során. + success: Sablon sikeresen alkalmazva + copy: + error: Probléma merült fel a sablon másolása során. + success: Sablon sikeresen másolva + create: + error: Probléma történt az sablon létrehozásakor. + success: Sablon létrhehozása sikeres + destroy: + success: Sablon törlése sikeres + empty: Nincsenek még sablonok. + update: + error: Probléma merült fel a sablon frissítése során. + success: A sablon sikeresen frissült + titles: + template_types: + questionnaires: Kérdőív-sablonok + templates: Sablonok + models: + questionnaire_template: + fields: + questions: Kérdések száma + title: Kérdõív címe + template: + fields: + created_at: 'Létrehozva:' + name: Sablon + templates: + admin: + questionnaire_templates: + choose: + create_from_template: Létrehozás sablonból + description: Egy új kérdőív létrehozására készült. Választhatsz előre létrehozott sablonok közül amelyeket később módosíthatsz. + label: Válassz egy sablont + placeholder: Válassz egy sablont + skip_template: Átugrás + edit: + edit: Szerkesztés + empty: Még nincsenek kérdések + questionnaire: Kérdőív + form: + save: Mentés + template_title: Sablon információi + title: Kérdőív sablon %{questionnaire_for} + index: + confirm_delete: Biztos törölni szeretné a sablont? + title: Kérdőív-sablonok + preview: + current_step: Lépés %{step} + of_total_steps: 'ennyiből: %{total_steps}' + tos_agreement: A részvétellel elfogadja az Általános Szerződési Feltételeket + template_types: + questionnaires: Kérdőívek diff --git a/decidim-templates/config/locales/lt.yml b/decidim-templates/config/locales/lt.yml index 6c5cb837ac8c1..a18959f039119 100644 --- a/decidim-templates/config/locales/lt.yml +++ b/decidim-templates/config/locales/lt.yml @@ -1 +1,67 @@ lt: + activemodel: + attributes: + questionnaire: + title: Pavadinimas + template: + description: Aprašymas + name: Pavadinimas + decidim: + admin: + menu: + templates: Šablonai + templates: + apply: + error: Pritaikant šį šabloną iškilo problema. + success: Šablonas sėkmingai pritaikytas + copy: + error: Kopijuojant šį šabloną iškilo problema. + success: Šablonas pritaikytas nukopijuotas + create: + error: Kuriant šį šabloną iškilo problema. + success: Šablonas sukurtas sėkmingai + destroy: + success: Šablonas ištrintas sėkmingai + empty: Dar nėra šablonų. + update: + error: Atnaujinant šį šabloną kilo problema. + success: Šablonas atnaujintas sėkmingai + titles: + template_types: + questionnaires: Klausimyno šablonai + templates: Šablonai + models: + questionnaire_template: + fields: + questions: Klausimų skaičius + title: Klausimyno pavadinimas + template: + fields: + created_at: Sukurta + name: Šablonas + templates: + admin: + questionnaire_templates: + choose: + create_from_template: Kurti iš šablono + description: Tuojaus sukursite naują klausimyną. Galite jį kurti iš šablono ir jį pakeisti vėliau. + label: Pasirinkti šabloną + placeholder: Pasirinkti šabloną + skip_template: Praleisti + edit: + edit: Redaguoti + empty: Dar nėra klausimų + questionnaire: Klausimynas + form: + save: Išsaugoti + template_title: Šablono informacija + title: Klausimyno šablonas %{questionnaire_for} + index: + confirm_delete: Ar tikrai norite ištrinti šį šabloną? + title: Klausimyno šablonai + preview: + current_step: Žingsnis %{step} + of_total_steps: iš%{total_steps} + tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis + template_types: + questionnaires: Klausimynai diff --git a/decidim-templates/config/locales/sv.yml b/decidim-templates/config/locales/sv.yml index fe53e36087a62..71db39e30fb9d 100644 --- a/decidim-templates/config/locales/sv.yml +++ b/decidim-templates/config/locales/sv.yml @@ -21,6 +21,8 @@ sv: admin: questionnaire_templates: choose: + label: Välj mall + placeholder: Välj mall skip_template: Hoppa över edit: edit: Redigera @@ -29,3 +31,5 @@ sv: save: Spara preview: current_step: Steg %{step} av + template_types: + questionnaires: Enkäter diff --git a/decidim-verifications/config/locales/ca.yml b/decidim-verifications/config/locales/ca.yml index 85b0a41a7ebbd..e9dd7755ea18b 100644 --- a/decidim-verifications/config/locales/ca.yml +++ b/decidim-verifications/config/locales/ca.yml @@ -78,10 +78,10 @@ ca: events: verifications: verify_with_managed_user: - email_intro: La participant %{resource_title} ha intentat verificar-se amb les dades de la participant gestionada %{managed_user_name}. - email_outro: Comprova la llista de conflictes de verificacions i posa't en contacte amb la participant per a verificar els seus detalls i resoldre el problema. - email_subject: Error en intentar verificar-se contra una participant gestionada - notification_title: La participant %{resource_title} ha intentat verificar-se amb les dades de la participant gestionada %{managed_user_name}. + email_intro: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}). + email_outro: Comprova la llista de conflictes de verificacions i posa't en contacte amb la participant per a verificar els seus detalls i resoldre el problema. + email_subject: Error en intentar verificar-se contra una altra participant + notification_title: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/cs.yml b/decidim-verifications/config/locales/cs.yml index af88ca3c50081..c1b233ae7b760 100644 --- a/decidim-verifications/config/locales/cs.yml +++ b/decidim-verifications/config/locales/cs.yml @@ -78,10 +78,10 @@ cs: events: verifications: verify_with_managed_user: - email_intro: Účastník %{resource_title} se pokusil ověřit se údaji spravovaného účastníka %{managed_user_name}. - email_outro: Zkontrolujte seznam konfliktů ověření a kontaktujte uživatele pro ověření jejich údajů a vyřešení problému. - email_subject: Neúspěšný pokus o ověření proti spravovanému uživateli - notification_title: Účastník %{resource_title} se pokusil ověřit se údaji spravovaného účastníka %{managed_user_name}. + email_intro: Účastník %{resource_title} se pokusil ověřit se s údaji jiného účastníka (%{managed_user_name}). + email_outro: Zkontrolujte seznam konfliktů ověření a kontaktujte uživatele pro ověření jejich údajů a vyřešení problému. + email_subject: Neúspěšný pokus o ověření proti jinému uživateli + notification_title: Účastník %{resource_title} se pokusil ověřit se s údaji jiného účastníka (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/es-MX.yml b/decidim-verifications/config/locales/es-MX.yml index 6cb907b953bea..20c414480e3c3 100644 --- a/decidim-verifications/config/locales/es-MX.yml +++ b/decidim-verifications/config/locales/es-MX.yml @@ -78,10 +78,10 @@ es-MX: events: verifications: verify_with_managed_user: - email_intro: La participante %{resource_title} ha intentado verificarse a si misma con los datos de la participante gestionada %{managed_user_name}. - email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. - email_subject: Error al intentar verificarse contra una participante gestionada - notification_title: La participante %{resource_title} ha intentado verificarse con los datos de la participante gestionada %{managed_user_name}. + email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). + email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. + email_subject: Error al intentar verificarse contra otra participante + notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/es-PY.yml b/decidim-verifications/config/locales/es-PY.yml index 1fa2a1bb8f191..b53cc69e1366c 100644 --- a/decidim-verifications/config/locales/es-PY.yml +++ b/decidim-verifications/config/locales/es-PY.yml @@ -78,10 +78,10 @@ es-PY: events: verifications: verify_with_managed_user: - email_intro: La participante %{resource_title} ha intentado verificarse a si misma con los datos de la participante gestionada %{managed_user_name}. - email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. - email_subject: Error al intentar verificarse contra una participante gestionada - notification_title: La participante %{resource_title} ha intentado verificarse con los datos de la participante gestionada %{managed_user_name}. + email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). + email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. + email_subject: Error al intentar verificarse contra otra participante + notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/es.yml b/decidim-verifications/config/locales/es.yml index 14b2f3ebfe91b..8d38fa584c90f 100644 --- a/decidim-verifications/config/locales/es.yml +++ b/decidim-verifications/config/locales/es.yml @@ -78,10 +78,10 @@ es: events: verifications: verify_with_managed_user: - email_intro: La participante %{resource_title} ha intentado verificarse a si misma con los datos de la participante gestionada %{managed_user_name}. - email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. - email_subject: Error al intentar verificarse contra una participante gestionada - notification_title: La participante %{resource_title} ha intentado verificarse con los datos de la participante gestionada %{managed_user_name}. + email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). + email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. + email_subject: Error al intentar verificarse contra otra participante + notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/fi-plain.yml b/decidim-verifications/config/locales/fi-plain.yml index de0fc90a2fafd..10763f8fd4930 100644 --- a/decidim-verifications/config/locales/fi-plain.yml +++ b/decidim-verifications/config/locales/fi-plain.yml @@ -78,10 +78,10 @@ fi-pl: events: verifications: verify_with_managed_user: - email_intro: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla. - email_outro: Tarkasta tunnistautumisten vahvistusten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman. - email_subject: Hallitun käyttäjän tunnistaminen epäonnistui - notification_title: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla. + email_intro: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla. + email_outro: Tarkasta tunnistautumisten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman. + email_subject: Tunnistautumisyritys epäonnistui toisen osallistujan tietojen käytön takia + notification_title: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla. verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/fi.yml b/decidim-verifications/config/locales/fi.yml index 5d98a140e4514..af7061f12ef8c 100644 --- a/decidim-verifications/config/locales/fi.yml +++ b/decidim-verifications/config/locales/fi.yml @@ -78,10 +78,10 @@ fi: events: verifications: verify_with_managed_user: - email_intro: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla. - email_outro: Tarkasta tunnistautumisten vahvistusten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman. - email_subject: Hallitun käyttäjän tunnistaminen epäonnistui - notification_title: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla. + email_intro: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla. + email_outro: Tarkasta tunnistautumisten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman. + email_subject: Tunnistautumisyritys epäonnistui toisen osallistujan tietojen käytön takia + notification_title: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla. verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/fr-CA.yml b/decidim-verifications/config/locales/fr-CA.yml index 76470bc36867b..9bb8e27c1b43c 100644 --- a/decidim-verifications/config/locales/fr-CA.yml +++ b/decidim-verifications/config/locales/fr-CA.yml @@ -78,10 +78,10 @@ fr-CA: events: verifications: verify_with_managed_user: - email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}. - email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”. + email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}). + email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”. email_subject: Echec lors de la tentative de vérification d'un participant - notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}. + notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/fr.yml b/decidim-verifications/config/locales/fr.yml index c09b7c0cede62..f2a06ad189ef6 100644 --- a/decidim-verifications/config/locales/fr.yml +++ b/decidim-verifications/config/locales/fr.yml @@ -78,10 +78,10 @@ fr: events: verifications: verify_with_managed_user: - email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}. - email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”. + email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}). + email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”. email_subject: Echec lors de la tentative de vérification d'un participant - notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}. + notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/hu.yml b/decidim-verifications/config/locales/hu.yml index d2076c2ffad91..8ea8a0c846731 100644 --- a/decidim-verifications/config/locales/hu.yml +++ b/decidim-verifications/config/locales/hu.yml @@ -27,9 +27,23 @@ hu: admin: menu: authorization_revocation: + before_date_info: Hasznos, ha a folyamat már megkezdődött, és vissza szeretné vonni az előző folyamat jogosultságait. button: Összes visszavonása + button_before: Dátum előtti visszavonás + destroy: + confirm: A dátum előtti engedélyezések visszavonása nem vonható vissza. Biztosan folytatja? + confirm_all: Az összes engedélyezés visszavonása nem vonható vissza. Biztosan folytatja? destroy_nok: Probléma merült fel az engedélyek visszavonásakor. + destroy_ok: Az összes egyező engedélyt sikeresen visszavonták. + info: Összesen %{count} ellenőrzött résztvevő. no_data: Nincsenek ellenőrzött résztvevők + title: Engedélyezés és visszavonás + authorization_workflows: Engedélyezések + admin_log: + organization: + update_id_documents_config: "%{user_name} frissítette az azonosító dokumentumok ellenőrzési konfigurációját" + user: + grant_id_documents_offline_verification: "%{user_name} hitelesítve %{resource_name} egy offline azonosító dokumentum ellenőrzésével" authorization_handlers: admin: csv_census: @@ -117,6 +131,7 @@ hu: title: Jelenlegi népszámlálási adatok instructions: body: Ehhez be kell lépnie a rendszeradminisztrációba, és hozzá kell adnia a csv_census jogosultságokat a szervezethez + title: Aktiválnia kell a szervezet CSV-állományadatait new: file: ".csv fájl e-mail adatokkal" info: 'CSV formátumú fájl lehet csak egy oszloppal, amely az email címeket tartalmazza:' @@ -131,6 +146,8 @@ hu: postal_codes: one: A részvétel %{postal_codes} irányítószámú felhasználókra korlátozódik. other: 'A részvétel %{postal_codes} irányítószámú felhasználókra korlátozódik.' + scope: A részvétel kizárólag a(z) %{scope_name} hatókörrel rendelkező résztvevőkre korlátozódik. + user_scope: A részvétel a %{scope_name} hatókörrel rendelkező résztvevőkre korlátozódik, és a te hatóköröd %{user_scope_name}. id_documents: admin: config: diff --git a/decidim-verifications/config/locales/it.yml b/decidim-verifications/config/locales/it.yml index 90a725cb33217..bfe3251ec2e78 100644 --- a/decidim-verifications/config/locales/it.yml +++ b/decidim-verifications/config/locales/it.yml @@ -75,13 +75,6 @@ it: postal_letter: explanation: Ti invieremo una lettera postale con un codice che dovrai inserire per poter verificare il tuo indirizzo name: Codice via lettera postale - events: - verifications: - verify_with_managed_user: - email_intro: L'utente%{resource_title} ha provato a verificarsi con i dati dell'utente%{managed_user_name}. - email_outro: Controllare l'elenco dei conflitti nelle verifiche e contattare l'utente per verificare i propri dati e risolvere il problema. - email_subject: 'Tentativo di verifica fallito: l''utente esiste già' - notification_title: L'utente%{resource_title} ha provato a verificarsi con i dati dell'utente%{managed_user_name}. verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/ja.yml b/decidim-verifications/config/locales/ja.yml index c0e71037d8b8a..3383dd4f12020 100644 --- a/decidim-verifications/config/locales/ja.yml +++ b/decidim-verifications/config/locales/ja.yml @@ -78,10 +78,10 @@ ja: events: verifications: verify_with_managed_user: - email_intro: 参加者 %{resource_title} が管理対象参加者 %{managed_user_name}のデータで検証しようとしました。 - email_outro: 検証の競合リスト を確認し、参加者に連絡して詳細を調査し、問題を解決します。 - email_subject: 管理対象参加者に対する検証の試みに失敗しました - notification_title: 参加者 %{resource_title} が管理参加者 %{managed_user_name}のデータでそれらを確認しようとしました。 + email_intro: 参加者 %{resource_title} が別の参加者(%{managed_user_name}) のデータで検証しようとしました. + email_outro: 検証の競合リスト を確認し、参加者に連絡して詳細の検証を行い、問題を解決します。 + email_subject: 他の参加者に対する検証の試みに失敗しました + notification_title: 参加者 %{resource_title} が別の参加者 (%{managed_user_name}) のデータでそれらを確認しようとしました. verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/lt.yml b/decidim-verifications/config/locales/lt.yml index 6c5cb837ac8c1..5196bcc42effd 100644 --- a/decidim-verifications/config/locales/lt.yml +++ b/decidim-verifications/config/locales/lt.yml @@ -1 +1,275 @@ lt: + activemodel: + attributes: + config: + available_methods: Galimi metodai + offline: Offline + offline_explanation: Tikrinimo fiziškai instrukcija + online: Virtualus + id_document_information: + document_number: Dokumento numeris (su raide) + document_type: Dokumento tipas + id_document_upload: + document_number: Dokumento numeris (su raide) + document_type: Jūsų dokumento rūšis + user: Dalyvis + verification_attachment: Jūsų dokumento nuskenuota kopija + offline_confirmation: + email: Dalyvio el. pašto adresas + postal_letter_address: + full_address: Pilnas adresas + postal_letter_confirmation: + verification_code: Patvirtinimo kodas + postal_letter_postage: + full_address: Pilnas adresas + verification_code: Patvirtinimo kodas + decidim: + admin: + menu: + authorization_revocation: + before_date_info: Naudinga, jei procesas jau prasidėjo ir norite atšaukti ankstesnio proceso leidimus. + button: Atšaukti viską + button_before: Atšaukti iki datos + destroy: + confirm: Atšaukus leidimus iki datos, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti? + confirm_all: Atšaukus visus leidimus, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti? + destroy_nok: Atšaukiant leidimus, iškilo problema. + destroy_ok: Visi sutampantys leidimai atšaukti. + info: Bendras patvirtintų dalyvių skaičius – %{count}. + no_data: Patvirtintų dalyvių nėra + title: Įgaliojimų atėmimas + authorization_workflows: Autorizacijos + admin_log: + organization: + update_id_documents_config: "%{user_name} atnaujino tapatybės dokumentų tikrinimo konfigūraciją" + user: + grant_id_documents_offline_verification: "%{user_name} patvirtino %{resource_name} naudodamas tapatybės dokumentų tikrinimo offline režimu funkciją" + authorization_handlers: + admin: + csv_census: + help: + - Administratoriai įkelia CSV su priimtų dalyvių el. pašto adresais + - Tik dalyviai, turintys el. pašto adresą tame CSV faile, gali gauti patvirtinimą + id_documents: + help: + - Vartotojai užpildo savo tapatybės informaciją ir įkelia savo dokumento kopiją. + - Jūs užpildote informaciją, esančią įkeltame paveikslėlyje. + - Informacija turi atitikti tai, ką įvedė vartotojas. + - Jei nematote aiškiai informacijos arba negalite jos patikrinti, galite atmesti užklausą ir vartotojas galės ją ištaisyti. + postal_letter: + help: + - Dalyviai prašo el. laišku jiems išsiųsti patvirtinimo kodą. + - Išsiunčiate jiems el. laišką su patvirtinimo kodu. + - Jūs pažymite laišką kaip išsiųstą. + - Kai pažymėsite laišką kaip išsiųstą, dalyvis galės įvesti kodą ir gauti patvirtinimą. + csv_census: + explanation: Patikrinimas naudojant organizacijos surašymo duomenis + name: Organizacijos surašymo duomenys + direct: Tiesiogiai + help: Pagalba + id_documents: + explanation: Įkelkite savo asmens dokumentus, kad galėtume patikrinti jūsų tapatybę + name: Tapatybės dokumentai + multistep: Kelių žingsnių procesas + name: Vardas + postal_letter: + explanation: Atsiųsime jums laišką paštu su kodu, kurį turėsite įvesti, kad galėtume patvirtinti jūsų adresą + name: Kodas pašto laišku + events: + verifications: + verify_with_managed_user: + email_intro: Dalyvis %{resource_title} bandė patvirtinti save kito dalyvio duomenimis (%{managed_user_name}). + email_outro: Patikrinkite Patvirtinimų konfliktų sąrašą ir susisiekite su dalyviu, kad patikrintumėte jo informaciją ir išspręstumėte problemą. + email_subject: Nepavyko patikrinti kito dalyvio + notification_title: Dalyvis %{resource_title} bandė patvirtinti save kito dalyvio duomenimis (%{managed_user_name}). + verifications: + authorizations: + authorization_metadata: + info: 'Tai yra dabartinio patikrinimo duomenys:' + no_data_stored: Duomenys neišsaugomi. + create: + error: Kuriant įgaliojimą kilo problema. + success: Jums suteiktas leidimas. + unconfirmed: Kad gautumėte leidimą, turite patvirtinti savo el. pašto adresą. + destroy: + error: Šalinant leidimą iškilo problema. + success: Leidimą pašalinote. + first_login: + actions: + another_dummy_authorization_handler: Patikrinkti pagal kitą leidimų tvarkytojo pavyzdį + csv_census: Patikrinti pagal organizacijos surašymo duomenis + dummy_authorization_handler: Patikrinti pagal leidimų tvarkytojo pavyzdį + dummy_authorization_workflow: Patikrinti pagal leidimų suteikimo eigos pavyzdį + id_documents: Patikrinimas įkeliant savo tapatybės dokumentą + postal_letter: Patikrinimas pašto laišku gaunant tikrinimo kodą + sms: Patikrinimas gaunant tikrinimo kodą SMS + title: Patvirtinkite savo tapatybę + verify_with_these_options: 'Savo tapatybę galite patvirtinti šiomis priemonėmis:' + index: + expired_verification: Patvirtinimas baigė galioti + pending_verification: Laukiama patvirtinimo + show_renew_info: Spustelėkite, kad atnaujintumėte patvirtinimą + unauthorized_verification: Naujas patvirtinimas + new: + authorize: Siųsti + authorize_with: Tikrinti %{authorizer} + renew_modal: + cancel: Atšaukti + close: uždaryti + continue: Tęsti + info_renew: Jei norite atnaujinti duomenis, tęskite atnaujinimą + title: Atnaujinti patikrinimą + skip_verification: Dabar tai galite praleisti ir %{link} + start_exploring: pradėti naršyti + csv_census: + admin: + census: + create: + error: Importuojant surašymo duomenis įvyko klaida. + success: Sėkmingai importuota %{count} elementų (%{errors} klaidų) + destroy_all: + success: Visi surašymo duomenys pašalinti + destroy: + confirm: Pašalinus visus surašymo duomenis, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti? + title: Pašalinti visus surašymo duomenis + index: + data: Bendras įkeltų įrašų skaičius – %{count}. Paskutinį kartą įkelta %{due_date} + empty: Surašymo duomenų nėra. Naudokite toliau pateikiamą formą, kad ją importuotumėte naudodami CSV rinkmeną. + title: Dabartiniai surašymo duomenys + instructions: + body: Kad tai padarytumėte, turite nueiti į sistemos administravimo laukelį ir organizacijai suteikti „csv_census“ leidimus + title: Turite įjungti „cvs_census“ šiai organizacijai + new: + file: ".csv rinkmena su el. pašto duomenimis" + info: 'Turi būti CSV formato rinkmena tik su viena skiltimi, kurioje nurodytas el. pašto adresas:' + submit: Įkelti failą + title: Įkelti naujus surašymo duomenis + authorizations: + new: + error: Negalėjome patikrinti jūsų paskyros arba jūsų duomenys neįtraukti į organizacijos surašymo duomenis. + success: Jūsų paskyra patikrinta. + dummy_authorization: + extra_explanation: + postal_codes: + one: Dalyvauti gali tik tie dalyviai, kurių pašto kodas %{postal_codes}. + few: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}.' + many: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}.' + other: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}.' + scope: Dalyvauti gali tik tie dalyviai, kurių sritis %{scope_name}. + user_postal_codes: + one: Dalyvauti gali tik dalyviai, kurių pašto kodas yra %{postal_codes}, o jūsų pašto kodas yra %{user_postal_code}. + few: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}. Jūsų pašto kodas %{user_postal_code}.' + many: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}. Jūsų pašto kodas %{user_postal_code}.' + other: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}. Jūsų pašto kodas %{user_postal_code}.' + user_scope: Dalyvauti gali tik dalyviai, kurių sritis yra %{scope_name}, o jūsų sritis yra %{user_scope_name}. + id_documents: + admin: + config: + edit: + title: Tapatybės dokumentų konfigūracija + update: Atnaujinti + update: + error: Atnaujinant konfigūraciją iškilo problema. + success: Konfigūracija atnaujinta + confirmations: + create: + error: Tikrinimo duomenys nesutampa. Bandykite dar kartą arba atmeskite tikrinimą, kad dalyvis galėtų pakeisti duomenis + success: Dalyvis patikrintas + new: + introduce_user_data: Pristatykite duomenis paveikslėlyje + reject: Atmesti + verify: Patikrinti + offline_confirmations: + create: + error: Tikrinimo duomenys nesutampa. Bandykite dar kartą ir prašykite dalyviui juos pakeisti + success: Dalyvis patikrintas + new: + cancel: Atšaukti + introduce_user_data: Pristatykite dalyvio el. pašto adresą ir dokumento duomenis + verify: Patikrinti + pending_authorizations: + index: + config: Nustatymai + offline_verification: Tikrinimas atjungties režimu + title: Vyksta tikrinimas online rėžimu + verification_number: 'Tikrinimas #%{n}' + rejections: + create: + success: Tikrinimas atmestas. Dalyvis bus paragintas peržiūrėti savo dokumentus + authorizations: + choose: + choose_a_type: 'Pasirinkite, kaip norite būti tikrinami:' + offline: Offline + online: Online + title: Identifikuokite save naudodami tapatybės dokumentą + create: + error: Įkeliant jūsų dokumentą iškilo problema + success: Dokumentas įkeltas + edit: + being_reviewed: Peržiūrime jūsų dokumentus. Netrukus jus patikrinsime + offline: Naudoti tikrinimo offline režimu funkciją + online: Naudoti tikrinimo online režimu funkciją + rejection_clarity: Įsitikinkite, kad įkeltame paveikslėlyje informacija būtų aiškiai matoma + rejection_correctness: Įsitikinkite, kad suvedėte teisingą informaciją + rejection_notice: Jus identifikuojant iškilo problema. Bandykite dar kartą + send: Dar kartą teikti tikrinimo užklausą + new: + send: Užklausos tikrinimas + title: Įkelkite savo tapatybės dokumentą + update: + error: Iš naujo įkeliant jūsų dokumentą iškilo problema + success: Dokumentas iš naujo įkeltas + dni: Asmens tapatybės dokumentas + nie: NIE + passport: Pasas + postal_letter: + admin: + pending_authorizations: + index: + address: Adresas + letter_sent_at: Laiškas išsiųstas + mark_as_sent: Pažymėti kaip išsiųstą + not_yet_sent: Dar neišsiųsta + title: Vykstantys tikrinimai + username: Slapyvardis + verification_code: Patvirtinimo kodas + postages: + create: + error: Iškilo klaida pažymint laišką kaip išsiųstą + success: Laiškas pažymėtas kaip išsiųstas + authorizations: + create: + error: Dėl jūsų užklausos iškilo problema + success: Dėkojame! Jūsų adresu atsiųsime patvirtinimo kodą + edit: + send: Patvirtinti + title: Įveskite gautą patvirtinimo kodą + waiting_for_letter: Netrukus jūsų adresu išsiųsime laišką su patvirtinimo kodu + new: + send: Atsiųskite man laišką + title: Paprašykite patvirtinimo kodo + update: + error: Jūsų tikrinimo kodas nesutampa su mūsų kodu. Dar kartą patikrinkite jums atsiųstą laišką + success: Sveikiname! Jūs patikrinti + sms: + authorizations: + create: + error: Dėl jūsų užklausos iškilo problema + success: Dėkojame! Jūsų telefonu išsiuntėme SMS žinutę. + destroy: + success: Tikrinimo kodas nustatytas iš naujo. Dar kartą įveskite savo telefono numerį. + edit: + confirm_destroy: Ar tikrai norite iš naujo nustatyti tikrinimo kodą? + destroy: Tikrinimo kodą nustatyti iš naujo + resend: Negavote patvirtinimo kodo? + send: Patvirtinti + title: Įveskite gautą patvirtinimo kodą + new: + send: Atsiųskite SMS + title: Paprašykite patvirtinimo kodo + update: + error: Jūsų tikrinimo kodas nesutampa su mūsų kodu. Dar kartą patikrinkite jums atsiųstą SMS žinutę. + success: Sveikiname! Jūs patikrinti. + errors: + messages: + uppercase_only_letters_numbers: visos raidės turi būti didžiosios ir tik raidės ir (arba) skaičiai From e85c208edf36cffc095197a9eb7c1a92d91c867e Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 19 Sep 2022 11:22:59 +0200 Subject: [PATCH 39/90] New Crowdin updates (#9834) * New translations en.yml (Spanish) * New translations en.yml (Czech) * New translations en.yml (Catalan) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Paraguay) --- decidim-debates/config/locales/cs.yml | 2 +- decidim-initiatives/config/locales/cs.yml | 4 ++-- decidim-meetings/config/locales/cs.yml | 2 +- decidim-proposals/config/locales/cs.yml | 2 +- decidim-verifications/config/locales/ca.yml | 2 +- decidim-verifications/config/locales/es-MX.yml | 2 +- decidim-verifications/config/locales/es-PY.yml | 2 +- decidim-verifications/config/locales/es.yml | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/decidim-debates/config/locales/cs.yml b/decidim-debates/config/locales/cs.yml index d3dbd3873c819..fb42eaa368537 100644 --- a/decidim-debates/config/locales/cs.yml +++ b/decidim-debates/config/locales/cs.yml @@ -163,7 +163,7 @@ cs: groups_count: Skupiny last_comment_by: Poslední komentář od no_comments_yet: Zatím žádné komentáře - open: Otevřít diskusi + open: Otevřená diskuse participants_count: Účastníci update: invalid: Při aktualizaci rozpravy došlo k chybě. diff --git a/decidim-initiatives/config/locales/cs.yml b/decidim-initiatives/config/locales/cs.yml index 8911f55a6fb62..41be71aa654de 100644 --- a/decidim-initiatives/config/locales/cs.yml +++ b/decidim-initiatives/config/locales/cs.yml @@ -12,7 +12,7 @@ cs: signature_type: Typ sbírky podpisu signature_type_values: any: Online nebo naživo - offline: Z očí do očí + offline: Osobně online: OnLine state: Stav title: Titul @@ -23,7 +23,7 @@ cs: attachments_enabled: Povolit přílohy banner_image: Obrázek banneru child_scope_threshold_enabled: Povolit podpisy podřízené oblasti působnosti - collect_user_extra_fields: Sbírejte osobní údaje uživatelů podpisem + collect_user_extra_fields: Shromažďovat osobní údaje účastníků při podpisu custom_signature_end_date_enabled: Povolit autorům zvolit konec doby sběru podpisů description: Popis document_number_authorization_handler: Autorizace k ověření čísla dokumentu pro podpisy diff --git a/decidim-meetings/config/locales/cs.yml b/decidim-meetings/config/locales/cs.yml index 0d505e1a75922..2f734dec49c50 100644 --- a/decidim-meetings/config/locales/cs.yml +++ b/decidim-meetings/config/locales/cs.yml @@ -190,7 +190,7 @@ cs: notification_title: Setkání %{resource_title} bude zahájeno za méně než 48 hodin. forms: meetings: - attendees_count_help_text: Nezapomeňte uvést celkový počet účastníků na vaší schůzce, ať už osobně, online nebo hybridně. + attendees_count_help_text: Nezapomeňte uvést celkový počet účastníků na vaší schůzce, ať už osobní, online nebo smíšené. gamification: badges: attended_meetings: diff --git a/decidim-proposals/config/locales/cs.yml b/decidim-proposals/config/locales/cs.yml index 53065cfa7b3ae..57326dd679772 100644 --- a/decidim-proposals/config/locales/cs.yml +++ b/decidim-proposals/config/locales/cs.yml @@ -148,7 +148,7 @@ cs: amendments_wizard_help_text: Nápověda průvodce k Pozměňovacím návrhům announcement: Oznámení attachments_allowed: Povolit přílohy - can_accumulate_supports_beyond_threshold: Mohou hromadit podpěry za prahem + can_accumulate_supports_beyond_threshold: Mohou hromadit podpory za prahem collaborative_drafts_enabled: Společné koncepty povoleny comments_enabled: Komentáře povoleny comments_max_length: Maximální délka komentáře (ponechte 0 pro výchozí hodnotu) diff --git a/decidim-verifications/config/locales/ca.yml b/decidim-verifications/config/locales/ca.yml index e9dd7755ea18b..01a2fea0e48db 100644 --- a/decidim-verifications/config/locales/ca.yml +++ b/decidim-verifications/config/locales/ca.yml @@ -81,7 +81,7 @@ ca: email_intro: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}). email_outro: Comprova la llista de conflictes de verificacions i posa't en contacte amb la participant per a verificar els seus detalls i resoldre el problema. email_subject: Error en intentar verificar-se contra una altra participant - notification_title: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}). + notification_title: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/es-MX.yml b/decidim-verifications/config/locales/es-MX.yml index 20c414480e3c3..407bc80631ae5 100644 --- a/decidim-verifications/config/locales/es-MX.yml +++ b/decidim-verifications/config/locales/es-MX.yml @@ -81,7 +81,7 @@ es-MX: email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. email_subject: Error al intentar verificarse contra otra participante - notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). + notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/es-PY.yml b/decidim-verifications/config/locales/es-PY.yml index b53cc69e1366c..699cf72a89fd3 100644 --- a/decidim-verifications/config/locales/es-PY.yml +++ b/decidim-verifications/config/locales/es-PY.yml @@ -81,7 +81,7 @@ es-PY: email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. email_subject: Error al intentar verificarse contra otra participante - notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). + notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). verifications: authorizations: authorization_metadata: diff --git a/decidim-verifications/config/locales/es.yml b/decidim-verifications/config/locales/es.yml index 8d38fa584c90f..5e53c3ec46a78 100644 --- a/decidim-verifications/config/locales/es.yml +++ b/decidim-verifications/config/locales/es.yml @@ -81,7 +81,7 @@ es: email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema. email_subject: Error al intentar verificarse contra otra participante - notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). + notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}). verifications: authorizations: authorization_metadata: From 59d8cdaca343399b5d95006ba1f3f33fbcc56103 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Wed, 28 Sep 2022 17:26:11 +0300 Subject: [PATCH 40/90] Backport 'Improve release process' to v0.26 (#9864) * Improve release process * Improve the release related comands - Abort the process if there are uncommitted changes - Abort the process in case the official locales are not complete or clean - Do not release NPM packages in case some of the gem releases fail - Add a feature to retry the commands and make it configurable - Enable retrying the commands by default assuming using OTP authentication * Disable the GemManager retries for the generators specs * Configure retry times env variable not to retry infinitely * Configure the RETRY_TIMES env var for the gem installations in spec * Move the RETRY_TIMES configuration to the spec helper * Rubocop * Fix syntax issue --- Rakefile | 26 +++++++++++++++++++++---- decidim-generators/spec/spec_helper.rb | 2 ++ lib/decidim/gem_manager.rb | 27 ++++++++++++++++++++++---- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/Rakefile b/Rakefile index 48fecf648a81c..51ef610b05a3a 100644 --- a/Rakefile +++ b/Rakefile @@ -57,14 +57,32 @@ task :uninstall_all do end desc "Pushes a new build for each gem and package." -task release_all: [:update_versions, :check_locale_completeness] do - Decidim::GemManager.run_all("rake release") - Decidim::GemManager.run_packages("npm publish --access public") +task release_all: [:update_versions, :check_uncommitted_changes, :check_locale_completeness] do + commands = {} + Decidim::GemManager.all_dirs { |dir| commands[dir] = "rake release" } + Decidim::GemManager.package_dirs { |dir| commands[dir] = "npm publish --access public" } + + commands.each do |dir, command| + status = Decidim::GemManager.run_at(dir, command) + + break if !status && Decidim::GemManager.fail_fast? + end +end + +desc "Makes sure there are no uncommitted changes." +task :check_uncommitted_changes do + unless system("git diff --exit-code --quiet") + puts "There are uncommitted changes, run `git diff` to see them." + abort "Please commit your changes before release!" + end end desc "Makes sure all official locales are complete and clean." task :check_locale_completeness do - system({ "ENFORCED_LOCALES" => "en,ca,es", "SKIP_NORMALIZATION" => "true" }, "rspec spec/i18n_spec.rb") + unless system({ "ENFORCED_LOCALES" => "en,ca,es", "SKIP_NORMALIZATION" => "true" }, "rspec spec/i18n_spec.rb") + puts "The officially supported locales have problems in them." + abort "Please correct these problems by following the instructions from the above outputs before release!" + end end load "decidim-dev/lib/tasks/generators.rake" diff --git a/decidim-generators/spec/spec_helper.rb b/decidim-generators/spec/spec_helper.rb index 9e2b732c81a71..043ba3847b448 100644 --- a/decidim-generators/spec/spec_helper.rb +++ b/decidim-generators/spec/spec_helper.rb @@ -2,6 +2,8 @@ require "decidim/generators" +ENV["RETRY_TIMES"] = "0" + RSpec.configure do |config| config.fail_fast = ENV["FAIL_FAST"] == "true" end diff --git a/lib/decidim/gem_manager.rb b/lib/decidim/gem_manager.rb index d76f5406bb719..f742ed283b9a0 100644 --- a/lib/decidim/gem_manager.rb +++ b/lib/decidim/gem_manager.rb @@ -132,20 +132,31 @@ def uninstall_all(out: $stdout) def run_all(command, out: $stdout, include_root: true) all_dirs(include_root: include_root) do |dir| - status = new(dir).run(command, out: out) + status = run_at(dir, command, out: out) - break unless status || ENV["FAIL_FAST"] == "false" + break if !status && fail_fast? end end def run_packages(command, out: $stdout) package_dirs do |dir| - status = new(dir).run(command, out: out) + status = run_at(dir, command, out: out) - break unless status || ENV["FAIL_FAST"] == "false" + break if !status && fail_fast? end end + def run_at(dir, command, out: $stdout) + attempts = 0 + until (status = new(dir).run(command, out: out)) + attempts += 1 + + break if attempts > Decidim::GemManager.retry_times + end + + status + end + def version @version ||= File.read(version_file).strip end @@ -177,6 +188,14 @@ def semver_friendly_version(a_version) a_version.gsub(/\.pre/, "-pre").gsub(/\.dev/, "-dev").gsub(/.rc(\d*)/, "-rc\\1") end + def fail_fast? + ENV.fetch("FAIL_FAST", nil) != "false" + end + + def retry_times + ENV.fetch("RETRY_TIMES", 10).to_i + end + private def root From 41c98049e6e8966a11da9b111a2affb56941b45e Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Thu, 29 Sep 2022 10:06:36 +0200 Subject: [PATCH 41/90] New Crowdin updates (#9841) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (French) * New translations en.yml (Arabic) * New translations en.yml (Spanish) * New translations en.yml (Bulgarian) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Catalan) * New translations en.yml (German) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Basque) * New translations en.yml (Irish) * New translations en.yml (Italian) * New translations en.yml (Hungarian) * New translations en.yml (Dutch) * New translations en.yml (Portuguese) * New translations en.yml (Polish) * New translations en.yml (Slovak) * New translations en.yml (Turkish) * New translations en.yml (Icelandic) * New translations en.yml (Galician) * New translations en.yml (Indonesian) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Spanish, Mexico) * New translations en.yml (French, Canada) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Russian with many plural form) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Czech) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Occitan) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) --- .../config/locales/oc-FR.yml | 1 + decidim-admin/config/locales/cs.yml | 28 +++---- decidim-admin/config/locales/hu.yml | 14 +++- decidim-admin/config/locales/oc-FR.yml | 1 + decidim-assemblies/config/locales/cs.yml | 16 ++-- decidim-assemblies/config/locales/oc-FR.yml | 1 + decidim-blogs/config/locales/oc-FR.yml | 1 + decidim-budgets/config/locales/oc-FR.yml | 1 + decidim-comments/config/locales/oc-FR.yml | 1 + decidim-conferences/config/locales/cs.yml | 18 ++-- decidim-conferences/config/locales/oc-FR.yml | 1 + decidim-consultations/config/locales/cs.yml | 2 +- .../config/locales/oc-FR.yml | 1 + decidim-core/config/locales/ar.yml | 2 - decidim-core/config/locales/bg.yml | 2 +- decidim-core/config/locales/ca.yml | 4 +- decidim-core/config/locales/cs.yml | 14 ++-- decidim-core/config/locales/de.yml | 2 +- decidim-core/config/locales/es-MX.yml | 2 +- decidim-core/config/locales/es-PY.yml | 2 +- decidim-core/config/locales/es.yml | 4 +- decidim-core/config/locales/eu.yml | 6 +- decidim-core/config/locales/fr-CA.yml | 2 +- decidim-core/config/locales/fr.yml | 2 +- decidim-core/config/locales/ga-IE.yml | 2 +- decidim-core/config/locales/gl.yml | 2 - decidim-core/config/locales/hu.yml | 22 ++++- decidim-core/config/locales/id-ID.yml | 2 - decidim-core/config/locales/is-IS.yml | 3 +- decidim-core/config/locales/it.yml | 4 +- decidim-core/config/locales/ja.yml | 2 +- decidim-core/config/locales/nl.yml | 4 +- decidim-core/config/locales/oc-FR.yml | 1 + decidim-core/config/locales/pl.yml | 2 +- decidim-core/config/locales/pt-BR.yml | 4 +- decidim-core/config/locales/pt.yml | 2 +- decidim-core/config/locales/ru.yml | 2 - decidim-core/config/locales/sk.yml | 3 - decidim-core/config/locales/tr-TR.yml | 4 +- decidim-core/config/locales/uk.yml | 3 +- decidim-debates/config/locales/oc-FR.yml | 1 + decidim-dev/config/locales/cs.yml | 2 + decidim-dev/config/locales/oc-FR.yml | 1 + decidim-elections/config/locales/cs.yml | 10 +-- decidim-elections/config/locales/oc-FR.yml | 1 + decidim-forms/config/locales/oc-FR.yml | 1 + decidim-initiatives/config/locales/cs.yml | 16 ++-- decidim-initiatives/config/locales/oc-FR.yml | 1 + decidim-meetings/config/locales/cs.yml | 6 +- decidim-meetings/config/locales/oc-FR.yml | 1 + decidim-pages/config/locales/oc-FR.yml | 1 + .../config/locales/cs.yml | 6 +- .../config/locales/oc-FR.yml | 1 + decidim-proposals/config/locales/cs.yml | 34 ++++---- decidim-proposals/config/locales/ja.yml | 82 +++++++++---------- decidim-proposals/config/locales/oc-FR.yml | 1 + decidim-sortitions/config/locales/cs.yml | 20 ++--- decidim-sortitions/config/locales/oc-FR.yml | 1 + decidim-surveys/config/locales/oc-FR.yml | 1 + decidim-system/config/locales/cs.yml | 2 +- decidim-system/config/locales/oc-FR.yml | 1 + decidim-templates/config/locales/oc-FR.yml | 1 + decidim-verifications/config/locales/cs.yml | 4 +- decidim-verifications/config/locales/ja.yml | 16 ++-- .../config/locales/oc-FR.yml | 1 + 65 files changed, 222 insertions(+), 180 deletions(-) create mode 100644 decidim-accountability/config/locales/oc-FR.yml create mode 100644 decidim-admin/config/locales/oc-FR.yml create mode 100644 decidim-assemblies/config/locales/oc-FR.yml create mode 100644 decidim-blogs/config/locales/oc-FR.yml create mode 100644 decidim-budgets/config/locales/oc-FR.yml create mode 100644 decidim-comments/config/locales/oc-FR.yml create mode 100644 decidim-conferences/config/locales/oc-FR.yml create mode 100644 decidim-consultations/config/locales/oc-FR.yml create mode 100644 decidim-core/config/locales/oc-FR.yml create mode 100644 decidim-debates/config/locales/oc-FR.yml create mode 100644 decidim-dev/config/locales/oc-FR.yml create mode 100644 decidim-elections/config/locales/oc-FR.yml create mode 100644 decidim-forms/config/locales/oc-FR.yml create mode 100644 decidim-initiatives/config/locales/oc-FR.yml create mode 100644 decidim-meetings/config/locales/oc-FR.yml create mode 100644 decidim-pages/config/locales/oc-FR.yml create mode 100644 decidim-participatory_processes/config/locales/oc-FR.yml create mode 100644 decidim-proposals/config/locales/oc-FR.yml create mode 100644 decidim-sortitions/config/locales/oc-FR.yml create mode 100644 decidim-surveys/config/locales/oc-FR.yml create mode 100644 decidim-system/config/locales/oc-FR.yml create mode 100644 decidim-templates/config/locales/oc-FR.yml create mode 100644 decidim-verifications/config/locales/oc-FR.yml diff --git a/decidim-accountability/config/locales/oc-FR.yml b/decidim-accountability/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-accountability/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-admin/config/locales/cs.yml b/decidim-admin/config/locales/cs.yml index d28a4952c0445..50550a92eac1a 100644 --- a/decidim-admin/config/locales/cs.yml +++ b/decidim-admin/config/locales/cs.yml @@ -185,7 +185,7 @@ cs: success: Skvělé! Přijali jste administrátorské podmínky použití. actions: accept: Souhlasím s následujícími podmínkami - are_you_sure: Oravdu chcete odmítnout podmínky používání správce? + are_you_sure: Opravdu chcete odmítnout Podmínky použití pro správce? refuse: Odmítnout administrátorské podmínky title: Souhlasit s podmínkami používání required_review: @@ -213,7 +213,7 @@ cs: error: Při vytváření nové oblasti došlo k chybě. success: Oblast byla úspěšně vytvořena. destroy: - has_spaces: Tato oblast má závislé prostory. Před smazáním se prosím ujistěte, že žádný účatnický prostor neodkazuje na tuto oblast. + has_spaces: Tato oblast má závislé prostory. Před smazáním se prosím ujistěte, že žádný účastnický prostor neodkazuje na tuto oblast. success: Oblast úspěšně zničena edit: title: Upravit oblast @@ -504,9 +504,9 @@ cs: example_error: Nelze vytvořit příklad pro daný typ new: accepted_mime_types: - csv: csv - json: json - xlsx: xlsx + csv: CSV + json: JSON + xlsx: Excel (.xlsx) actions: back: Zpět download_example: Stáhnout příklad @@ -591,11 +591,11 @@ cs: name: Participační prostor soukromého účastníka scope: fields: - name: název + name: Název scope_type: Typ oblasti působnosti scope_type: fields: - name: název + name: Název plural: Množné číslo share_token: fields: @@ -614,7 +614,7 @@ cs: created_at: Datum vzniku email: E-mail last_sign_in_at: Datum posledního přihlášení - name: název + name: Název role: Role roles: admin: Správce @@ -625,7 +625,7 @@ cs: actions: Akce created_at: Vytvořeno v document_number: Číslo dokumentu - name: název + name: Název phone: Telefon state: Stav users_count: Počet účastníků @@ -741,15 +741,15 @@ cs: error: Při blokování uživatele došlo k chybě success: Uživatel byl úspěšně zablokován create: - success: Uživatel úspěšně oficializován + success: Účastník úspěšně oficiálně zaregistrován destroy: - success: Uživatel úspěšně zbaven oficializace + success: Uživatel úspěšně zbaven oficiální registrace index: actions: Akce badge: Odznak block: Zablokovat uživatele created_at: Vytvořeno na - name: název + name: Název nickname: Přezdívka not_officialized: Neověřeno officialize: Ověřit @@ -783,7 +783,7 @@ cs: facebook: Facebook github: GitHub instagram: Instagram - rich_text_editor_in_public_views_help: V některých textových oblastech budou účastníci moci vložit některé HTML tagy pomocí textového editoru. + rich_text_editor_in_public_views_help: V některých textových polích budou účastníci moci vložit některé HTML tagy pomocí textového editoru. social_handlers: Sociální twitter: Twitter url: URL @@ -977,7 +977,7 @@ cs: user_groups: index: state: - pending: čekající + pending: Čekající rejected: Odmítnuto verified: Ověřeno verify_via_csv: Ověřit pomocí CSV diff --git a/decidim-admin/config/locales/hu.yml b/decidim-admin/config/locales/hu.yml index aab62a164ed27..df7ee71735edb 100644 --- a/decidim-admin/config/locales/hu.yml +++ b/decidim-admin/config/locales/hu.yml @@ -24,7 +24,7 @@ hu: component: name: Név published_at: Publikálva - weight: Rendelési pozíció + weight: Pozíció sorrend id: ID import: user_group_id: Az importáltak létrehozása mint @@ -104,7 +104,7 @@ hu: organization: Szervezet plural: Plurális settings: - scope_id: Hatáskör + scope_id: Hatókör static_page: allow_public_access: Hozzáférés engedélyezése authentikáció nélkül changed_notably: Észrevehető változások történtek. @@ -213,7 +213,7 @@ hu: error: Hiba történt az új terület létrehozásakor. success: Terület létrehozása sikeres. destroy: - has_spaces: Ez a terület mással összefüggő terekkel rendelkezik. Kérjük, győződjön meg róla, hogy egyetlen Részvételi tér sem hivatkozik erre a területre, mielőtt törölné. + has_spaces: Ez a terület mással összefüggő terekkel rendelkezik. Kérjük, győződjön meg róla, hogy egyetlen részvételi tér sem hivatkozik erre a területre, mielőtt törölné. success: Terület eltávolítása sikeres edit: title: Terület szerkesztése @@ -479,11 +479,18 @@ hu: invalid_indexes: lines: detail: Ellenőrizze a sorok helyes formázását, valamint hogy érvényes rekordokat tartalmaznak. + message: + one: Hibát találtam az import fájlban a következő sorban %{indexes}. + other: Hibát találtam az import fájlban a következő sorokban %{indexes}. records: detail: Ellenőrizze a sorok helyes formázását, valamint hogy érvényes rekordokat tartalmaznak. + message: + one: Hibát találtam az importfájlban a rendelésszámmal rendelkező rekordnál %{indexes}. + other: Hibát találtam az importfájlban a rendelésszámmal rendelkező rekordoknál %{indexes}. missing_headers: detail: Kérjük, ellenőrizze, hogy a fájl tartalmazza-e a szükséges oszlopokat. error: Hiba történt az importálás során + example_error: Nem sikerült példát létrehozni a megadott típusra new: accepted_mime_types: csv: csv @@ -493,6 +500,7 @@ hu: back: Vissza download_example: Példa letöltése download_example_format: Példa mint %{name} + file_legend: Adjon hozzá egy importált fájlt, amelyet elemezni fog. import: Import notice: "%{count} %{resource_name} sikeresen importálva" logs: diff --git a/decidim-admin/config/locales/oc-FR.yml b/decidim-admin/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-admin/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-assemblies/config/locales/cs.yml b/decidim-assemblies/config/locales/cs.yml index 085f24da31182..22b8a62185956 100644 --- a/decidim-assemblies/config/locales/cs.yml +++ b/decidim-assemblies/config/locales/cs.yml @@ -66,7 +66,7 @@ cs: user_id: Uživatel assembly_user_role: email: E-mail - name: název + name: Název role: Role errors: models: @@ -136,7 +136,7 @@ cs: success: Typ shromáždění byl úspěšně aktualizován. assembly_copies: new: - copy: kopírovat + copy: Kopírovat select: Vyberte, která data chcete duplikovat title: Zduplikovat shromáždění assembly_imports: @@ -223,18 +223,18 @@ cs: fields: ceased_date: Datum ukončení designation_date: Datum označení - full_name: název + full_name: Název position: Pozice name: Člen positions: - other: jiný + other: Ostatní president: Prezident secretary: Tajemník - vice_president: Víceprezident + vice_president: Místopředseda assembly_user_role: fields: email: E-mail - name: název + name: Název role: Role name: Administrátor shromáždění roles: @@ -275,10 +275,10 @@ cs: duration: Doba trvání duration_help: Pokud je doba trvání tohoto shromáždění omezená, zvolte konečné datum, jinak se objeví jako neurčitá. filters: Filtry - images: snímky + images: Obrázky included_at_help: Vyberte datum, kdy bylo toto shromáždění přidáno do aplikace Decidim. Nemusí to být nutně stejné jako datum vytvoření. metadata: Metadata - other: jiný + other: Ostatní select_a_created_by: Vybrat vytvořeno od select_an_area: Vyberte oblast select_an_assembly_type: Vyberte typ shromáždění diff --git a/decidim-assemblies/config/locales/oc-FR.yml b/decidim-assemblies/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-assemblies/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-blogs/config/locales/oc-FR.yml b/decidim-blogs/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-blogs/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-budgets/config/locales/oc-FR.yml b/decidim-budgets/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-budgets/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-comments/config/locales/oc-FR.yml b/decidim-comments/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-comments/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-conferences/config/locales/cs.yml b/decidim-conferences/config/locales/cs.yml index 83c203d81a017..e3a60aaaf5201 100644 --- a/decidim-conferences/config/locales/cs.yml +++ b/decidim-conferences/config/locales/cs.yml @@ -66,7 +66,7 @@ cs: user_id: Uživatel conference_user_role: email: E-mail - name: název + name: Název role: Role errors: models: @@ -99,7 +99,7 @@ cs: send_diplomas: Odeslání certifikátů o účasti conference_copies: new: - copy: kopírovat + copy: Kopírovat select: Vyberte, která data chcete duplikovat title: Duplikovat konferenci conference_publications: @@ -222,7 +222,7 @@ cs: conference_user_role: fields: email: E-mail - name: název + name: Název role: Role name: Administrátor konference roles: @@ -232,7 +232,7 @@ cs: valuator: Hodnotitel media_link: fields: - date: datum + date: Datum link: Odkaz title: Název name: Odkaz na média @@ -240,7 +240,7 @@ cs: fields: link: Odkaz logo: Logo - name: název + name: Název partner_type: Typ name: Partner types: @@ -409,7 +409,7 @@ cs: success: Konferenční certifikáty o návštěvě byly zaslány správně conference: registration_confirm: - cancel: zrušení + cancel: Zrušit confirm: Potvrdit show: free: Volný, uvolnit @@ -488,7 +488,7 @@ cs: conference_invite: fields: email: E-mail - name: název + name: Název registration_type: Typ registrace sent_at: Odeslané status: Postavení @@ -499,12 +499,12 @@ cs: conference_registration: fields: email: E-mail - name: název + name: Název registration_type: Typ registrace state: Stav states: confirmed: Potvrzeno - pending: čekající + pending: Čekající pages: home: highlighted_conferences: diff --git a/decidim-conferences/config/locales/oc-FR.yml b/decidim-conferences/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-conferences/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-consultations/config/locales/cs.yml b/decidim-consultations/config/locales/cs.yml index 0da42582f4c0c..f63b8ad09cdec 100644 --- a/decidim-consultations/config/locales/cs.yml +++ b/decidim-consultations/config/locales/cs.yml @@ -329,7 +329,7 @@ cs: show: badge_name: finished: Dokončeno - open: otevřeno + open: Otevřeno open_votes: Hlasování zahájeno published_results: Publikované výsledky footer_button_text: diff --git a/decidim-consultations/config/locales/oc-FR.yml b/decidim-consultations/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-consultations/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-core/config/locales/ar.yml b/decidim-core/config/locales/ar.yml index 06ff4781bb2f3..f1cea18b98477 100644 --- a/decidim-core/config/locales/ar.yml +++ b/decidim-core/config/locales/ar.yml @@ -804,12 +804,10 @@ ar: title: المحادثات reply: send: إرسال - title: رد show: title: المحادثة مع %{usernames} start: send: إرسال - title: بدء محادثة metrics: followers: description: عدد المشاركين الذين يتبعون مساحة المشاركة هذه diff --git a/decidim-core/config/locales/bg.yml b/decidim-core/config/locales/bg.yml index 6f03dc3510083..24cebf08771a4 100644 --- a/decidim-core/config/locales/bg.yml +++ b/decidim-core/config/locales/bg.yml @@ -851,7 +851,7 @@ bg: title: Разговор с %{usernames} start: send: Изпрати - title: Започнете разговор + title: Започни разговор metrics: followers: description: Брой участници, които следват това пространство diff --git a/decidim-core/config/locales/ca.yml b/decidim-core/config/locales/ca.yml index 7ed68099f2e3a..1018fb4c5d72c 100644 --- a/decidim-core/config/locales/ca.yml +++ b/decidim-core/config/locales/ca.yml @@ -1009,7 +1009,7 @@ ca: reply: placeholder: La teva resposta... send: Enviar - title: Respon + title: Respondre show: back: Tornar a totes les converses chat_with: Conversa amb @@ -1018,7 +1018,7 @@ ca: title: Conversa amb %{usernames} start: send: Enviar - title: Comença una conversa + title: Iniciar una conversa update: error: El missatge no ha estat enviat degut a un error metrics: diff --git a/decidim-core/config/locales/cs.yml b/decidim-core/config/locales/cs.yml index c7964d725d39d..dfb9e28cc535c 100644 --- a/decidim-core/config/locales/cs.yml +++ b/decidim-core/config/locales/cs.yml @@ -969,7 +969,7 @@ cs: scope_type_presenter: not_found: 'Typ oboru nebyl nalezen v databázi (ID: %{id})' managed_users: - expired_session: Aktuální platnost sesouhlasení již vypršela. + expired_session: Aktuální relace správy účastníka vypršela. map: dynamic: screen_reader_explanation: Následující prvek je mapa, která prezentuje položky na této stránce jako mapové body. Prvek lze použít s čtečkou obrazovky, ale může být těžko srozumitelný. @@ -1048,7 +1048,7 @@ cs: reply: placeholder: Vaše odpověď... send: Poslat - title: Odpověď + title: Odpovědět show: back: Zpět ke všem konverzacím chat_with: Konverzace s @@ -1057,7 +1057,7 @@ cs: title: Konverzace s číslem %{usernames} start: send: Poslat - title: Spusťte konverzaci + title: Zahájit konverzaci update: error: Zpráva nebyla odeslána z důvodu chyby metrics: @@ -1110,7 +1110,7 @@ cs: unathorized: Je nám líto, tento odkaz již není k dispozici update: error: Došlo k chybě - success: Nastavení Newsletteru bylo úspěšně aktualizováno + success: Nastavení Zpravodaje bylo úspěšně aktualizováno newsletters_opt_in_mailer: notify: body_1: Zpracování osobních údajů a jejich ochrana jsou pro nás všechny stále důležitější. S novým obecným nařízením o ochraně osobních údajů (GDPR) ze dne 25. května 2018 mají jednotlivci lepší kontrolu nad svými osobními údaji. Z tohoto důvodu potřebujeme vaše "OK" pro pokračování v zasílání relevantních informací o aktivitách %{organization_name}. @@ -1236,7 +1236,7 @@ cs: info: Odznaky jsou získávány prováděním konkrétní činnosti v platformě. title: Odznaky user: - confirmation_instructions_sent: Byly odeslány pokyny pro potvrzení e-mailu + confirmation_instructions_sent: Pokyny pro potvrzení e-mailu byly odeslány create_user_group: Vytvořit skupinu edit_profile: Editovat profil edit_user_group: Upravit profil skupiny @@ -1246,7 +1246,7 @@ cs: leave_user_group: Opustit skupinu manage_user_group_admins: Správa administrátorů manage_user_group_users: Správa členů - resend_email_confirmation_instructions: Opakujte e-mailové pokyny k potvrzení + resend_email_confirmation_instructions: Znovu odeslat pokyny pro potvrzení e-mailu reported_mailer: hide: hello: Zdravím %{name}, @@ -1276,7 +1276,7 @@ cs: scopes: global: Globální oblast působnosti picker: - cancel: zrušení + cancel: Zrušit change: Změnit vybraný rozsah choose: Vybrat currently_selected: Aktuálně vybraný rozsah diff --git a/decidim-core/config/locales/de.yml b/decidim-core/config/locales/de.yml index 9a6e70995180b..35e1740540efe 100644 --- a/decidim-core/config/locales/de.yml +++ b/decidim-core/config/locales/de.yml @@ -1019,7 +1019,7 @@ de: title: Gespräch mit %{usernames} start: send: Senden - title: Ein Gespräch beginnen + title: Eine Unterhaltung beginnen update: error: Nachricht wurde aufgrund eines Fehlers nicht gesendet metrics: diff --git a/decidim-core/config/locales/es-MX.yml b/decidim-core/config/locales/es-MX.yml index 8c4c0d5d9e912..7813cd60d6580 100644 --- a/decidim-core/config/locales/es-MX.yml +++ b/decidim-core/config/locales/es-MX.yml @@ -1012,7 +1012,7 @@ es-MX: reply: placeholder: Tu respuesta... send: Enviar - title: Respuesta + title: Responder show: back: Volver a todas las conversaciones chat_with: Conversación con diff --git a/decidim-core/config/locales/es-PY.yml b/decidim-core/config/locales/es-PY.yml index 30621d2d973c5..2f8dfc8936292 100644 --- a/decidim-core/config/locales/es-PY.yml +++ b/decidim-core/config/locales/es-PY.yml @@ -1012,7 +1012,7 @@ es-PY: reply: placeholder: Tu respuesta... send: Enviar - title: Respuesta + title: Responder show: back: Volver a todas las conversaciones chat_with: Conversación con diff --git a/decidim-core/config/locales/es.yml b/decidim-core/config/locales/es.yml index 45e3e607e5f11..3eb1a28227f25 100644 --- a/decidim-core/config/locales/es.yml +++ b/decidim-core/config/locales/es.yml @@ -1009,7 +1009,7 @@ es: reply: placeholder: Tu respuesta... send: Enviar - title: Respuesta + title: Responder show: back: Volver a todas las conversaciones chat_with: Conversación con @@ -1018,7 +1018,7 @@ es: title: Conversación con %{usernames} start: send: Enviar - title: Inicia una conversación + title: Iniciar una conversación update: error: El mensaje no fue enviado debido a un error metrics: diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml index 5358a30ed32fa..9fd6b622561b7 100644 --- a/decidim-core/config/locales/eu.yml +++ b/decidim-core/config/locales/eu.yml @@ -953,8 +953,8 @@ eu: ok: Ados index: ago: orain dela - close: Itxi leihoa - from: Nondik + close: Itxi modal + from: Nork groups: Nire taldeak last_message: Azken mezua new_conversation: Elkarrizketa berria @@ -972,7 +972,7 @@ eu: title: Elkarrizketa honekin %{usernames} start: send: Bidali - title: Hasi elkarrizketa bat + title: Hasi elkarrizketa update: error: Mezua ez da bidali akats batengatik metrics: diff --git a/decidim-core/config/locales/fr-CA.yml b/decidim-core/config/locales/fr-CA.yml index 6aea9dd6bc8ce..dfd793ba77ac1 100644 --- a/decidim-core/config/locales/fr-CA.yml +++ b/decidim-core/config/locales/fr-CA.yml @@ -1016,7 +1016,7 @@ fr-CA: title: Conversation avec %{usernames} start: send: Envoyer - title: Commencer une conversation + title: Démarrer une conversation update: error: 'Erreur : votre message n''a pas pu être envoyé' metrics: diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index 98044d9e5cf68..c9ed4dc04a5a1 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -1016,7 +1016,7 @@ fr: title: Conversation avec %{usernames} start: send: Envoyer - title: Commencer une conversation + title: Démarrer une conversation update: error: 'Erreur : votre message n''a pas pu être envoyé' metrics: diff --git a/decidim-core/config/locales/ga-IE.yml b/decidim-core/config/locales/ga-IE.yml index 2659f09b5a168..bf19bf5456a2a 100644 --- a/decidim-core/config/locales/ga-IE.yml +++ b/decidim-core/config/locales/ga-IE.yml @@ -187,7 +187,7 @@ ga: next: I ndiaidh reply: send: Seol - title: Freagra + title: Freagair start: send: Seol newsletter_templates: diff --git a/decidim-core/config/locales/gl.yml b/decidim-core/config/locales/gl.yml index 06b2f1ab74a3b..34491f1656d33 100644 --- a/decidim-core/config/locales/gl.yml +++ b/decidim-core/config/locales/gl.yml @@ -767,13 +767,11 @@ gl: to: Para reply: send: Enviar - title: Responder show: deleted_accounts: Non podes manter unha conversa con contas eliminadas. title: Conversa con %{usernames} start: send: Enviar - title: Comezar unha conversa metrics: followers: description: Número de usuarios que seguen este espazo de participación diff --git a/decidim-core/config/locales/hu.yml b/decidim-core/config/locales/hu.yml index 589f1c293dfca..48fb99852d1c6 100644 --- a/decidim-core/config/locales/hu.yml +++ b/decidim-core/config/locales/hu.yml @@ -333,6 +333,7 @@ hu: foo: Foo name: Foo jogosítvány granted_at: Megadva %{timestamp} + renew: Hitelesítés megújítása sms: explanation: Küldd el mobiltelefonszámodat, hogy ellenőrizhessük személyazonosságod. name: Kód SMS-ben @@ -353,6 +354,8 @@ hu: authorize: 'Engedélyezés ezzel: "%{authorization}"' explanation: 'A művelet végrehajtásához innen kell engedélyt kapnod: "%{authorization}".' title: Engedély szükséges + ok: + title: Az oldal látogatása alatt hitelesítésre került a fiókja. Az oldal újratöltése szükséges a művelet végrehajtásához pending: explanation: 'A művelet végrehajtásához engedélyt kell kapnod innen: "%{authorization}", de az engedélyezés még folyamatban van' resume: Ellenőrizd a(z) "%{authorization}" engedélyezés folyamatát @@ -367,9 +370,15 @@ hu: explanation_html: Annak érdekében, hogy ezt a műveletet elvégezhesse, engedélyeznie kell, mielőtt ezt elvégezné, meg kell erősítenie az e-mail címét %{email}. request_confirmation_instructions: Kérjen megerősítési utasítást title: Erősítsd meg az e-mail címed + show: + close_modal: Felugró ablak bezárása block_user_mailer: notify: + body_1: A fiókod zárolva van. + body_2: 'Indok: %{justification}' + greetings: Üdvözöli a
    %{organization_name}
    %{organization_url} hello: Helló, + subject: A fiókja blokklásra került - kezdeményező %{organization_name} collapsible_list: hidden_elements_count: one: és még %{count} @@ -378,6 +387,7 @@ hu: see_more: "(tovább)" components: component_order_selector: + no_content: Nem találtunk a feltételeknek megfelelő tartalmat order: all_types: Minden típus collaborative_draft: Közös vázlat @@ -417,8 +427,12 @@ hu: dummy_step_translatable_text: Hamis Lépés Fordítható Szöveg contact: Kapcsolat content_blocks: + cta: + name: Kép, szöveg és cselekvésre hívó gomb cta_settings_form: background_image: Háttérkép + button_text: Cselekvésre felhívás szövege + button_url: Cselekvésre felhívó URL description: Leírás footer_sub_hero: name: Lábléc sub hero banner @@ -467,6 +481,7 @@ hu: email_already_exists: Egy másik fiók ugyanezt az email címet használja new: complete_profile: Profil kiegészítése + nickname_help: A beceneved itt %{organization} csak betűket, számokat '-' és '_' jeleket tartalmazhat. sign_up: Töltsd ki a hiányzó adatokat subtitle: A regisztráció befejezéséhez töltsd ki a következő űrlapot username_help: Bejegyzésekben megjelenő nyilvános megnevezés. Az anonimitás megőrzése érdekében bármilyen név lehet. @@ -475,6 +490,7 @@ hu: already_have_an_account?: Már van egy fiókod? newsletter: Hírlevél fogadása a legfontosabb információkkal newsletter_title: Kapcsolatfelvételi engedély + nickname_help: A beceneved itt %{organization} csak betűket, számokat '-' és '_' jeleket tartalmazhat. password_help: "%{minimun_characters} karakter a minimum, nem lehet túl gyakori (pl. 123456), és különböznie kell a becenevétől és az e-mail címétől." sign_in: Belépés sign_up: Regisztráció @@ -491,6 +507,8 @@ hu: register: Hozz létre egy fiókot sign_in_disabled: Külső fiókkal is hozzáférhetsz sign_up_disabled: A bejelentkezés le van tiltva, a meglévő felhasználói fiókoddal hozzáférhetsz + user: + timed_out: Túl sokáig volt inaktív, ezért automatikusan kijelentkezett a szolgáltatásból. Ha továbbra is használni szeretné a szolgáltatást, jelentkezzen be újra. shared: newsletter_modal: buttons: @@ -525,8 +543,10 @@ hu: create: error: Hiba történt a kép feltöltése közben success: Kép sikeresen feltöltve + drag_and_drop_help: Képek hozzáadása húzással és ejtéssel vagy beillesztéssel. endorsable: endorsements: Jóváhagyások + endorsements_count: Támogatások száma endorsement_buttons_cell: already_endorsed: Jóváhagyva endorse: Jóváhagy @@ -950,7 +970,7 @@ hu: to: Címzett reply: placeholder: A válaszod... - send: Elküld + send: Küldés title: Válasz show: back: Vissza az összes beszélgetéshez diff --git a/decidim-core/config/locales/id-ID.yml b/decidim-core/config/locales/id-ID.yml index 598829aad5ab2..31b0291399a0c 100644 --- a/decidim-core/config/locales/id-ID.yml +++ b/decidim-core/config/locales/id-ID.yml @@ -710,12 +710,10 @@ id: title: Percakapan reply: send: Kirim - title: Balasan show: title: Percakapan dengan %{usernames} start: send: Kirim - title: Mulai percakapan metrics: followers: description: Jumlah pengguna yang mengikuti ruang partisipasi ini diff --git a/decidim-core/config/locales/is-IS.yml b/decidim-core/config/locales/is-IS.yml index 75bcf94c8a38e..27d4ae1b25d6f 100644 --- a/decidim-core/config/locales/is-IS.yml +++ b/decidim-core/config/locales/is-IS.yml @@ -267,9 +267,10 @@ is-IS: error: Samtal ekki hafin. Reyndu aftur seinna index: no_conversations: Þú hefur enga samtöl ennþá + reply: + send: Senda start: send: Senda - title: Byrjaðu samtal newsletter_mailer: newsletter: note: Þú fékkst þennan tölvupóst vegna þess að þú ert áskrifandi að fréttabréfinu á %{organization_name}. Þú getur breytt stillingum þínum á tilkynningarsíðunni þinni. diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml index 4f6f5a6a3095e..46c6724d75f0d 100644 --- a/decidim-core/config/locales/it.yml +++ b/decidim-core/config/locales/it.yml @@ -965,7 +965,7 @@ it: ok: Ok index: ago: fa - close: Chiudi modale + close: Chiudi modalità from: Da groups: I miei gruppi last_message: Ultimo messaggio @@ -975,7 +975,7 @@ it: title: Conversazioni reply: placeholder: La tua risposta... - send: Inviare + send: Invia title: Rispondi show: back: Torna a tutte le conversazioni diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index 4ecc260366b16..04660f71b12c2 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -706,7 +706,7 @@ ja: filters: linked_classes: all: すべて - collaborative_draft: 共同ドラフト(下書き) + collaborative_draft: 共同草案 dummy_resource: ダミーリソース meeting: ミーティング project: プロジェクト diff --git a/decidim-core/config/locales/nl.yml b/decidim-core/config/locales/nl.yml index 1c5bfdd5f1969..16622c8a13ca6 100644 --- a/decidim-core/config/locales/nl.yml +++ b/decidim-core/config/locales/nl.yml @@ -973,7 +973,7 @@ nl: title: conversaties reply: placeholder: Jouw antwoord... - send: Sturen + send: Verzenden title: Beantwoorden show: back: Terug naar alle gesprekken @@ -983,7 +983,7 @@ nl: title: Gesprek met %{usernames} start: send: Verzenden - title: Een gesprek beginnen + title: Gesprek starten update: error: Bericht is niet verzonden vanwege een fout metrics: diff --git a/decidim-core/config/locales/oc-FR.yml b/decidim-core/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-core/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 937e6fa9e5777..e310c3a8c6669 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -1031,7 +1031,7 @@ pl: title: Konwersacja z %{usernames} start: send: Wyślij - title: Zacznij konwersację + title: Rozpocznij konwersację update: error: Wiadomość nie została wysłana z powodu błędu metrics: diff --git a/decidim-core/config/locales/pt-BR.yml b/decidim-core/config/locales/pt-BR.yml index 4d3719822af20..2e8346913ee7d 100644 --- a/decidim-core/config/locales/pt-BR.yml +++ b/decidim-core/config/locales/pt-BR.yml @@ -963,7 +963,7 @@ pt-BR: title: Conversas reply: placeholder: Sua resposta... - send: Mandar + send: Enviar title: Resposta show: back: Voltar para todas as conversas @@ -972,7 +972,7 @@ pt-BR: title: Conversa com %{usernames} start: send: Enviar - title: Comece uma conversa + title: Iniciar uma conversa update: error: A mensagem não foi enviada devido a um erro metrics: diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml index 80cf77bc22279..a1336e6b078b1 100644 --- a/decidim-core/config/locales/pt.yml +++ b/decidim-core/config/locales/pt.yml @@ -963,7 +963,7 @@ pt: title: Conversas reply: placeholder: A sua resposta... - send: Mandar + send: Enviar title: Responder show: back: Retroceder a todas as conversas diff --git a/decidim-core/config/locales/ru.yml b/decidim-core/config/locales/ru.yml index f4df05b2b8db5..f4dc36c628a98 100644 --- a/decidim-core/config/locales/ru.yml +++ b/decidim-core/config/locales/ru.yml @@ -512,10 +512,8 @@ ru: no_conversations: У вас еще нет бесед reply: send: Отправить - title: Ответить start: send: Отправить - title: Начать беседу newsletter_mailer: newsletter: note: Вы получили это электронное письмо, потому что подписались на новостные рассылки %{organization_name}. Вы можете изменить свои настройки на своей странице уведомлений. diff --git a/decidim-core/config/locales/sk.yml b/decidim-core/config/locales/sk.yml index 52deed20427f9..6c4e74df6cea7 100644 --- a/decidim-core/config/locales/sk.yml +++ b/decidim-core/config/locales/sk.yml @@ -821,15 +821,12 @@ sk: no_conversations: Nemáte zatím žádné konverzace title: Konverzace reply: - placeholder: Vaša odpoveď... send: Poslat - title: Odpověď show: chat_with: Konverzácia s title: Konverzace s číslem %{usernames} start: send: Poslat - title: Spusťte konverzaci metrics: followers: description: Počet účastníkov, ktorí sledujú tento participatívny priestor diff --git a/decidim-core/config/locales/tr-TR.yml b/decidim-core/config/locales/tr-TR.yml index ee43b7636b8fa..7bde741f86157 100644 --- a/decidim-core/config/locales/tr-TR.yml +++ b/decidim-core/config/locales/tr-TR.yml @@ -929,7 +929,7 @@ tr: ok: OK index: ago: önce - close: Pencereyi kapat + close: Yakın kalıcı from: Gönderen groups: Gruplarım last_message: Son mesaj @@ -947,7 +947,7 @@ tr: title: '%{usernames} ile görüşme' start: send: Gönder - title: Bir görüşme başlat + title: Bir görüşme başlatın update: error: Bir hata nedeniyle mesaj gönderilemedi metrics: diff --git a/decidim-core/config/locales/uk.yml b/decidim-core/config/locales/uk.yml index 96c65fe141c75..902d508726341 100644 --- a/decidim-core/config/locales/uk.yml +++ b/decidim-core/config/locales/uk.yml @@ -385,10 +385,9 @@ uk: close: Закрити віконце no_conversations: У вас ще немає бесід reply: - title: Відповісти + send: Надіслати start: send: Надіслати - title: Почати бесіду newsletter_mailer: newsletter: note: Ви отримали цього електронного листа, оскільки ви підписалися на новини щодо %{organization_name}. Ви можете змінити свої налаштування на сторінці сповіщень. diff --git a/decidim-debates/config/locales/oc-FR.yml b/decidim-debates/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-debates/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-dev/config/locales/cs.yml b/decidim-dev/config/locales/cs.yml index 10108bda3f031..00a8fe2dbe2f6 100644 --- a/decidim-dev/config/locales/cs.yml +++ b/decidim-dev/config/locales/cs.yml @@ -14,8 +14,10 @@ cs: dummy: settings: global: + guided: Řízené zadávání guided_help: Text nápovědy guided_readonly: Zakázaný zápis + guided_rich: Řízené plnohodnotné zadávání guided_rich_help_html: HTML textová nápověda guided_rich_readonly_html: HTML nápověda text pro zakázaný zápis readonly_attribute: Atribut pouze pro čtení diff --git a/decidim-dev/config/locales/oc-FR.yml b/decidim-dev/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-dev/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-elections/config/locales/cs.yml b/decidim-elections/config/locales/cs.yml index f64b29768ac33..8941f44390033 100644 --- a/decidim-elections/config/locales/cs.yml +++ b/decidim-elections/config/locales/cs.yml @@ -270,7 +270,7 @@ cs: census_codes_generated: Vytvářejí se kódy pro rejstřík obyvatel. census_frozen: Kódy jsou exportovány a rejstřík obyvatel je zmrazen. census_uploaded: Rejstřík obyvatel je nahrán. - component_published: Vilební složka je publikována. + component_published: Volební komponenta je publikována. max_selections: Všechny otázky mají správnou hodnotu pro maximum odpovědí. minimum_answers: Každá otázka má alespoň 2 odpovědi. minimum_questions: Volba má alespoň jednu otázku. @@ -644,7 +644,7 @@ cs: back: Zahájit proces hlasování znovu ballot_hash: 'Identifikátor vašeho hlasování:' cast: Uložte hlasování, abyste dokončili vaše hlasování - description: Zde máte možnost odevzdat hlasovací lístek tak, aby byl správně spočítán, nebo případně můžete kontrolovat, zda je vaše hlasování správně šifrované. Z důvodů porušeného zabezpečnení to váš hlasovací lístek může zrušit. To znamená, že abyste mohli hlasovat, budete muset znovu zahájit hlasovací proces. + description: Zde máte možnost odevzdat hlasovací lístek tak, aby byl správně spočítán, nebo případně můžete kontrolovat, zda je vaše hlasování správně šifrované. Z důvodů porušeného zabezpečení to váš hlasovací lístek může zrušit. To znamená, že abyste mohli hlasovat, budete muset znovu zahájit hlasovací proces. header: 'Hlasovací lístek je šifrovaný: zahlasujte s ním nebo jej auditujte' casting: header: Hlasování... @@ -716,7 +716,7 @@ cs: header: Hlasování nenalezeno! info: Kód hlasu nebyl nalezen v %{link} volebních urnám, zkuste to znovu. form: - back: Zpět na Deidim + back: Zpět na Decidim submit: Ověřit vote_identifier: 'Identifikační kód:' header: @@ -750,7 +750,7 @@ cs: notification_title: Jste důvěrník pro %{resource_name}. votes: accepted_votes: - email_intro: 'Váš hlas byl přijat! Pomocí tvého hlasovacího tokenu: %{encrypted_vote_hash}, můžete ověřit svůj hlas zde.' + email_intro: 'Váš hlas byl přijat! Pomocí vašeho hlasovacího tokenu: %{encrypted_vote_hash}, můžete ověřit svůj hlas zde.' email_outro: Obdrželi jste toto oznámení, protože jste hlasovali pro hlasování %{resource_name}. email_subject: Váš hlas pro %{resource_name} byl přijat. notification_title: 'Váš hlas byl přijat. Ověřte svůj hlas zde pomocí hlasovacího tokenu: %{encrypted_vote_hash}' @@ -1040,7 +1040,7 @@ cs: promoted: Propagováno select_a_voting_type: Vyberte prosím typ hlasování slug: Slug - slug_help: 'URL slugů se používají k generování URL, které odkazují na toto hlasování. přijímá pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}' + slug_help: 'URL slug se používá k generování URL, které odkazují na toto hlasování. přijímá pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}' title: Název voting_type: hybrid: Hybridní diff --git a/decidim-elections/config/locales/oc-FR.yml b/decidim-elections/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-elections/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-forms/config/locales/oc-FR.yml b/decidim-forms/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-forms/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-initiatives/config/locales/cs.yml b/decidim-initiatives/config/locales/cs.yml index 41be71aa654de..0ecb9985ff1b3 100644 --- a/decidim-initiatives/config/locales/cs.yml +++ b/decidim-initiatives/config/locales/cs.yml @@ -55,9 +55,9 @@ cs: activerecord: models: decidim/initiative: - one: Initativní + one: Iniciativa few: Iniciativy - many: Iniciativy + many: Iniciativ other: Iniciativy decidim/initiative_comittee: one: Výbor @@ -313,7 +313,7 @@ cs: all: Vše answered: Odpovězeno closed: Uzavřeno - open: otevřeno + open: Otevřeno rejected: Nedostatek podpisů filter_type_values: all: Vše @@ -329,7 +329,7 @@ cs: success: Vaše žádost byla zaslána autorovi iniciativy. content_blocks: highlighted_initiatives: - name: Zdůrazněné iniciativy + name: Zvýrazněné iniciativy create_initiative: fill_data: back: Zpět @@ -549,10 +549,10 @@ cs: votes_blocked: Podpis zakázán votes_count: count: - one: PODPIS - few: PODPISY - many: PODPISY - other: PODPISY + one: Podpis + few: Podpisy + many: Podpisů + other: Podpisů most_popular_initiative: Nejoblíbenější iniciativa need_more_votes: Potřebujete další podpisy initiatives_mailer: diff --git a/decidim-initiatives/config/locales/oc-FR.yml b/decidim-initiatives/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-initiatives/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-meetings/config/locales/cs.yml b/decidim-meetings/config/locales/cs.yml index 2f734dec49c50..a6802a59f410e 100644 --- a/decidim-meetings/config/locales/cs.yml +++ b/decidim-meetings/config/locales/cs.yml @@ -35,7 +35,7 @@ cs: registration_terms: Podmínky registrace registration_url: URL registrace registrations_enabled: Registrace povoleny - show_embedded_iframe: Zobrazit vloženou iframe pro tuto URL + show_embedded_iframe: Zobrazit vložený iframe pro tuto URL start_time: Čas zahájení title: Název transparent: Transparentní @@ -164,7 +164,7 @@ cs: meeting_registration_confirmed: notification_title: Vaše registrace pro schůzku %{resource_title} byla potvrzena. Váš registrační kód je %{registration_code}. meeting_registrations_over_percentage: - email_intro: Počet schůzek obsazených schůzem "%{resource_title}" je vyšší než %{percentage}%. + email_intro: Přidělených míst pro schůzku "%{resource_title}" je více než %{percentage}%. email_outro: Toto oznámení jste obdrželi, protože jste administrátor participačního prostoru schůzky. email_subject: Schůzky obsazené schůzkou "%{resource_title}" jsou nad %{percentage}% notification_title: Počet obsazených slotů %{resource_title} je vyšší než %{percentage}%. @@ -228,7 +228,7 @@ cs: agenda_item: add_agenda_item_child: Přidání položky agendy dítěte agenda_item: Položka agendy - agenda_item_children: Agenda Item Childs + agenda_item_children: Dílčí body programu down: Dolů remove: Odstranit up: Nahoru diff --git a/decidim-meetings/config/locales/oc-FR.yml b/decidim-meetings/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-meetings/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-pages/config/locales/oc-FR.yml b/decidim-pages/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-pages/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-participatory_processes/config/locales/cs.yml b/decidim-participatory_processes/config/locales/cs.yml index e04129cb3a194..5294cf9d663de 100644 --- a/decidim-participatory_processes/config/locales/cs.yml +++ b/decidim-participatory_processes/config/locales/cs.yml @@ -305,7 +305,7 @@ cs: email_subject: Aktualizace na %{participatory_space_title} notification_title: Krok %{resource_title} je nyní aktivní pro %{participatory_space_title} step_changed: - email_intro: 'Byly aktualizovány datumy pro krok %{resource_title} v %{participatory_space_title}. Můžete je vidět z této stránky:' + email_intro: 'Data pro %{resource_title} fáze na %{participatory_space_title} byly aktualizovány. Můžete si je prohlédnout na této stránce:' email_outro: Toto oznámení jste obdrželi, protože jste sledovali %{participatory_space_title}. Po předchozím propojení můžete přestat přijímat oznámení. email_subject: Aktualizace na %{participatory_space_title} notification_title: Byly aktualizovány data pro krok %{resource_title} ve %{participatory_space_title}. @@ -386,9 +386,9 @@ cs: announcement_help: Text, který zde zadáte, se uživateli zobrazí přímo pod informacemi o procesu. duration: Doba trvání filters: Filtry - images: snímky + images: Obrázky metadata: Metadata - other: jiný + other: Ostatní related_processes: Související procesy scope_type_max_depth_help: Omezit hloubku filtru rozsahu. Filtr se zobrazí od obecného k vybranému typu rozsahu. select_an_area: Vyberte oblast diff --git a/decidim-participatory_processes/config/locales/oc-FR.yml b/decidim-participatory_processes/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-participatory_processes/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-proposals/config/locales/cs.yml b/decidim-proposals/config/locales/cs.yml index 57326dd679772..f86c7158fc1d7 100644 --- a/decidim-proposals/config/locales/cs.yml +++ b/decidim-proposals/config/locales/cs.yml @@ -15,14 +15,14 @@ cs: address: Adresa answer: Odpovědět answered_at: Odpovězeno na - automatic_hashtags: Hashtags se automaticky přidali + automatic_hashtags: Hashtagy automaticky přidány body: Tělo category_id: Kategorie decidim_scope_id: Rozsah has_address: Má adresu scope_id: Oblast působnosti state: Stav - suggested_hashtags: Navrhované hashtags + suggested_hashtags: Navrhované hashtagy title: Titul user_group_id: Vytvořit návrh jako proposal_answer: @@ -153,7 +153,7 @@ cs: comments_enabled: Komentáře povoleny comments_max_length: Maximální délka komentáře (ponechte 0 pro výchozí hodnotu) default_sort_order: Výchozí řazení návrhu - default_sort_order_help: Výchozí znamená, že pokud jsou podporované funkce povoleny, budou návrhy zobrazeny náhodně, a pokud jsou opory blokovány, pak budou seřazeny podle nejpodporovanější. + default_sort_order_help: Výchozí znamená, že pokud jsou podporované funkce povoleny, budou návrhy zobrazeny náhodně, a pokud jsou podpory blokovány, pak budou seřazeny podle nejpodporovanější. default_sort_order_options: default: Výchozí most_commented: Nejvíce komentované @@ -205,9 +205,9 @@ cs: automatic_hashtags: Do všech návrhů byly přidány značky Hashtags comments_blocked: Komentáře byly blokovány creation_enabled: Účastníci mohou vytvářet návrhy - creation_enabled_readonly: Toto nastavení je zakázáno, pokud aktivujete funkci účastnických textů. Chcete-li nahrát návrhy jako participativní text, klikněte na tlačítko Participatory Texts a postupujte podle pokynů. + creation_enabled_readonly: Toto nastavení je zakázáno, když aktivujete funkci Participativní texty. Chcete-li návrhy nahrát jako participativní text, klikněte na tlačítko Participativní texty a postupujte podle pokynů. default_sort_order: Výchozí řazení návrhu - default_sort_order_help: Výchozí znamená, že pokud jsou podporované funkce povoleny, budou návrhy zobrazeny náhodně, a pokud jsou opory blokovány, pak budou seřazeny podle nejpodporovanější. + default_sort_order_help: Ve výchozím nastavení to znamená, že pokud jsou podpory povoleny, budou návrhy zobrazeny náhodně seřazené, a pokud jsou podpory blokovány, budou seřazeny podle nejvíce podporovaných. default_sort_order_options: default: Výchozí most_commented: Nejvíce komentované @@ -357,11 +357,11 @@ cs: - Podpořte návrhy, které se vám líbí nebo které jsou zajímavé description: Tento odznak je udělen při podpoře návrhů jiných lidí. description_another: Tento uživatel podpořil %{score} návrhů. - description_own: Podporili jste %{score} návrhů. + description_own: Podpořili jste %{score} návrhů. name: Podpora návrhů next_level_in: Poskytněte podporu %{score} dalších návrhů, abyste dosáhli další úrovně! unearned_another: Tento uživatel zatím nepodporoval žádné návrhy. - unearned_own: Podporili jste ještě žádné návrhy. + unearned_own: Zatím jste nepodpořili žádné návrhy. proposals: conditions: - Zvolte participační prostor pro účast vašeho zájmu s povoleným podáním návrhů @@ -502,7 +502,7 @@ cs: actions: Akce assign_to_valuator: Přiřadit hodnotiteli assign_to_valuator_button: Přiřadit - cancel: zrušení + cancel: Zrušit change_category: Změnit kategorii change_scope: Změnit rozsah merge: Sloučit do nového @@ -632,7 +632,7 @@ cs: error: Při publikování konceptu spolupráce došlo k chybám. irreversible_action_modal: body: Po zveřejnění návrhu jako návrhu návrh již nebude upravitelný. Návrh nepřijme nové autory ani příspěvky. - cancel: zrušení + cancel: Zrušit ok: Publikovat jako návrh title: Následující akce je nevratná success: Projekt spolupráce byl úspěšně zveřejněn jako návrh. @@ -641,7 +641,7 @@ cs: error: Došlo k chybě při uzavření návrhu spolupráce. irreversible_action_modal: body: Po uzavření konceptu již návrh nebude upravitelný. Návrh nepřijme nové autory nebo příspěvky. - cancel: zrušení + cancel: Zrušit ok: Vyjměte návrh spolupráce title: Následující akce je nevratná success: Kolaborativní návrh byl úspěšně zrušen. @@ -664,7 +664,7 @@ cs: all: Vše amendment: Změny category: Kategorie - open: otevřeno + open: Otevřeno published: Publikováno related_to: Související s scope: Rozsah @@ -709,7 +709,7 @@ cs: few: a %{count} dalších lidí many: a %{count} dalších lidí other: a %{count} dalších lidí - info-message: Jedná se o kolaborativní návrh k návrhu. To znamená, že můžete pomoci jejich autorům formovat návrh pomocí níže uvedené poznámky nebo je vylepšit přímo tím, že požádáte o přístup k jeho úpravám. Jakmile vám autoři udělí přístup, budete moci tento návrh provést. + info-message: Toto je kolaborativní návrh k návrhu. To znamená, že můžete pomoci jejich autorům formovat návrh pomocí níže uvedené poznámky nebo je vylepšit přímo tím, že požádáte o přístup k jeho úpravám. Jakmile vám autoři udělí přístup, budete moci tento návrh provést. publish: Publikovat publish_info: Publikujte tuto verzi konceptu nebo published_proposal: zveřejněný návrh @@ -718,7 +718,7 @@ cs: version_history: viz historii verzí tohoto návrhu withdraw: stáhnout návrh states: - open: otevřeno + open: Otevřeno published: Publikováno withdrawn: Staženo update: @@ -916,10 +916,10 @@ cs: votes_blocked: Hlasování je zakázáno votes_count: count: - one: HLASOVÁNÍ - few: HLASOVÁNÍ - many: HLASOVÁNÍ - other: HLASOVÁNÍ + one: Podpora + few: Podpory + many: Podpor + other: Podpor most_popular_proposal: Nejoblíbenější návrh need_more_votes: Potřebujete více hlasů voting_rules: diff --git a/decidim-proposals/config/locales/ja.yml b/decidim-proposals/config/locales/ja.yml index 15482b039a3a9..b474da7a31f9b 100644 --- a/decidim-proposals/config/locales/ja.yml +++ b/decidim-proposals/config/locales/ja.yml @@ -10,7 +10,7 @@ ja: scope_id: 対象範囲 state: 都道府県: title: タイトル - user_group_id: 以下として共同ドラフトを作成します。 + user_group_id: 共同草案として作成します proposal: address: 住所 answer: 回答 @@ -223,34 +223,34 @@ ja: email_subject: 誰かが提案 %{resource_title} にメモを残しました。 notification_title: 誰かが提案 %{resource_title}にメモを残しました。 管理者パネル で確認してください collaborative_draft_access_accepted: - email_intro: '%{requester_name} は、 %{resource_title} の共同ドラフトのコントリビューターとして承認されました。' + email_intro: '%{requester_name} は、 %{resource_title} の共同草案のコントリビューターとして承認されました。' email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。 email_subject: "%{requester_name} は %{resource_title} の貢献者としてアクセスできるようになりました。" - notification_title: %{requester_name} %{requester_nickname} は、 コントリビューターとして %{resource_title} 共同ドラフトのコントリビューターとしてアクセスできるようになりました。 + notification_title: %{requester_name} %{requester_nickname} は、 コントリビューターとして %{resource_title} 共同草案のコントリビューターとしてアクセスできるようになりました。 collaborative_draft_access_rejected: - email_intro: '%{requester_name} は、 %{resource_title} の共同ドラフトのコントリビューターとしてのアクセスを拒否されました。' + email_intro: '%{requester_name} は、 %{resource_title} の共同草案のコントリビューターとしてのアクセスを拒否されました。' email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。 - email_subject: "%{requester_name} は、 %{resource_title} の共同ドラフトの貢献者としてアクセスするために拒否されました。" - notification_title: %{requester_name} %{requester_nickname}コントリビューターとしてアクセスを拒否されました %{resource_title} 共同ドラフトのコントリビューター + email_subject: "%{requester_name} は、 %{resource_title} の共同草案の貢献者としてアクセスするために拒否されました。" + notification_title: %{requester_name} %{requester_nickname}コントリビューターとしてアクセスを拒否されました %{resource_title} 共同草案のコントリビューター collaborative_draft_access_requested: - email_intro: '%{requester_name} がコントリビューターとしてアクセスをリクエストしました。 %{resource_title} の共同ドラフトページからリクエストを承認または拒否できます。' + email_intro: '%{requester_name} がコントリビューターとしてアクセスをリクエストしました。 %{resource_title} の共同草案ページからリクエストを承認または拒否できます。' email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。 email_subject: "%{requester_name} が %{resource_title} に貢献するためにアクセスをリクエストしました。" - notification_title: %{requester_name} %{requester_nickname} は、 %{resource_title} の共同ドラフトにアクセスをリクエストしました。 リクエストを承認または拒否してください。 + notification_title: %{requester_name} %{requester_nickname} は、 %{resource_title} の共同草案にアクセスをリクエストしました。 リクエストを承認または拒否してください。 collaborative_draft_access_requester_accepted: - email_intro: %{resource_title} の共同ドラフトのコントリビューターとして承認されました。 + email_intro: %{resource_title} の共同草案のコントリビューターとして承認されました。 email_outro: %{resource_title} のコラボレーターになることをリクエストしたため、この通知を受け取りました。 email_subject: '%{resource_title} の貢献者として承認されました。' - notification_title: あなたは %{resource_title} の共同ドラフトの貢献者としてアクセスすることを受け入れられました。 + notification_title: あなたは %{resource_title} の共同草案の貢献者としてアクセスすることを受け入れられました。 collaborative_draft_access_requester_rejected: - email_intro: %{resource_title} の共同ドラフトのコントリビューターとしてのアクセスは拒否されました。 + email_intro: %{resource_title} の共同草案のコントリビューターとしてのアクセスは拒否されました。 email_outro: %{resource_title} のコラボレーターになることをリクエストしたため、この通知を受け取りました。 email_subject: '%{resource_title} の貢献者として拒否されました。' notification_title: 共同草稿%{resource_title}投稿者としてのアクセスを拒否されました。 collaborative_draft_withdrawn: - email_intro: %{author_name} %{author_nickname} は、 %{resource_title} の共同ドラフトを撤回しました。 + email_intro: %{author_name} %{author_nickname} は、 %{resource_title} の共同草案を撤回しました。 email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。 - email_subject: "%{author_name} %{author_nickname} は %{resource_title} の共同ドラフトを撤回しました。" + email_subject: "%{author_name} %{author_nickname} は %{resource_title} の共同草案を撤回しました。" notification_title: %{author_name} %{author_nickname} が、共同草稿 %{resource_title}撤回しました。 creation_enabled: email_intro: '%{participatory_space_title}で新しい提案を作成できるようになりました! このページに参加してください:' @@ -608,34 +608,34 @@ ja: collaborative_drafts: collaborative_draft: publish: - error: 共同作業のドラフトを公開する際に問題が発生しました。 + error: 共同草案を公開する際に問題が発生しました。 irreversible_action_modal: - body: 提案としてドラフトを公開した後、ドラフトは編集できなくなります。提案は新しい著者や貢献者を受け入れません。 + body: 提案として草案を公開した後、草案は編集できなくなります。提案は新しい著者や貢献者を受け入れません。 cancel: キャンセル ok: 提案として公開 title: 次のアクションは取り消せません - success: 共同ドラフトは提案として正常に公開されました。 - view_collaborative_draft: 共同作業のドラフトを表示 + success: 共同草案は提案として正常に公開されました。 + view_collaborative_draft: 共同草案を表示 withdraw: - error: 共同作業のドラフトを閉じる際に問題が発生しました。 + error: 共同草案を閉じる際に問題が発生しました。 irreversible_action_modal: - body: ドラフトを閉じた後、ドラフトは編集できなくなります。ドラフトは新しい投稿者や投稿を受け入れません。 + body: 草案を閉じた後、草案は編集できなくなります。草案は新しい投稿者や投稿を受け入れません。 cancel: キャンセル - ok: 共同作業の下書きを撤回する + ok: 共同草案を撤回する title: 次のアクションは取り消せません - success: 共同ドラフトは正常に撤回されました。 + success: 共同草案は正常に撤回されました。 count: drafts_count: - other: "%{count} 件の共同の下書きです" + other: "%{count} 件の共同草案" create: - error: 共同作業の下書き作成中に問題が発生しました - success: 共同作業の下書きを作成しました。 + error: 共同草案の作成中に問題が発生しました + success: 共同草案を作成しました。 edit: attachment_legend: "(オプション) 添付ファイルを追加" back: 戻る select_a_category: カテゴリを選択してください send: 送信 - title: 共同作業の下書きを編集 + title: 共同草案を編集 filters: all: すべて amendment: 修正 @@ -655,9 +655,9 @@ ja: new: send: 続ける new_collaborative_draft_button: - new_collaborative_draft: 新しい共同作業の下書きを作成 + new_collaborative_draft: 新しい共同草案を作成 orders: - label: '下書きの注文:' + label: '草案の依頼:' most_contributed: 最も貢献したもの random: ランダム recent: 最近のもの @@ -677,31 +677,31 @@ ja: success: "@%{user} はコラボレーターとして正常に拒否されました" show: back: 戻る - edit: 共同作業の下書きを編集 + edit: 共同草案を編集 final_proposal: 最終的な提案 - final_proposal_help_text: このドラフトは終了しました。最終提案を確認してください。 + final_proposal_help_text: この草案は終了しました。最終提案を確認してください。 hidden_authors_count: other: '%{count} 人以上' - info-message: これは提案のための 共同ドラフト です。 これは、以下のコメントセクションを使用して提案を作成したり、編集するためのアクセスを要求することで、提案を改善したりすることができることを意味します。 作成者がアクセスを許可すると、このドラフトを変更することができます。 + info-message: これは提案のための 共同草案 です。 これは、以下のコメントセクションを使用して提案を作成したり、編集するためのアクセスを要求することで、提案を改善したりできることを意味します。 作成者がアクセスを許可すると、この草案を変更できます。 publish: 公開 - publish_info: このバージョンの下書きを公開するか、 + publish_info: このバージョンの草案を公開するか、 published_proposal: 公開された提案 request_access: アクセスを要求する requested_access: アクセスがリクエストされました version_history: この提案のバージョン履歴を見る - withdraw: ドラフトを撤回する + withdraw: 草案を撤回する states: open: 開く published: 公開済み withdrawn: 撤回 update: - error: 共同作業のドラフトを保存する際に問題が発生しました。 - success: 共同作業の下書きが正常に更新されました。 + error: 共同草案を保存する際に問題が発生しました。 + success: 共同草案が正常に更新されました。 wizard_aside: back_from_collaborative_draft: 共同草案に戻る - info: 共同ドラフトを作成しています。 + info: 共同草案を作成しています。 wizard_header: - title: 共同作業の下書きを作成する + title: 共同草案を作成する content_blocks: highlighted_proposals: proposals: 提案 @@ -709,7 +709,7 @@ ja: error: 提案を保存する際に問題がありました。 success: 提案は正常に作成されました。ドラフトとして保存されました。 destroy_draft: - error: 共同作業のドラフトを削除する際に問題が発生しました。 + error: 共同草案を削除する際に問題が発生しました。 success: 提案の下書きは正常に削除されました。 last_activity: new_proposal_at_html: " %{link}で新しい提案" @@ -796,7 +796,7 @@ ja: unfold: 展開する index: click_here: すべての提案を見る - collaborative_drafts_list: 共同作業の下書きにアクセスする + collaborative_drafts_list: 共同草案にアクセスする new_proposal: 新しい提案 see_all: すべての提案を見る see_all_withdrawn: すべての撤回された提案を見る @@ -849,8 +849,8 @@ ja: estimated_cost: 推定コスト hidden_endorsers_count: other: '%{count} 人以上' - link_to_collaborative_draft_help_text: この提案は共同ドラフトの結果です。履歴を確認してください - link_to_collaborative_draft_text: 共同作業の下書きを見る + link_to_collaborative_draft_help_text: この提案は共同草案の結果です。履歴を確認してください + link_to_collaborative_draft_text: 共同草案を見る link_to_promoted_emendation_help_text: この提案は奨励された提案です link_to_promoted_emendation_text: 拒否されたemendationを参照してください。 link_to_proposal_from_emendation_help_text: これが拒否されました @@ -926,7 +926,7 @@ ja: error: 提案を保存する際に問題がありました。 success: 提案が正常に更新されました。 update_draft: - error: 共同作業のドラフトを保存する際に問題が発生しました。 + error: 共同草案を保存する際に問題が発生しました。 success: 提案ドラフトが正常に更新されました。 versions: collaborative_drafts: diff --git a/decidim-proposals/config/locales/oc-FR.yml b/decidim-proposals/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-proposals/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-sortitions/config/locales/cs.yml b/decidim-sortitions/config/locales/cs.yml index f99c094eedda9..0eea85fb978dd 100644 --- a/decidim-sortitions/config/locales/cs.yml +++ b/decidim-sortitions/config/locales/cs.yml @@ -14,9 +14,9 @@ cs: activerecord: models: decidim/sortitions/sortition: - one: Sortiment - few: Sortitions - many: Sortitions + one: Losování + few: Losování + many: Losování other: Losování decidim: components: @@ -55,9 +55,9 @@ cs: target_items: Položky k výběru title: Název name: - one: Třídění - few: Třídění - many: Sortitions + one: Losování + few: Losování + many: Losování other: Losování sortitions: confirm_destroy: @@ -90,7 +90,7 @@ cs: success: Losování úspěšně aktualizováno admin_log: sortition: - create: "%{user_name} vytvořil %{resource_name} sortit v %{space_name}" + create: "%{user_name} vytvořil %{resource_name} losování v %{space_name}" delete: "%{user_name} zrušil losování %{resource_name} v %{space_name}" update: "%{user_name} aktualizoval losování %{resource_name} v %{space_name}" sortitions: @@ -154,9 +154,9 @@ cs: deleted: Odstraněný uživatel sortitions_count: count: - one: 1 sortie - few: "%{count} sortitions" - many: "%{count} sortitions" + one: 1 losování + few: "%{count} losování" + many: "%{count} losování" other: "%{count} losování" statistics: sortitions_count: Losování diff --git a/decidim-sortitions/config/locales/oc-FR.yml b/decidim-sortitions/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-sortitions/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-surveys/config/locales/oc-FR.yml b/decidim-surveys/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-surveys/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-system/config/locales/cs.yml b/decidim-system/config/locales/cs.yml index 3b8f5e02ea466..0d64c53b3edf7 100644 --- a/decidim-system/config/locales/cs.yml +++ b/decidim-system/config/locales/cs.yml @@ -89,7 +89,7 @@ cs: fields: created_at: Vytvořeno v file_upload_settings: Nastavení nahrávání souborů - name: název + name: Název omniauth_settings: Nastavení Omniauth smtp_settings: SMTP nastavení name: Organizace diff --git a/decidim-system/config/locales/oc-FR.yml b/decidim-system/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-system/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-templates/config/locales/oc-FR.yml b/decidim-templates/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-templates/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: diff --git a/decidim-verifications/config/locales/cs.yml b/decidim-verifications/config/locales/cs.yml index c1b233ae7b760..6a19ecd378d28 100644 --- a/decidim-verifications/config/locales/cs.yml +++ b/decidim-verifications/config/locales/cs.yml @@ -114,7 +114,7 @@ cs: authorize: Poslat authorize_with: Ověřte pomocí %{authorizer} renew_modal: - cancel: zrušení + cancel: Zrušit close: zavřít continue: Pokračovat info_renew: Pokud chcete aktualizovat data, pokračujte obnovením @@ -184,7 +184,7 @@ cs: error: Ověření neodpovídá vloženým údajům. Zkuste to znovu, nebo řekněte uživateli, ať si je změní success: Uživatel úspěšně ověřen new: - cancel: zrušení + cancel: Zrušit introduce_user_data: Zadejte e-mail uživatele a data dokumentu verify: Ověřte pending_authorizations: diff --git a/decidim-verifications/config/locales/ja.yml b/decidim-verifications/config/locales/ja.yml index 3383dd4f12020..75ffd2b1cd4d7 100644 --- a/decidim-verifications/config/locales/ja.yml +++ b/decidim-verifications/config/locales/ja.yml @@ -64,7 +64,7 @@ ja: - 郵便物を送信済みとしてマークすると、参加者はコードを入力して検証することができます。 csv_census: explanation: 組織センサスを使用して認証を取得する - name: 組織の国勢調査 + name: 組織のセンサス direct: ダイレクト help: ヘルプ id_documents: @@ -97,7 +97,7 @@ ja: first_login: actions: another_dummy_authorization_handler: 認証ハンドラーの別の例に対して検証する - csv_census: 組織の国勢調査に照らして確認 + csv_census: 組織のセンサスに照らして確認 dummy_authorization_handler: 認証ハンドラーの例に対して確認する dummy_authorization_workflow: 認証ワークフローの例に対して確認する id_documents: 本人確認書類をアップロードして認証を取得する @@ -128,14 +128,14 @@ ja: error: センサスのインポート中にエラーが発生しました。 success: '%{count} 個のアイテムを正常にインポートしました (%{errors} 個のエラー)' destroy_all: - success: すべての国勢調査データが削除されました + success: すべてのセンサスデータが削除されました destroy: - confirm: 国勢調査をすべて削除することはできません。続行してもよろしいですか? - title: 国勢調査データをすべて削除する + confirm: センサスをすべて削除することはできません。続行してもよろしいですか? + title: センサスデータをすべて削除する index: data: 合計 %{count} 件のレコードが読み込まれています。最終アップロード日は %{due_date}です。 - empty: 国勢調査データがありません。CSVファイルを使用してインポートするには、以下のフォームを使用してください。 - title: 現在の国勢調査データ + empty: センサスデータがありません。CSVファイルを使用してインポートするには、以下のフォームを使用してください。 + title: 現在のセンサスデータ instructions: body: これを行うには、システム管理を入力し、csv_census の認証を組織に追加する必要があります。 title: この組織のCSVセンサス認証を有効にする必要があります @@ -143,7 +143,7 @@ ja: file: "電子メールデータを含む.csvファイル" info: 'メールアドレスの列が 1 つだけの CSV 形式のファイルである必要があります:' submit: ファイルをアップロード - title: 新しい国勢調査をアップロード + title: 新しいセンサスをアップロード authorizations: new: error: お客様のアカウントを確認できませんでした。また、組織のセンサスに入っていない場合もあります。 diff --git a/decidim-verifications/config/locales/oc-FR.yml b/decidim-verifications/config/locales/oc-FR.yml new file mode 100644 index 0000000000000..325b348894124 --- /dev/null +++ b/decidim-verifications/config/locales/oc-FR.yml @@ -0,0 +1 @@ +oc: From 461d8fc7f31ea4e8e5559adf15ed1d486055cedd Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 29 Sep 2022 13:56:43 +0300 Subject: [PATCH 42/90] Prepare 0.26.3 release --- .decidim-version | 2 +- CHANGELOG.md | 80 ++++++ Gemfile.lock | 184 ++++++------- .../lib/decidim/accountability/version.rb | 2 +- decidim-admin/lib/decidim/admin/version.rb | 2 +- decidim-api/lib/decidim/api/version.rb | 2 +- .../lib/decidim/assemblies/version.rb | 2 +- decidim-blogs/lib/decidim/blogs/version.rb | 2 +- .../lib/decidim/budgets/version.rb | 2 +- .../lib/decidim/comments/version.rb | 2 +- .../lib/decidim/conferences/version.rb | 2 +- .../lib/decidim/consultations/version.rb | 2 +- decidim-core/lib/decidim/core/version.rb | 2 +- .../lib/decidim/debates/version.rb | 2 +- decidim-dev/lib/decidim/dev/version.rb | 2 +- .../lib/decidim/elections/version.rb | 2 +- decidim-forms/lib/decidim/forms/version.rb | 2 +- decidim-generators/Gemfile.lock | 255 +++++++++--------- .../lib/decidim/generators/version.rb | 2 +- .../lib/decidim/initiatives/version.rb | 2 +- .../lib/decidim/meetings/version.rb | 2 +- decidim-pages/lib/decidim/pages/version.rb | 2 +- .../participatory_processes/version.rb | 2 +- .../lib/decidim/proposals/version.rb | 2 +- .../lib/decidim/sortitions/version.rb | 2 +- .../lib/decidim/surveys/version.rb | 2 +- decidim-system/lib/decidim/system/version.rb | 2 +- .../lib/decidim/templates/version.rb | 2 +- .../lib/decidim/verifications/version.rb | 2 +- decidim_app-design/Gemfile.lock | 249 ++++++++--------- decidim_app-design/package-lock.json | 14 +- .../packages/browserslist-config/package.json | 2 +- decidim_app-design/packages/core/package.json | 2 +- decidim_app-design/packages/dev/package.json | 2 +- .../packages/elections/package.json | 2 +- .../packages/eslint-config/package.json | 2 +- .../packages/stylelint-config/package.json | 2 +- .../packages/webpacker/package.json | 2 +- lib/decidim/version.rb | 2 +- package-lock.json | 14 +- packages/browserslist-config/package.json | 2 +- packages/core/package.json | 2 +- packages/dev/package.json | 2 +- packages/elections/package.json | 2 +- packages/eslint-config/package.json | 2 +- packages/stylelint-config/package.json | 2 +- packages/webpacker/package.json | 2 +- 47 files changed, 488 insertions(+), 390 deletions(-) diff --git a/.decidim-version b/.decidim-version index 894542aa24472..3f45a6442e878 100644 --- a/.decidim-version +++ b/.decidim-version @@ -1 +1 @@ -0.26.2 +0.26.3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2511bd20d7061..d029e0da7b3fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,86 @@ Nothing. +## [0.26.3](https://github.com/decidim/decidim/tree/v0.26.3) + +### Added + +Nothing. + +### Changed + +Nothing. + +### Fixed + +- **decidim-core**: Backport 'Fix / Expose createMapController properly to let overriding' to v0.26 [\#9520](https://github.com/decidim/decidim/pull/9520) +- **decidim-elections**: Backport 'Capture unhandled errors from JS promises and inform the user' to v0.26 [\#9521](https://github.com/decidim/decidim/pull/9521) +- **decidim-elections**: Backport 'Remove description from questions in elections' to v0.26 [\#9522](https://github.com/decidim/decidim/pull/9522) +- **decidim-initiatives**: Backport 'Return 404 when there isn't an initiative' to v0.26 [\#9523](https://github.com/decidim/decidim/pull/9523) +- **decidim-forms**, **decidim-meetings**, **decidim-surveys**: Backport 'Fix rollback questionnaire answer when file is invalid' to v0.26 [\#9524](https://github.com/decidim/decidim/pull/9524) +- **decidim-elections**: Backport 'Make sure component is published when starting an election' to v0.26 [\#9525](https://github.com/decidim/decidim/pull/9525) +- **decidim-core**, **decidim-meetings**, **decidim-proposals**: Backport 'Fix email subject when resource title has special characters' to v0.26 [\#9526](https://github.com/decidim/decidim/pull/9526) +- **decidim-core**: Backport 'Prevent users to validate nicknames/emails taken by user groups' to v0.26 [\#9527](https://github.com/decidim/decidim/pull/9527) +- **decidim-elections**: Backport 'Fix hardcoded hour in election dashboard' to v0.26 [\#9528](https://github.com/decidim/decidim/pull/9528) +- **decidim-comments**, **decidim-core**: Backport 'Fix long word breaking on comments and cards' to v0.26 [\#9529](https://github.com/decidim/decidim/pull/9529) +- **decidim-assemblies**, **decidim-conferences**, **decidim-consultations**, **decidim-core**, **decidim-elections**, **decidim-initiatives**, **decidim-participatory processes**: Backport 'Fix background-image URLs with weird characters' to v0.26 [\#9531](https://github.com/decidim/decidim/pull/9531) +- **decidim-assemblies**, **decidim-conferences**, **decidim-elections**: Backport 'Fix cache hash on Hightlighted spaces' to v0.26 [\#9536](https://github.com/decidim/decidim/pull/9536) +- **decidim-accountability**: Backport 'Add short format to result date' to v0.26 [\#9540](https://github.com/decidim/decidim/pull/9540) +- **decidim-elections**: Backport 'Advertise users if BB connection is lost in trustees/admin zones' to v0.26 [\#9535](https://github.com/decidim/decidim/pull/9535) +- **decidim-core**: Backport 'Fix email subject when participatory space title is present' to v0.26 [\#9573](https://github.com/decidim/decidim/pull/9573) +- **decidim-conferences**: Backport 'Fix published conferences order' to v0.26 [\#9688](https://github.com/decidim/decidim/pull/9688) +- **decidim-comments**: Backport 'Fix creation notification when editing a comment ' to v0.26 [\#9690](https://github.com/decidim/decidim/pull/9690) +- **decidim-elections**: Backport 'Remove margin-bottom on votings navigation' to v0.26 [\#9692](https://github.com/decidim/decidim/pull/9692) +- **decidim-initiatives**: Backport 'Use public link on initiatives mailer' to v0.26 [\#9694](https://github.com/decidim/decidim/pull/9694) +- **decidim-accountability**: Backport 'Disallow creating grandchildren results' to v0.26 [\#9698](https://github.com/decidim/decidim/pull/9698) +- **decidim-forms**, **decidim-meetings**: Backport 'Prevent showing announcement on meetings registrations' to v0.26 [\#9700](https://github.com/decidim/decidim/pull/9700) +- **decidim-initiatives**: Backport 'Fix for initiative mailer when promoting committee is disabled' to v0.26 [\#9696](https://github.com/decidim/decidim/pull/9696) +- **decidim-elections**: Backport 'Improve steps election check page with census' to v0.26 [\#9702](https://github.com/decidim/decidim/pull/9702) +- **decidim-core**: Backport 'Fix translated attributes field type change' to v0.26 [\#9704](https://github.com/decidim/decidim/pull/9704) +- **decidim-core**: Backport 'Prevent missing ActionLog entries to break the application' to v0.26 [\#9706](https://github.com/decidim/decidim/pull/9706) +- **decidim-proposals**: Backport 'Fix publish event on official proposals' to v0.26 [\#9708](https://github.com/decidim/decidim/pull/9708) +- **decidim-admin**, **decidim-proposals**: Backport 'Add help text for proposals' 'publish answers immediately' setting ' to v0.26 [\#9712](https://github.com/decidim/decidim/pull/9712) +- **decidim-conferences**: Backport 'Return 404 when there isn't a valid component in program' to v0.26 [\#9717](https://github.com/decidim/decidim/pull/9717) +- **decidim-budgets**: Backport 'Fix budgets seeds on non development apps' to v0.26 [\#9719](https://github.com/decidim/decidim/pull/9719) +- **decidim-core**: Backport 'Fix creating automatic nicknames when taken by user_groups' to v0.26 [\#9721](https://github.com/decidim/decidim/pull/9721) +- **decidim-debates**: Backport 'Fix resource endorsed notification with Debates' to v0.26 [\#9723](https://github.com/decidim/decidim/pull/9723) +- **decidim-meetings**: Backport 'Fix agenda_item association with agenda' to v0.26 [\#9728](https://github.com/decidim/decidim/pull/9728) +- **decidim-verifications**: Backport 'Fix absolute urls on 'managed user error' event' to v0.26 [\#9730](https://github.com/decidim/decidim/pull/9730) +- **decidim-core**: Backport 'Fix mobile notifications switch component overlaps' to v0.26 [\#9732](https://github.com/decidim/decidim/pull/9732) +- **decidim-core**: Backport 'Fix blocked user nickname and avatar in user presenter' to v0.26 [\#9741](https://github.com/decidim/decidim/pull/9741) +- **decidim-admin**: Backport 'Fix form error overlap with character counter in the admin panel' to v0.26 [\#9749](https://github.com/decidim/decidim/pull/9749) +- **decidim-core**: Backport 'Fix the endorsement permissions' to v0.26 [\#9734](https://github.com/decidim/decidim/pull/9734) +- **decidim-meetings**: Backport 'Fix order when filtering Meetings' to v0.26 [\#9751](https://github.com/decidim/decidim/pull/9751) +- **decidim-proposals**: Backport 'Fix redundant notification on comments with linked proposals' to v0.26 [\#9746](https://github.com/decidim/decidim/pull/9746) +- **decidim-core**: Backport 'Make the HERE Map display in the currently selected language' to v0.26 [\#9714](https://github.com/decidim/decidim/pull/9714) +- **decidim-admin**, **decidim-forms**: Backport 'Fix admin language selector with more than 4 locales' to v0.26 [\#9710](https://github.com/decidim/decidim/pull/9710) +- **decidim-meetings**: Backport 'Ignore participatory spaces without models in meetings visible_for scope' to v0.26 [\#9794](https://github.com/decidim/decidim/pull/9794) +- **decidim-admin**: Backport 'Fix leaking emails on admin user search controller' to 0.26 [\#9797](https://github.com/decidim/decidim/pull/9797) +- **decidim-assemblies**, **decidim-participatory processes**: Backport 'Fix import of images on spaces' to v0.26 [\#9803](https://github.com/decidim/decidim/pull/9803) +- **decidim-core**: Backport 'Fix hashtags not recognized at the beginning of the string' to v0.26 [\#9811](https://github.com/decidim/decidim/pull/9811) +- **decidim-accountability**, **decidim-core**, **decidim-debates**, **decidim-initiatives**, **decidim-meetings**, **decidim-proposals**: Backport 'Fix version pages showing a HTTP 500 error when the version does not exist' to v0.26 [\#9809](https://github.com/decidim/decidim/pull/9809) +- **decidim-core**: Backport 'Fix hidden error messages on the registration form' to v0.26 [\#9813](https://github.com/decidim/decidim/pull/9813) +- **decidim-core**: Backport 'Fix multitenant organizations stats cache' to v0.26 [\#9807](https://github.com/decidim/decidim/pull/9807) +- **decidim-admin**, **decidim-initiatives**: Backport 'Fix initiatives components' to v0.26 [\#9825](https://github.com/decidim/decidim/pull/9825) +- Backport 'Fix doorkeeper initialization after 5.6.0 release' to v0.26 [\#9788](https://github.com/decidim/decidim/pull/9788) + +### Removed + +Nothing. + +### Internal + +- Backport 'Fix invalid translation in spec' to v0.26 [\#9435](https://github.com/decidim/decidim/pull/9435) +- Backport 'Remove the description field from the elections component seeds' to v0.26 [\#9553](https://github.com/decidim/decidim/pull/9553) +- Fix API GraphiQL system spec for 0.26 with newer ChromeDriver [\#9556](https://github.com/decidim/decidim/pull/9556) +- Backport 'Update `rokroskar/workflow-run-cleanup-action` GitHub action to v0.3.3' to v0.26 [\#9829](https://github.com/decidim/decidim/pull/9829) +- Backport 'Split parallel test coverage reports into their own folders' to v0.26 [\#9819](https://github.com/decidim/decidim/pull/9819) +- Backport 'Improve release process' to v0.26 [\#9864](https://github.com/decidim/decidim/pull/9864) + +### Developer improvements + +Nothing. + ## [0.26.2](https://github.com/decidim/decidim/tree/v0.26.2) ### Added diff --git a/Gemfile.lock b/Gemfile.lock index 39c860fa1f321..16908fb76d928 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,62 +11,62 @@ GIT PATH remote: . specs: - decidim (0.26.2) - decidim-accountability (= 0.26.2) - decidim-admin (= 0.26.2) - decidim-api (= 0.26.2) - decidim-assemblies (= 0.26.2) - decidim-blogs (= 0.26.2) - decidim-budgets (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-debates (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-generators (= 0.26.2) - decidim-meetings (= 0.26.2) - decidim-pages (= 0.26.2) - decidim-participatory_processes (= 0.26.2) - decidim-proposals (= 0.26.2) - decidim-sortitions (= 0.26.2) - decidim-surveys (= 0.26.2) - decidim-system (= 0.26.2) - decidim-templates (= 0.26.2) - decidim-verifications (= 0.26.2) - decidim-accountability (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-admin (0.26.2) + decidim (0.26.3) + decidim-accountability (= 0.26.3) + decidim-admin (= 0.26.3) + decidim-api (= 0.26.3) + decidim-assemblies (= 0.26.3) + decidim-blogs (= 0.26.3) + decidim-budgets (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-debates (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-generators (= 0.26.3) + decidim-meetings (= 0.26.3) + decidim-pages (= 0.26.3) + decidim-participatory_processes (= 0.26.3) + decidim-proposals (= 0.26.3) + decidim-sortitions (= 0.26.3) + decidim-surveys (= 0.26.3) + decidim-system (= 0.26.3) + decidim-templates (= 0.26.3) + decidim-verifications (= 0.26.3) + decidim-accountability (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-admin (0.26.3) active_link_to (~> 1.0) - decidim-core (= 0.26.2) + decidim-core (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0) - decidim-api (0.26.2) + decidim-api (0.26.3) graphql (~> 1.12, < 1.13) rack-cors (~> 1.0) redcarpet (~> 3.5, >= 3.5.1) - decidim-assemblies (0.26.2) - decidim-core (= 0.26.2) - decidim-blogs (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-budgets (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-comments (0.26.2) - decidim-core (= 0.26.2) + decidim-assemblies (0.26.3) + decidim-core (= 0.26.3) + decidim-blogs (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-budgets (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-comments (0.26.3) + decidim-core (= 0.26.3) redcarpet (~> 3.5, >= 3.5.1) - decidim-conferences (0.26.2) - decidim-core (= 0.26.2) - decidim-meetings (= 0.26.2) + decidim-conferences (0.26.3) + decidim-core (= 0.26.3) + decidim-meetings (= 0.26.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-consultations (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-core (0.26.2) + decidim-consultations (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-core (0.26.3) active_link_to (~> 1.0) acts_as_list (~> 0.9) batch-loader (~> 1.2) @@ -76,7 +76,7 @@ PATH cells-rails (~> 0.1.3) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.26.2) + decidim-api (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -118,15 +118,15 @@ PATH valid_email2 (~> 2.1) webpacker (= 6.0.0.rc.5) wisper (~> 2.0) - decidim-debates (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-dev (0.26.2) + decidim-debates (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-dev (0.26.3) axe-core-rspec (~> 4.1.0) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.10.0) - decidim (= 0.26.2) + decidim (= 0.26.3) erb_lint (~> 0.0.35) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) @@ -149,63 +149,63 @@ PATH w3c_rspec_validators (~> 0.3.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-elections (0.26.2) + decidim-elections (0.26.3) decidim-bulletin_board (= 0.22.3) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-proposals (= 0.26.2) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-proposals (= 0.26.3) rack-attack (~> 6.0) voting_schemes-dummy (= 0.22.3) voting_schemes-electionguard (= 0.22.3) - decidim-forms (0.26.2) - decidim-core (= 0.26.2) + decidim-forms (0.26.3) + decidim-core (= 0.26.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.26.2) - decidim-core (= 0.26.2) - decidim-initiatives (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-verifications (= 0.26.2) + decidim-generators (0.26.3) + decidim-core (= 0.26.3) + decidim-initiatives (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-verifications (= 0.26.3) origami (~> 2.1) virtus-multiparams (~> 0.1) wicked (~> 1.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) + decidim-meetings (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) icalendar (~> 2.5) - decidim-pages (0.26.2) - decidim-core (= 0.26.2) - decidim-participatory_processes (0.26.2) - decidim-core (= 0.26.2) - decidim-proposals (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) + decidim-pages (0.26.3) + decidim-core (= 0.26.3) + decidim-participatory_processes (0.26.3) + decidim-core (= 0.26.3) + decidim-proposals (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) doc2text (~> 0.4.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-proposals (= 0.26.2) - decidim-surveys (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-templates (= 0.26.2) - decidim-system (0.26.2) + decidim-sortitions (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-proposals (= 0.26.3) + decidim-surveys (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-templates (= 0.26.3) + decidim-system (0.26.3) active_link_to (~> 1.0) - decidim-core (= 0.26.2) + decidim-core (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0) - decidim-templates (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-verifications (0.26.2) - decidim-core (= 0.26.2) + decidim-templates (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-verifications (0.26.3) + decidim-core (= 0.26.3) GEM remote: https://rubygems.org/ @@ -605,7 +605,7 @@ GEM rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) - rack-protection (2.2.0) + rack-protection (2.2.2) rack rack-proxy (0.7.2) rack diff --git a/decidim-accountability/lib/decidim/accountability/version.rb b/decidim-accountability/lib/decidim/accountability/version.rb index 8c4e687dc32db..302940377ccee 100644 --- a/decidim-accountability/lib/decidim/accountability/version.rb +++ b/decidim-accountability/lib/decidim/accountability/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds decidim-accountability version. module Accountability def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-admin/lib/decidim/admin/version.rb b/decidim-admin/lib/decidim/admin/version.rb index cde9bdd7f23fc..0cbc7962059d8 100644 --- a/decidim-admin/lib/decidim/admin/version.rb +++ b/decidim-admin/lib/decidim/admin/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-admin version. module Admin def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-api/lib/decidim/api/version.rb b/decidim-api/lib/decidim/api/version.rb index 08e17ca595ed8..895b04a2219ec 100644 --- a/decidim-api/lib/decidim/api/version.rb +++ b/decidim-api/lib/decidim/api/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-api version. module Api def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-assemblies/lib/decidim/assemblies/version.rb b/decidim-assemblies/lib/decidim/assemblies/version.rb index d158d20eb4599..2de0cdab1d366 100644 --- a/decidim-assemblies/lib/decidim/assemblies/version.rb +++ b/decidim-assemblies/lib/decidim/assemblies/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-assemblies version. module Assemblies def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-blogs/lib/decidim/blogs/version.rb b/decidim-blogs/lib/decidim/blogs/version.rb index 3fbedf6fb6494..4d4fd31d4fde9 100644 --- a/decidim-blogs/lib/decidim/blogs/version.rb +++ b/decidim-blogs/lib/decidim/blogs/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-pages version. module Blogs def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-budgets/lib/decidim/budgets/version.rb b/decidim-budgets/lib/decidim/budgets/version.rb index ed37f25e3a963..efb868b10eebe 100644 --- a/decidim-budgets/lib/decidim/budgets/version.rb +++ b/decidim-budgets/lib/decidim/budgets/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-budgets version. module Budgets def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-comments/lib/decidim/comments/version.rb b/decidim-comments/lib/decidim/comments/version.rb index fc1ad2db55ab1..bc5ba878f51ec 100644 --- a/decidim-comments/lib/decidim/comments/version.rb +++ b/decidim-comments/lib/decidim/comments/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-comments version. module Comments def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-conferences/lib/decidim/conferences/version.rb b/decidim-conferences/lib/decidim/conferences/version.rb index 872566b7d4fa4..434d6a25d781c 100644 --- a/decidim-conferences/lib/decidim/conferences/version.rb +++ b/decidim-conferences/lib/decidim/conferences/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-conferences version. module Conferences def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-consultations/lib/decidim/consultations/version.rb b/decidim-consultations/lib/decidim/consultations/version.rb index 0d89007c6d99b..cf4ab12f6ddfb 100644 --- a/decidim-consultations/lib/decidim/consultations/version.rb +++ b/decidim-consultations/lib/decidim/consultations/version.rb @@ -3,7 +3,7 @@ module Decidim module Consultations def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-core/lib/decidim/core/version.rb b/decidim-core/lib/decidim/core/version.rb index 8c2551c02dcb1..bd1ecfd4c6d95 100644 --- a/decidim-core/lib/decidim/core/version.rb +++ b/decidim-core/lib/decidim/core/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-core version. module Core def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-debates/lib/decidim/debates/version.rb b/decidim-debates/lib/decidim/debates/version.rb index 5f5107c96d842..f53e0b72b2e3f 100644 --- a/decidim-debates/lib/decidim/debates/version.rb +++ b/decidim-debates/lib/decidim/debates/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-debates version. module Debates def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-dev/lib/decidim/dev/version.rb b/decidim-dev/lib/decidim/dev/version.rb index 542164850f7ba..c2bbdedce9651 100644 --- a/decidim-dev/lib/decidim/dev/version.rb +++ b/decidim-dev/lib/decidim/dev/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-dev version. module Dev def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-elections/lib/decidim/elections/version.rb b/decidim-elections/lib/decidim/elections/version.rb index 7758e8ec5f0d6..d60f10ca4b08d 100644 --- a/decidim-elections/lib/decidim/elections/version.rb +++ b/decidim-elections/lib/decidim/elections/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-meetings version. module Elections def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-forms/lib/decidim/forms/version.rb b/decidim-forms/lib/decidim/forms/version.rb index c22f27a6d8603..e26beb9a6e38f 100644 --- a/decidim-forms/lib/decidim/forms/version.rb +++ b/decidim-forms/lib/decidim/forms/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-forms version. module Forms def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-generators/Gemfile.lock b/decidim-generators/Gemfile.lock index ffbcd7bf1f370..e3e91f6c2ed96 100644 --- a/decidim-generators/Gemfile.lock +++ b/decidim-generators/Gemfile.lock @@ -1,62 +1,62 @@ PATH remote: .. specs: - decidim (0.26.2) - decidim-accountability (= 0.26.2) - decidim-admin (= 0.26.2) - decidim-api (= 0.26.2) - decidim-assemblies (= 0.26.2) - decidim-blogs (= 0.26.2) - decidim-budgets (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-debates (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-generators (= 0.26.2) - decidim-meetings (= 0.26.2) - decidim-pages (= 0.26.2) - decidim-participatory_processes (= 0.26.2) - decidim-proposals (= 0.26.2) - decidim-sortitions (= 0.26.2) - decidim-surveys (= 0.26.2) - decidim-system (= 0.26.2) - decidim-templates (= 0.26.2) - decidim-verifications (= 0.26.2) - decidim-accountability (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-admin (0.26.2) + decidim (0.26.3) + decidim-accountability (= 0.26.3) + decidim-admin (= 0.26.3) + decidim-api (= 0.26.3) + decidim-assemblies (= 0.26.3) + decidim-blogs (= 0.26.3) + decidim-budgets (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-debates (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-generators (= 0.26.3) + decidim-meetings (= 0.26.3) + decidim-pages (= 0.26.3) + decidim-participatory_processes (= 0.26.3) + decidim-proposals (= 0.26.3) + decidim-sortitions (= 0.26.3) + decidim-surveys (= 0.26.3) + decidim-system (= 0.26.3) + decidim-templates (= 0.26.3) + decidim-verifications (= 0.26.3) + decidim-accountability (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-admin (0.26.3) active_link_to (~> 1.0) - decidim-core (= 0.26.2) + decidim-core (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0) - decidim-api (0.26.2) + decidim-api (0.26.3) graphql (~> 1.12, < 1.13) rack-cors (~> 1.0) redcarpet (~> 3.5, >= 3.5.1) - decidim-assemblies (0.26.2) - decidim-core (= 0.26.2) - decidim-blogs (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-budgets (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-comments (0.26.2) - decidim-core (= 0.26.2) + decidim-assemblies (0.26.3) + decidim-core (= 0.26.3) + decidim-blogs (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-budgets (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-comments (0.26.3) + decidim-core (= 0.26.3) redcarpet (~> 3.5, >= 3.5.1) - decidim-conferences (0.26.2) - decidim-core (= 0.26.2) - decidim-meetings (= 0.26.2) + decidim-conferences (0.26.3) + decidim-core (= 0.26.3) + decidim-meetings (= 0.26.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-consultations (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-core (0.26.2) + decidim-consultations (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-core (0.26.3) active_link_to (~> 1.0) acts_as_list (~> 0.9) batch-loader (~> 1.2) @@ -66,7 +66,7 @@ PATH cells-rails (~> 0.1.3) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.26.2) + decidim-api (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -108,15 +108,15 @@ PATH valid_email2 (~> 2.1) webpacker (= 6.0.0.rc.5) wisper (~> 2.0) - decidim-debates (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-dev (0.26.2) + decidim-debates (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-dev (0.26.3) axe-core-rspec (~> 4.1.0) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.10.0) - decidim (= 0.26.2) + decidim (= 0.26.3) erb_lint (~> 0.0.35) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) @@ -139,63 +139,63 @@ PATH w3c_rspec_validators (~> 0.3.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-elections (0.26.2) + decidim-elections (0.26.3) decidim-bulletin_board (= 0.22.3) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-proposals (= 0.26.2) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-proposals (= 0.26.3) rack-attack (~> 6.0) voting_schemes-dummy (= 0.22.3) voting_schemes-electionguard (= 0.22.3) - decidim-forms (0.26.2) - decidim-core (= 0.26.2) + decidim-forms (0.26.3) + decidim-core (= 0.26.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.26.2) - decidim-core (= 0.26.2) - decidim-initiatives (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-verifications (= 0.26.2) + decidim-generators (0.26.3) + decidim-core (= 0.26.3) + decidim-initiatives (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-verifications (= 0.26.3) origami (~> 2.1) virtus-multiparams (~> 0.1) wicked (~> 1.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) + decidim-meetings (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) icalendar (~> 2.5) - decidim-pages (0.26.2) - decidim-core (= 0.26.2) - decidim-participatory_processes (0.26.2) - decidim-core (= 0.26.2) - decidim-proposals (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) + decidim-pages (0.26.3) + decidim-core (= 0.26.3) + decidim-participatory_processes (0.26.3) + decidim-core (= 0.26.3) + decidim-proposals (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) doc2text (~> 0.4.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-proposals (= 0.26.2) - decidim-surveys (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-templates (= 0.26.2) - decidim-system (0.26.2) + decidim-sortitions (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-proposals (= 0.26.3) + decidim-surveys (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-templates (= 0.26.3) + decidim-system (0.26.3) active_link_to (~> 1.0) - decidim-core (= 0.26.2) + decidim-core (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0) - decidim-templates (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-verifications (0.26.2) - decidim-core (= 0.26.2) + decidim-templates (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-verifications (0.26.3) + decidim-core (= 0.26.3) GEM remote: https://rubygems.org/ @@ -263,7 +263,7 @@ GEM addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) ast (2.4.2) - axe-core-api (4.4.0) + axe-core-api (4.4.1) dumb_delegator virtus axe-core-rspec (4.1.0) @@ -337,7 +337,7 @@ GEM crack (0.4.5) rexml crass (1.0.6) - css_parser (1.11.0) + css_parser (1.12.0) addressable date_validator (0.9.0) activemodel @@ -368,12 +368,12 @@ GEM actionmailer (>= 5.0) devise (>= 4.6) diff-lcs (1.5.0) - diffy (3.4.1) + diffy (3.4.2) doc2text (0.4.4) nokogiri (>= 1.12.5, < 1.13.0) rubyzip (~> 2.3.0) docile (1.4.0) - doorkeeper (5.5.4) + doorkeeper (5.6.0) railties (>= 5) doorkeeper-i18n (4.0.1) dumb_delegator (1.0.0) @@ -389,7 +389,7 @@ GEM erbse (0.1.4) temple erubi (1.10.0) - excon (0.92.3) + excon (0.92.5) execjs (2.8.1) factory_bot (4.11.1) activesupport (>= 3.0.0) @@ -398,7 +398,7 @@ GEM railties (>= 3.0.0) faker (2.18.0) i18n (>= 1.6, < 2) - faraday (1.10.0) + faraday (1.10.2) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -468,7 +468,7 @@ GEM rails-i18n rainbow (>= 2.2.2, < 4.0) terminal-table (>= 1.5.1) - icalendar (2.7.1) + icalendar (2.8.0) ice_cube (~> 0.16) ice_cube (0.16.4) ice_nine (0.11.2) @@ -533,7 +533,6 @@ GEM mixlib-shellout (3.2.7) chef-utils msgpack (1.4.2) - multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.2.3) mustache (1.1.1) @@ -541,30 +540,36 @@ GEM nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) - oauth (0.5.10) - oauth2 (1.4.9) + oauth (1.1.0) + oauth-tty (~> 1.0, >= 1.0.1) + snaky_hash (~> 2.0) + version_gem (~> 1.1) + oauth-tty (1.0.5) + version_gem (~> 1.1, >= 1.1.1) + oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) - multi_json (~> 1.3) multi_xml (~> 0.5) - rack (>= 1.2, < 3) + rack (>= 1.2, < 4) + snaky_hash (~> 2.0) + version_gem (~> 1.1) omniauth (2.1.0) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection omniauth-facebook (5.0.0) omniauth-oauth2 (~> 1.2) - omniauth-google-oauth2 (1.0.1) + omniauth-google-oauth2 (1.1.1) jwt (>= 2.0) - oauth2 (~> 1.1) + oauth2 (~> 2.0.6) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) + omniauth-oauth2 (~> 1.8.0) omniauth-oauth (1.2.0) oauth omniauth (>= 1.0, < 3) - omniauth-oauth2 (1.7.2) - oauth2 (~> 1.4) - omniauth (>= 1.9, < 3) + omniauth-oauth2 (1.8.0) + oauth2 (>= 1.4, < 3) + omniauth (~> 2.0) omniauth-rails_csrf_protection (1.0.1) actionpack (>= 4.2) omniauth (~> 2.0) @@ -578,15 +583,15 @@ GEM activerecord (>= 5.2) request_store (~> 1.1) parallel (1.22.1) - parser (3.1.2.0) + parser (3.1.2.1) ast (~> 2.4.1) pg (1.1.4) pg_search (2.3.6) activerecord (>= 5.2) activesupport (>= 5.2) - premailer (1.16.0) + premailer (1.17.0) addressable - css_parser (>= 1.6.0) + css_parser (>= 1.12.0) htmlentities (>= 4.0.0) premailer-rails (1.11.1) actionmailer (>= 3) @@ -600,9 +605,9 @@ GEM rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) - rack-protection (2.2.0) + rack-protection (3.0.1) rack - rack-proxy (0.7.2) + rack-proxy (0.7.4) rack rack-test (1.1.0) rack (>= 1.0, < 3) @@ -655,8 +660,8 @@ GEM virtus (~> 1.0.5) wisper (>= 1.6.1) redcarpet (3.5.1) - redis (4.6.0) - regexp_parser (2.5.0) + redis (4.8.0) + regexp_parser (2.6.0) request_store (1.5.1) rack (>= 1.4) responders (3.0.1) @@ -672,7 +677,7 @@ GEM rspec-rails (< 6.0) rspec-core (3.11.0) rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + rspec-expectations (3.11.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.11.0) rspec-html-matchers (0.9.4) @@ -691,7 +696,7 @@ GEM rspec-support (~> 3.10) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.11.0) + rspec-support (3.11.1) rspec_junit_formatter (0.3.0) rspec-core (>= 2, < 4, != 2.12.0) rubocop (0.92.0) @@ -703,7 +708,7 @@ GEM rubocop-ast (>= 0.5.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.18.0) + rubocop-ast (1.21.0) parser (>= 3.1.1.0) rubocop-rails (2.9.1) activesupport (>= 4.2.0) @@ -732,20 +737,23 @@ GEM simplecov (~> 0.8) simplecov-html (0.12.3) smart_properties (1.17.0) + snaky_hash (2.0.1) + hashie + version_gem (~> 1.1, >= 1.1.1) social-share-button (1.2.4) coffee-rails spring (2.1.1) spring-watcher-listen (2.0.1) listen (>= 2.7, < 4.0) spring (>= 1.2, < 3.0) - sprockets (4.0.3) + sprockets (4.1.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-rails (3.4.2) actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - ssrf_filter (1.0.7) + ssrf_filter (1.1.1) system_test_html_screenshots (0.2.0) actionpack (>= 5.2, < 6.1.a) temple (0.8.2) @@ -753,7 +761,7 @@ GEM unicode-display_width (>= 1.1.1, < 3) thor (1.1.0) thread_safe (0.3.6) - tilt (2.0.10) + tilt (2.0.11) tomlrb (2.0.3) tzinfo (1.2.9) thread_safe (~> 0.1) @@ -762,6 +770,7 @@ GEM valid_email2 (2.3.1) activemodel (>= 3.2) mail (~> 2.5) + version_gem (1.1.1) virtus (1.0.5) axiom-types (~> 0.1) coercible (~> 1.0) @@ -788,7 +797,7 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webmock (3.14.0) + webmock (3.18.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/decidim-generators/lib/decidim/generators/version.rb b/decidim-generators/lib/decidim/generators/version.rb index 27ff876ef9874..afa1e45aa12e5 100644 --- a/decidim-generators/lib/decidim/generators/version.rb +++ b/decidim-generators/lib/decidim/generators/version.rb @@ -4,7 +4,7 @@ module Decidim module Generators def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-initiatives/lib/decidim/initiatives/version.rb b/decidim-initiatives/lib/decidim/initiatives/version.rb index 49e9bc382b39f..ddbd039ca6abc 100644 --- a/decidim-initiatives/lib/decidim/initiatives/version.rb +++ b/decidim-initiatives/lib/decidim/initiatives/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-initiatives version. module Initiatives def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-meetings/lib/decidim/meetings/version.rb b/decidim-meetings/lib/decidim/meetings/version.rb index e26f03b63003e..9e9d93b747b10 100644 --- a/decidim-meetings/lib/decidim/meetings/version.rb +++ b/decidim-meetings/lib/decidim/meetings/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-meetings version. module Meetings def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-pages/lib/decidim/pages/version.rb b/decidim-pages/lib/decidim/pages/version.rb index 2c9e2ec046488..910d90bfa785b 100644 --- a/decidim-pages/lib/decidim/pages/version.rb +++ b/decidim-pages/lib/decidim/pages/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-pages version. module Pages def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb b/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb index c6e1e67d50991..0d1f531298f5d 100644 --- a/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb +++ b/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-participatory_processes version. module ParticipatoryProcesses def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-proposals/lib/decidim/proposals/version.rb b/decidim-proposals/lib/decidim/proposals/version.rb index 253d7067d1cc1..85342f7b35b69 100644 --- a/decidim-proposals/lib/decidim/proposals/version.rb +++ b/decidim-proposals/lib/decidim/proposals/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds decidim-proposals version. module Proposals def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-sortitions/lib/decidim/sortitions/version.rb b/decidim-sortitions/lib/decidim/sortitions/version.rb index 4d6301667615d..a89735e70b4b5 100644 --- a/decidim-sortitions/lib/decidim/sortitions/version.rb +++ b/decidim-sortitions/lib/decidim/sortitions/version.rb @@ -3,7 +3,7 @@ module Decidim module Sortitions def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-surveys/lib/decidim/surveys/version.rb b/decidim-surveys/lib/decidim/surveys/version.rb index 44ab15fd9a40c..15775cbb18f52 100644 --- a/decidim-surveys/lib/decidim/surveys/version.rb +++ b/decidim-surveys/lib/decidim/surveys/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-surveys version. module Surveys def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-system/lib/decidim/system/version.rb b/decidim-system/lib/decidim/system/version.rb index ea55f403e5cce..19a42e8d48507 100644 --- a/decidim-system/lib/decidim/system/version.rb +++ b/decidim-system/lib/decidim/system/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-system version. module System def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-templates/lib/decidim/templates/version.rb b/decidim-templates/lib/decidim/templates/version.rb index ad303e9133558..5dc1a87ed6821 100644 --- a/decidim-templates/lib/decidim/templates/version.rb +++ b/decidim-templates/lib/decidim/templates/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-templates version. module Templates def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim-verifications/lib/decidim/verifications/version.rb b/decidim-verifications/lib/decidim/verifications/version.rb index 125814888b0ac..ac2cd65d1439a 100644 --- a/decidim-verifications/lib/decidim/verifications/version.rb +++ b/decidim-verifications/lib/decidim/verifications/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-verifications version. module Verifications def self.version - "0.26.2" + "0.26.3" end end end diff --git a/decidim_app-design/Gemfile.lock b/decidim_app-design/Gemfile.lock index 716fb0427c964..71351ccb13874 100644 --- a/decidim_app-design/Gemfile.lock +++ b/decidim_app-design/Gemfile.lock @@ -11,62 +11,62 @@ GIT PATH remote: .. specs: - decidim (0.26.2) - decidim-accountability (= 0.26.2) - decidim-admin (= 0.26.2) - decidim-api (= 0.26.2) - decidim-assemblies (= 0.26.2) - decidim-blogs (= 0.26.2) - decidim-budgets (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-debates (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-generators (= 0.26.2) - decidim-meetings (= 0.26.2) - decidim-pages (= 0.26.2) - decidim-participatory_processes (= 0.26.2) - decidim-proposals (= 0.26.2) - decidim-sortitions (= 0.26.2) - decidim-surveys (= 0.26.2) - decidim-system (= 0.26.2) - decidim-templates (= 0.26.2) - decidim-verifications (= 0.26.2) - decidim-accountability (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-admin (0.26.2) + decidim (0.26.3) + decidim-accountability (= 0.26.3) + decidim-admin (= 0.26.3) + decidim-api (= 0.26.3) + decidim-assemblies (= 0.26.3) + decidim-blogs (= 0.26.3) + decidim-budgets (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-debates (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-generators (= 0.26.3) + decidim-meetings (= 0.26.3) + decidim-pages (= 0.26.3) + decidim-participatory_processes (= 0.26.3) + decidim-proposals (= 0.26.3) + decidim-sortitions (= 0.26.3) + decidim-surveys (= 0.26.3) + decidim-system (= 0.26.3) + decidim-templates (= 0.26.3) + decidim-verifications (= 0.26.3) + decidim-accountability (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-admin (0.26.3) active_link_to (~> 1.0) - decidim-core (= 0.26.2) + decidim-core (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0) - decidim-api (0.26.2) + decidim-api (0.26.3) graphql (~> 1.12, < 1.13) rack-cors (~> 1.0) redcarpet (~> 3.5, >= 3.5.1) - decidim-assemblies (0.26.2) - decidim-core (= 0.26.2) - decidim-blogs (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-budgets (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-comments (0.26.2) - decidim-core (= 0.26.2) + decidim-assemblies (0.26.3) + decidim-core (= 0.26.3) + decidim-blogs (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-budgets (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-comments (0.26.3) + decidim-core (= 0.26.3) redcarpet (~> 3.5, >= 3.5.1) - decidim-conferences (0.26.2) - decidim-core (= 0.26.2) - decidim-meetings (= 0.26.2) + decidim-conferences (0.26.3) + decidim-core (= 0.26.3) + decidim-meetings (= 0.26.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-consultations (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-core (0.26.2) + decidim-consultations (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-core (0.26.3) active_link_to (~> 1.0) acts_as_list (~> 0.9) batch-loader (~> 1.2) @@ -76,7 +76,7 @@ PATH cells-rails (~> 0.1.3) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.26.2) + decidim-api (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -118,15 +118,15 @@ PATH valid_email2 (~> 2.1) webpacker (= 6.0.0.rc.5) wisper (~> 2.0) - decidim-debates (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-dev (0.26.2) + decidim-debates (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-dev (0.26.3) axe-core-rspec (~> 4.1.0) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.10.0) - decidim (= 0.26.2) + decidim (= 0.26.3) erb_lint (~> 0.0.35) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) @@ -149,63 +149,63 @@ PATH w3c_rspec_validators (~> 0.3.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-elections (0.26.2) + decidim-elections (0.26.3) decidim-bulletin_board (= 0.22.3) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-proposals (= 0.26.2) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-proposals (= 0.26.3) rack-attack (~> 6.0) voting_schemes-dummy (= 0.22.3) voting_schemes-electionguard (= 0.22.3) - decidim-forms (0.26.2) - decidim-core (= 0.26.2) + decidim-forms (0.26.3) + decidim-core (= 0.26.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.26.2) - decidim-core (= 0.26.2) - decidim-initiatives (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-verifications (= 0.26.2) + decidim-generators (0.26.3) + decidim-core (= 0.26.3) + decidim-initiatives (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-verifications (= 0.26.3) origami (~> 2.1) virtus-multiparams (~> 0.1) wicked (~> 1.3) wicked_pdf (~> 2.1) wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) + decidim-meetings (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) icalendar (~> 2.5) - decidim-pages (0.26.2) - decidim-core (= 0.26.2) - decidim-participatory_processes (0.26.2) - decidim-core (= 0.26.2) - decidim-proposals (0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) + decidim-pages (0.26.3) + decidim-core (= 0.26.3) + decidim-participatory_processes (0.26.3) + decidim-core (= 0.26.3) + decidim-proposals (0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) doc2text (~> 0.4.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.26.2) - decidim-admin (= 0.26.2) - decidim-comments (= 0.26.2) - decidim-core (= 0.26.2) - decidim-proposals (= 0.26.2) - decidim-surveys (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-templates (= 0.26.2) - decidim-system (0.26.2) + decidim-sortitions (0.26.3) + decidim-admin (= 0.26.3) + decidim-comments (= 0.26.3) + decidim-core (= 0.26.3) + decidim-proposals (= 0.26.3) + decidim-surveys (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-templates (= 0.26.3) + decidim-system (0.26.3) active_link_to (~> 1.0) - decidim-core (= 0.26.2) + decidim-core (= 0.26.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0) - decidim-templates (0.26.2) - decidim-core (= 0.26.2) - decidim-forms (= 0.26.2) - decidim-verifications (0.26.2) - decidim-core (= 0.26.2) + decidim-templates (0.26.3) + decidim-core (= 0.26.3) + decidim-forms (= 0.26.3) + decidim-verifications (0.26.3) + decidim-core (= 0.26.3) GEM remote: https://rubygems.org/ @@ -273,7 +273,7 @@ GEM addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) ast (2.4.2) - axe-core-api (4.4.0) + axe-core-api (4.4.1) dumb_delegator virtus axe-core-rspec (4.1.0) @@ -347,7 +347,7 @@ GEM crack (0.4.5) rexml crass (1.0.6) - css_parser (1.11.0) + css_parser (1.12.0) addressable date_validator (0.9.0) activemodel @@ -378,12 +378,12 @@ GEM actionmailer (>= 5.0) devise (>= 4.6) diff-lcs (1.5.0) - diffy (3.4.1) + diffy (3.4.2) doc2text (0.4.4) nokogiri (>= 1.12.5, < 1.13.0) rubyzip (~> 2.3.0) docile (1.4.0) - doorkeeper (5.5.4) + doorkeeper (5.6.0) railties (>= 5) doorkeeper-i18n (4.0.1) dumb_delegator (1.0.0) @@ -399,7 +399,7 @@ GEM erbse (0.1.4) temple erubi (1.10.0) - excon (0.92.3) + excon (0.92.5) execjs (2.8.1) factory_bot (4.11.1) activesupport (>= 3.0.0) @@ -408,7 +408,7 @@ GEM railties (>= 3.0.0) faker (2.18.0) i18n (>= 1.6, < 2) - faraday (1.10.0) + faraday (1.10.2) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -473,7 +473,7 @@ GEM rails-i18n rainbow (>= 2.2.2, < 4.0) terminal-table (>= 1.5.1) - icalendar (2.7.1) + icalendar (2.8.0) ice_cube (~> 0.16) ice_cube (0.16.4) ice_nine (0.11.2) @@ -538,7 +538,6 @@ GEM mixlib-shellout (3.2.7) chef-utils msgpack (1.4.2) - multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.2.3) mustache (1.1.1) @@ -546,30 +545,36 @@ GEM nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) - oauth (0.5.10) - oauth2 (1.4.9) + oauth (1.1.0) + oauth-tty (~> 1.0, >= 1.0.1) + snaky_hash (~> 2.0) + version_gem (~> 1.1) + oauth-tty (1.0.5) + version_gem (~> 1.1, >= 1.1.1) + oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) - multi_json (~> 1.3) multi_xml (~> 0.5) - rack (>= 1.2, < 3) + rack (>= 1.2, < 4) + snaky_hash (~> 2.0) + version_gem (~> 1.1) omniauth (2.1.0) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection omniauth-facebook (5.0.0) omniauth-oauth2 (~> 1.2) - omniauth-google-oauth2 (1.0.1) + omniauth-google-oauth2 (1.1.1) jwt (>= 2.0) - oauth2 (~> 1.1) + oauth2 (~> 2.0.6) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) + omniauth-oauth2 (~> 1.8.0) omniauth-oauth (1.2.0) oauth omniauth (>= 1.0, < 3) - omniauth-oauth2 (1.7.2) - oauth2 (~> 1.4) - omniauth (>= 1.9, < 3) + omniauth-oauth2 (1.8.0) + oauth2 (>= 1.4, < 3) + omniauth (~> 2.0) omniauth-rails_csrf_protection (1.0.1) actionpack (>= 4.2) omniauth (~> 2.0) @@ -589,9 +594,9 @@ GEM pg_search (2.3.6) activerecord (>= 5.2) activesupport (>= 5.2) - premailer (1.16.0) + premailer (1.17.0) addressable - css_parser (>= 1.6.0) + css_parser (>= 1.12.0) htmlentities (>= 4.0.0) premailer-rails (1.11.1) actionmailer (>= 3) @@ -605,9 +610,9 @@ GEM rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) - rack-protection (2.2.0) + rack-protection (3.0.1) rack - rack-proxy (0.7.2) + rack-proxy (0.7.4) rack rack-test (1.1.0) rack (>= 1.0, < 3) @@ -660,7 +665,7 @@ GEM virtus (~> 1.0.5) wisper (>= 1.6.1) redcarpet (3.5.1) - redis (4.6.0) + redis (4.8.0) regexp_parser (2.1.1) request_store (1.5.1) rack (>= 1.4) @@ -677,7 +682,7 @@ GEM rspec-rails (< 6.0) rspec-core (3.11.0) rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + rspec-expectations (3.11.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.11.0) rspec-html-matchers (0.9.4) @@ -696,7 +701,7 @@ GEM rspec-support (~> 3.10) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.11.0) + rspec-support (3.11.1) rspec_junit_formatter (0.3.0) rspec-core (>= 2, < 4, != 2.12.0) rubocop (0.92.0) @@ -740,20 +745,23 @@ GEM simplecov (~> 0.8) simplecov-html (0.12.3) smart_properties (1.17.0) + snaky_hash (2.0.1) + hashie + version_gem (~> 1.1, >= 1.1.1) social-share-button (1.2.4) coffee-rails spring (2.1.1) spring-watcher-listen (2.0.1) listen (>= 2.7, < 4.0) spring (>= 1.2, < 3.0) - sprockets (4.0.3) + sprockets (4.1.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-rails (3.4.2) actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - ssrf_filter (1.0.7) + ssrf_filter (1.1.1) system_test_html_screenshots (0.2.0) actionpack (>= 5.2, < 6.1.a) temple (0.8.2) @@ -761,7 +769,7 @@ GEM unicode-display_width (>= 1.1.1, < 3) thor (1.1.0) thread_safe (0.3.6) - tilt (2.0.10) + tilt (2.0.11) tomlrb (2.0.3) tzinfo (1.2.9) thread_safe (~> 0.1) @@ -770,6 +778,7 @@ GEM valid_email2 (2.3.1) activemodel (>= 3.2) mail (~> 2.5) + version_gem (1.1.1) virtus (1.0.5) axiom-types (~> 0.1) coercible (~> 1.0) @@ -796,7 +805,7 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webmock (3.14.0) + webmock (3.18.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/decidim_app-design/package-lock.json b/decidim_app-design/package-lock.json index 865a4ae70cace..9c822b6f07590 100644 --- a/decidim_app-design/package-lock.json +++ b/decidim_app-design/package-lock.json @@ -21439,12 +21439,12 @@ }, "packages/browserslist-config": { "name": "@decidim/browserslist-config", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0" }, "packages/core": { "name": "@decidim/core", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0", "dependencies": { "@joeattardi/emoji-button": "^4.6.0", @@ -21499,7 +21499,7 @@ }, "packages/dev": { "name": "@decidim/dev", - "version": "0.26.2", + "version": "0.26.3", "dev": true, "license": "AGPL-3.0", "dependencies": { @@ -21508,7 +21508,7 @@ }, "packages/elections": { "name": "@decidim/elections", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0", "dependencies": { "@decidim/decidim-bulletin_board": "0.22.3", @@ -21518,7 +21518,7 @@ }, "packages/eslint-config": { "name": "@decidim/eslint-config", - "version": "0.26.2", + "version": "0.26.3", "dev": true, "license": "AGPL-3.0", "peerDependencies": { @@ -21535,7 +21535,7 @@ }, "packages/stylelint-config": { "name": "@decidim/stylelint-config", - "version": "0.26.2", + "version": "0.26.3", "dev": true, "license": "AGPL-3.0", "peerDependencies": { @@ -21544,7 +21544,7 @@ }, "packages/webpacker": { "name": "@decidim/webpacker", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0", "dependencies": { "@babel/core": "^7.13.13", diff --git a/decidim_app-design/packages/browserslist-config/package.json b/decidim_app-design/packages/browserslist-config/package.json index 1bc381788fc5c..d22b424f84774 100644 --- a/decidim_app-design/packages/browserslist-config/package.json +++ b/decidim_app-design/packages/browserslist-config/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/browserslist-config", "description": "The Browserslist configuration for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/decidim_app-design/packages/core/package.json b/decidim_app-design/packages/core/package.json index b23372904a335..d653db9330ace 100644 --- a/decidim_app-design/packages/core/package.json +++ b/decidim_app-design/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/core", "description": "The core dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/decidim_app-design/packages/dev/package.json b/decidim_app-design/packages/dev/package.json index 62ea03ca7cd2b..31ebbcd2a8037 100644 --- a/decidim_app-design/packages/dev/package.json +++ b/decidim_app-design/packages/dev/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/dev", "description": "The dev dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/decidim_app-design/packages/elections/package.json b/decidim_app-design/packages/elections/package.json index 93e296a9427bf..10499aa019207 100644 --- a/decidim_app-design/packages/elections/package.json +++ b/decidim_app-design/packages/elections/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/elections", "description": "The elections and votings dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/decidim_app-design/packages/eslint-config/package.json b/decidim_app-design/packages/eslint-config/package.json index 0d05ed410694c..6ad276aa103f7 100644 --- a/decidim_app-design/packages/eslint-config/package.json +++ b/decidim_app-design/packages/eslint-config/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/eslint-config", "description": "The eslint configuration for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/decidim_app-design/packages/stylelint-config/package.json b/decidim_app-design/packages/stylelint-config/package.json index a70100ec2d6a6..dd8b86a657b5e 100644 --- a/decidim_app-design/packages/stylelint-config/package.json +++ b/decidim_app-design/packages/stylelint-config/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/stylelint-config", "description": "The stylelint configuration for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/decidim_app-design/packages/webpacker/package.json b/decidim_app-design/packages/webpacker/package.json index 3d5da19ba2a46..f6f16f160b5ca 100644 --- a/decidim_app-design/packages/webpacker/package.json +++ b/decidim_app-design/packages/webpacker/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/webpacker", "description": "The webpacker dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/lib/decidim/version.rb b/lib/decidim/version.rb index ed37be0b0899a..7f930a67f0dca 100644 --- a/lib/decidim/version.rb +++ b/lib/decidim/version.rb @@ -3,6 +3,6 @@ # This holds the decidim version and the faker version it uses. module Decidim def self.version - "0.26.2" + "0.26.3" end end diff --git a/package-lock.json b/package-lock.json index 865a4ae70cace..9c822b6f07590 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21439,12 +21439,12 @@ }, "packages/browserslist-config": { "name": "@decidim/browserslist-config", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0" }, "packages/core": { "name": "@decidim/core", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0", "dependencies": { "@joeattardi/emoji-button": "^4.6.0", @@ -21499,7 +21499,7 @@ }, "packages/dev": { "name": "@decidim/dev", - "version": "0.26.2", + "version": "0.26.3", "dev": true, "license": "AGPL-3.0", "dependencies": { @@ -21508,7 +21508,7 @@ }, "packages/elections": { "name": "@decidim/elections", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0", "dependencies": { "@decidim/decidim-bulletin_board": "0.22.3", @@ -21518,7 +21518,7 @@ }, "packages/eslint-config": { "name": "@decidim/eslint-config", - "version": "0.26.2", + "version": "0.26.3", "dev": true, "license": "AGPL-3.0", "peerDependencies": { @@ -21535,7 +21535,7 @@ }, "packages/stylelint-config": { "name": "@decidim/stylelint-config", - "version": "0.26.2", + "version": "0.26.3", "dev": true, "license": "AGPL-3.0", "peerDependencies": { @@ -21544,7 +21544,7 @@ }, "packages/webpacker": { "name": "@decidim/webpacker", - "version": "0.26.2", + "version": "0.26.3", "license": "AGPL-3.0", "dependencies": { "@babel/core": "^7.13.13", diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index 1bc381788fc5c..d22b424f84774 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/browserslist-config", "description": "The Browserslist configuration for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/packages/core/package.json b/packages/core/package.json index b23372904a335..d653db9330ace 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/core", "description": "The core dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/packages/dev/package.json b/packages/dev/package.json index 62ea03ca7cd2b..31ebbcd2a8037 100644 --- a/packages/dev/package.json +++ b/packages/dev/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/dev", "description": "The dev dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/packages/elections/package.json b/packages/elections/package.json index 93e296a9427bf..10499aa019207 100644 --- a/packages/elections/package.json +++ b/packages/elections/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/elections", "description": "The elections and votings dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 0d05ed410694c..6ad276aa103f7 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/eslint-config", "description": "The eslint configuration for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index a70100ec2d6a6..dd8b86a657b5e 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/stylelint-config", "description": "The stylelint configuration for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", diff --git a/packages/webpacker/package.json b/packages/webpacker/package.json index 3d5da19ba2a46..f6f16f160b5ca 100644 --- a/packages/webpacker/package.json +++ b/packages/webpacker/package.json @@ -1,7 +1,7 @@ { "name": "@decidim/webpacker", "description": "The webpacker dependencies for Decidim", - "version": "0.26.2", + "version": "0.26.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git", From 540e5d88e8b86dbcda38747cdf6ced2a6d4f59ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 25 Oct 2022 11:24:30 +0200 Subject: [PATCH 43/90] Bump version for Antora (#9919) --- docs/antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/antora.yml b/docs/antora.yml index f1c7d8faf5cd6..1bb34d5f9d147 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,6 +1,6 @@ name: en title: "Decidim Documentation" -version: master +version: v0.26 asciidoc: attributes: page-lang: en@ From c3385d5a1daf9cbb330f63b9095da0bc07d0e803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:34:12 +0100 Subject: [PATCH 44/90] Prevent the account edit route through Devise (#9932) * Redefine the registration routes manually In order to prevent the default route to be served through Devise. * Remove unused view and its translations Co-authored-by: Antti Hukkanen --- .../devise/registrations_controller.rb | 4 ++ .../devise/registrations/edit.html.erb | 41 ------------------- decidim-core/config/locales/en.yml | 9 ---- decidim-core/config/routes.rb | 22 +++++++++- 4 files changed, 24 insertions(+), 52 deletions(-) delete mode 100644 decidim-core/app/views/decidim/devise/registrations/edit.html.erb diff --git a/decidim-core/app/controllers/decidim/devise/registrations_controller.rb b/decidim-core/app/controllers/decidim/devise/registrations_controller.rb index a12165251bb68..4ebb3e982624a 100644 --- a/decidim-core/app/controllers/decidim/devise/registrations_controller.rb +++ b/decidim-core/app/controllers/decidim/devise/registrations_controller.rb @@ -58,6 +58,10 @@ def build_resource(hash = nil) super(hash) resource.organization = current_organization end + + def devise_mapping + ::Devise.mappings[:user] + end end end end diff --git a/decidim-core/app/views/decidim/devise/registrations/edit.html.erb b/decidim-core/app/views/decidim/devise/registrations/edit.html.erb deleted file mode 100644 index b0f3c96879b06..0000000000000 --- a/decidim-core/app/views/decidim/devise/registrations/edit.html.erb +++ /dev/null @@ -1,41 +0,0 @@ -

    <%= t("devise.registrations.edit.title", resource: resource_class.model_name.human) %>

    - -<%= decidim_form_for(resource, namespace: "registration", as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %> - <%= render "devise/shared/error_messages", resource: resource %> - <%= form_required_explanation %> - <%= invisible_captcha %> - -
    - <%= f.email_field :email %> -
    - - <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %> -

    - <%= t("devise.registrations.edit.currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %> -

    - <% end %> - -
    - <%= f.password_field :password, autocomplete: "off" %> -
    - -
    - <%= f.password_field :password_confirmation %> -
    - -
    - <%= f.password_field :current_password %> -
    - -
    - <%= f.text_field :name %> -
    - -
    <%= f.submit t("devise.registrations.edit.update") %>
    -<% end %> - -

    <%= t("devise.registrations.edit.cancel_my_account") %>

    - -

    <%= t("devise.registrations.edit.unhappy") %> <%= link_to t("devise.registrations.edit.cancel_my_account"), registration_path(resource_name), data: { confirm: t("devise.registrations.edit.are_you_sure") }, method: :delete %>.

    - -<%= link_to t("devise.shared.links.back"), :back %> diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml index 705d88a8abafb..b08ff6d168c08 100644 --- a/decidim-core/config/locales/en.yml +++ b/decidim-core/config/locales/en.yml @@ -1553,15 +1553,6 @@ en: updated_not_active: Your password has been successfully changed. registrations: destroyed: Your account has been successfully cancelled. We hope to see you again soon. - edit: - are_you_sure: Are you sure? - cancel_my_account: Cancel my account - currently_waiting_confirmation_for_email: 'Currently waiting confirmation for: %{email}' - leave_blank_if_you_don_t_want_to_change_it: leave blank if you don't want to change it - title: Edit %{resource} - unhappy: Unhappy? - update: Update - we_need_your_current_password_to_confirm_your_changes: we need your current password to confirm your changes new: sign_up: Sign up signed_up: Welcome! You have signed up successfully. diff --git a/decidim-core/config/routes.rb b/decidim-core/config/routes.rb index d30f7f2e9b04c..5501e8e7901a7 100644 --- a/decidim-core/config/routes.rb +++ b/decidim-core/config/routes.rb @@ -11,11 +11,29 @@ invitations: "decidim/devise/invitations", sessions: "decidim/devise/sessions", confirmations: "decidim/devise/confirmations", - registrations: "decidim/devise/registrations", passwords: "decidim/devise/passwords", unlocks: "decidim/devise/unlocks", omniauth_callbacks: "decidim/devise/omniauth_registrations" - } + }, + skip: [:registrations] + + # Manually define the registration routes because otherwise the default "edit" + # route would be exposed through Devise while we already have the edit and + # destroy routes available through the account pages. + resource( + :registration, + only: [:new, :create], + as: :user_registration, + path: "/users", + path_names: { new: "sign_up" }, + controller: "devise/registrations" + ) do + # The "cancel" route forces the session data which is usually expired after + # sign in to be expired now. This is useful if the user wants to cancel + # OAuth signing in/up in the middle of the process, removing all OAuth + # session data. @see [Devise::RegistrationsController#cancel] + get :cancel + end devise_for :user_groups, class_name: "Decidim::UserGroup", From 3c9c033b0ec6a22aa8bac38a0c6edc39fb03d25e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:36:10 +0100 Subject: [PATCH 45/90] Backport 'Fix unpublished processes shown in the group process count' to v0.26 (#9934) * Fix unpublished processes shown in the group process count * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../content_blocks/title_cell.rb | 9 ++++++++- .../content_blocks/title_cell_spec.rb | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb b/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb index aac0268651a5d..7822ca626070e 100644 --- a/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb +++ b/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb @@ -43,11 +43,18 @@ def decidim_participatory_processes end def participatory_processes_count - @participatory_processes_count ||= participatory_process_group.participatory_processes.count + @participatory_processes_count ||= processes.count end private + def processes + @processes ||= Decidim::ParticipatoryProcesses::GroupPublishedParticipatoryProcesses.new( + participatory_process_group, + current_user + ).query + end + def group_uri @group_uri = URI.parse(group_url) end diff --git a/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb b/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb index 532bad0162a9f..fd584bff7717a 100644 --- a/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb +++ b/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb @@ -69,5 +69,14 @@ expect(subject).to have_no_selector("svg.icon--globe") end end + + context "when there are unpublished processes in the group" do + let!(:published_processes) { create_list(:participatory_process, 2, :published, organization: organization, participatory_process_group: participatory_process_group) } + let!(:unpublished_processes) { create_list(:participatory_process, 2, :unpublished, organization: organization, participatory_process_group: participatory_process_group) } + + it "shows correct participatory processes count" do + expect(subject).to have_content("2 processes") + end + end end end From feaf21a769d00fda7e39968576e68e6f6d42a782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:37:49 +0100 Subject: [PATCH 46/90] Fix global moderation types not translated (#9937) Co-authored-by: Antti Hukkanen --- .../decidim/admin/moderations/index.html.erb | 2 +- .../admin/test/manage_moderations_examples.rb | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/decidim-admin/app/views/decidim/admin/moderations/index.html.erb b/decidim-admin/app/views/decidim/admin/moderations/index.html.erb index 95e30e8b7935c..71f5ebb44835c 100644 --- a/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +++ b/decidim-admin/app/views/decidim/admin/moderations/index.html.erb @@ -37,7 +37,7 @@ <%= moderation.reportable.id %> - <%= moderation.reportable.class.name.demodulize %> + <%= moderation.reportable.class.model_name.human %> <% if !respond_to?(:current_participatory_space) %> diff --git a/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb b/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb index 20e4c4b6f17a9..e5d3a99c7e224 100644 --- a/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb +++ b/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb @@ -110,6 +110,39 @@ expect(page).to have_no_selector("tr[data-id=\"#{moderation.id}\"]") end end + + context "when the user changes language" do + around do |example| + previous_backend = I18n.backend + I18n.backend = I18n::Backend::Simple.new + example.run + I18n.backend = previous_backend + end + + before do + I18n.backend.store_translations( + :ca, + activerecord: { + models: { + moderation.reportable.class.name.underscore.to_sym => { + one: "Objecte informable", + other: "Objectes informables" + } + } + } + ) + + within_language_menu do + click_link "Català" + end + end + + it "renders the reportable types in the selected language" do + within "tr[data-id=\"#{moderation.id}\"]" do + expect(page).to have_content("Objecte informable") + end + end + end end context "when listing hidden resources" do From e5c1bb737e6993b77c0fcf98ec28c84d2e491c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:38:33 +0100 Subject: [PATCH 47/90] Fix updating organization settings in case there were errors (#9938) Co-authored-by: Antti Hukkanen --- .../decidim/admin/organization_controller.rb | 1 + .../system/admin_manages_organization_spec.rb | 54 +++++++++++++------ 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/decidim-admin/app/controllers/decidim/admin/organization_controller.rb b/decidim-admin/app/controllers/decidim/admin/organization_controller.rb index e9ca3c2e15241..b5d566b68c723 100644 --- a/decidim-admin/app/controllers/decidim/admin/organization_controller.rb +++ b/decidim-admin/app/controllers/decidim/admin/organization_controller.rb @@ -15,6 +15,7 @@ def edit def update enforce_permission_to :update, :organization, organization: current_organization @form = form(OrganizationForm).from_params(params) + @form.id = current_organization.id UpdateOrganization.call(current_organization, @form) do on(:ok) do diff --git a/decidim-admin/spec/system/admin_manages_organization_spec.rb b/decidim-admin/spec/system/admin_manages_organization_spec.rb index d07d2d5982495..fd08927d3e1d0 100644 --- a/decidim-admin/spec/system/admin_manages_organization_spec.rb +++ b/decidim-admin/spec/system/admin_manages_organization_spec.rb @@ -355,27 +355,49 @@ expect(organization[:welcome_notification_subject]).to be_nil expect(organization.send_welcome_notification).to be_truthy end + end - context "when customizing it" do - it "shows the custom fields and stores them" do - visit decidim_admin.edit_organization_path - check "Send welcome notification" - check "Customize welcome notification" + context "when customizing it" do + it "shows the custom fields and stores them" do + visit decidim_admin.edit_organization_path + check "Send welcome notification" + check "Customize welcome notification" - fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs", - en: "Well hello!" + fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs", + en: "Well hello!" - fill_in_i18n_editor :organization_welcome_notification_body, "#organization-welcome_notification_body-tabs", - en: "

    Body

    " + fill_in_i18n_editor :organization_welcome_notification_body, "#organization-welcome_notification_body-tabs", + en: "

    Body

    " - click_button "Update" - expect(page).to have_content("updated successfully") + click_button "Update" + expect(page).to have_content("updated successfully") - organization.reload - expect(organization.send_welcome_notification).to be_truthy - expect(organization[:welcome_notification_subject]).to include("en" => "Well hello!") - expect(organization[:welcome_notification_body]).to include("en" => "

    Body

    ") - end + organization.reload + expect(organization.send_welcome_notification).to be_truthy + expect(organization[:welcome_notification_subject]).to include("en" => "Well hello!") + expect(organization[:welcome_notification_body]).to include("en" => "

    Body

    ") + end + + it "allows re-sending the form in case there was an error on the form" do + visit decidim_admin.edit_organization_path + check "Send welcome notification" + check "Customize welcome notification" + + fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs", + en: "" + + click_button "Update" + expect(page).to have_content("There was a problem updating this organization.") + + fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs", + en: "Well hello!" + + click_button "Update" + expect(page).to have_content("updated successfully") + + organization.reload + expect(organization.send_welcome_notification).to be_truthy + expect(organization[:welcome_notification_subject]).to include("en" => "Well hello!") end end end From b228cc7655ac759fd62e7639f169e3de3a96e8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:43:46 +0100 Subject: [PATCH 48/90] Backport 'Do not import resources multiple times' to v0.26 (#9942) * Do not import resources multiple times * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../budgets/admin/import_proposals_to_budgets.rb | 5 ++++- .../admin/import_proposals_to_budgets_spec.rb | 16 ++++++++++++++++ decidim-core/lib/decidim/resourceable.rb | 9 +++++---- .../admin/import_proposals_to_elections.rb | 5 ++++- .../admin/import_proposals_to_elections_spec.rb | 16 ++++++++++++++++ .../decidim/proposals/admin/import_proposals.rb | 5 ++++- .../proposals/admin/import_proposals_spec.rb | 13 +++++++++++++ 7 files changed, 62 insertions(+), 7 deletions(-) diff --git a/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb b/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb index c31057163a7c2..97addf67f1c75 100644 --- a/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb +++ b/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb @@ -81,7 +81,10 @@ def origin_component end def proposal_already_copied?(original_proposal) - original_proposal.linked_resources(:projects, "included_proposals").any? do |project| + # Note: we are including also projects from unpublished components + # because otherwise duplicates could be created until the component is + # published. + original_proposal.linked_resources(:projects, "included_proposals", component_published: false).any? do |project| project.budget == form.budget end end diff --git a/decidim-budgets/spec/commands/decidim/budgets/admin/import_proposals_to_budgets_spec.rb b/decidim-budgets/spec/commands/decidim/budgets/admin/import_proposals_to_budgets_spec.rb index 325b5580d35ac..3e52e0941a9c7 100644 --- a/decidim-budgets/spec/commands/decidim/budgets/admin/import_proposals_to_budgets_spec.rb +++ b/decidim-budgets/spec/commands/decidim/budgets/admin/import_proposals_to_budgets_spec.rb @@ -96,6 +96,22 @@ module Admin expect(first_project.title).to eq(proposal.title) expect(last_project.title).to eq(second_proposal.title) end + + context "and the current component was not published" do + before { current_component.unpublish! } + + it "doesn't import it again" do + expect do + command.call + end.to change { Project.where(budget: budget).count }.by(1) + + projects = Project.where(budget: budget) + first_project = projects.first + last_project = projects.last + expect(first_project.title).to eq(proposal.title) + expect(last_project.title).to eq(second_proposal.title) + end + end end it "links the proposals" do diff --git a/decidim-core/lib/decidim/resourceable.rb b/decidim-core/lib/decidim/resourceable.rb index 66182a9752b6e..c05553b90a7ad 100644 --- a/decidim-core/lib/decidim/resourceable.rb +++ b/decidim-core/lib/decidim/resourceable.rb @@ -25,8 +25,8 @@ module Resourceable # link_name - The String name of the link between this model and the target resource. # # Returns an ActiveRecord::Relation. - def linked_resources(resource_name, link_name) - scope = sibling_scope(resource_name) + def linked_resources(resource_name, link_name, component_published: true) + scope = sibling_scope(resource_name, component_published: component_published) from = scope .joins(:resource_links_from) @@ -45,14 +45,15 @@ def linked_resources(resource_name, link_name) # resource_name - The String name of the resource manifest exposed by a component. # # Returns an ActiveRecord::Relation. - def sibling_scope(resource_name) + def sibling_scope(resource_name, component_published: true) manifest = Decidim.find_resource_manifest(resource_name) return self.class.none unless manifest scope = manifest.resource_scope(component) scope = scope.where("#{self.class.table_name}.id != ?", id) if manifest.model_class == self.class scope = scope.not_hidden if manifest.model_class.respond_to?(:not_hidden) - scope.includes(:component).where.not(decidim_components: { published_at: nil }) + scope = scope.includes(:component).where.not(decidim_components: { published_at: nil }) if component_published + scope end # Links the given resources to this model, replaces any previous links with the same name. diff --git a/decidim-elections/app/commands/decidim/elections/admin/import_proposals_to_elections.rb b/decidim-elections/app/commands/decidim/elections/admin/import_proposals_to_elections.rb index bce323b50e801..b9dfdfd5dd3d7 100644 --- a/decidim-elections/app/commands/decidim/elections/admin/import_proposals_to_elections.rb +++ b/decidim-elections/app/commands/decidim/elections/admin/import_proposals_to_elections.rb @@ -77,7 +77,10 @@ def target_question end def proposal_already_copied?(original_proposal) - original_proposal.linked_resources(:answers, "related_proposals").any? do |answer| + # Note: we are including also answers from unpublished components + # because otherwise duplicates could be created until the component is + # published. + original_proposal.linked_resources(:answers, "related_proposals", component_published: false).any? do |answer| answer.question == target_question end end diff --git a/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb b/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb index cc2b8ce2ce075..18f887c5abc1e 100644 --- a/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb +++ b/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb @@ -81,6 +81,22 @@ module Admin expect(first_answer.title).to eq(proposal.title) expect(last_answer.title).to eq(proposal.title) end + + context "and the current component was not published" do + before { component.unpublish! } + + it "doesn't import it again" do + expect do + command.call + end.not_to(change { Decidim::Elections::Answer.where(question: question).count }) + + answers = Decidim::Elections::Answer.where(question: question) + first_answer = answers.first + last_answer = answers.last + expect(first_answer.title).to eq(proposal.title) + expect(last_answer.title).to eq(proposal.title) + end + end end it "links the proposals" do diff --git a/decidim-proposals/app/commands/decidim/proposals/admin/import_proposals.rb b/decidim-proposals/app/commands/decidim/proposals/admin/import_proposals.rb index 1b86753fbbf55..3dc06e7dd5a8a 100644 --- a/decidim-proposals/app/commands/decidim/proposals/admin/import_proposals.rb +++ b/decidim-proposals/app/commands/decidim/proposals/admin/import_proposals.rb @@ -76,7 +76,10 @@ def target_component end def proposal_already_copied?(original_proposal, target_component) - original_proposal.linked_resources(:proposals, "copied_from_component").any? do |proposal| + # Note: we are including also proposals from unpublished components + # because otherwise duplicates could be created until the component is + # published. + original_proposal.linked_resources(:proposals, "copied_from_component", component_published: false).any? do |proposal| proposal.component == target_component end end diff --git a/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb b/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb index d6718b9544021..d08967d95e895 100644 --- a/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb +++ b/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb @@ -88,6 +88,19 @@ module Admin titles = Proposal.where(component: current_component).map(&:title) expect(titles).to match_array([proposal.title, second_proposal.title]) end + + context "and the current component was not published" do + before { current_component.unpublish! } + + it "doesn't import it again" do + expect do + command.call + end.to change { Proposal.where(component: current_component).count }.by(1) + + titles = Proposal.where(component: current_component).map(&:title) + expect(titles).to match_array([proposal.title, second_proposal.title]) + end + end end it "links the proposals" do From 5b5423f7779efe5b54a08e3a5d104d798df47412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:45:56 +0100 Subject: [PATCH 49/90] Backport 'Fix form answer attachments breaking the answer view' to v0.26 (#9945) * Fix form answer attachments breaking the answer view * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../admin/questionnaire_answer_presenter.rb | 9 ++++--- decidim-forms/config/locales/en.yml | 2 ++ .../manage_questionnaire_answers.rb | 27 +++++++++++++++++-- .../questionnaire_answer_presenter_spec.rb | 17 ++++++++++++ 4 files changed, 50 insertions(+), 5 deletions(-) diff --git a/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb b/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb index 51f8e3c87a01f..2604e50456c06 100644 --- a/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +++ b/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb @@ -46,11 +46,14 @@ def pretty_attachment(attachment) # rubocop:disable Style/StringConcatenation # Interpolating strings that are `html_safe` is problematic with Rails. content_tag :li do - link_to(translated_attribute(attachment.title), attachment.url) + - " " + - content_tag(:small) do + link_to(attachment.url, target: "_blank", rel: "noopener noreferrer") do + content_tag(:span) do + translated_attribute(attachment.title).presence || + I18n.t("download_attachment", scope: "decidim.forms.questionnaire_answer_presenter") + end + " " + content_tag(:small) do "#{attachment.file_type} #{number_to_human_size(attachment.file_size)}" end + end end # rubocop:enable Style/StringConcatenation end diff --git a/decidim-forms/config/locales/en.yml b/decidim-forms/config/locales/en.yml index 40c3fc522ba4b..c4a6af3487397 100644 --- a/decidim-forms/config/locales/en.yml +++ b/decidim-forms/config/locales/en.yml @@ -143,6 +143,8 @@ en: single_option: Single option sorting: Sorting title_and_description: Title and description + questionnaire_answer_presenter: + download_attachment: Download attachment questionnaires: answer: invalid: There was a problem answering the form. diff --git a/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb b/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb index 383956c40c53c..643ae3edc541b 100644 --- a/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +++ b/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb @@ -10,8 +10,11 @@ let!(:second) do create :questionnaire_question, questionnaire: questionnaire, position: 2, question_type: "single_option" end + let!(:third) do + create :questionnaire_question, questionnaire: questionnaire, position: 3, question_type: "files" + end let(:questions) do - [first, second] + [first, second, third] end context "when there are no answers" do @@ -25,6 +28,7 @@ let!(:answer1) { create :answer, questionnaire: questionnaire, question: first } let!(:answer2) { create :answer, body: "second answer", questionnaire: questionnaire, question: first } let!(:answer3) { create :answer, questionnaire: questionnaire, question: second } + let!(:file_answer) { create :answer, :with_attachments, questionnaire: questionnaire, question: third, body: nil, user: answer3.user, session_token: answer3.session_token } it "shows the answer admin link" do visit questionnaire_edit_path @@ -45,7 +49,7 @@ end it "shows the percentage" do - expect(page).to have_content("50%") + expect(page).to have_content("33%") end it "has a detail link" do @@ -121,6 +125,25 @@ expect(page).not_to have_link("Next ›") expect(page).to have_link("‹ Prev") end + + it "third answer has download link for the attachments" do + click_link answer3.session_token, match: :first + expect(page).to have_content(translated(file_answer.attachments.first.title)) + expect(page).to have_content(translated(file_answer.attachments.second.title)) + end + + context "when the file answer does not have a title for the attachment" do + let!(:file_answer) { create :answer, questionnaire: questionnaire, question: third, body: nil, user: answer3.user, session_token: answer3.session_token } + + before do + create :attachment, :with_image, attached_to: file_answer, title: {}, description: {} + end + + it "third answer has download link for the attachments" do + click_link answer3.session_token, match: :first + expect(page).to have_content("Download attachment") + end + end end end end diff --git a/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb b/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb index 1f97429af72a8..d8b2eb5fc7ea0 100644 --- a/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb +++ b/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb @@ -73,6 +73,23 @@ module Decidim end end end + + context "when the answer has an attachment" do + let!(:answer) { create(:answer, body: nil) } + let!(:attachment) { create(:attachment, :with_image, attached_to: answer) } + + it "returns the download attachment link" do + expect(subject.body).to eq(%()) + end + + context "when the attachment does not have a title" do + let!(:attachment) { create(:attachment, :with_image, attached_to: answer, title: {}, description: {}) } + + it "returns the download attachment link" do + expect(subject.body).to eq(%()) + end + end + end end end end From a01843936f005baf3bc6de0375141f11b65b546f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:50:03 +0100 Subject: [PATCH 50/90] Fix "disappearing" underscores with comments (#9654) (#9949) The underscores were actually converted into ``s which is not desired. Co-authored-by: Antti Hukkanen --- .../lib/decidim/comments/markdown.rb | 12 +++++++ .../lib/decidim/comments/markdown_spec.rb | 33 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 decidim-comments/spec/lib/decidim/comments/markdown_spec.rb diff --git a/decidim-comments/lib/decidim/comments/markdown.rb b/decidim-comments/lib/decidim/comments/markdown.rb index 15bc71dae1e93..7b6c9452cfa6d 100644 --- a/decidim-comments/lib/decidim/comments/markdown.rb +++ b/decidim-comments/lib/decidim/comments/markdown.rb @@ -50,6 +50,18 @@ def paragraph(text) "

    #{text}

    " end + + # Prevents underscores to be replaced with tags in comments, such as + # https://github.com/org/module_with_underscores or within words such as + # "Look for comment_maximum_length in the code". The `no_intra_emphasis` + # option for Redcarpet does not apparently work for this renderer. + # + # Related issues: + # https://github.com/vmg/redcarpet/issues/402 + # https://github.com/vmg/redcarpet/issues/427 + def emphasis(text) + "_#{text}_" + end end end end diff --git a/decidim-comments/spec/lib/decidim/comments/markdown_spec.rb b/decidim-comments/spec/lib/decidim/comments/markdown_spec.rb new file mode 100644 index 0000000000000..b13c2eeb0cc82 --- /dev/null +++ b/decidim-comments/spec/lib/decidim/comments/markdown_spec.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + module Comments + describe Markdown do + subject { markdown } + + let(:markdown) { Decidim::Comments::Markdown.new } + + describe "#render" do + subject { markdown.render(text) } + + context "with underscores" do + let(:text) { "Look for comment_maximum_length in the code." } + + it "does not replace the underscores" do + expect(subject).to eq("

    #{text}

    ") + end + end + + context "with underscore links" do + let(:text) { "Check out https://decidim.org/democracy_for_everyone for more information." } + + it "does not replace the underscores" do + expect(subject).to eq(%(

    #{text}

    )) + end + end + end + end + end +end From b7d91163bb6c20837ac218356b3dd33def51dce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:50:46 +0100 Subject: [PATCH 51/90] Fix editor content saving when the content has only one video (#9951) * Allow only videos on the rich text editor * Add a spec testing adding only a video through Quill Co-authored-by: Antti Hukkanen --- .../system/admin_manages_organization_spec.rb | 23 +++++++++++++++++++ decidim-core/app/packs/src/decidim/editor.js | 10 ++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/decidim-admin/spec/system/admin_manages_organization_spec.rb b/decidim-admin/spec/system/admin_manages_organization_spec.rb index fd08927d3e1d0..feaeb3a50b4db 100644 --- a/decidim-admin/spec/system/admin_manages_organization_spec.rb +++ b/decidim-admin/spec/system/admin_manages_organization_spec.rb @@ -339,6 +339,29 @@ )["innerHTML"]).to eq(terms_content.to_s.gsub("\n", "")) end end + + context "when the admin terms of use content has only a video" do + let(:organization) { create(:organization, admin_terms_of_use_body: {}) } + + it "saves the content correctly with the video" do + within ".editor" do + within ".editor .ql-toolbar" do + find("button.ql-video").click + end + within "div[data-mode='video'].ql-tooltip.ql-editing" do + find("input[data-video='Embed URL']").fill_in with: "https://www.youtube.com/watch?v=f6JMgJAQ2tc" + find("a.ql-action").click + end + end + + click_button "Update" + + organization.reload + expect(translated(organization.admin_terms_of_use_body)).to eq( + %() + ) + end + end end end diff --git a/decidim-core/app/packs/src/decidim/editor.js b/decidim-core/app/packs/src/decidim/editor.js index f833cd5eb71a9..cee6068173d3e 100644 --- a/decidim-core/app/packs/src/decidim/editor.js +++ b/decidim-core/app/packs/src/decidim/editor.js @@ -10,6 +10,7 @@ export default function createQuillEditor(container) { const toolbar = $(container).data("toolbar"); const disabled = $(container).data("disabled"); + const allowedEmptyContentSelector = "iframe"; let quillToolbar = [ ["bold", "italic", "underline", "linebreak"], [{ list: "ordered" }, { list: "bullet" }], @@ -93,10 +94,15 @@ export default function createQuillEditor(container) { }); container.dispatchEvent(event); - if (text === "\n" || text === "\n\n") { + if ((text === "\n" || text === "\n\n") && quill.root.querySelectorAll(allowedEmptyContentSelector).length === 0) { $input.val(""); } else { - $input.val(quill.root.innerHTML); + const emptyParagraph = "


    "; + const cleanHTML = quill.root.innerHTML.replace( + new RegExp(`^${emptyParagraph}|${emptyParagraph}$`, "g"), + "" + ); + $input.val(cleanHTML); } }); // After editor is ready, linebreak_module deletes two extraneous new lines From d7cdbec2549fee23f489e0731073c8548afddbaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:56:42 +0100 Subject: [PATCH 52/90] Fix collaborative drafts page when there are errors on the form (#9955) Co-authored-by: Antti Hukkanen --- .../collaborative_drafts_controller.rb | 2 +- .../_wizard_aside.html.erb | 2 +- decidim-proposals/config/locales/en.yml | 2 +- .../collaborative_drafts_fields_spec.rb | 25 +++++++++++++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb b/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb index 16eb83177c701..110c17205e774 100644 --- a/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +++ b/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb @@ -63,7 +63,7 @@ def create on(:invalid) do flash.now[:alert] = I18n.t("proposals.collaborative_drafts.create.error", scope: "decidim") - render :complete + render :new end end end diff --git a/decidim-proposals/app/views/decidim/proposals/collaborative_drafts/_wizard_aside.html.erb b/decidim-proposals/app/views/decidim/proposals/collaborative_drafts/_wizard_aside.html.erb index c1ce0167b9f9a..d15044d0a72cf 100644 --- a/decidim-proposals/app/views/decidim/proposals/collaborative_drafts/_wizard_aside.html.erb +++ b/decidim-proposals/app/views/decidim/proposals/collaborative_drafts/_wizard_aside.html.erb @@ -1,6 +1,6 @@
    - <%= link_to :back do %> + <%= link_to collaborative_drafts_path do %> <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %> <%= t("back_from_collaborative_draft", scope: "decidim.proposals.collaborative_drafts.wizard_aside").html_safe %> <% end %> diff --git a/decidim-proposals/config/locales/en.yml b/decidim-proposals/config/locales/en.yml index b6a8bcf152a38..4fdd61aa00187 100644 --- a/decidim-proposals/config/locales/en.yml +++ b/decidim-proposals/config/locales/en.yml @@ -637,7 +637,7 @@ en: one: "%{count} collaborative draft" other: "%{count} collaborative drafts" create: - error: There was a problem creating this collaborative drafts + error: There was a problem creating this collaborative draft. success: Collaborative draft successfully created. edit: attachment_legend: "(Optional) Add an attachment" diff --git a/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb b/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb index a4c31ed139e9f..c49b0405ba5de 100644 --- a/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb +++ b/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb @@ -90,6 +90,31 @@ expect(page).to have_author(user.name) end + context "when there are errors on the form", :slow do + before do + visit new_collaborative_draft_path + + within ".new_collaborative_draft" do + fill_in :collaborative_draft_title, with: "More sidewalks and less roads" + fill_in :collaborative_draft_body, with: "Cities" + + find("*[type=submit]").click + end + end + + it "shows the form with the error message" do + expect(page).to have_content("There was a problem creating this collaborative draft.") + expect(page).to have_field(:collaborative_draft_title, with: "More sidewalks and less roads") + expect(page).to have_field(:collaborative_draft_body, with: "Cities") + end + + it "allows returning to the index" do + click_link "Back to collaborative drafts" + + expect(page).to have_content("0 COLLABORATIVE DRAFTS") + end + end + context "when geocoding is enabled", :serves_map, :serves_geocoding_autocomplete do let!(:component) do create(:proposal_component, From 0ee0f0ea0ad409a62f7cd0ac3a0a2846874349ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:57:24 +0100 Subject: [PATCH 53/90] Fix the finite value on the debate form when editing an existing debate (#9957) Co-authored-by: Antti Hukkanen --- .../app/forms/decidim/debates/admin/debate_form.rb | 1 + .../forms/decidim/debates/admin/debate_form_spec.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb b/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb index 805ddcda83636..eb3fdb8e3ca56 100644 --- a/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb +++ b/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb @@ -29,6 +29,7 @@ class DebateForm < Decidim::Form validates :scope_id, scope_belongs_to_component: true, if: ->(form) { form.scope_id.present? } def map_model(model) + self.finite = model.start_time.present? && model.end_time.present? self.decidim_category_id = model.categorization.decidim_category_id if model.categorization presenter = DebatePresenter.new(model) diff --git a/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb b/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb index da83082efa55a..769b83ae22eeb 100644 --- a/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb +++ b/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb @@ -118,5 +118,17 @@ it "sets the form category id correctly" do expect(subject.decidim_category_id).to eq category.id end + + it "sets the finite value correctly" do + expect(subject.finite).to be(false) + end + + context "when the debate has start and end dates" do + let(:debate) { create :debate, :open_ama } + + it "sets the finite value correctly" do + expect(subject.finite).to be(true) + end + end end end From 5f040f4d33cfe397511bbda10f2392ce903b9c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 13:58:29 +0100 Subject: [PATCH 54/90] Backport 'Fix exporting and importing a page component' to v0.26 (#9959) * Fix exporting and importing a page component * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../decidim/pages/data_importer.rb | 25 +++++++++++ .../decidim/pages/data_serializer.rb | 22 ++++++++++ decidim-pages/lib/decidim/pages/component.rb | 3 ++ .../decidim/pages/data_importer_spec.rb | 44 +++++++++++++++++++ .../decidim/pages/data_serializer_spec.rb | 18 ++++++++ 5 files changed, 112 insertions(+) create mode 100644 decidim-pages/app/serializers/decidim/pages/data_importer.rb create mode 100644 decidim-pages/app/serializers/decidim/pages/data_serializer.rb create mode 100644 decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb create mode 100644 decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb diff --git a/decidim-pages/app/serializers/decidim/pages/data_importer.rb b/decidim-pages/app/serializers/decidim/pages/data_importer.rb new file mode 100644 index 0000000000000..6d91d22412029 --- /dev/null +++ b/decidim-pages/app/serializers/decidim/pages/data_importer.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Decidim + module Pages + # Importer for Pages specific data (i.e. its page content). + class DataImporter < Decidim::Importers::Importer + def initialize(component) + @component = component + end + + # Creates a new Decidim::Pages::Page associated to the given **component** + # for the serialized page object. + # + # @param serialized [Hash] The serialized data read from the import file. + # @param _user [Decidim::User] The user performing the import. + # @return [Decidim::Pages::Page] The imported page + def import(serialized, _user) + Page.create!( + component: @component, + body: serialized["body"] + ) + end + end + end +end diff --git a/decidim-pages/app/serializers/decidim/pages/data_serializer.rb b/decidim-pages/app/serializers/decidim/pages/data_serializer.rb new file mode 100644 index 0000000000000..9c4cbe4a85bf8 --- /dev/null +++ b/decidim-pages/app/serializers/decidim/pages/data_serializer.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Decidim + module Pages + # This class serializes the specific data in each Page. This is the page + # data outside of the component settings. + class DataSerializer < Decidim::Exporters::Serializer + include Decidim::TranslationsHelper + + # Serializes the page data for this component. + # + # @return [Hash] The serialized data + def serialize + page = Page.find_by(component: resource) + + { + body: page&.body || empty_translatable + } + end + end + end +end diff --git a/decidim-pages/lib/decidim/pages/component.rb b/decidim-pages/lib/decidim/pages/component.rb index f17c7e4ae4060..ccee39c862347 100644 --- a/decidim-pages/lib/decidim/pages/component.rb +++ b/decidim-pages/lib/decidim/pages/component.rb @@ -6,6 +6,9 @@ component.engine = Decidim::Pages::Engine component.admin_engine = Decidim::Pages::AdminEngine component.icon = "media/images/decidim_pages.svg" + component.serializes_specific_data = true + component.specific_data_serializer_class_name = "Decidim::Pages::DataSerializer" + component.specific_data_importer_class_name = "Decidim::Pages::DataImporter" component.permissions_class_name = "Decidim::Pages::Permissions" component.query_type = "Decidim::Pages::PagesType" diff --git a/decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb b/decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb new file mode 100644 index 0000000000000..02233c10d568b --- /dev/null +++ b/decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim::Pages + describe DataImporter do + let(:importer) { described_class.new(component) } + + let(:organization) { create(:organization) } + let(:user) { create(:user, :admin, :confirmed, organization: organization) } + let(:participatory_process) { create(:participatory_process, organization: organization) } + let(:component) { create(:component, manifest_name: "pages", participatory_space: participatory_process) } + + describe "#import" do + subject { importer.import(as_json, user) } + + let(:as_json) do + JSON.parse( + <<~JSON + { + "body": { + "en": "English content", + "ca": "Catalan content", + "es": "Spanish content" + } + } + JSON + ) + end + + it "imports the page" do + expect(subject).to be_a(Decidim::Pages::Page) + expect(subject.id).to eq(Page.find_by(component: component).id) + expect(subject.body).to eq( + { + "en" => "English content", + "ca" => "Catalan content", + "es" => "Spanish content" + } + ) + end + end + end +end diff --git a/decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb b/decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb new file mode 100644 index 0000000000000..2fde0b376386e --- /dev/null +++ b/decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim::Pages + describe DataSerializer do + let!(:page) { create(:page) } + let(:serializer) { described_class.new(page.component) } + + describe "#serialize" do + subject { serializer.serialize } + + it "serializes the page data" do + expect(subject).to eq({ body: page.body }) + end + end + end +end From abe2936596c410962c9aa5711f37f31dfaac2de3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:02:20 +0100 Subject: [PATCH 55/90] Backport 'Fix importing participatory process from legacy format' to v0.26 (#9964) * Fix importing participatory process from legacy format * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../participatory_process_importer.rb | 2 +- .../participatory_process_importer_spec.rb | 99 +++++++++++++++++++ 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb diff --git a/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb b/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb index f949374d8bdb0..d02f1a90ecb52 100644 --- a/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +++ b/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb @@ -55,7 +55,7 @@ def import(attributes, _user, opts) def import_process_group(attributes) Decidim.traceability.perform_action!("create", ParticipatoryProcessGroup, @user) do group = ParticipatoryProcessGroup.find_or_initialize_by( - title: attributes["title"], + title: attributes["title"] || attributes["name"], description: attributes["description"], organization: @organization ) diff --git a/decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb b/decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb new file mode 100644 index 0000000000000..e0ddfae1b103d --- /dev/null +++ b/decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb @@ -0,0 +1,99 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim::ParticipatoryProcesses + describe ParticipatoryProcessImporter do + subject { importer } + + let(:organization) { create(:organization) } + let(:user) { create(:user, :confirmed, :admin, organization: organization) } + let(:importer) { described_class.new(organization, user) } + + describe "#import" do + subject { importer.import(import_data, user, options) } + + let(:options) do + { + title: generate_localized_title, + slug: "imported" + } + end + let(:import_data) do + { + "subtitle" => Decidim::Faker::Localized.sentence(word_count: 3), + "hashtag" => "hashtag", + "description" => Decidim::Faker::Localized.wrapped("

    ", "

    ") { generate_localized_title }, + "short_description" => Decidim::Faker::Localized.wrapped("

    ", "

    ") { generate_localized_title }, + "promoted" => false, + "developer_group" => Decidim::Faker::Localized.sentence(word_count: 3), + "local_area" => Decidim::Faker::Localized.sentence(word_count: 3), + "target" => Decidim::Faker::Localized.sentence(word_count: 3), + "participatory_scope" => Decidim::Faker::Localized.sentence(word_count: 3), + "participatory_structure" => Decidim::Faker::Localized.sentence(word_count: 3), + "meta_scope" => Decidim::Faker::Localized.sentence(word_count: 3), + "start_date" => "2022-08-01", + "end_date" => "2023-08-01", + "announcement" => Decidim::Faker::Localized.wrapped("

    ", "

    ") { generate_localized_title }, + "private_space" => false, + "scopes_enabled" => false, + "participatory_process_group" => group_data + } + end + let(:group_data) do + { + "title" => generate_localized_title, + "description" => Decidim::Faker::Localized.wrapped("

    ", "

    ") { generate_localized_title } + } + end + + it "imports the process correctly" do + expect { subject }.to change(Decidim::ParticipatoryProcess, :count).by(1) + + expect(subject.title).to eq(options[:title]) + expect(subject.slug).to eq(options[:slug]) + expect(subject.subtitle).to eq(import_data["subtitle"]) + expect(subject.hashtag).to eq(import_data["hashtag"]) + expect(subject.description).to eq(import_data["description"]) + expect(subject.short_description).to eq(import_data["short_description"]) + expect(subject.promoted).to eq(import_data["promoted"]) + expect(subject.developer_group).to eq(import_data["developer_group"]) + expect(subject.local_area).to eq(import_data["local_area"]) + expect(subject.target).to eq(import_data["target"]) + expect(subject.participatory_scope).to eq(import_data["participatory_scope"]) + expect(subject.participatory_structure).to eq(import_data["participatory_structure"]) + expect(subject.meta_scope).to eq(import_data["meta_scope"]) + expect(subject.start_date).to eq(Date.parse(import_data["start_date"])) + expect(subject.end_date).to eq(Date.parse(import_data["end_date"])) + expect(subject.announcement).to eq(import_data["announcement"]) + expect(subject.private_space).to eq(import_data["private_space"]) + expect(subject.participatory_process_group).to be_a(Decidim::ParticipatoryProcessGroup) + end + + it "imports the process group correctly" do + expect { subject }.to change(Decidim::ParticipatoryProcessGroup, :count).by(1) + + group = subject.participatory_process_group + expect(group.organization).to eq(subject.organization) + expect(group.title).to eq(group_data["title"]) + expect(group.description).to eq(group_data["description"]) + end + + context "when the process group title is defined with the name key" do + let(:group_data) do + { + "name" => generate_localized_title, + "description" => Decidim::Faker::Localized.wrapped("

    ", "

    ") { generate_localized_title } + } + end + + it "imports the process group correctly" do + expect { subject }.to change(Decidim::ParticipatoryProcessGroup, :count).by(1) + + group = subject.participatory_process_group + expect(group.title).to eq(group_data["name"]) + end + end + end + end +end From eb1c99697595d7b31bde03c186300cd6113012ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:03:33 +0100 Subject: [PATCH 56/90] Fix duplicate stats on home page and participatory space main page (#9966) * Fix home page and participatory space duplicate stats * Test that there are no duplicate stats with the presenters Co-authored-by: Antti Hukkanen --- .../decidim/home_stats_presenter.rb | 15 ++++++++---- .../app/presenters/decidim/stats_presenter.rb | 15 ++++++------ .../decidim/home_stats_presenter_spec.rb | 12 +++++++++- ...ticipatory_process_stats_presenter_spec.rb | 23 ++++++++++++------- 4 files changed, 44 insertions(+), 21 deletions(-) diff --git a/decidim-core/app/presenters/decidim/home_stats_presenter.rb b/decidim-core/app/presenters/decidim/home_stats_presenter.rb index 1aa3beae1795a..41e0abc983952 100644 --- a/decidim-core/app/presenters/decidim/home_stats_presenter.rb +++ b/decidim-core/app/presenters/decidim/home_stats_presenter.rb @@ -40,12 +40,19 @@ def global_stats(conditions) end def component_stats(conditions) + stats = {} Decidim.component_manifests.flat_map do |component| - component.stats.except([:supports_count]) - .filter(conditions) - .with_context(published_components) - .map { |name, data| [name, data] } + component + .stats.except([:supports_count]) + .filter(conditions) + .with_context(published_components) + .each do |name, data| + stats[name] ||= 0 + stats[name] += data + end end + + stats.to_a end def published_components diff --git a/decidim-core/app/presenters/decidim/stats_presenter.rb b/decidim-core/app/presenters/decidim/stats_presenter.rb index 6184887720c3f..edc5e4ec36150 100644 --- a/decidim-core/app/presenters/decidim/stats_presenter.rb +++ b/decidim-core/app/presenters/decidim/stats_presenter.rb @@ -15,18 +15,17 @@ def comments_stats(name) end def statistics(grouped_stats) - statistics = [] + statistics = {} + grouped_stats.each do |_manifest_name, stats| - stats.each_with_index.each do |stat, _index| - stat.each_with_index.map do |_item, subindex| - next unless (subindex % 3).zero? - next if stat[subindex + 2].zero? + stats.each do |_space_manifest, component_manifest, count| + next if count.zero? - statistics << { stat_title: stat[subindex + 1], stat_number: stat[subindex + 2] } - end + statistics[component_manifest] ||= 0 + statistics[component_manifest] += count end end - statistics + statistics.map { |key, number| { stat_title: key, stat_number: number } } end end end diff --git a/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb b/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb index 3b62d107d3fcc..8e825381cb2ed 100644 --- a/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb +++ b/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb @@ -13,6 +13,15 @@ module Decidim let!(:assembly) { create(:assembly, :published, organization: organization) } let!(:process_component) { create :component, participatory_space: process } let!(:assembly_component) { create :component, participatory_space: assembly } + let(:extra_manifest) do + # The extra manifest registers the same stat as the actual component + # manifest to test that there are no duplicate stats in the results. + Decidim::ComponentManifest.new(name: :dummy_another).tap do |manifest| + manifest.register_stat :dummies_count_medium, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, _start_at, _end_at| + components.count + end + end + end around do |example| Decidim.stats.register :foo, priority: StatsRegistry::HIGH_PRIORITY, &proc { 10 } @@ -28,6 +37,7 @@ module Decidim before do manifests = Decidim.component_manifests.select { |manifest| manifest.name == :dummy } + manifests << extra_manifest allow(Decidim).to receive(:component_manifests).and_return(manifests) end @@ -48,7 +58,7 @@ module Decidim it "renders a collection of medium priority stats" do stats = [{ stat_number: 20, stat_title: :bar }, - { stat_number: 200, stat_title: :dummies_count_medium }] + { stat_number: 202, stat_title: :dummies_count_medium }] expect(subject.not_highlighted).to eq(stats) end diff --git a/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb b/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb index 147c69490d93f..bed819e8cc60f 100644 --- a/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb +++ b/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb @@ -51,7 +51,7 @@ module Decidim end end - describe "comments count stat" do + describe "count stats from multiple components" do let(:manifest_proposals) do Decidim::ComponentManifest.new.tap do |manifest| manifest.name = "proposals" @@ -66,14 +66,17 @@ module Decidim before do manifest_meetings.stats.register :comments_count, tag: :comments, &proc { 10 } + manifest_meetings.stats.register :endorsements_count, tag: :endorsements, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY, &proc { 5 } manifest_proposals.stats.register :comments_count, tag: :comments, &proc { 5 } + manifest_proposals.stats.register :endorsements_count, tag: :endorsements, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY, &proc { 3 } I18n.backend.store_translations( :en, decidim: { participatory_processes: { statistics: { - comments_count: "Comments" + comments_count: "Comments", + endorsements_count: "Endorsements" } } } @@ -82,16 +85,20 @@ module Decidim allow(Decidim).to receive(:component_manifests).and_return([manifest_meetings, manifest_proposals]) end - it "return the sum of all the comments from proposals and meetings" do - data = subject.collection.first + it "returns the sum of all the comments from proposals and meetings" do + data = subject.collection.find { |stat| stat[:stat_title] == :comments_count } expect(data).not_to be_nil - expect(data[:stat_title]).to eq :comments_count expect(data[:stat_number]).to eq 15 end - it "contains only one stat" do - data = subject.collection.second - expect(data).to be_nil + it "returns the sum of all the endorsements from proposals and meetings" do + data = subject.collection.find { |stat| stat[:stat_title] == :endorsements_count } + expect(data).not_to be_nil + expect(data[:stat_number]).to eq 8 + end + + it "contains only two stats" do + expect(subject.collection.count).to be(2) end end end From 86d3dd7f72358a75d50740d2f81aee4b085c2f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:08:48 +0100 Subject: [PATCH 57/90] Backport 'Address Crowdin feedback' to v0.26 (#9970) * Address Crowdin feedback * Address Crowdin feedback * Fix passing the interpolation arguments to amendable errors * Omit hash value with the same key * Generalize the "access codes for census" wording * Correct capitalization of string * Adjust the texts according to the changes in the specs * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- decidim-core/app/forms/decidim/amendable/form.rb | 3 ++- decidim-core/config/locales/en.yml | 2 +- decidim-elections/config/locales/en.yml | 8 ++++---- .../decidim/elections/admin/setup_form_spec.rb | 14 +++++++------- .../admin/admin_manages_election_steps_spec.rb | 8 ++++---- decidim-proposals/config/locales/en.yml | 2 +- decidim-templates/config/locales/en.yml | 2 +- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/decidim-core/app/forms/decidim/amendable/form.rb b/decidim-core/app/forms/decidim/amendable/form.rb index 331ce670ae1f8..b819e1428b9a6 100644 --- a/decidim-core/app/forms/decidim/amendable/form.rb +++ b/decidim-core/app/forms/decidim/amendable/form.rb @@ -66,7 +66,8 @@ def compare_amendable_form_errors(amendable_form_errors) errors = amendable_form_errors.details[key] - @original_form.errors.details[key] errors.map do |hash| - @amendable_form.errors.add(key, hash[:error]) unless @amendable_form.errors.details[key].include? error: hash[:error] + error = hash.delete(:error) + @amendable_form.errors.add(key, error, **hash) unless @amendable_form.errors.details[key].include?(error: error) end end end diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml index b08ff6d168c08..9f72216e332ee 100644 --- a/decidim-core/config/locales/en.yml +++ b/decidim-core/config/locales/en.yml @@ -1607,7 +1607,7 @@ en: other: 'There were multiple errors when processing your request:' too_many_marks: is using too many consecutive punctuation marks (e.g. ! and ?) too_much_caps: is using too many capital letters (over 25% of the text) - too_short: is too short (under 15 characters) + too_short: is too short (under %{count} characters) forms: correct_errors: There are errors on the form, please correct them to continue. length_validator: diff --git a/decidim-elections/config/locales/en.yml b/decidim-elections/config/locales/en.yml index 1f3ffc93c2983..37c649fbe76b2 100644 --- a/decidim-elections/config/locales/en.yml +++ b/decidim-elections/config/locales/en.yml @@ -233,8 +233,8 @@ en: create_election: census: Census errors: - census_codes_generated: Election codes for the census are not generated. - census_frozen: Election codes are not exported. + census_codes_generated: Access codes for the census are not generated. + census_frozen: Access codes for the census are not exported. census_uploaded: There is no census uploaded for this election. component_published: The election component is not published. max_selections: The questions do not have a correct value for amount of answers @@ -250,8 +250,8 @@ en: 'false': does not have a public key 'true': has a public key requirements: - census_codes_generated: Census codes are generated. - census_frozen: Codes are exported and census is frozen. + census_codes_generated: Access codes for the census are generated. + census_frozen: Access codes for the census are exported and census is frozen. census_uploaded: Census is uploaded. component_published: The election component is published. max_selections: All the questions have a correct value for maximum of answers. diff --git a/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb b/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb index 8eed6dc3c0382..3cf294ad081a8 100644 --- a/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb +++ b/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb @@ -129,8 +129,8 @@ expect(subject.census_messages).to match( hash_including({ census_uploaded: "Census is uploaded.", - census_codes_generated: "Census codes are generated.", - census_frozen: "Codes are exported and census is frozen." + census_codes_generated: "Access codes for the census are generated.", + census_frozen: "Access codes for the census are exported and census is frozen." }) ) end @@ -145,8 +145,8 @@ subject.valid? expect(subject.errors.messages).to eq({ census_uploaded: ["There is no census uploaded for this election."], - census_codes_generated: ["Election codes for the census are not generated."], - census_frozen: ["Election codes are not exported."] + census_codes_generated: ["Access codes for the census are not generated."], + census_frozen: ["Access codes for the census are not exported."] }) end end @@ -159,8 +159,8 @@ it "shows errors" do subject.valid? expect(subject.errors.messages).to eq({ - census_codes_generated: ["Election codes for the census are not generated."], - census_frozen: ["Election codes are not exported."] + census_codes_generated: ["Access codes for the census are not generated."], + census_frozen: ["Access codes for the census are not exported."] }) end end @@ -173,7 +173,7 @@ it "shows errors" do subject.valid? expect(subject.errors.messages).to eq({ - census_frozen: ["Election codes are not exported."] + census_frozen: ["Access codes for the census are not exported."] }) end end diff --git a/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb b/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb index 424a2b1e280e5..a5591baa45ee3 100644 --- a/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb +++ b/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb @@ -54,8 +54,8 @@ expect(page).to have_content("The participatory space has at least 3 trustees with public key.") expect(page).to have_content("has a public key", minimum: 2) expect(page).to have_content("There is no census uploaded for this election.") - expect(page).to have_content("Election codes for the census are not generated.") - expect(page).to have_content("Election codes are not exported.") + expect(page).to have_content("Access codes for the census are not generated.") + expect(page).to have_content("Access codes for the census are not exported.") end end @@ -67,8 +67,8 @@ within "form.create_election" do expect(page).to have_content("Census is uploaded.") - expect(page).to have_content("Census codes are generated.") - expect(page).to have_content("Codes are exported and census is frozen.") + expect(page).to have_content("Access codes for the census are generated.") + expect(page).to have_content("Access codes for the census are exported and census is frozen.") end end end diff --git a/decidim-proposals/config/locales/en.yml b/decidim-proposals/config/locales/en.yml index 4fdd61aa00187..86ea3e8c4ff65 100644 --- a/decidim-proposals/config/locales/en.yml +++ b/decidim-proposals/config/locales/en.yml @@ -309,7 +309,7 @@ en: affected_user: email_intro: 'Your proposal "%{resource_title}" has been rejected. You can read the answer in this page:' email_outro: You have received this notification because you are an author of "%{resource_title}". - email_subject: Your proposal been rejected + email_subject: Your proposal has been rejected notification_title: Your proposal %{resource_title} has been rejected. follower: email_intro: 'The proposal "%{resource_title}" has been rejected. You can read the answer in this page:' diff --git a/decidim-templates/config/locales/en.yml b/decidim-templates/config/locales/en.yml index cb86a07b47834..5682ec36398b0 100644 --- a/decidim-templates/config/locales/en.yml +++ b/decidim-templates/config/locales/en.yml @@ -25,7 +25,7 @@ en: success: Template deleted successfully empty: There are no templates yet. update: - error: There was a problem upadting this template. + error: There was a problem updating this template. success: Template updated successfully titles: template_types: From 2a9eb0377b8faf56ccc1f1ff7d88492227547c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:09:34 +0100 Subject: [PATCH 58/90] Backport 'Limit invitation redirects only to paths within the application' to v0.26 (#9973) * Limit invitation redirects only to paths within the application * Limit invitation redirections to paths within the application * Add a spec testing the invitation redirects * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../decidim/devise/invitations_controller.rb | 10 ++- .../devise/invitations_controller_spec.rb | 75 +++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb diff --git a/decidim-core/app/controllers/decidim/devise/invitations_controller.rb b/decidim-core/app/controllers/decidim/devise/invitations_controller.rb index bced7f0926a20..a32599d73b83f 100644 --- a/decidim-core/app/controllers/decidim/devise/invitations_controller.rb +++ b/decidim-core/app/controllers/decidim/devise/invitations_controller.rb @@ -19,7 +19,7 @@ def authenticate_inviter! # invitation. Using the param `invite_redirect` we can redirect the user # to a custom path after it has accepted the invitation. def after_accept_path_for(resource) - params[:invite_redirect] || after_sign_in_path_for(resource) + invite_redirect_path || after_sign_in_path_for(resource) end # When a managed user accepts the invitation is promoted to non-managed user. @@ -38,6 +38,14 @@ def accept_resource protected + def invite_redirect_path + path = params[:invite_redirect] + return unless path + return unless path.starts_with?(%r{^/[a-z0-9]+}) + + path + end + def configure_permitted_parameters devise_parameter_sanitizer.permit(:accept_invitation, keys: [:nickname, :tos_agreement, :newsletter_notifications]) end diff --git a/decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb b/decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb new file mode 100644 index 0000000000000..ad72eadae332c --- /dev/null +++ b/decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb @@ -0,0 +1,75 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim::Devise + describe InvitationsController, type: :controller do + routes { Decidim::Core::Engine.routes } + + let(:organization) { create(:organization) } + let(:inviter) { create(:user, :admin, organization: organization) } + let(:invitation_params) do + { + organization: organization, + name: "Invited User", + email: "inviteduser@example.org" + } + end + let!(:user) { Decidim::User.invite!(invitation_params, inviter) } + + before do + request.env["decidim.current_organization"] = organization + request.env["devise.mapping"] = ::Devise.mappings[:user] + end + + describe "accepting invitation" do + let(:password) { "decidim123456789" } + let(:registration_params) do + { + invitation_token: user.raw_invitation_token, + nickname: "invited_user", + password: password, + password_confirmation: password + } + end + + it "responds to the edit path" do + get :edit, params: { invitation_token: user.raw_invitation_token } + expect(response.status).to eq(200) + end + + it "redirects to the provided path" do + post :update, params: { user: registration_params } + expect(response).to redirect_to("/") + end + + context "when an invite redirect is provided" do + it "redirects to the redirect path" do + post :update, params: { invite_redirect: "/admin/", user: registration_params } + expect(response).to redirect_to("/admin/") + end + + context "with a full HTTP URL" do + it "redirects to the default path" do + post :update, params: { invite_redirect: "http://example.org", user: registration_params } + expect(response).to redirect_to("/") + end + end + + context "with a full HTTPS URL" do + it "redirects to the default path" do + post :update, params: { invite_redirect: "https://example.org", user: registration_params } + expect(response).to redirect_to("/") + end + end + + context "with a URL without protocol" do + it "redirects to the default path" do + post :update, params: { invite_redirect: "//example.org", user: registration_params } + expect(response).to redirect_to("/") + end + end + end + end + end +end From 0ca7e619bd7f051577ef89cb2dd3dd21e124a0b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:17:48 +0100 Subject: [PATCH 59/90] Fix initiative sign if the authorization metadata is set to (#9981) Co-authored-by: Antti Hukkanen --- .../app/forms/decidim/initiatives/vote_form.rb | 1 + decidim-initiatives/spec/forms/vote_form_spec.rb | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/decidim-initiatives/app/forms/decidim/initiatives/vote_form.rb b/decidim-initiatives/app/forms/decidim/initiatives/vote_form.rb index aed83edcb4b71..f068706e2d5f1 100644 --- a/decidim-initiatives/app/forms/decidim/initiatives/vote_form.rb +++ b/decidim-initiatives/app/forms/decidim/initiatives/vote_form.rb @@ -86,6 +86,7 @@ def authorized_scopes def user_authorized_scope return scope if handler_name.blank? return unless authorized? + return if authorization.metadata.blank? @user_authorized_scope ||= authorized_scope_candidates.find do |scope| scope&.id == authorization.metadata.symbolize_keys[:scope_id] diff --git a/decidim-initiatives/spec/forms/vote_form_spec.rb b/decidim-initiatives/spec/forms/vote_form_spec.rb index 81b1b1c06dd75..55d366a8cc23e 100644 --- a/decidim-initiatives/spec/forms/vote_form_spec.rb +++ b/decidim-initiatives/spec/forms/vote_form_spec.rb @@ -156,6 +156,21 @@ module Initiatives it { is_expected.to eq(initiative.scope) } end + + context "when the authorization does not have metadata" do + let!(:authorization) do + create( + :authorization, + :granted, + name: "dummy_authorization_handler", + user: current_user, + unique_id: document_number, + metadata: nil + ) + end + + it { is_expected.to be_nil } + end end describe "authorized_scope_candidates" do From dee96efc64b14b11fa784614a0cb5f073cf59c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:18:22 +0100 Subject: [PATCH 60/90] Add missing i18n key in Initiatives (#9983) --- decidim-initiatives/config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/decidim-initiatives/config/locales/en.yml b/decidim-initiatives/config/locales/en.yml index 7021a85b1f687..2d1187f4c13e2 100644 --- a/decidim-initiatives/config/locales/en.yml +++ b/decidim-initiatives/config/locales/en.yml @@ -3,6 +3,7 @@ en: activemodel: attributes: initiative: + area_id: Area decidim_user_group_id: Author description: Description offline_votes: In-person signatures @@ -33,6 +34,7 @@ en: online_signature_enabled: Online signature enabled only_global_scope_enabled: Only allow global scope initiatives creation promoting_committee_enabled: Enable promoting committee + signature_type: Signature type title: Title undo_online_signatures_enabled: Enable participants to undo their online signatures validate_sms_code_on_votes: Add SMS code validation step to signature process From b394f9e4f951dd1294ca6ad3c52c181022a0da8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:34:13 +0100 Subject: [PATCH 61/90] Backport 'Fix correct resource linking for amendments' to v0.26 (#9988) * Fix correct resource linking for amendments * Fix the announcement links to the amendable resource * Fix the linking to the resources with the notifications * Fix typo * Add omitted value in keyword argument * Remove NotificationsDigestMailer spec as it isn't on v0.26 Co-authored-by: Antti Hukkanen --- .../decidim/amendable/announcement_cell.rb | 2 +- .../mailers/decidim/notification_mailer.rb | 1 + .../event_received.html.erb | 2 +- .../amendable/announcement_cell_spec.rb | 27 +++++++++++ .../spec/mailers/notification_mailer_spec.rb | 45 +++++++++++++++++++ 5 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb diff --git a/decidim-core/app/cells/decidim/amendable/announcement_cell.rb b/decidim-core/app/cells/decidim/amendable/announcement_cell.rb index 29b86da7e989b..788e679916731 100644 --- a/decidim-core/app/cells/decidim/amendable/announcement_cell.rb +++ b/decidim-core/app/cells/decidim/amendable/announcement_cell.rb @@ -39,7 +39,7 @@ def message(state, type, link = nil, date = nil) end def proposal_link(resource = model.amendable, text = nil) - text ||= %(#{present(model.amendable).title}) + text ||= %(#{decidim_sanitize(present(model.amendable).title, strip_tags: true)}) link_to resource_locator(resource).path do text end diff --git a/decidim-core/app/mailers/decidim/notification_mailer.rb b/decidim-core/app/mailers/decidim/notification_mailer.rb index 3d627cbbbef44..b60c061820e1f 100644 --- a/decidim-core/app/mailers/decidim/notification_mailer.rb +++ b/decidim-core/app/mailers/decidim/notification_mailer.rb @@ -5,6 +5,7 @@ module Decidim # a events are received. class NotificationMailer < Decidim::ApplicationMailer helper Decidim::ResourceHelper + helper Decidim::SanitizeHelper def event_received(event, event_class_name, resource, user, user_role, extra) # rubocop:disable Metrics/ParameterLists with_user(user) do diff --git a/decidim-core/app/views/decidim/notification_mailer/event_received.html.erb b/decidim-core/app/views/decidim/notification_mailer/event_received.html.erb index 819afa06035b5..ff9711f0a157e 100644 --- a/decidim-core/app/views/decidim/notification_mailer/event_received.html.erb +++ b/decidim-core/app/views/decidim/notification_mailer/event_received.html.erb @@ -4,7 +4,7 @@ <% if @event_instance.resource_path.present? && @event_instance.resource_title.present? %> <% end %> diff --git a/decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb b/decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb new file mode 100644 index 0000000000000..18a378f400e01 --- /dev/null +++ b/decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Decidim::Amendable::AnnouncementCell, type: :cell do + subject { my_cell.call } + + controller Decidim::PagesController + + let(:my_cell) { cell("decidim/amendable/announcement", emendation) } + let!(:amendment) { create(:amendment, amendable: amendable, emendation: emendation) } + let(:component) { create(:proposal_component) } + let(:amendable) { create(:proposal, component: component, title: %(Testing proposal)) } + let(:emendation) { create(:proposal, component: component) } + let!(:linked_proposal) do + pr = create(:proposal, component: component) + emendation.link_resources(pr, "created_from_rejected_emendation") + pr + end + let(:link_to_amendable) { ::Decidim::ResourceLocatorPresenter.new(amendable).path } + + it "renders the link to the amendable resource" do + expect(subject.to_s).to include( + %(Testing proposal) + ) + end +end diff --git a/decidim-core/spec/mailers/notification_mailer_spec.rb b/decidim-core/spec/mailers/notification_mailer_spec.rb index 64b65331109c6..be40e2ae8e21d 100644 --- a/decidim-core/spec/mailers/notification_mailer_spec.rb +++ b/decidim-core/spec/mailers/notification_mailer_spec.rb @@ -74,6 +74,51 @@ def button_url expect(mail.body).to include(event_instance.button_url) end end + + context "when the event has a linked resource" do + shared_examples "amendment notification mails" do + let!(:amendment) { create(:amendment, amendable: amendable, emendation: emendation) } + let(:component) { create(:proposal_component) } + let(:amendable) { create(:proposal, component: component) } + let(:emendation) { create(:proposal, component: component, title: %(Testing proposal)) } + let(:link_to_emendation) { ::Decidim::ResourceLocatorPresenter.new(emendation).url } + let(:resource) { emendation } + + it "includes the link to the resource" do + expect(mail.body).to include( + %(Testing proposal) + ) + end + end + + context "when the amendment is created" do + let(:event_class_name) { "Decidim::Amendable::AmendmentCreatedEvent" } + let(:event) { "decidim.events.amendments.amendment_created" } + + it_behaves_like "amendment notification mails" + end + + context "when the amendment is accepted" do + let(:event_class_name) { "Decidim::Amendable::AmendmentAcceptedEvent" } + let(:event) { "decidim.events.amendments.amendment_accepted" } + + it_behaves_like "amendment notification mails" + end + + context "when the amendment is rejected" do + let(:event_class_name) { "Decidim::Amendable::AmendmentRejectedEvent" } + let(:event) { "decidim.events.amendments.amendment_rejected" } + + it_behaves_like "amendment notification mails" + end + + context "when the emendation is promoted" do + let(:event_class_name) { "Decidim::Amendable::EmendationPromotedEvent" } + let(:event) { "decidim.events.amendments.emendation_promoted" } + + it_behaves_like "amendment notification mails" + end + end end end end From 8c97dc693410ece7cf6802fd0eb656f323a52473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:35:23 +0100 Subject: [PATCH 62/90] Fix user sign up with invalid name (#9991) * Fix user sign up with invalid name * Fix user account form with invalid name * Make the format nickanme validation consistent --- decidim-core/app/forms/decidim/account_form.rb | 6 +++--- .../app/forms/decidim/registration_form.rb | 6 +++--- decidim-core/spec/forms/account_form_spec.rb | 18 ++++++++++++++++++ .../spec/forms/registration_form_spec.rb | 12 ++++++++++++ 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/decidim-core/app/forms/decidim/account_form.rb b/decidim-core/app/forms/decidim/account_form.rb index 18a1ada16f927..4388b2c7e3801 100644 --- a/decidim-core/app/forms/decidim/account_form.rb +++ b/decidim-core/app/forms/decidim/account_form.rb @@ -19,9 +19,9 @@ class AccountForm < Form attribute :personal_url attribute :about - validates :name, presence: true - validates :email, presence: true, 'valid_email_2/email': { disposable: true } - validates :nickname, presence: true, format: Decidim::User::REGEXP_NICKNAME + validates :name, presence: true, format: { with: Decidim::User::REGEXP_NAME } + validates :email, presence: true, "valid_email_2/email": { disposable: true } + validates :nickname, presence: true, format: { with: Decidim::User::REGEXP_NICKNAME } validates :nickname, length: { maximum: Decidim::User.nickname_max_length, allow_blank: true } validates :password, confirmation: true diff --git a/decidim-core/app/forms/decidim/registration_form.rb b/decidim-core/app/forms/decidim/registration_form.rb index e79a2ee429364..8daeb3cc2e48d 100644 --- a/decidim-core/app/forms/decidim/registration_form.rb +++ b/decidim-core/app/forms/decidim/registration_form.rb @@ -14,9 +14,9 @@ class RegistrationForm < Form attribute :tos_agreement, Boolean attribute :current_locale, String - validates :name, presence: true - validates :nickname, presence: true, format: /\A[\w\-]+\z/, length: { maximum: Decidim::User.nickname_max_length } - validates :email, presence: true, 'valid_email_2/email': { disposable: true } + validates :name, presence: true, format: { with: Decidim::User::REGEXP_NAME } + validates :nickname, presence: true, format: { with: Decidim::User::REGEXP_NICKNAME }, length: { maximum: Decidim::User.nickname_max_length } + validates :email, presence: true, "valid_email_2/email": { disposable: true } validates :password, confirmation: true validates :password, password: { name: :name, email: :email, username: :nickname } validates :password_confirmation, presence: true diff --git a/decidim-core/spec/forms/account_form_spec.rb b/decidim-core/spec/forms/account_form_spec.rb index d415d749170c8..a10d8e8d3dc2c 100644 --- a/decidim-core/spec/forms/account_form_spec.rb +++ b/decidim-core/spec/forms/account_form_spec.rb @@ -49,6 +49,24 @@ module Decidim end end + describe "name" do + context "with an empty name" do + let(:name) { "" } + + it "is invalid" do + expect(subject).not_to be_valid + end + end + + context "with invalid characters" do + let(:name) { "foo@bar" } + + it "is invalid" do + expect(subject).not_to be_valid + end + end + end + describe "email" do context "with an empty email" do let(:email) { "" } diff --git a/decidim-core/spec/forms/registration_form_spec.rb b/decidim-core/spec/forms/registration_form_spec.rb index 237a333318cca..3ccc0a35e8f02 100644 --- a/decidim-core/spec/forms/registration_form_spec.rb +++ b/decidim-core/spec/forms/registration_form_spec.rb @@ -111,6 +111,18 @@ module Decidim it { is_expected.to be_invalid } end + context "when the name is an email" do + let(:name) { "test@example.org" } + + it { is_expected.to be_invalid } + end + + context "when the nickname has spaces" do + let(:nickname) { "test example" } + + it { is_expected.to be_invalid } + end + context "when the password is not present" do let(:password) { nil } From f5513f650d799e3183724bf626373c0bf476d341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:38:07 +0100 Subject: [PATCH 63/90] Make initiatives order translatable (#9995) --- decidim-initiatives/config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/decidim-initiatives/config/locales/en.yml b/decidim-initiatives/config/locales/en.yml index 2d1187f4c13e2..282392dd68381 100644 --- a/decidim-initiatives/config/locales/en.yml +++ b/decidim-initiatives/config/locales/en.yml @@ -20,6 +20,8 @@ en: title: Title initiatives_committee_member: user: Committee member + initiatives_settings: + initiatives_order: Order initiatives_type: area_enabled: Enable authors to choose the area for their initiative attachments_enabled: Enable attachments From b235f933c09d43f5a6fc01d2f9483862d1d87204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:38:55 +0100 Subject: [PATCH 64/90] Make ToS agreement translatable (#9997) * Add tos agreement attribute for flash error messages * Clarify tos translation and update related test Co-authored-by: Pauline Bessoles <52420208+paulinebessoles@users.noreply.github.com> --- decidim-core/config/locales/en.yml | 1 + decidim-core/spec/controllers/registrations_controller_spec.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml index 9f72216e332ee..3d25ecb0f9285 100644 --- a/decidim-core/config/locales/en.yml +++ b/decidim-core/config/locales/en.yml @@ -30,6 +30,7 @@ en: password_confirmation: Confirm your password personal_url: Personal URL remove_avatar: Remove avatar + tos_agreement: Terms and conditions of use agreement models: decidim/attachment_created_event: Attachment decidim/component_published_event: Active component diff --git a/decidim-core/spec/controllers/registrations_controller_spec.rb b/decidim-core/spec/controllers/registrations_controller_spec.rb index 45e2e48918dc6..542cea40085bb 100644 --- a/decidim-core/spec/controllers/registrations_controller_spec.rb +++ b/decidim-core/spec/controllers/registrations_controller_spec.rb @@ -89,7 +89,7 @@ def send_form_and_expect_rendering_the_new_template_again "Confirm your password doesn't match Password", "Password is too short", "Password does not have enough unique characters", - "Tos agreement must be accepted" + "Terms and conditions of use agreement must be accepted" ].join(", ") ) end From 3b3a37614a98faec47517aaea3a558ba6d3999d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:39:29 +0100 Subject: [PATCH 65/90] Make Scopes field in debates translatable (#9999) Co-authored-by: Alexandru Emil Lupu --- decidim-debates/config/locales/en.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/decidim-debates/config/locales/en.yml b/decidim-debates/config/locales/en.yml index e72541be71b60..c2c1775f6c254 100644 --- a/decidim-debates/config/locales/en.yml +++ b/decidim-debates/config/locales/en.yml @@ -11,6 +11,7 @@ en: end_time: Ends at information_updates: Information updates instructions: Instructions to participate + scope_id: Scope start_time: Starts at title: Title user_group_id: Create debate as From ee0d9c74fb08656ad416ba94288df7103449afaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:40:57 +0100 Subject: [PATCH 66/90] Remove invitations badge (#10001) * Remove invites badge * Implement review recommendations Co-authored-by: Alexandru Emil Lupu --- .../decidim/devise/invitations_controller.rb | 1 - .../decidim_gamification_badges_invitations.svg | 1 - decidim-core/config/locales/en.yml | 12 ------------ decidim-core/lib/decidim/core/engine.rb | 5 ----- 4 files changed, 19 deletions(-) delete mode 100644 decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg diff --git a/decidim-core/app/controllers/decidim/devise/invitations_controller.rb b/decidim-core/app/controllers/decidim/devise/invitations_controller.rb index a32599d73b83f..7eea498ff6acc 100644 --- a/decidim-core/app/controllers/decidim/devise/invitations_controller.rb +++ b/decidim-core/app/controllers/decidim/devise/invitations_controller.rb @@ -30,7 +30,6 @@ def accept_resource resource.update!(newsletter_notifications_at: Time.current) if update_resource_params[:newsletter_notifications] resource.update!(managed: false) if resource.managed? resource.update!(accepted_tos_version: resource.organization.tos_version) - Decidim::Gamification.increment_score(resource.invited_by, :invitations) if resource.invited_by end resource diff --git a/decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg b/decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg deleted file mode 100644 index 6344d27714a70..0000000000000 --- a/decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml index 3d25ecb0f9285..862917ce96931 100644 --- a/decidim-core/config/locales/en.yml +++ b/decidim-core/config/locales/en.yml @@ -797,18 +797,6 @@ en: how: How can you earn it page_description: Badges are recognitions to participant actions and progress in the platform. As you start discovering, participating and interacting in the platform, you will earn different badges. Here is the list of badges and some ways you can earn them. title: Badges - invitations: - conditions: - - Use the “invite friends” link on your user page to invite your friends - - Customize, if you want, the message you are sending - - You’ll level up by sending invitations and getting them registered. - description: This badge is granted when you’ve invited some people and they have spend a little time to register in %{organization_name} and become participants. Thank you for making %{organization_name} known to others and helping to expand the community! - description_another: This participant has invited %{score} people. - description_own: You have invited %{score} people. - name: Invitations - next_level_in: Invite %{score} more people to reach the next level! - unearned_another: This participant has not yet invited anyone. - unearned_own: You haven't invited anyone yet. description: Badges are recognitions to participant actions and progress in the platform. As you start discovering, participating and interacting in the platform, you will earn different badges. level: Level %{level} reached_top: You've reached the top level for this badge. diff --git a/decidim-core/lib/decidim/core/engine.rb b/decidim-core/lib/decidim/core/engine.rb index cb9665fccfb24..e8371b55a53f4 100644 --- a/decidim-core/lib/decidim/core/engine.rb +++ b/decidim-core/lib/decidim/core/engine.rb @@ -531,11 +531,6 @@ class Engine < ::Rails::Engine end initializer "decidim.core.add_badges" do - Decidim::Gamification.register_badge(:invitations) do |badge| - badge.levels = [1, 5, 10, 30, 50] - badge.reset = ->(user) { Decidim::User.where(invited_by: user.id).count } - end - Decidim::Gamification.register_badge(:followers) do |badge| badge.levels = [1, 15, 30, 60, 100] badge.reset = ->(user) { user.followers.count } From 50e61dfe5de8439ec2a8f66e0eda7c7d3f527a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Tue, 1 Nov 2022 14:43:10 +0100 Subject: [PATCH 67/90] Backport 'Fix conference invitations' to v0.26 (#10004) * Fix conference invitations * Fix conference invitations * Clarify the unauthorized errors when accepting/rejecting conference invitation * Fix redirecting back to the same URL (accept/reject) after sign in * Clarify the conference invitation text when inviting a new user * Fix decline conference invitation link * Add spaces to the links * Fix re-joining already joined conference In case the user already joined the conference, broadcast ok. * Change the i18n key for invite existing users * Add omitted value in keyword argument Co-authored-by: Antti Hukkanen --- .../admin/invite_user_to_join_conference.rb | 2 +- .../decidim/conferences/join_conference.rb | 7 +++ .../conference_registrations_controller.rb | 17 +++++ .../decidim/conferences/permissions.rb | 1 + .../invite.html.erb | 6 +- .../devise/mailer/join_conference.html.erb | 4 +- .../devise/mailer/join_conference.text.erb | 4 +- decidim-conferences/config/locales/en.yml | 5 +- .../invite_user_to_join_conference_spec.rb | 63 +++++++++++++++++++ .../spec/commands/join_conference_spec.rb | 8 +++ .../system/conference_registrations_spec.rb | 22 +++++++ 11 files changed, 130 insertions(+), 9 deletions(-) create mode 100644 decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb diff --git a/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb b/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb index 1fa229792bcd6..26d47d8cfdaf0 100644 --- a/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb +++ b/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb @@ -100,7 +100,7 @@ def user def invite_user_to_sign_up user.skip_reconfirmation! - user.invite!(invited_by, invitation_instructions: "join_conference", conference: conference) + user.invite!(invited_by, invitation_instructions: "join_conference", conference: conference, registration_type: form.registration_type) end end end diff --git a/decidim-conferences/app/commands/decidim/conferences/join_conference.rb b/decidim-conferences/app/commands/decidim/conferences/join_conference.rb index a74603b9506ec..36fec0c1062a9 100644 --- a/decidim-conferences/app/commands/decidim/conferences/join_conference.rb +++ b/decidim-conferences/app/commands/decidim/conferences/join_conference.rb @@ -20,6 +20,9 @@ def initialize(conference, registration_type, user) # # Broadcasts :ok if successful, :invalid otherwise. def call + return broadcast(:invalid) unless can_join_conference? + return broadcast(:ok) if already_joined_conference? + conference.with_lock do return broadcast(:invalid) unless can_join_conference? @@ -58,6 +61,10 @@ def can_join_conference? conference.registrations_enabled? && conference.has_available_slots? end + def already_joined_conference? + conference.conference_registrations.where(user: user).any? + end + def send_email_pending_validation Decidim::Conferences::ConferenceRegistrationMailer.pending_validation(user, conference, @registration_type).deliver_later end diff --git a/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb b/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb index bef723e877efa..f4cbb493209ae 100644 --- a/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb +++ b/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb @@ -4,6 +4,8 @@ module Decidim module Conferences # Exposes the registration resource so users can join and leave conferences. class ConferenceRegistrationsController < Decidim::Conferences::ApplicationController + before_action :ensure_signed_in + def create enforce_permission_to :join, :conference, conference: conference @@ -54,6 +56,20 @@ def decline_invitation private + def ensure_signed_in + return if user_signed_in? + + case action_name + when "create" + flash[:alert] = t("conference_registrations.create.unauthorized", scope: "decidim.conferences") + when "decline_invitation" + flash[:alert] = t("conference_registrations.decline_invitation.unauthorized", scope: "decidim.conferences") + else + raise Decidim::ActionForbidden + end + redirect_to(user_has_no_permission_referer || user_has_no_permission_path) + end + def conference @conference ||= Conference.find_by(slug: params[:conference_slug]) end @@ -65,6 +81,7 @@ def registration_type def redirect_after_path referer = request.headers["Referer"] return redirect_to(conference_path(conference)) if referer =~ /invitation_token/ + return redirect_to(conference_path(conference)) if referer =~ %r{users/sign_in} redirect_back fallback_location: conference_path(conference) end diff --git a/decidim-conferences/app/permissions/decidim/conferences/permissions.rb b/decidim-conferences/app/permissions/decidim/conferences/permissions.rb index d00b6cbbf82fa..c1eab3c4c7b48 100644 --- a/decidim-conferences/app/permissions/decidim/conferences/permissions.rb +++ b/decidim-conferences/app/permissions/decidim/conferences/permissions.rb @@ -77,6 +77,7 @@ def can_leave_conference? end def can_decline_invitation? + return unless user return unless conference.presence return unless conference.registrations_enabled? && conference.conference_invites.exists?(user: user) && diff --git a/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb b/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb index 34fd0a15e1eb2..25dccb02ac011 100644 --- a/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb +++ b/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb @@ -1,12 +1,12 @@ diff --git a/decidim-conferences/app/views/devise/mailer/join_conference.html.erb b/decidim-conferences/app/views/devise/mailer/join_conference.html.erb index cb3edb920dcdb..02f5a1d9f4579 100644 --- a/decidim-conferences/app/views/devise/mailer/join_conference.html.erb +++ b/decidim-conferences/app/views/devise/mailer/join_conference.html.erb @@ -1,10 +1,10 @@ - + <% if @resource.invitation_due_at %> diff --git a/decidim-conferences/app/views/devise/mailer/join_conference.text.erb b/decidim-conferences/app/views/devise/mailer/join_conference.text.erb index 16145da08600c..7de23b44a2957 100644 --- a/decidim-conferences/app/views/devise/mailer/join_conference.text.erb +++ b/decidim-conferences/app/views/devise/mailer/join_conference.text.erb @@ -1,8 +1,8 @@ <%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %> -<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_you_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %> +<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_existing_user_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %> -<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_conference_registration_path(conference_slug: @opts[:conference]), host: @resource.organization.host) %> +<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_registration_type_conference_registration_path(conference_slug: @opts[:conference], registration_type_id: @opts[:registration_type]), host: @resource.organization.host) %> <% if @resource.invitation_due_at %> <%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %> diff --git a/decidim-conferences/config/locales/en.yml b/decidim-conferences/config/locales/en.yml index 68abbb9bb0662..885986e903b29 100644 --- a/decidim-conferences/config/locales/en.yml +++ b/decidim-conferences/config/locales/en.yml @@ -380,7 +380,8 @@ en: invite_join_conference_mailer: invite: decline: Decline invitation '%{conference_title}' - invited_you_to_join_a_conference: "%{invited_by} has invited you to join a conference at %{application}. You can decline or accept it through the links below." + invited_existing_user_to_join_a_conference: "%{invited_by} has invited you to join a conference at %{application}. You can decline or accept it through the links below." + invited_user_to_join_a_conference: "%{invited_by} has invited you to join a conference at %{application}. You can accept it through the link below." registration: Registration for '%{conference_title}' partners: index: @@ -431,9 +432,11 @@ en: create: invalid: There was a problem joining this conference. success: You have successfully joined the conference. + unauthorized: You need to sign in before registering to the conference. decline_invitation: invalid: There was a problem declining the invitation. success: You have successfully declined the invitation. + unauthorized: You need to sign in before declining the invitation. destroy: invalid: There was a problem leaving this conference. success: You have successfully left the conference. diff --git a/decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb b/decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb new file mode 100644 index 0000000000000..35805f29c2475 --- /dev/null +++ b/decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim::Conferences::Admin + describe InviteUserToJoinConference do + let(:command) { described_class.new(form, conference, invited_by) } + + let(:conference) { create :conference } + let(:invited_by) { create :user, :admin, :confirmed, organization: conference.organization } + let(:invited_user) { create :user, :confirmed, organization: conference.organization } + let(:form) do + double( + invalid?: invalid, + existing_user: true, + current_organization: conference.organization, + user: invited_user, + registration_type: registration_type + ) + end + let(:invalid) { false } + let(:registration_type) { create(:registration_type, conference: conference) } + + describe "call" do + it "broadcasts ok" do + expect { command.call }.to broadcast(:ok) + end + + it "sends the invitation to the existing user" do + perform_enqueued_jobs { command.call } + + email = last_email + expect(email.to).to eq([invited_user.email]) + expect(email.subject).to eq("Invitation to join a conference") + end + + describe "when the user is a new user" do + let(:form) do + double( + invalid?: invalid, + existing_user: false, + current_organization: conference.organization, + email: "jdoe@example.org", + name: "John Doe", + registration_type: registration_type + ) + end + + it "broadcasts ok" do + expect { command.call }.to broadcast(:ok) + end + + it "sends the invitation to the user" do + perform_enqueued_jobs { command.call } + + email = last_email + expect(email.to).to eq(["jdoe@example.org"]) + expect(email.subject).to eq("Invitation to join a conference") + end + end + end + end +end diff --git a/decidim-conferences/spec/commands/join_conference_spec.rb b/decidim-conferences/spec/commands/join_conference_spec.rb index 773f13c49ab53..4675ea48ee53c 100644 --- a/decidim-conferences/spec/commands/join_conference_spec.rb +++ b/decidim-conferences/spec/commands/join_conference_spec.rb @@ -158,5 +158,13 @@ module Decidim::Conferences expect { subject.call }.to broadcast(:invalid) end end + + context "when the user has already joined the conference" do + let!(:registration) { create(:conference_registration, conference: conference, user: user) } + + it "broadcasts ok" do + expect { subject.call }.to broadcast(:ok) + end + end end end diff --git a/decidim-conferences/spec/system/conference_registrations_spec.rb b/decidim-conferences/spec/system/conference_registrations_spec.rb index 8863d5313322d..104f0a45d3022 100644 --- a/decidim-conferences/spec/system/conference_registrations_spec.rb +++ b/decidim-conferences/spec/system/conference_registrations_spec.rb @@ -34,6 +34,10 @@ def visit_conference_registration_types visit decidim_conferences.conference_registration_types_path(conference) end + def visit_conference_registration_type + visit decidim_conferences.conference_registration_type_conference_registration_path(conference_slug: conference, registration_type_id: registration_type) + end + before do switch_to_host(organization.host) @@ -136,4 +140,22 @@ def visit_conference_registration_types end end end + + context "and the user has been invited to the conference" do + let!(:invite) { create(:conference_invite, user: user, registration_type: registration_type) } + + it "requires the user to sign in" do + visit_conference_registration_type + expect(page).to have_current_path("/users/sign_in") + end + + context "when the user is signed in" do + before { login_as user, scope: :user } + + it "accepts the invitation successfully" do + visit_conference_registration_type + expect(page).to have_content("successfully") + end + end + end end From bccf9ba026335b04f1a5978af6415ecae4845588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Wed, 2 Nov 2022 17:40:02 +0100 Subject: [PATCH 68/90] Fix preserving bold text in the rich text editor when pasting content (#9962) * Fix editor clipboard pasting losting bold types * Add a spec testing the rich text editor clipboard pasting * Add the license notes for the Quill clipboard overrides Co-authored-by: Antti Hukkanen --- .../system/admin_manages_organization_spec.rb | 83 +++++++++++ decidim-core/app/packs/src/decidim/editor.js | 1 + .../src/decidim/editor/clipboard_override.js | 136 ++++++++++++++++++ .../src/decidim/editor/clipboard_utilities.js | 119 +++++++++++++++ .../src/decidim/editor/linebreak_module.js | 8 -- 5 files changed, 339 insertions(+), 8 deletions(-) create mode 100644 decidim-core/app/packs/src/decidim/editor/clipboard_override.js create mode 100644 decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js diff --git a/decidim-admin/spec/system/admin_manages_organization_spec.rb b/decidim-admin/spec/system/admin_manages_organization_spec.rb index feaeb3a50b4db..fa6d22104b99b 100644 --- a/decidim-admin/spec/system/admin_manages_organization_spec.rb +++ b/decidim-admin/spec/system/admin_manages_organization_spec.rb @@ -3,6 +3,8 @@ require "spec_helper" describe "Admin manages organization", type: :system do + include ActionView::Helpers::SanitizeHelper + let(:organization) { create(:organization) } let(:user) { create(:user, :admin, :confirmed, organization: organization) } @@ -36,6 +38,9 @@ context "when using the rich text editor" do before do visit decidim_admin.edit_organization_path + + # Makes sure in the error screenshots the editor is visible + page.scroll_to(find("#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 .editor")) end context "when the admin terms of use content is empty" do @@ -340,6 +345,84 @@ end end + context "when pasting content with bold text" do + let(:organization) do + create( + :organization, + admin_terms_of_use_body: Decidim::Faker::Localized.localized { "" } + ) + end + + let(:clipboard_content_html) do + # The pasted content contains always all styles for the elements, so + # this is just to test that the styles don't interfere with the pasted + # content handling. + styles = { + p: { + "box-sizing" => "border-box", + "font-family" => "Helvetica, Arial, sans-serif", + "font-style" => "normal" + }, + strong: { + "box-sizing" => "border-box", + "font-weight" => "600", + "line-height" => "inherit" + }, + a: { + "box-sizing" => "border-box", + "background-color" => "transparent", + "line-height" => "inherit", + "color" => "rgb(0, 102, 204)", + "text-decoration" => "underline", + "cursor" => "pointer", + "font-weight" => "normal" + }, + br: { + "box-sizing" => "border-box" + } + }.transform_values { |css| css.map { |k, v| "#{k}: #{v}" }.join("; ").concat(";") } + + cnt = <<~HTML +

    testing

    +

    foo
    link

    + HTML + + cnt.gsub("\n", "") + end + + let(:clipboard_content_plain) { "testing\n\nfoo\nlink" } + + let(:parsed_content) do + cnt = <<~HTML +

    testing

    +

    foo
    link

    +


    + HTML + + cnt.gsub("\n", "") + end + + it "parses the pasted content correctly with the strong element" do + # Focus the editor before sending the paste event + find('div[contenteditable="true"].ql-editor').native.send_keys "a", [:backspace] + + page.execute_script( + <<~JS + var dt = new DataTransfer(); + dt.setData("text/html", #{clipboard_content_html.to_json}); + dt.setData("text/plain", #{clipboard_content_plain.to_json}); + + var element = document.querySelector("#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 div[contenteditable='true'].ql-editor"); + element.dispatchEvent(new ClipboardEvent("paste", { clipboardData: dt })); + JS + ) + + expect(find( + "#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 .editor .ql-editor" + )["innerHTML"]).to eq(parsed_content) + end + end + context "when the admin terms of use content has only a video" do let(:organization) { create(:organization, admin_terms_of_use_body: {}) } diff --git a/decidim-core/app/packs/src/decidim/editor.js b/decidim-core/app/packs/src/decidim/editor.js index cee6068173d3e..63352d0d46a84 100644 --- a/decidim-core/app/packs/src/decidim/editor.js +++ b/decidim-core/app/packs/src/decidim/editor.js @@ -1,6 +1,7 @@ /* eslint-disable require-jsdoc */ import lineBreakButtonHandler from "src/decidim/editor/linebreak_module" +import "src/decidim/editor/clipboard_override" import "src/decidim/vendor/image-resize.min" import "src/decidim/vendor/image-upload.min" diff --git a/decidim-core/app/packs/src/decidim/editor/clipboard_override.js b/decidim-core/app/packs/src/decidim/editor/clipboard_override.js new file mode 100644 index 0000000000000..389ab49dc7177 --- /dev/null +++ b/decidim-core/app/packs/src/decidim/editor/clipboard_override.js @@ -0,0 +1,136 @@ +/* eslint max-lines: ["error", 350] */ + +/** + * Quill clipboard utilities + * + * Copyright (c) 2017, Slab + * Copyright (c) 2014, Jason Chen + * Copyright (c) 2013, salesforce.com + * BSD 3-Clause "New" or "Revised" License + * + * Extends the original version from https://github.com/quilljs/quill + * Relevant parts converted from TypeScript to JavaScript + */ + +import CodeBlock from "quill/formats/code"; +import { matchNewline, matchBreak, deltaEndsWith, traverse } from "src/decidim/editor/clipboard_utilities"; + +const Delta = Quill.import("delta"); +const Clipboard = Quill.import("modules/clipboard"); + +/** + * Pasting bold text is broken in Quill as described at: + * https://github.com/quilljs/quill/issues/306 + * + * The reason is that the `` nodes are not recognized as bold types. + * This override fixes the issue by introducing parts of the newer Quill code + * at GitHub and defining the `` tags as bold tags. + */ +export default class ClipboardOverride extends Clipboard { + constructor(quill, options) { + super(quill, options); + this.overrideMatcher("b", "b, strong"); + this.overrideMatcher("br", "br", matchBreak); + + // Change the matchNewLine matchers to the newer version + this.matchers[1][1] = matchNewline; + this.matchers[3][1] = matchNewline; + + // Remove `matchSpacing` as that is also removed in the newer versions. + this.matchers.splice(5, 1); + } + + overrideMatcher(originalSelector, newSelector, newMatcher = null) { + const idx = this.matchers.findIndex((item) => item[0] === originalSelector); + if (idx >= 0) { + this.matchers[idx][0] = newSelector; + if (newMatcher) { + this.matchers[idx][1] = newMatcher; + } + } + } + + onPaste(ev) { + if (ev.defaultPrevented || !this.quill.isEnabled()) { + return; + } + ev.preventDefault(); + const range = this.quill.getSelection(true); + if (range === null) { + return; + } + const html = ev.clipboardData.getData("text/html"); + const text = ev.clipboardData.getData("text/plain"); + const files = Array.from(ev.clipboardData.files || []); + if (!html && files.length > 0) { + this.quill.uploader.upload(range, files); + return; + } + if (html && files.length > 0) { + const doc = new DOMParser().parseFromString(html, "text/html"); + if ( + doc.body.childElementCount === 1 && + doc.body.firstElementChild.tagName === "IMG" + ) { + this.quill.uploader.upload(range, files); + return; + } + } + this.onPasteRange(range, { html, text }); + } + + onPasteRange(range, { text, html }) { + const formats = this.quill.getFormat(range.index); + const pastedDelta = this.convertPaste({ text, html }, formats); + // debug.log('onPaste", pastedDelta, { text, html }); + const delta = new Delta().retain(range.index).delete(range.length).concat(pastedDelta); + this.quill.updateContents(delta, Quill.sources.USER); + // range.length contributes to delta.length() + this.quill.setSelection( + delta.length() - range.length, + Quill.sources.SILENT, + ); + this.quill.scrollIntoView(); + } + + convertPaste({ html, text }, formats = {}) { + if (formats[CodeBlock.blotName]) { + return new Delta().insert(text, { + [CodeBlock.blotName]: formats[CodeBlock.blotName] + }); + } + if (!html) { + return new Delta().insert(text || ""); + } + const delta = this.convertPasteHTML(html); + // Remove trailing newline + if ( + deltaEndsWith(delta, "\n") && + (delta.ops[delta.ops.length - 1].attributes === null || formats.table) + ) { + return delta.compose(new Delta().retain(delta.length() - 1).delete(1)); + } + return delta; + } + + convertPasteHTML(html) { + const doc = new DOMParser().parseFromString(html, "text/html"); + const container = doc.body; + const nodeMatches = new WeakMap(); + const [elementMatchers, textMatchers] = this.prepareMatching( + container, + nodeMatches + ); + return traverse( + this.quill.scroll, + container, + elementMatchers, + textMatchers, + nodeMatches + ); + } +} + +// Disable warning messages from overwritting modules +Quill.debug("error"); +Quill.register({"modules/clipboard": ClipboardOverride}, true); diff --git a/decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js b/decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js new file mode 100644 index 0000000000000..34eeba8621d35 --- /dev/null +++ b/decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js @@ -0,0 +1,119 @@ +import { BlockEmbed } from "quill/blots/block"; + +const Delta = Quill.import("delta"); +const Parchment = Quill.import("parchment"); + +// Newer version used only for the pasting, not compatible with the version of +// Quill in use. +const traverse = (scroll, node, elementMatchers, textMatchers, nodeMatches) => { // eslint-disable-line max-params + // Post-order + if (node.nodeType === node.TEXT_NODE) { + return textMatchers.reduce((delta, matcher) => { + return matcher(node, delta, scroll); + }, new Delta()); + } + if (node.nodeType === node.ELEMENT_NODE) { + return Array.from(node.childNodes || []).reduce((delta, childNode) => { + let childrenDelta = traverse( + scroll, + childNode, + elementMatchers, + textMatchers, + nodeMatches, + ); + if (childNode.nodeType === node.ELEMENT_NODE) { + childrenDelta = elementMatchers.reduce((reducedDelta, matcher) => { + return matcher(childNode, reducedDelta, scroll); + }, childrenDelta); + childrenDelta = (nodeMatches.get(childNode) || []).reduce( + (reducedDelta, matcher) => { + return matcher(childNode, reducedDelta, scroll); + }, + childrenDelta, + ); + } + return delta.concat(childrenDelta); + }, new Delta()); + } + return new Delta(); +} + +const deltaEndsWith = (delta, text) => { + let endText = ""; + for (let idx = delta.ops.length - 1; idx >= 0 && endText.length < text.length; idx -= 1) { + const op = delta.ops[idx]; + if (typeof op.insert !== "string") { + break; + } + endText = op.insert + endText; + } + return endText.slice(-1 * text.length) === text; +} + +const isLine = (node) => { + if (node.childNodes.length === 0) { + // Exclude embed blocks + return false; + } + return [ + "address", "article", "blockquote", "canvas", "dd", "div", "dl", "dt", + "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", + "h4", "h5", "h6", "header", "iframe", "li", "main", "nav", "ol", "output", + "p", "pre", "section", "table", "td", "tr", "ul", "video" + ].includes(node.tagName.toLowerCase()); +} + +const matchNewLineScroll = (nextSibling, delta, scroll) => { + if (!scroll) { + return null; + } + + const match = Parchment.query(nextSibling) + if (match && match.prototype instanceof BlockEmbed) { + return delta.insert("\n"); + } + return null; +} + +const matchNewline = (node, delta, scroll) => { + if (!deltaEndsWith(delta, "\n")) { + // When scroll is defined, it was initiated from the paste event. Otherwise + // it is a normal Quill initiated traversal which handles adding the line + // breaks already. + if (scroll && node.nodeType === node.ELEMENT_NODE && node.tagName === "BR") { + return delta.insert({"break": ""}); + } + if (isLine(node)) { + return delta.insert("\n"); + } + if (delta.length() > 0 && node.nextSibling) { + let { nextSibling } = node; + while (nextSibling !== null) { + if (isLine(nextSibling)) { + return delta.insert("\n"); + } + const scrollMatch = matchNewLineScroll(nextSibling, delta, scroll); + if (scrollMatch) { + return scrollMatch; + } + nextSibling = nextSibling.firstChild; + } + } + } + return delta; +} + +const matchBreak = (node, delta) => { + if (!deltaEndsWith(delta, "\n")) { + delta.insert({"break": ""}); + } + return delta; +} + +export { + traverse, + deltaEndsWith, + isLine, + matchNewline, + matchBreak +} diff --git a/decidim-core/app/packs/src/decidim/editor/linebreak_module.js b/decidim-core/app/packs/src/decidim/editor/linebreak_module.js index 368976fb75698..c1a0da9a96f60 100644 --- a/decidim-core/app/packs/src/decidim/editor/linebreak_module.js +++ b/decidim-core/app/packs/src/decidim/editor/linebreak_module.js @@ -129,7 +129,6 @@ class ScrollOvderride extends Scroll { Quill.register("blots/scroll", ScrollOvderride, true); Parchment.register(ScrollOvderride); - export default function lineBreakButtonHandler(quill) { let range = quill.selection.getRange()[0]; let currentLeaf = quill.getLeaf(range.index)[0]; @@ -167,13 +166,6 @@ Quill.register("modules/linebreak", (quill) => { } }); - quill.clipboard.addMatcher("BR", (node) => { - if (node?.parentNode?.tagName === "A") { - return new Delta().insert("\n"); - } - return new Delta().insert({"break": ""}); - }); - addEnterBindings(quill); backspaceBindingsRangeAny(quill); backspaceBindings(quill); From 242e79a3371f7b7d68d751c830f6f1b74691898c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Wed, 2 Nov 2022 17:54:25 +0100 Subject: [PATCH 69/90] Backport 'Add missing active actions on admin navigation menu' to v0.26 (#9993) * Add missing active actions on admin navigation menu * Add missing actions on User's admin navigation menu * Add missing actions on Settings' admin navigation menu * Add missing actions on Assemblies' admin navigation menu * Add missing actions on Initiatives' admin navigation menu * Add missing actions on Processes' admin navigation menu * Add missing actions on Dashboard's admin navigation menu * Remove initiatives settings logic on admin menu This feature doesn't exist in v0.26 * Remove unexisting feature in this version * Add missing comma at EOL --- decidim-admin/lib/decidim/admin/engine.rb | 12 +++++++++++- .../lib/decidim/assemblies/admin_engine.rb | 4 +++- .../lib/decidim/initiatives/admin_engine.rb | 3 ++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/decidim-admin/lib/decidim/admin/engine.rb b/decidim-admin/lib/decidim/admin/engine.rb index b778fc12ba32d..2f3b8f6fe9c19 100644 --- a/decidim-admin/lib/decidim/admin/engine.rb +++ b/decidim-admin/lib/decidim/admin/engine.rb @@ -174,7 +174,10 @@ class Engine < ::Rails::Engine decidim_admin.root_path, icon_name: "dashboard", position: 1, - active: ["decidim/admin/dashboard" => :show] + active: [%w( + decidim/admin/dashboard + decidim/admin/metrics + ), []] menu.add_item :moderations, I18n.t("menu.moderation", scope: "decidim.admin"), @@ -209,10 +212,15 @@ class Engine < ::Rails::Engine decidim/admin/user_groups_csv_verifications decidim/admin/officializations decidim/admin/impersonatable_users + decidim/admin/conflicts decidim/admin/moderated_users decidim/admin/managed_users/impersonation_logs decidim/admin/managed_users/promotions decidim/admin/authorization_workflows + decidim/verifications/id_documents/admin/pending_authorizations + decidim/verifications/id_documents/admin/config + decidim/verifications/postal_letter/admin/pending_authorizations + decidim/verifications/csv_census/admin/census ), []], if: allowed_to?(:read, :admin_user) || allowed_to?(:read, :managed_user) @@ -239,6 +247,8 @@ class Engine < ::Rails::Engine decidim/admin/scopes decidim/admin/scope_types decidim/admin/areas decidim/admin/area_types + decidim/admin/help_sections + decidim/admin/organization_external_domain_whitelist ), [] ], diff --git a/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb b/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb index 03e3bad0ad8a7..df93295e46c0e 100644 --- a/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb +++ b/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb @@ -100,7 +100,9 @@ class AdminEngine < ::Rails::Engine decidim_admin_assemblies.assemblies_path, icon_name: "dial", position: 2.2, - active: :inclusive, + active: is_active_link?(decidim_admin_assemblies.assemblies_path) || + is_active_link?(decidim_admin_assemblies.assemblies_types_path) || + is_active_link?(decidim_admin_assemblies.edit_assemblies_settings_path), if: allowed_to?(:enter, :space_area, space_name: :assemblies) end end diff --git a/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb b/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb index d0a09b2e243b6..901a6cecd8f90 100644 --- a/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb +++ b/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb @@ -88,7 +88,8 @@ class AdminEngine < ::Rails::Engine decidim_admin_initiatives.initiatives_path, icon_name: "chat", position: 2.4, - active: :inclusive, + active: is_active_link?(decidim_admin_initiatives.initiatives_path) || + is_active_link?(decidim_admin_initiatives.initiatives_types_path), if: allowed_to?(:enter, :space_area, space_name: :initiatives) end end From d6b9cd1151ce370b090b905d96db5c11565fe260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Thu, 3 Nov 2022 08:00:49 +0100 Subject: [PATCH 70/90] Fix disappearing sub-lists in rich text editors (#9968) Co-authored-by: Antti Hukkanen --- .../app/packs/src/decidim/editor/clipboard_override.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/decidim-core/app/packs/src/decidim/editor/clipboard_override.js b/decidim-core/app/packs/src/decidim/editor/clipboard_override.js index 389ab49dc7177..d8baf0bfee0d8 100644 --- a/decidim-core/app/packs/src/decidim/editor/clipboard_override.js +++ b/decidim-core/app/packs/src/decidim/editor/clipboard_override.js @@ -37,7 +37,7 @@ export default class ClipboardOverride extends Clipboard { this.matchers[3][1] = matchNewline; // Remove `matchSpacing` as that is also removed in the newer versions. - this.matchers.splice(5, 1); + this.removeMatcher(Node.ELEMENT_NODE, "matchSpacing"); } overrideMatcher(originalSelector, newSelector, newMatcher = null) { @@ -50,6 +50,13 @@ export default class ClipboardOverride extends Clipboard { } } + removeMatcher(selector, matcherName) { + const idx = this.matchers.findIndex((item) => item[0] === selector && item[1].name === matcherName); + if (idx >= 0) { + this.matchers.splice(idx, 1); + } + } + onPaste(ev) { if (ev.defaultPrevented || !this.quill.isEnabled()) { return; From 7ac30fbeeaaf111b14ef29fb56ec4e9118f6de59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Thu, 3 Nov 2022 16:15:45 +0100 Subject: [PATCH 71/90] Backport 'Define the component import routes, permissions and controller at votings' to v0.26 (#9977) * Define the component import routes, permissions and controller at votings * Define the component import routes, permissions and controller at votings * Test the proposal imports in the votings space * Add omitted value in keyword argument * Using attach_file as dynamically_attach_file didn't exist in v0.26 * Use error message existing on v0.26 Co-authored-by: Antti Hukkanen Co-authored-by: Antti Hukkanen --- .../votings/admin/imports_controller.rb | 14 ++ .../decidim/votings/admin/permissions.rb | 5 +- .../lib/decidim/votings/admin_engine.rb | 3 + decidim-proposals/spec/factories.rb | 1 + ...anages_proposal_answer_imports_examples.rb | 166 +++++++++++++++++ .../admin/import_proposal_answers_spec.rb | 170 +----------------- 6 files changed, 193 insertions(+), 166 deletions(-) create mode 100644 decidim-elections/app/controllers/decidim/votings/admin/imports_controller.rb create mode 100644 decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb diff --git a/decidim-elections/app/controllers/decidim/votings/admin/imports_controller.rb b/decidim-elections/app/controllers/decidim/votings/admin/imports_controller.rb new file mode 100644 index 0000000000000..6c5f2dd1247cf --- /dev/null +++ b/decidim-elections/app/controllers/decidim/votings/admin/imports_controller.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Decidim + module Votings + module Admin + # This controller allows importing things. + # It is targeted for customizations for importing things that lives under + # a voting space. + class ImportsController < Decidim::Admin::ImportsController + include VotingAdmin + end + end + end +end diff --git a/decidim-elections/app/permissions/decidim/votings/admin/permissions.rb b/decidim-elections/app/permissions/decidim/votings/admin/permissions.rb index 2c1ddb90c16dc..949f7ae232b2c 100644 --- a/decidim-elections/app/permissions/decidim/votings/admin/permissions.rb +++ b/decidim-elections/app/permissions/decidim/votings/admin/permissions.rb @@ -59,7 +59,8 @@ def allowed_voting_action? :monitoring_committee_verify_elections, :monitoring_committee_election_result, :monitoring_committee_election_results, :census, - :ballot_style, :ballot_styles + :ballot_style, :ballot_styles, + :component_data ].member? permission_action.subject case permission_action.subject @@ -130,6 +131,8 @@ def allowed_voting_action? end when :ballot_styles toggle_allow(user.admin?) if permission_action.action == :read + when :component_data + toggle_allow(user.admin?) if permission_action.action == :import end end diff --git a/decidim-elections/lib/decidim/votings/admin_engine.rb b/decidim-elections/lib/decidim/votings/admin_engine.rb index 4ead5a39a0fb3..44e9dc47bb3a8 100644 --- a/decidim-elections/lib/decidim/votings/admin_engine.rb +++ b/decidim-elections/lib/decidim/votings/admin_engine.rb @@ -53,6 +53,9 @@ class AdminEngine < ::Rails::Engine get :share end resources :exports, only: :create + resources :imports, only: [:new, :create] do + get :example, on: :collection + end end end diff --git a/decidim-proposals/spec/factories.rb b/decidim-proposals/spec/factories.rb index feea6971fae66..13abccab4b35f 100644 --- a/decidim-proposals/spec/factories.rb +++ b/decidim-proposals/spec/factories.rb @@ -8,3 +8,4 @@ require "decidim/budgets/test/factories" require "decidim/proposals/test/factories" require "decidim/accountability/test/factories" +require "decidim/votings/test/factories" diff --git a/decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb b/decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb new file mode 100644 index 0000000000000..b2dea71a425a9 --- /dev/null +++ b/decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb @@ -0,0 +1,166 @@ +# frozen_string_literal: true + +shared_examples "admin manages proposal answer imports" do + before do + page.find(".imports").click + click_link "Import answers from a file" + end + + describe "import answers from a file" do + it "has start import button" do + expect(page).to have_content("Import") + end + + it "returns error without a file" do + click_button "Import" + expect(page).to have_content("There was a problem during the import") + end + + it "adds proposal answers after succesfully import" do + File.write(json_file, JSON.pretty_generate(answers)) + attach_file(:import_file, json_file) + + expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times + + click_button "Import" + expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported") + answers.each do |answer| + proposal = Decidim::Proposals::Proposal.find(answer[:id]) + expect(proposal[:state]).to eq(answer[:state]) + expect(proposal.answer["en"]).to eq(answer[:"answer/en"]) + expect(proposal.answer["ca"]).to eq(answer[:"answer/ca"]) + expect(proposal.answer["es"]).to eq(answer[:"answer/es"]) + end + end + + it "doesnt accept file without required headers" do + File.write(json_file, JSON.pretty_generate(missing_answers)) + attach_file(:import_file, json_file) + click_button "Import" + expect(page).to have_content("Missing column answer/en. Please check that the file contains required columns.") + end + + context "with nested JSON" do + let(:answers) do + proposals.map do |proposal| + { + id: proposal.id, + state: %w(accepted rejected evaluating).sample, + answer: { + en: Faker::Lorem.sentence, + ca: Faker::Lorem.sentence, + es: Faker::Lorem.sentence + } + } + end + end + + it "adds proposal answers after succesfully import" do + File.write(json_file, JSON.pretty_generate(answers)) + attach_file(:import_file, json_file) + + expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times + + click_button "Import" + expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported") + answers.each do |answer| + proposal = Decidim::Proposals::Proposal.find(answer[:id]) + expect(proposal[:state]).to eq(answer[:state]) + expect(proposal.answer["en"]).to eq(answer[:answer][:en]) + expect(proposal.answer["ca"]).to eq(answer[:answer][:ca]) + expect(proposal.answer["es"]).to eq(answer[:answer][:es]) + end + end + end + end + + describe "download examples", download: true do + it "provides example downloads" do + expect(page).to have_content("Download example") + + page.find(".imports-example").click + expect(page).to have_content("Example as CSV") + expect(page).to have_content("Example as JSON") + expect(page).to have_content("Example as Excel (.xlsx)") + end + + context "when downloading the examples" do + before do + page.find(".imports-example").click + end + + it "downloads a correct CSV example" do + click_link "Example as CSV" + + expect(File.basename(download_path)).to eq("proposals-answers-example.csv") + expect(File.read(download_path)).to eq( + <<~CSV + id;state;answer/en;answer/ca;answer/es + 1;accepted;Example answer;Example answer;Example answer + 2;rejected;Example answer;Example answer;Example answer + 3;evaluating;Example answer;Example answer;Example answer + CSV + ) + end + + it "downloads a correct JSON example" do + click_link "Example as JSON" + + expect(File.basename(download_path)).to eq("proposals-answers-example.json") + expect(File.read(download_path)).to eq( + <<~JSON.strip + [ + { + "id": 1, + "state": "accepted", + "answer": { + "en": "Example answer", + "ca": "Example answer", + "es": "Example answer" + } + }, + { + "id": 2, + "state": "rejected", + "answer": { + "en": "Example answer", + "ca": "Example answer", + "es": "Example answer" + } + }, + { + "id": 3, + "state": "evaluating", + "answer": { + "en": "Example answer", + "ca": "Example answer", + "es": "Example answer" + } + } + ] + JSON + ) + end + + it "downloads a correct XLSX example" do + click_link "Example as Excel (.xlsx)" + + expect(File.basename(download_path)).to eq("proposals-answers-example.xlsx") + + # The generated XLSX can have some byte differences which is why we need + # to read the values from both files and compare them instead. + workbook = RubyXL::Parser.parse(download_path) + actual = workbook.worksheets[0].map { |row| row.cells.map(&:value) } + + expect(actual).to eq( + [ + %w(id state answer/en answer/ca answer/es), + [1, "accepted", "Example answer", "Example answer", "Example answer"], + [2, "rejected", "Example answer", "Example answer", "Example answer"], + [3, "evaluating", "Example answer", "Example answer", "Example answer"] + ] + ) + end + end + end +end diff --git a/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb b/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb index 67d12052b0da2..612e2b933fdf2 100644 --- a/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb +++ b/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb @@ -39,172 +39,12 @@ include_context "when managing a component as an admin" - before do - page.find(".imports").click - click_link "Import answers from a file" - end - - describe "import answers from a file" do - it "has start import button" do - expect(page).to have_content("Import") - end - - it "returns error without a file" do - click_button "Import" - expect(page).to have_content("There was a problem during the import") - end - - it "adds proposal answers after succesfully import" do - File.open(json_file, "w") do |f| - f.write(JSON.pretty_generate(answers)) - end - attach_file :import_file, json_file - - expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times - - click_button "Import" - expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported") - answers.each do |answer| - proposal = Decidim::Proposals::Proposal.find(answer[:id]) - expect(proposal[:state]).to eq(answer[:state]) - expect(proposal.answer["en"]).to eq(answer[:"answer/en"]) - expect(proposal.answer["ca"]).to eq(answer[:"answer/ca"]) - expect(proposal.answer["es"]).to eq(answer[:"answer/es"]) - end - end - - it "doesnt accept file without required headers" do - File.open(json_file, "w") do |f| - f.write(JSON.pretty_generate(missing_answers)) - end - attach_file :import_file, json_file - click_button "Import" - expect(page).to have_content("Missing column answer/en. Please check that the file contains required columns.") - end - - context "with nested JSON" do - let(:answers) do - proposals.map do |proposal| - { - id: proposal.id, - state: %w(accepted rejected evaluating).sample, - answer: { - en: Faker::Lorem.sentence, - ca: Faker::Lorem.sentence, - es: Faker::Lorem.sentence - } - } - end - end - - it "adds proposal answers after succesfully import" do - File.open(json_file, "w") do |f| - f.write(JSON.pretty_generate(answers)) - end - attach_file :import_file, json_file - - expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times + it_behaves_like "admin manages proposal answer imports" - click_button "Import" - expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported") - answers.each do |answer| - proposal = Decidim::Proposals::Proposal.find(answer[:id]) - expect(proposal[:state]).to eq(answer[:state]) - expect(proposal.answer["en"]).to eq(answer[:answer][:en]) - expect(proposal.answer["ca"]).to eq(answer[:answer][:ca]) - expect(proposal.answer["es"]).to eq(answer[:answer][:es]) - end - end - end - end - - describe "download examples", download: true do - it "provides example downloads" do - expect(page).to have_content("Download example") - - page.find(".imports-example").click - expect(page).to have_content("Example as CSV") - expect(page).to have_content("Example as JSON") - expect(page).to have_content("Example as Excel (.xlsx)") - end - - context "when downloading the examples" do - before do - page.find(".imports-example").click - end - - it "downloads a correct CSV example" do - click_link "Example as CSV" + context "with the votings space" do + let(:participatory_space) { create(:voting, organization: organization) } + let(:component) { create(:proposal_component, participatory_space: participatory_space, organization: organization) } - expect(File.basename(download_path)).to eq("proposals-answers-example.csv") - expect(File.read(download_path)).to eq( - <<~CSV - id;state;answer/en;answer/ca;answer/es - 1;accepted;Example answer;Example answer;Example answer - 2;rejected;Example answer;Example answer;Example answer - 3;evaluating;Example answer;Example answer;Example answer - CSV - ) - end - - it "downloads a correct JSON example" do - click_link "Example as JSON" - - expect(File.basename(download_path)).to eq("proposals-answers-example.json") - expect(File.read(download_path)).to eq( - <<~JSON.strip - [ - { - "id": 1, - "state": "accepted", - "answer": { - "en": "Example answer", - "ca": "Example answer", - "es": "Example answer" - } - }, - { - "id": 2, - "state": "rejected", - "answer": { - "en": "Example answer", - "ca": "Example answer", - "es": "Example answer" - } - }, - { - "id": 3, - "state": "evaluating", - "answer": { - "en": "Example answer", - "ca": "Example answer", - "es": "Example answer" - } - } - ] - JSON - ) - end - - it "downloads a correct XLSX example" do - click_link "Example as Excel (.xlsx)" - - expect(File.basename(download_path)).to eq("proposals-answers-example.xlsx") - - # The generated XLSX can have some byte differences which is why we need - # to read the values from both files and compare them instead. - workbook = RubyXL::Parser.parse(download_path) - actual = workbook.worksheets[0].map { |row| row.cells.map(&:value) } - - expect(actual).to eq( - [ - %w(id state answer/en answer/ca answer/es), - [1, "accepted", "Example answer", "Example answer", "Example answer"], - [2, "rejected", "Example answer", "Example answer", "Example answer"], - [3, "evaluating", "Example answer", "Example answer", "Example answer"] - ] - ) - end - end + it_behaves_like "admin manages proposal answer imports" end end From 13fbf283b72c6bf6cd438e163062ced059dcc2fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Thu, 3 Nov 2022 17:33:43 +0100 Subject: [PATCH 72/90] Backport 'Fix proposal etiquette and length validator with base64 images' to v0.26 (#10010) * Fix proposal etiquette and length validator with base64 images (#9639) * Fix proposal etiquette and length validator with base64 images * Use strip_tags instead of nokogiri not to include hidden content Content e.g. in `